DOLFIN-X
DOLFIN-X C++ interface
|
▼Ndolfinx | |
▼Ncommon | Miscellaneous classes, functions and types |
CIndexMap | This 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 |
CSubSystemsManager | This is a singleton class which manages the initialisation and finalisation of various sub systems, such as MPI and PETSc |
CTimeLogger | Timer logging |
CTimeLogManager | Logger initialisation |
CTimer | A timer can be used for timing tasks. The basic usage is |
CUniqueIdGenerator | This is a singleton class that return IDs that are unique in the lifetime of a program |
▼Nfem | Finite element method functionality |
CCoordinateElement | This class manages coordinate mappings for isoparametric cells |
CDirichletBC | Interface for setting (strong) Dirichlet boundary conditions |
CDiscreteOperators | Discrete gradient operators providing derivatives of functions |
CDofMap | Degree-of-freedom map |
CDofMapBuilder | Builds a DofMap on a mesh::Mesh |
CElementDofLayout | The 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 |
CFiniteElement | Finite Element, containing the dof layout on a reference element, and various methods for evaluating and transforming the basis |
CForm | Base class for variational forms |
CFormCoefficients | Storage for the coefficients of a Form consisting of Function and the Element objects they are defined on |
CFormIntegrals | Integrals of a Form, including those defined over cells, interior and exterior facets, and vertices |
CReferenceCellGeometry | Tabulates the vertex positions for the reference cell |
CSparsityPatternBuilder | This class provides functions to compute the sparsity pattern based on DOF maps |
▼Nfunction | Functions tools, including FEM functions and pointwise defined functions |
CConstant | A constant value which can be attached to a Form. Constants may be scalar (rank 0), vector (rank 1), or tensor valued |
CFunction | This class represents a function \( u_h \) in a finite element function space \( V_h \), given by |
CFunctionSpace | This 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) |
▼Ngeneration | Generators for simple meshes |
CBoxMesh | Tetrahedral 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) |
CIntervalMesh | Interval 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) |
CRectangleMesh | Triangular 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) |
CUnitDiscMesh | A mesh consisting of a circular domain with quadratic geometry. This class is useful for testing |
▼Ngeometry | Geometry data structures and algorithms |
CBoundingBoxTree | Axis-Aligned bounding box binary tree. It is used to find entities in a collection (often a mesh::Mesh) |
CCollisionPredicates | This class implements algorithms for detecting pairwise collisions between mesh entities of varying dimensions |
CGeometryPredicates | This class implements geometric predicates, i.e. function that return either true or false |
CPredicateInitialization | Class used for automatic initialization of tolerances at startup. A global instance is defined inside predicates.cpp to ensure that the constructor and thus exactinit() is called |
▼Ngraph | Graph data structures and algorithms |
CAdjacencyList | 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 |
CBoostGraphColoring | This class colors a graph using the Boost Graph Library |
CBoostGraphOrdering | This class computes graph re-orderings. It uses Boost Graph |
CKaHIP | This class provides an interface to KaHIP parallel partitioner |
CParMETIS | This class provides an interface to ParMETIS |
CPartitioning | Tools for distributed graphs |
CSCOTCH | This class provides an interface to SCOTCH-PT (parallel version) |
▼Nio | Support for file IO |
CHDF5File | Interface to HDF5 files |
CHDF5Interface | This class wraps HDF5 function calls. HDF5 function calls should only appear in a member function of this class and not elsewhere in the library |
CVTKFile | Output of meshes and functions in VTK format |
CVTKWriter | Write VTK mesh::Mesh representation |
CXDMFFile | Read and write mesh::Mesh, function::Function and other objects in XDMF |
▼Nla | Linear algebra interface |
CPETScKrylovSolver | This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Krylov solvers of PETSc |
CPETScMatrix | It is a simple wrapper for a PETSc matrix pointer (Mat). Its main purpose is to assist memory management of PETSc Mat objects |
CPETScOperator | This class is a base class for matrices that can be used in PETScKrylovSolver |
CPETScOptions | These 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 |
CPETScVector | It is a simple wrapper for a PETSc vector pointer (Vec). Its main purpose is to assist memory management of PETSc Vec objects |
CSparsityPattern | This class provides a sparsity pattern data structure that can be used to initialize sparse matrices |
CVecReadWrapper | Read-only wrapper around a PETSc Vec object, to simplify direct access to data |
CVectorSpaceBasis | This class defines a basis for vector spaces, typically used for expressing nullspaces of singular operators and 'near nullspaces' used in smoothed aggregation algebraic multigrid |
CVecWrapper | Wrapper around a PETSc Vec object, to simplify direct access to data |
▼Nmesh | Mesh data structures |
CGeometry | Geometry stores the geometry imposed on a mesh |
CGraphBuilder | This class builds a Graph corresponding to various objects |
CMesh | A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data |
CMeshEntity | A MeshEntity represents a mesh entity associated with a specific topological dimension of some Mesh. A MeshEntity object is left in an undefined state if the Mesh that it is constructed with is destroyed |
CMeshQuality | The class provides functions to quantify mesh quality |
CMeshTags | A 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 |
CPartitioning | Tools for partitioning meshes |
CPermutationComputation | Tools for computing mesh entity permutations |
CTopology | Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relations for the mesh entities). Note that the mesh entities don't need to be stored, only the number of entities and the connectivity |
CTopologyComputation | This class implements a set of basic algorithms that automate the computation of mesh entities and connectivity |
▼Nnls | Nonlinear solvers |
CNewtonSolver | This class defines a Newton solver for nonlinear systems of equations of the form \(F(x) = 0\) |
CNonlinearProblem | This is a base class for nonlinear problems which can return the nonlinear function F(u) and its Jacobian J = dF(u)/du |
▼Nrefinement | Mesh refinement algorithms |
CParallelRefinement | Data structure and methods for refining meshes in parallel |
CPlazaRefinementND | Implementation of the refinement method described in Plaza and Carey "Local refinement of simplicial grids based on the skeleton" (Applied Numerical Mathematics 32 (2000) 195-218) |
▼CMPI | This class provides utility functions for easy communication with MPI and handles cases when DOLFINX is not configured with MPI |
CComm | A duplicate MPI communicator and manage lifetime of the communicator |
Cdependent_false | |
CTable | This class provides storage and pretty-printing for tables. Example usage: |