Pages
- Continuous integration Inspect branch commits, workflow outcomes and generated reports.
- Configuration Selecting build features and using Rodin's generated configuration.
- Credits People, research laboratories and software used by Rodin.
-
Examples and tutorials Guided numerical problems and application source examples.
-
Partial differential equations Guided solves from scalar diffusion to coupled systems.
- Solving the Poisson equation From a boundary-value problem to a finite element solution and visualization.
- Solving diffusion with discontinuous Galerkin Assemble and validate a symmetric interior-penalty method on triangles.
- Solving the elasticity equation Compute and visualize the displacement of a clamped beam under traction.
- Solving the Helmholtz equation Solve a complex wave problem and check it against a manufactured solution.
- Solving the Stokes equations Couple velocity and pressure in a lid-driven cavity.
- Solving the Navier–Stokes equations Follow the development of a vortex in a lid-driven cavity.
- Poisson equation with periodic boundary conditions Identify opposite boundaries and impose a zero-mean normalization.
- Solving PDEs on surface meshes Solve reaction–diffusion on a triangulated unit sphere.
-
Input/output examples Export a field for visualization or exchange mesh files.
- Exporting a time-dependent field Write an analytic vector field and inspect its snapshots in ParaView.
- Saving and reloading an MFEM field Check a mesh and scalar field after a file round trip.
- Converting a MEDIT mesh Write a mesh, load it again and convert it to MFEM format.
-
Mesh geometry examples Create a mesh, then inspect its topological relations.
- Generating uniform grids Control vertex counts, cell types, and physical dimensions.
- Computing mesh connectivity Inspect edge-to-cell incidence on a square split into two triangles.
- Evaluating interface traces Inspect two cell values, their jump and their arithmetic average.
- Computing arrival times with fast marching Propagate from one exact seed, compare with an analytic distance and check refinement.
- Constructing a distance approximation from a Poisson field Mesh three implicit disks, solve a signed auxiliary problem and inspect its normalization error.
-
Working with MMG Choose a mesh-processing workflow and understand its guarantees.
- Saving an MMG mesh Write and reload geometry together with MMG feature metadata.
- Using an MMG mesh in Rodin Share the geometry interface and manage remeshing lifetimes.
- Improving triangle quality Remesh a perturbed unit square and inspect its cell quality.
- Adapting to a size field Prescribe local edge lengths and inspect the resulting mesh density.
- Adapting and fitting an implicit interface Prepare a graded background with MMG, classify a circle, and fit its interface with SWIFT.
- MMG behavior and guarantees Tested behavior of Rodin's MMG wrappers, required entities, and level-set cuts.
-
Density optimization examples Follow a material field through a state solve, sensitivity and density update.
- Temperature minimization Assemble a state, adjoint and regularized density update for heat conduction.
-
Shape optimization examples Use a state solve and a shape derivative to evolve a design boundary.
- Shape optimization of a cantilever Compute and inspect a boundary-variation compliance descent.
- Optimizing a level-set cantilever Couple elasticity, descent regularization, transport and body-fitted remeshing.
-
Partial differential equations Guided solves from scalar diffusion to coupled systems.
- Gallery Computed fields, evolving designs and fitted meshes.
-
General concepts How meshes, finite element fields, weak forms, and solvers fit together.
- Installation and setup Configure the dependencies, install the library, and verify an application.
- First steps with Rodin Build a small program and identify the objects used in a finite element solve.
- A first problem Build, run, and inspect a complete Poisson solve.
- Core concepts Follow the path from a geometric domain to a discrete solution.
-
Meshes Comprehensive guide to working with meshes in Rodin.
- Mesh creation Construct a grid, build a tagged mesh or load an existing mesh.
- Mesh connectivity Prepare and query incidence relations for mesh algorithms.
- Mesh iteration Traverse vertices, cells, facets and incident entities.
- Geometric queries Interpret dimensions, entity counts, measures and attributes.
- Mesh input/output Saving and loading meshes.
- Mesh operations Change coordinates, extract submeshes and group cells.
- Polytopes Reference shapes, physical cells and their lower-dimensional entities.
- Connectivity Understanding mesh connectivity in Rodin.
- Ciarlet's definition of a finite element Separate the reference cell, approximation space, and degrees of freedom.
- Finite element spaces Choose a field representation, count its DOFs, and evaluate a discrete field.
- Quadrature formulas Integrate on reference and physical cells, then select a rule.
- Matrix storage and finite-element component ordering
- Weak formulations Derive a variational equation before translating it into finite element code.
- Variational formulations in Rodin Translate a weak equation into trial fields, test fields, forms, and assembly.
-
Boundary conditions Distinguish prescribed values, natural fluxes, and periodic identifications.
- Essential constraint elimination Algebraic formulation, sparse storage contracts, and implementation costs.
- Solvers Choose a solver from the assembled system, then verify its result.
- Numerical contracts Interpolation, projection, assembly signs, quadrature, and solver contracts.
- Interfaces, traces, and discontinuous Galerkin Select facet domains and assemble consistent interface terms.
-
Input, output, and visualization Choose a file format, export a field, and inspect the result.
- XDMF format Using the XDMF format for visualization and time series data.
- Mesh file formats MFEM and MEDIT mesh file formats.
- Grid function I/O Saving and loading grid functions in Rodin.
- Fitting a mesh interface with SWIFT Define an implicit circle, mark a mesh interface and fit it with a P1 displacement.
- Shape and topology optimization Shape derivatives and Hilbertian regularization in a level-set optimization loop.
- Solid mechanics Kinematics, constitutive laws and Newton solution for finite-strain solid mechanics.
- Backends and supported configurations How Rodin varies execution, storage, and solver backends.
- Distributed computing with MPI Guide to distributed-memory parallel computing with Rodin's MPI module.
- Parallel solvers and distributed linear algebra with PETSc Guide to using PETSc-backed variational forms, solvers, and distributed assembly.
- Thread safety and parallelism Object ownership, synchronization and parallel assembly.
- Notation Explanation of the notation used throughout the documentation.
- Bibliography