First order initial conditions for pyCOLA can be calculated using either MUSIC [MUSIC]_, or internally. With MUSIC, however, one can do refinements on a region, which is not supported internally.
The second-order displacement field is generated using a novel algorithm using force evaluations. See the Algorithm section of :func:`ic_2lpt_engine` for details.
Warning
As of MUSIC rev. 116353436ee6, the second-order displacement field returned by MUSIC gets unphysical large-scale deviations when a refined subvolume is requested (seems to be fine for single grid). Until that problem is fixed, use the function :func:`ic.ic_2lpt` to get the second order displacements from the first order result. Update: MUSIC received a fix with rev. ed51fcaffee, which supposedly fixes the problem.
.. autofunction:: ic.import_music_snapshot
.. autofunction:: ic.ic_za
.. autofunction:: ic.ic_2lpt
.. autofunction:: ic.ic_2lpt_engine
.. autofunction:: ic.initial_positions
.. automodule:: ic :undoc-members: :show-inheritance: