Dedalus update, Feb 2015

33 views
Skip to first unread message

Keaton Burns

unread,
Feb 25, 2015, 5:59:12 PM2/25/15
to dedalus-users, dedal...@googlegroups.com
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

Ben Brown

unread,
Feb 25, 2015, 6:14:37 PM2/25/15
to dedal...@googlegroups.com, dedalus-users
Keaton,
     Thank you for all of your work on this massive update.  This is very exciting.

--Ben

--
You received this message because you are subscribed to the Google Groups "Dedalus Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dedalus-dev...@googlegroups.com.
To post to this group, send email to dedal...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dedalus-dev/6FEB28B3-9769-459C-B255-052B9119D8C7%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

j s oishi

unread,
Feb 25, 2015, 8:50:06 PM2/25/15
to dedal...@googlegroups.com, dedalus-users
Dear Dedalus Community,

I'd also like to thank Keaton for all of his hard work, and to Daniel and Ben for their testing and code review. This is a major step forwards for Dedalus. Tomorrow, I will issue a Pull Request with a number of updates to the documentation.

This marks one of the first major uses of the pull request and code review features of our development process. I'm really happy with how it is going, and I look forward to an era of increased community development.

thanks,

Jeff


Reply all
Reply to author
Forward
0 new messages