Hello everyone,
I wanted to let you know that we’ve just merged in some major updates to the main Dedalus codebase. The merge includes some new features, as well as large improvements to the parsing system which make equation entry much more flexible and easy to use.
One important organizational change is that we’re dropping the trailing “2” from the package and repository names. Note! This will change how you import Dedalus, and will also change the URL of the main repository. To update, you’ll have to edit the .hg/hgrc file in your clone of the repository, and remove the trailing “2” from the default URL. If you’d prefer, it may be easier to just perform a new clone from the updated URL:
Major feature additions in the merge include:
1) A Sine/Cosine parity basis that can be used in place of the Fourier basis in the horizontal direction to mimic things like stress-free sidewalls.
2) A nonlinear BVP solver.
3) A pure MPI transpose wrapper, as an alternative to FFTW transposes.
The primary changes affecting the user interface (and therefor current Dedalus code) are:
1) Again, we've dropped the trailing “2” from the package name, so it will just be “from dedalus import ...”, etc.
2) Problem objects require the domain object as an argument, so you’ll have to move your basis and domain construction to before your problem construction. Having access to the domain when equations are entered enables a lot of new functionality in the parser.
3) NCCs passed as parameters must be constructed as fields, instead of as global-basis-shaped arrays.
4) Other changes:
- Bases must be named at instantiation (take name as first argument)
- Problem no longer takes axis_names, since bases are named
- Parameters must be set before equations are added to the problem.
- Problem no longer takes parameter_names
- "field_names" -> “variables” in problem initialization
- solver objects are built using “problem.build_solver(…)” instead of being directly instantiated.
- Interpolation positions are passed as keyword arguments, e.g. “Interpolate(u, x=0.5)"
If you run into any other problems updating scripts, try to compare to the updated example problems, or e-mail the list.
Thanks,
Keaton Burns