Montjoie is a C++ code designed for the efficient solution of time-domain and time-harmonic linear partial differential equations using high-order finite element methods. This code is mainly written for quadrilateral/hexahedral finite elements, partial implementations of triangular/tetrahedral elements are provided. 3D hybrid meshes (hexahedra, tetrahedra, triangular prisms and pyramids) are also available. The equations solved by this code, come from the ''wave propagation'' problems, particularly acoustic, electromagnetic, aeroacoustic, elastodynamic problems.

Montjoie is able to read several formats of mesh files: .msh (Gmsh), .mesh (Medit), .neu ( Gambit), and other formats.

Montjoie uses the following libraries: Blas, Lapack, MUMPS (or SuperLU and UmfPack, or Pastix), GSL and Arpack. Some functionalities may not work if you have not installed those libraries.

Montjoie is provided under the GNU General Public License.


Click on the image to see the corresponding film or to enlarge the image.

Diffraction by an airplane at 750Mhz

Diffraction of a plane wave by an aircraft using a Discontinuous Galerkin method on hexahedric elements and a local time stepping strategy (symplectic scheme)

Diffraction by an airplane at 900Mhz

The same case as the previous one with a higher frequence. It appears that the mesh is too coarse for this frequence.

Diffraction by a balloon

Propagation of an electromagnetic waves by an air balloon (hybrid mesh).

Diffraction by a satellite

Diffraction of a plane wave by a satellite (GENEC). The use of a local time stepping is very efficient in this case because of the small size of some geometrical details (thin slits, fentes minces,smal thikness of the panels).

Diffraction by a star-shape obstacle

Diffraction of a plane-wave of frequency 0.5HZ by a star-shaped obstacle (top) using different boundary conditions. The use of higher-order Absorbing Boundary Conditons decreases the relative L2-error of the Dirichlet trace (bottom).

More results can be found on the webpage of Marc Duruflé.