Changelog/Release Notes#

On this page we provide a summary of the main API changes, new features and examples for each release of Ratel.

Current main branch#

New features#

  • Update strain energy function to the convex form for both Neo-Hookean and Mooney-Rivlin models.

  • Add mixed linear elasticity and Neo-Hookean hyperelastic models for incompressible materials.

  • Add linear plasticity with linear hardening model for small strains.

  • Add pressure boundary loading which is caused by liquids or gases on the surface of the solid structure.

  • Add flexible clamp, slip, traction, and platen boundary conditions with more complex time variance during a quasistatic or dynamic simulation.

  • Add robust surface force and surface centroid monitoring options.

  • Add command-line validation options for maximum displacement and per-face centroids and surface forces.

  • Add isochoric Ogden hyperelastic model in initial configuration.

  • Add mixed Ogden hyperelastic model in initial configuration.

  • Add isochoric Neo-Hookean model in initial configuration.

  • Add Mooney-Rivlin hyperelastic model in current configuration.

  • Add Coulomb friction capabilities to platen contact boundary conditions.

  • Add isochoric Mooney-Rivlin model in initial configuration.

  • Add CEED benchmark problems 1, 2, 3, and 4 for convergence testing and benchmarking.

  • Setup dynamic solver for mixed linear elastic and hyperelastic models.

Breaking changes#

  • Rename Ratel[TS,SNES,KSP]SetupPCMG to Ratel[TS,SNES,KSP]SetupPC for better accuracy.

  • Rename RatelSolverType, RatelMultigridType, and some function names for consistency.

  • Refactor p-multigrid support as registered PETSc PC; this change generated various API and command line option changes.

  • Rename material parameter contexts as follows:

    • LinearElasticityParams

    • NeoHookeanPhysics to NeoHookeanElasticityParams (alias of LinearElasticityParams)

    • MooneyRivlinPhysics to MooneyRivlinElastictictyParams

  • Remove material-specific platen contexts

  • Rename cell-to-face surface force functions to be suffixed with CellToFace and -ts_monitor_surface_force to -ts_monitor_surface_force_cell_to_face to prevent accidental usage

  • Rename reaction force functions *ReactionForce* to *SurfaceForce* and -ts_monitor_reaction_force to-ts_monitor_surface_force

  • Deprecate -ts_monitor_reaction_force

See the Using Ratel section for the updated command line options.


  • Fixes to QFunctions and documentation for clarity and consistency.


  • Updates to setup to reduce setup time.

  • Updates to local vector usage to reduce memory footprint.

V0.2.1 (12 January 2023)#

Bugfix to make tet based tests optional in the test suite.

V0.2.0 (10 January 2023)#

Expanded features and material models.

New features#

  • Add RatelComputeSurfaceForces for computing final forces on surfaces, identified by DMPlex face id number.

  • Add support for computing Jacobians from strain energy density functional from residual evaluation via Automatic Differentiation with Enzyme-AD. Neo-Hookean material models provided in current and initial configuration.

  • Add support for platen boundary condition based upon Nitsche‚Äôs method.

  • Add support for restart from saved binaries of state vectors.

Breaking changes#

  • Update names and command line arguments for material models for consistency.

  • Use PETSc option options_file over redundant yml option in tests and examples; removed options_yml argument from RatelInit.

  • Docker images built and tested as part of CI process for latest main.

  • Update Boolean arguments -view_diagnostic_quantities and -ts_monitor_diagnostic_quantities to use viewer type.

  • Remove command line option -output_dir; this functionality is provided with setting the output filepath for the viewer via -view_diagnostic_quantities and -ts_monitor_diagnostic_quantities.

  • Remove RatelVectorView in favor of base PETSc functionality.


  • Internal refactor around RatelMaterial, an object representing a region of the mesh given by a material model with consistent physical parameters. External behavior was not affected by this refactor.

v0.1.2 (15 April 2022)#

Bugfix for install paths in makefile.

v0.1.1 (14 April 2022)#

Bugfix for Mass QFunction source file relative path.

v0.1 (11 April 2022)#

Initial Ratel API. The Ratel solid mechanics library is based upon libCEED and PETSc. libCEED v0.10.1 or later and PETSc v3.17 or later is required.