Examples and tutorials

Examples utilizing the Rodin library.

Variational methods and weak formulations

The Variational module is used when dealing with variational problems of the form:

\[ \text{Find} \quad u \in U \quad \text{ s.t. } \quad \forall v \in V \quad a(u, v) = b(v) \ . \]

See the variational formulations guide for the mathematical background.

Solving PDEs

Rodin can be used to solve partial differential equations of many types. To start solving PDEs with Rodin, we recommend taking a look at the simplest example which is how to solve the Poisson equation.

EquationLink to example
$ - \Delta u = f $ Solving the Poisson equation
$ - \nabla \cdot \sigma (u ) = 0 $ Solving the elasticity equation
$ - \Delta u - k^2 u = f $ Solving the Helmholtz equation
$ -\nu \Delta \mathbf{u} + (\mathbf{u} \cdot \nabla)\mathbf{u} + \nabla p = \mathbf{f} $ Solving the Navier-Stokes equations
$ - \Delta u = f $ (periodic)Poisson equation with periodic boundary conditions
$ - \Delta_\Gamma u + u = f $ (surface)Solving PDEs on surface meshes

Input/Output

Rodin supports several I/O formats for meshes, grid functions, and simulation data. The supported formats are MFEM, MEDIT, and HDF5. The XDMF format is recommended for exporting results for visualization in ParaView:

Mesh Geometry

The Geometry module provides mesh creation, topological connectivity, and geometric operations:

Working with MMG

The MMG module has a wide variety of uses which ranges from optimization of the mesh, to implicit domain meshing. It provides many C++ wrappers to execute the functionality of the Mmg Platform:

Density optimization examples

Shape optimization examples