
canoP
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
Welcome to the canoP
wiki! It can be cloned from:
$ git clone git@gitlab.maisondelasimulation.fr:canoPdev/canoP.git
Compilation
For general installation instructions, see:
These pages contain information about how to compile both p4est
and canoP
and some of their dependencies on different systems.
Master
Master branch currently originates in branch cemracs14
.
Describes here other branches:
- branch
ohmu_alex
: most of the cemracs14 branch code was rewritten into a library calledohmu
and 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 thei + 2
neighbor is not obvious.
For further details, see:
CEMRACS14
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:
Links
This is built with the wonderful help of:
To learn more about cell-based AMR, as implemented in p4est
, see:
- 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 docs
folder.
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
TIPS
Utilities
- 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.
Git related
Using Eclipse and cmake
See Eclipse Cmake Tip.