Skip to content


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 to learn more about the markdown wiki syntax

See 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


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 branch currently originates in branch cemracs14.

Describes here other branches:

  • branch ohmu_alex : most of the cemracs14 branch code was rewritten into a library called ohmu 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 the i + 2 neighbor 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 p4est, see:

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".



  • 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

Install CanoP inside Docker

see page CanoP inside Docker.

Git related

Using Eclipse and cmake

See Eclipse Cmake Tip.

Compilation and use of Mutation++ in a module

Compilation and use of Mutation++