"Can't see the wheel for the cogs."
— dwarven expression
Welcome !
This is the home page for the Kicksey-Winsey project,
developped by Romain Nguyen van yen at Laboratoire de Météorologie Dynamique-CNRS, École Normale Supérieure, Paris, France
between 2007 and 2011, and then at the Mathematics Institute of FU Berlin until 2013.
This software is provided in the hope that it will be useful to other people but do not expect any guarantee that it will work.
Please do not hesitate to
contact me if you have any questions or comments.
Features
Capabilities
Kicksey-winsey is an open source C++ package for fluid flow simulation using Fourier and Wavelet methods.
Here are some features you may be interested in:
- internal array library with expression templates and functors,
- easy to use interface to FFTW,
- MPI/OpenMP parallelisation,
- 2D Navier-Stokes solvers with full suite of diagnostic tools,
- 1D Burgers and Birkhoff-Rott solvers with dynamic grid adaptation.
One of the main modules of Kicksey-winsey is the Template Wavelet Library,
which has the following characteristics:
- supports arbitrary dimensions,
- orthogonal, biorthogonal and dual-tree complex wavelet transforms,
- efficient MPI parallelisation based on cartesian domain decomposition,
- OpenMP parallelisation in space dimensions higher than 2
- arbitrary precision floating-point numbers based on the GNU multiprecision library,
- many predefined filters (Daubechies, Coiflets,
- runtime computation of Daubechies filters coefficients at arbitrary precision,
- 1D adaptive wavelet transform without pointers.
Platforms
The code was successfully built and tested on the following platforms/compiler combinations:
- x86 and x86_64, GNU/Linux, GCC 4.1/4.2/4.3 (GCC 4.3 required for OpenMP support)
- x86_64, GNU/Linux, Intel C/C++ Compiler v11 (works with v10 but compilation much slower)
- IBM Regatta Power6, AIX 5.3, XL C/C++ version 10.1
- IBM BlueGene/P, XL C/C++ Advanced Edition version 9.0
Please
contribute to this list if you try any other platform !
Efficiency
This section needs to be filled out sooner or later.
Related software
You may be interested in the following open-source wavelet libraries:
- Jori's matlab wavelet toolbox for continuous wavelet transforms (upcoming)
- Wavelab matlab package
- Blitzwave C++
- WAILI C++ (wavelets with integer lifting)
Documentation
The manual is released with the code, but it can also be
browsed online.
Right now it remains at an embryonic stage but hopefully it will soon reach a proper form.
In the mean time please go to the
SourceForge forum for questions.
Downloading
Source tarballs
Bundled releases are available on
SourceForge.
Subversion repository
The subversion repository can be
browsed online
or accessed anonymously with an SVN client at the following URL:
http://forge.ipsl.jussieu.fr/wavelets/svn/spectral_code/trunk
External librairies
References
This is a non exhaustive list of references related to the algorithms that are implemented in Kicksey-winsey.
- A Wavelet Tour of Signal Processing, Stéphane Mallat, Academic Press (1999)
- Non-Gaussianity and Coherent Vortex Simulation for two-dimensional turbulence using an adaptative orthogonal wavelet basis, M. Farge, K. Schneider and N. Kevlahan, Physics of Fluids 11 (1999) 2187-2201
- Nonlinear wavelet thresholding: a recursive method to determine the optimal denoising threshold, A. Azzalini, M. Farge and K. SchneiderApplied and Computational Harmonic Analysis 18 (2004) 177-185
- Clusters, Outliers, and Regression: Fixed Point Clusters, C. Hennig, Journal of Multivariate Analysis 86 (2003) 183-212
- Orthonormal bases of compactly supported wavelets, I. Daubechies, Communications on Pure and Applied Mathematics 41 (1988) 909-996
- Orthonormal bases of compactly supported wavelets II. Variations on a theme, I. Daubechies, SIAM Journal of Mathematical Analysis 24 (1993) 499-519
- Complex Wavelets For Shift Invariant Analysis And Filtering Of Signals, N. Kingsbury, Applied and Computational Harmonic Analysis 10 (2001) 234-253
- Thinking in C++, Bruce Eckel
Acknowledgements