DOLFIN-X
DOLFIN-X C++ interface
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 Ndolfinx
 NcommonMiscellaneous classes, functions and types
 CIndexMapThis class represents the distribution index arrays across processes. An index array is a contiguous collection of N+1 block indices [0, 1, . . ., N] that are distributed across processes 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 block indices to a unique global block index
 CTimeLoggerTimer logging
 CTimeLogManagerLogger initialisation
 CTimerA timer can be used for timing tasks. The basic usage is
 CUniqueIdGeneratorThis is a singleton class that return IDs that are unique in the lifetime of a program
 NfemFinite element method functionality
 CCoordinateElementThis class manages coordinate mappings for isoparametric cells
 CDirichletBCInterface for setting (strong) Dirichlet boundary conditions
 CDiscreteOperatorsDiscrete gradient operators providing derivatives of functions
 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
 CFiniteElementFinite Element, containing the dof layout on a reference element, and various methods for evaluating and transforming the basis
 CFormClass for variational forms
 CReferenceCellGeometryTabulates the vertex positions for the reference cell
 NfunctionFunctions tools, including FEM functions and pointwise defined functions
 CConstantA constant value which can be attached to a Form. Constants may be scalar (rank 0), vector (rank 1), or tensor valued
 CExpressionRepresents 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
 CFunctionThis 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)
 NgenerationGenerators for simple meshes
 CBoxMeshTetrahedral mesh of the 3D rectangular prism spanned by two points p0 and p1. Given the number of cells (nx, ny, nz) in each direction, the total number of tetrahedra will be 6*nx*ny*nz and the total number of vertices will be (nx + 1)*(ny + 1)*(nz + 1)
 CIntervalMeshInterval mesh of the 1D line [a,b]. Given the number of cells (n) in the axial direction, the total number of intervals will be n and the total number of vertices will be (n + 1)
 CRectangleMeshTriangular mesh of the 2D rectangle spanned by two points p0 and p1. Given the number of cells (nx, ny) in each direction, the total number of triangles will be 2*nx*ny and the total number of vertices will be (nx + 1)*(ny + 1)
 NgeometryGeometry data structures and algorithms
 CBoundingBoxTreeAxis-Aligned bounding box binary tree. It is used to find entities in a collection (often a mesh::Mesh)
 NgraphGraph data structures and algorithms
 CAdjacencyListThis 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
 CBoostGraphColoringThis class colors a graph using the Boost Graph Library
 NioSupport for file IO
 CHDF5InterfaceThis class provides an interface to some HDF5 functionality
 CVTKFileOutput of meshes and functions in VTK format
 CVTKWriterWrite VTK mesh::Mesh representation
 CXDMFFileRead and write mesh::Mesh, function::Function and other objects in XDMF
 NlaLinear algebra interface
 CPETScKrylovSolverThis class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Krylov solvers of PETSc
 CPETScMatrixIt is a simple wrapper for a PETSc matrix pointer (Mat). Its main purpose is to assist memory management of PETSc Mat objects
 CPETScOperatorThis class is a base class for matrices that can be used in PETScKrylovSolver
 CPETScOptionsThese class provides static functions that permit users to set and retrieve PETSc options via the PETSc option/parameter system. The option must not be prefixed by '-', e.g
 CPETScVectorIt is a simple wrapper for a PETSc vector pointer (Vec). Its main purpose is to assist memory management of PETSc Vec objects
 CSparsityPatternThis class provides a sparsity pattern data structure that can be used to initialize sparse matrices
 CVectorDistributed vector
 CVectorSpaceBasisThis class defines a basis for vector spaces, typically used for expressing nullspaces of singular operators and 'near nullspaces' used in smoothed aggregation algebraic multigrid
 NmeshMesh data structures
 CGeometryGeometry stores the geometry imposed on a mesh
 CMeshA Mesh consists of a set of connected and numbered mesh topological entities, and geometry data
 CMeshTagsA MeshTags are used to associate mesh entities with values. The entity index (local to process) identifies the entity. MeshTags is a sparse data storage class; it allows tags to be associated with an arbitrary subset of mesh entities. An entity can have only one associated tag
 CTopologyTopology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relations for the mesh entities)
 NnlsNonlinear solvers
 CNewtonSolverThis class defines a Newton solver for nonlinear systems of equations of the form \(F(x) = 0\)
 CNonlinearProblemThis is a base class for nonlinear problems which can return the nonlinear function F(u) and its Jacobian J = dF(u)/du
 NrefinementMesh refinement algorithms
 CMPIThis class provides utility functions for easy communication with MPI and handles cases when DOLFINX is not configured with MPI
 CCommA duplicate MPI communicator and manage lifetime of the communicator
 Cdependent_false
 CTableThis class provides storage and pretty-printing for tables. Example usage: