Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/dolfinx/v0.9.0/cpp/doxygen/hierarchy.html
DOLFINx  0.5.1
DOLFINx C++ interface
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 CADIOS2WriterBase class for ADIOS2-based writers
 CFidesWriterOutput of meshes and functions compatible with the Fides Paraview reader, see https://fides.readthedocs.io/en/latest/paraview/paraview.html
 CVTXWriterWriter for meshes and functions using the ADIOS2 VTX format, see https://adios2.readthedocs.io/en/latest/ecosystem/visualization.html#using-vtk-and-paraview
 CAdjacencyList< T >This class provides a static adjacency list data structure. It is commonly used to store directed graphs. For each node in the contiguous list of nodes [0, 1, 2, ..., n) it stores the connected nodes. The representation is strictly local, i.e. it is not parallel aware
 CBoundingBoxTreeAxis-Aligned bounding box binary tree. It is used to find entities in a collection (often a mesh::Mesh)
 CCommA duplicate MPI communicator and manage lifetime of the communicator
 CConstant< T >Constant value which can be attached to a Form. Constants may be scalar (rank 0), vector (rank 1), or tensor-valued
 CCoordinateElementA CoordinateElement manages coordinate mappings for isoparametric cells
 CDirichletBC< T >Object for setting (strong) Dirichlet boundary conditions
 CDofMapDegree-of-freedom map
 CElementDofLayoutThe class represents the degree-of-freedom (dofs) for an element. Dofs are associated with a mesh entity. This class also handles sub-space dofs, which are views into the parent dofs
 CExpression< T >Represents a mathematical expression evaluated at a pre-defined set of points on the reference cell. This class closely follows the concept of a UFC Expression
 Cfalse_type
 Cdependent_false< T >
 CFiniteElementFinite Element, containing the dof layout on a reference element, and various methods for evaluating and transforming the basis
 CForm< T >A representation of finite element variational forms
 CFunction< T >This class represents a function \( u_h \) in a finite element function space \( V_h \), given by
 CFunctionSpaceThis class represents a finite element function space defined by a mesh, a finite element, and a local-to-global map of the degrees of freedom (dofmap)
 CGeometryGeometry stores the geometry imposed on a mesh
 CHDF5InterfaceThis class provides an interface to some HDF5 functionality
 CIndexMapThis class represents the distribution index arrays across processes. An index array is a contiguous collection of N+1 indices [0, 1, . . ., N] that are distributed across M processes. On a given process, the IndexMap stores a portion of the index set using local indices [0, 1, . . . , n], and a map from the local indices to a unique global index
 CKrylovSolverThis class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Krylov solvers of PETSc
 CMatrixCSR< T, Allocator >Distributed sparse matrix
 CMeshA Mesh consists of a set of connected and numbered mesh topological entities, and geometry data
 CMeshTags< T >MeshTags associate values with mesh entities
 CNewtonSolverThis class defines a Newton solver for nonlinear systems of equations of the form \(F(x) = 0\)
 COperatorThis class is a base class for matrices that can be used in petsc::KrylovSolver
 CMatrixIt is a simple wrapper for a PETSc matrix pointer (Mat). Its main purpose is to assist memory management of PETSc Mat objects
 CScattererA Scatterer supports the MPI scattering and gathering of data that is associated with a common::IndexMap
 CSLEPcEigenSolverThis class provides an eigenvalue solver for PETSc matrices. It is a wrapper for the SLEPc eigenvalue solver
 CSparsityPatternThis class provides a sparsity pattern data structure that can be used to initialize sparse matrices. After assembly, column indices are always sorted in increasing order. Ghost entries are kept after assembly
 CTableThis class provides storage and pretty-printing for tables. Example usage:
 CTimeLoggerTimer logging
 CTimeLogManagerLogger initialisation
 CTimerA timer can be used for timing tasks. The basic usage is
 CTopologyTopology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relations for the mesh entities)
 CVectorA simple wrapper for a PETSc vector pointer (Vec). Its main purpose is to assist with memory/lifetime management of PETSc Vec objects
 CVector< T, Allocator >Distributed vector
 CVTKFileOutput of meshes and functions in VTK/ParaView format. Isoparametric meshes of arbitrary degree are supported. For finite element functions, cell-based (DG0) and Lagrange (point-based) functions can be saved. For vertex-based functions the output must be isoparametic, i.e. the geometry and the finite element functions must be defined using the same basis
 CXDMFFileRead and write mesh::Mesh, fem::Function and other objects in XDMF