Libraries#

The following libraries are provided as part of ae108:

  • ae108-cmdline: Read command line parameters.

    A simple library for reading command line parameters with few lines of code (based on Boost.Program_options).

  • ae108-cpppetsc: Manage a distributed data mesh.

    A library for creating a FEM mesh and managing the degrees of freedom associated with the elements and their vertices (based on PETSc’s DMPLEX). It also provides wrappers around PETSc’s solvers (KSP, SNES, and TAO).

  • ae108-elements: Define elements.

    A library for specifying the behaviour of the elements that make up the mesh. For instance, use this library to define the energy needed to deform an element.

  • ae108-assembly: Assemble local data.

    A library for assembling MPI-local data in cpppetsc meshes. For instance, assemble the local energy by summing the energy of all local element instances.

  • ae108-solve: Minimize the total energy.

    A library for minimizing the assembled total energy using PETSc’s solvers or optimizers as provided by cpppetsc.