Examples

All benchmarks, examples and applications cases to be run by Kratos. Note that unit tests are in Kratos repository and NOT here

View the Project on GitHub KratosMultiphysics/Examples

Body-fitted cylinder 3D with MPI hessian refinement

Author: Marc Núñez Corbacho

Kratos version: 8.1

MMG version: 5.5.2

ParMMG version: 1.3.0

Source files: MPI Body-fitted cylinder 3D

Application dependencies: FluidDynamicsApplication, LinearSolversApplications, MappingApplication, MeshingApplication, MetisApplication, StatisticsApplication, TrilinosApplication

To run this example execute:

export OMP_NUM_THREADS=1
mpirun -n nprocs python3 MainKratos.py

Where nprocs is the number of processors to use in the MPI run.

Initial mesh: initial

Final mesh after 4 iterations:

final

How to use

This test case solves and remeshes and MPI parallel fluid dynamic problem iteratively using ParMMG. It uses a Hessian approach, based on:

Frédéric Alauzet. Metric-Based Anisotropic Mesh Adaptation. Course material, CEA-EDF-INRIA Schools. Numerical Analysis Summer School. https://www.rocq.inria.fr/gamma/Frederic.Alauzet/cours/cirm.pdf

Pascal Tremblay 2-D, 3-D and 4-D Anisotropic Mesh Adaptation for the Time-Continuous Space-Time Finite Element Method with Applications to the Incompressible Navier-Stokes Equations. PhD thesis Ottawa-Carleton Institute for Mechanical and Aerospace Engineering, Department of Mechanical Engineering, University of Ottawa. 2007. http://aix1.uottawa.ca/~ybourg/thesis/PhDThesis_Pascal_Tremblay_Final.pdf

Which allows to use the fields of previous simulations to adaptively refine the mesh by using its Hessian.

Some of the main settings to control and customize are:

In ProjectParameters.json:

In RemeshingParameters.json: