CanoP is an application code that leverages powerful adaptive mesh refinement features of p4est library to develop simple and efficient parallel applications for solving PDE problems found in fluid dynamics (for astrophysics, multiphase flows, etc).
This is a draft homepage.
See http://doc.gitlab.com/ce/markdown/markdown.html to learn more about the markdown wiki syntax
See https://gitlab.maisondelasimulation.fr/help to learn about gitlab itself.
TODO: review all wiki pages (right now they are just a copy of the original bitbucket ones).
Welcome to the
canoP wiki! It can be cloned from:
$ git clone email@example.com:canoPdev/canoP.git
For general installation instructions, see:
These pages contain information about how to compile both
canoP and some of their dependencies on different systems.
Master branch currently originates in branch
Describes here other branches:
ohmu_alex: most of the cemracs14 branch code was rewritten into a library called
ohmuand a plugin system. Besides the rewrite, a big new feature is the addition of patches in each quadrant. The basic idea for patches is that inside of each quadrant we have a small mini cartesian mesh. This will help in the implementation of second or higher order schemes where computing the
i + 2neighbor is not obvious.
For further details, see:
The CEMRACS14 branch is an older version of the code, before plugins and patches have been implemented. This version is a lot simpler and is used only to implement a two-phase scheme for the Euler equations.
For further details, see:
This is built with the wonderful help of:
To learn more about cell-based AMR, as implemented in
- the original article.
- the implementation of the 2:1 balance algorithm.
- other cell-based solutions such as the fully threaded tree.
For more, there's a nice bibliography in the
Other useful current research articles:
Ideas of developments / improvements
See issues with labels "idea of feature" or "feature request".
improve the way slopes are computed in euler's scheme using ideas from M. Berger et al, Analysis of Slope Limiters on Irregular Grids
Implement a higher order scheme for Euler, e.g. M. Semplice et al, Adaptive Mesh Refinement for Hyperbolic Systems based on Third-Order Compact WENO Reconstruction
- use tool astyle to properly indent source code.
example astyle options: "--style=attach --pad-oper --indent=spaces=2 --indent=tab=2 --add-brackets --convert-tabs --pad-header --align-pointer=name --align-reference=name --indent-namespaces --indent-col1-comments"
astyle can be called manually on the command before a commit but could also put the astyle indentation in a git hook, following ideas from https://github.com/raceintospace/raceintospace/blob/master/.git-hooks/pre-commit
Install CanoP inside Docker
see page CanoP inside Docker.
Using Eclipse and cmake
See Eclipse Cmake Tip.