MFEM v4.7.0
Finite element discretization library
|
Namespaces | |
namespace | ad |
namespace | bin_io |
namespace | blocksolvers |
namespace | ceed |
namespace | common |
namespace | cubit |
namespace | DivFreeBasis |
namespace | ElasticityKernels |
namespace | electromagnetics |
namespace | Ginkgo |
namespace | KDTreeNorms |
namespace | KernelHelpers |
namespace | kernels |
namespace | navier |
namespace | petsc |
namespace | slepc |
namespace | spde |
namespace | SubMeshUtils |
namespace | superlu |
namespace | TmplPoly_1D |
namespace | TransferKernels |
namespace | vtk_xml |
Classes | |
class | AB1Solver |
class | AB2Solver |
class | AB3Solver |
class | AB4Solver |
class | AB5Solver |
class | AbstractErrorEstimator |
Base class for all error estimators. More... | |
class | AbstractSparseMatrix |
Abstract data type for sparse matrices. More... | |
class | AdamsBashforthSolver |
class | AdamsMoultonSolver |
class | AdaptivityEvaluator |
class | ADIOS2DataCollection |
class | adios2stream |
class | AdvectionFlux |
class | AdvectionOper |
class | AdvectorCG |
class | AlgoimIntegrationRule |
class | AM0Solver |
class | AM1Solver |
class | AM2Solver |
class | AM3Solver |
class | AM4Solver |
class | AmgXSolver |
MFEM wrapper for Nvidia's multigrid library, AmgX (github.com/NVIDIA/AMGX) More... | |
class | AnalyticAdaptTC |
class | AnisotropicErrorEstimator |
The AnisotropicErrorEstimator class is the base class for all error estimators that compute one non-negative real (double) number and an anisotropic flag for every element in the Mesh. More... | |
class | ARKStepSolver |
Interface to ARKode's ARKStep module – additive Runge-Kutta methods. More... | |
class | Array |
class | Array2D |
Dynamic 2D array using row-major layout. More... | |
class | Array3D |
class | ArraysByName |
struct | AssignOp |
class | AttributeSets |
struct | AutoSIMD |
struct | AutoSIMD< double, 2, 16 > |
struct | AutoSIMD< double, 4, 32 > |
struct | AutoSIMD< double, 8, 64 > |
struct | AutoSIMDTraits |
class | AuxSpaceSmoother |
class | AverageAccelerationSolver |
The classical midpoint method. More... | |
struct | Backend |
MFEM backends. More... | |
class | BackwardEulerSolver |
Backward Euler ODE solver. L-stable. More... | |
class | BaseKDTreeNodalProjection |
Base class for KDTreeNodalProjection. More... | |
class | BaseQFunction |
Base class for representing function at integration points. More... | |
class | BasisType |
Possible basis types. Note that not all elements can use all BasisType(s). More... | |
class | BatchedLOR_ADS |
class | BatchedLOR_AMS |
class | BatchedLOR_H1 |
class | BatchedLOR_ND |
class | BatchedLOR_RT |
class | BatchedLORAssembly |
Efficient batched assembly of LOR discretizations on device. More... | |
class | BatchedLORKernel |
Abstract base class for the batched LOR assembly kernels. More... | |
class | BellSpacingFunction |
Bell spacing function, which produces spacing resembling a Bell curve. More... | |
class | BiCGSTABSolver |
BiCGSTAB method. More... | |
class | BiCubic2DFiniteElement |
A 2D bi-cubic element on a square with uniformly spaces nodes. More... | |
class | BiCubic3DFiniteElement |
Class for cubic FE on wedge. More... | |
class | BiLinear2DFiniteElement |
A 2D bi-linear element on a square with nodes at the vertices of the square. More... | |
class | BiLinear3DFiniteElement |
Class for linear FE on wedge. More... | |
class | BilinearForm |
A "square matrix" operator for the associated FE space and BLFIntegrators The sum of all the BLFIntegrators can be used form the matrix M. This class also supports other assembly levels specified via the SetAssemblyLevel() function. More... | |
class | BilinearFormExtension |
Class extending the BilinearForm class to support different AssemblyLevels. More... | |
class | BilinearFormIntegrator |
Abstract base class BilinearFormIntegrator. More... | |
class | BiQuad2DFiniteElement |
A 2D bi-quadratic element on a square with uniformly spaced nodes. More... | |
class | BiQuadPos2DFiniteElement |
class | BiQuadratic3DFiniteElement |
Class for quadratic FE on wedge. More... | |
class | BlockArray |
class | BlockDiagonalPreconditioner |
A class to handle Block diagonal preconditioners in a matrix-free implementation. More... | |
class | BlockFESpaceOperator |
Operator for block systems arising from different arbitrarily many finite element spaces. More... | |
class | BlockILU |
class | BlockLowerTriangularPreconditioner |
A class to handle Block lower triangular preconditioners in a matrix-free implementation. More... | |
class | BlockMatrix |
class | BlockNonlinearForm |
A class representing a general block nonlinear operator defined on the Cartesian product of multiple FiniteElementSpaces. More... | |
class | BlockNonlinearFormIntegrator |
class | BlockOperator |
A class to handle Block systems in a matrix-free implementation. More... | |
class | BlockStaticCondensation |
Class that performs static condensation of interior dofs for multiple FE spaces. This class is used in class DPGWeakFrom. It is suitable for systems resulting from the discretization of multiple FE spaces. It eliminates the dofs associated with the interior of the elements and returns the reduced system which contains only the interfacial dofs. The ordering of the dofs in the matrix is implied by the ordering given by the FE spaces, but there is no assumption on the ordering of the FE spaces. This class handles both serial and parallel FE spaces. More... | |
class | BlockVector |
A class to handle Vectors in a block fashion. More... | |
class | BoundaryFlowIntegrator |
class | BoundaryLFIntegrator |
Class for boundary integration \( L(v) := (g, v) \). More... | |
class | BoundaryMassIntegrator |
class | BoundaryNormalLFIntegrator |
Class for boundary integration \( L(v) = (g \cdot n, v) \). More... | |
class | BoundaryTangentialLFIntegrator |
Class for boundary integration \( L(v) = (g \cdot \tau, v) \) in 2D. More... | |
class | BurgersFlux |
class | CartesianCoefficient |
class | CartesianPML |
Class for setting up a simple Cartesian PML region. More... | |
class | CartesianXCoefficient |
Scalar coefficient which returns the x-component of the evaluation point. More... | |
class | CartesianYCoefficient |
Scalar coefficient which returns the y-component of the evaluation point. More... | |
class | CartesianZCoefficient |
Scalar coefficient which returns the z-component of the evaluation point. More... | |
class | CentralDifferenceSolver |
class | CGSolver |
Conjugate gradient method. More... | |
class | ChangeOfBasis_L2 |
Change of basis operator between L2 spaces. More... | |
class | ChangeOfBasis_RT |
class | CholeskyFactors |
struct | CoarseFineTransformations |
Defines the coarse-fine transformations of all fine elements. More... | |
class | Coefficient |
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormIntegrator, LinearFormIntegrator, and NonlinearFormIntegrator classes to represent the physical coefficients in the PDEs that are being discretized. This class can also be used in a more general way to represent functions that don't necessarily belong to a FE space, e.g., to project onto GridFunctions to use as initial conditions, exact solutions, etc. See, e.g., ex4 or ex22 for these uses. More... | |
class | CoefficientRefiner |
Refinement operator to control data oscillation. More... | |
class | CoefficientVector |
Class to represent a coefficient evaluated at quadrature points. More... | |
struct | ColumnMajorLayout2D |
struct | ColumnMajorLayout3D |
struct | ColumnMajorLayout4D |
class | ComplexBlockStaticCondensation |
Class that performs static condensation of interior dofs for multiple FE spaces for complex systems (see BlockStaticCondensation). It's used by the class ComplexDPGWeakForm. More... | |
class | ComplexCholeskyFactors |
class | ComplexDenseMatrix |
Specialization of the ComplexOperator built from a pair of Dense Matrices. The purpose of this specialization is to support the inverse of a ComplexDenseMatrix and various MatMat operations See ComplexOperator documentation for more information. More... | |
class | ComplexDPGWeakForm |
Class representing the DPG weak formulation for complex valued systems (see the class DPGWeakForm). More... | |
class | ComplexFactors |
class | ComplexGridFunction |
class | ComplexHypreParMatrix |
Specialization of the ComplexOperator built from a pair of HypreParMatrices. More... | |
class | ComplexLinearForm |
class | ComplexLUFactors |
class | ComplexOperator |
Mimic the action of a complex operator using two real operators. More... | |
class | ComplexSparseMatrix |
Specialization of the ComplexOperator built from a pair of Sparse Matrices. More... | |
class | ComplexUMFPackSolver |
Interface with UMFPack solver specialized for ComplexSparseMatrix This approach avoids forming a monolithic SparseMatrix which leads to increased memory and flops. More... | |
class | ConduitDataCollection |
Data collection that uses the Conduit Mesh Blueprint specification. More... | |
class | ConformingFaceRestriction |
Operator that extracts face degrees of freedom for H1, ND, or RT FiniteElementSpaces. More... | |
class | ConformingProlongationOperator |
Auxiliary class used by ParFiniteElementSpace. More... | |
struct | Connection |
Helper struct for defining a connectivity table, see Table::MakeFromList. More... | |
class | ConservativeConvectionIntegrator |
\(-\alpha (u, q \cdot \nabla v)\), negative transpose of ConvectionIntegrator More... | |
class | Const2DFECollection |
Piecewise-constant discontinuous finite elements in 2D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | Const3DFECollection |
Piecewise-constant discontinuous finite elements in 3D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | ConstantCoefficient |
A coefficient that is constant across space and time. More... | |
class | ConstrainedOperator |
Square Operator for imposing essential boundary conditions using only the action, Mult(), of a given unconstrained Operator. More... | |
class | ConstrainedSolver |
An abstract class to solve the constrained system \( Ax = f \) subject to the constraint \( B x = r \). More... | |
class | ConvectionIntegrator |
\(\alpha (Q \cdot \nabla u, v)\) More... | |
class | ConvectiveVectorConvectionNLFIntegrator |
class | ConvergenceStudy |
Class to compute error and convergence rates. It supports H1, H(curl) (ND elements), H(div) (RT elements) and L2 (DG). More... | |
class | CPardisoSolver |
MKL Parallel Direct Sparse Solver for Clusters. More... | |
class | CrossCrossCoefficient |
Matrix coefficient defined as -a k x k x, for a vector k and scalar a. More... | |
class | CrouzeixRaviartFECollection |
Crouzeix-Raviart nonconforming elements in 2D. More... | |
class | CrouzeixRaviartFiniteElement |
A 2D Crouzeix-Raviart element on triangle. More... | |
class | CrouzeixRaviartQuadFiniteElement |
A 2D Crouzeix-Raviart finite element on square. More... | |
class | Cubic1DFiniteElement |
A 1D cubic element with uniformly spaced nodes. More... | |
class | Cubic2DFiniteElement |
A 2D cubic element on a triangle with uniformly spaced nodes. More... | |
class | Cubic3DFiniteElement |
class | CubicDiscont2DFECollection |
Piecewise-cubic discontinuous finite elements in 2D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | CubicFECollection |
Piecewise-(bi)cubic continuous finite elements. More... | |
class | CurlCurlIntegrator |
Integrator for \((\mathrm{curl}(u), \mathrm{curl}(v))\) for Nedelec elements. More... | |
class | CurlGridFunctionCoefficient |
Vector coefficient defined as the Curl of a vector GridFunction. More... | |
class | CurlInterpolator |
class | Cut |
All subclasses of Cut will implement intersection routines and quadrature point generation within the cut in the intersection of two elements. Although, this class is designed to support MortarAssembler and ParMortarAssembler, it can be used for any problem requiring to perform Petrov-Galerkin formulations on non-matching elements. More... | |
class | CutIntegrationRules |
Abstract class for construction of IntegrationRules in cut elements. More... | |
struct | CuWrap |
struct | CuWrap< 1 > |
struct | CuWrap< 2 > |
struct | CuWrap< 3 > |
class | CVODESolver |
Interface to the CVODE library – linear multi-step methods. More... | |
class | CVODESSolver |
class | CylindricalAzimuthalCoefficient |
class | CylindricalRadialCoefficient |
class | DataCollection |
class | DeltaCoefficient |
Delta function coefficient optionally multiplied by a weight coefficient and a scaled time dependent C-function. More... | |
class | DeltaLFIntegrator |
Abstract class for integrators that support delta coefficients. More... | |
class | DenseMatrix |
Data type dense matrix using column-major storage. More... | |
class | DenseMatrixEigensystem |
class | DenseMatrixGeneralizedEigensystem |
class | DenseMatrixInverse |
class | DenseMatrixSVD |
Class for Singular Value Decomposition of a DenseMatrix. More... | |
class | DenseSymmetricMatrix |
class | DenseTensor |
Rank 3 tensor (array of matrices) More... | |
class | DerivativeIntegrator |
Class for integrating \( (Q \partial_i(u), v) \) where \(u\) and \(v\) are scalars. More... | |
class | DeterminantCoefficient |
Scalar coefficient defined as the determinant of a matrix coefficient. More... | |
class | Device |
The MFEM Device class abstracts hardware devices such as GPUs, as well as programming models such as CUDA, OCCA, RAJA and OpenMP. More... | |
class | DeviceConformingProlongationOperator |
Auxiliary device class used by ParFiniteElementSpace. More... | |
struct | DeviceDofQuadLimits |
Maximum number of 1D DOFs or quadrature points for the current runtime configuration of the Device (used in fallback kernels). More... | |
class | DeviceTensor |
A basic generic Tensor class, appropriate for use on the GPU. More... | |
class | DG_Interface_FECollection |
class | DGDiffusionBR2Integrator |
class | DGDiffusionIntegrator |
class | DGDirichletLFIntegrator |
class | DGElasticityDirichletLFIntegrator |
class | DGElasticityIntegrator |
class | DGHyperbolicConservationLaws |
Time dependent DG operator for hyperbolic conservation laws. More... | |
class | DGIndexer |
class | DGMassInverse |
Solver for the discontinuous Galerkin mass matrix. More... | |
class | DGTraceIntegrator |
class | DiffMappedGridFunctionCoefficient |
Returns f(u(x)) - f(v(x)) where u, v are scalar GridFunctions and f:R → R. More... | |
class | DiffusionIntegrator |
class | DiffusionObjIntegrator |
class | DiffusionSolver |
Class for solving Poisson's equation: More... | |
class | DirectSubBlockSolver |
Block diagonal solver for A, each block is inverted by direct solver. More... | |
class | DiscreteAdaptTC |
class | DiscreteInterpolator |
class | DiscreteLinearOperator |
class | DiscreteUpwindLOSolver |
class | DivDivIntegrator |
\((Q \nabla \cdot u, \nabla \cdot v)\) for Raviart-Thomas elements More... | |
class | DivergenceGridFunctionCoefficient |
Scalar coefficient defined as the Divergence of a vector GridFunction. More... | |
class | DivergenceInterpolator |
class | DofToQuad |
Structure representing the matrices/tensors needed to evaluate (in reference space) the values, gradients, divergences, or curls of a FiniteElement at the quadrature points of a given IntegrationRule. More... | |
class | DofTransformation |
class | DomainLFGradIntegrator |
Class for domain integrator \( L(v) := (f, \nabla v) \). More... | |
class | DomainLFIntegrator |
Class for domain integration \( L(v) := (f, v) \). More... | |
class | DPGWeakForm |
Class representing the DPG weak formulation. Given the variational formulation a(u,v) = b(v), (or A u = b, where <Au,v> = a(u,v)) this class forms the DPG linear system A^T G^-1 A u = A^T G^-1 b This system results from the minimum residual formulation u = argmin_w ||G^-1(b - Aw)||. Here G is a symmetric positive definite matrix resulting from the discretization of the Riesz operator on the test space. Since the test space is broken (discontinuous), G is defined and inverted element-wise and the assembly of the global system is performed in the same manner as the standard FEM method. Note that DPGWeakForm can handle multiple Finite Element spaces. More... | |
class | DSmoother |
Data type for scaled Jacobi-type smoother of sparse matrix. More... | |
class | DSTable |
class | DynamicVectorLayout |
class | EABilinearFormExtension |
Data and methods for element-assembled bilinear forms. More... | |
class | Edge |
Class that implements an edge defined by a start and end point. More... | |
class | ElasticityComponentIntegrator |
Integrator that computes the PA action of one of the blocks in an ElasticityIntegrator, considering the elasticity operator as a dim x dim block operator. More... | |
class | ElasticityDiagonalPreconditioner |
ElasticityDiagonalPreconditioner acts as a matrix-free preconditioner for ElasticityOperator. More... | |
class | ElasticityGradientOperator |
ElasticityGradientOperator is a wrapper class to pass ElasticityOperator::AssembleGradientDiagonal and ElasticityOperator::GradientMult as a separate object through NewtonSolver. More... | |
class | ElasticityIntegrator |
class | ElasticityOperator |
class | Element |
Abstract data type element. More... | |
class | ElementDofIndexer |
class | ElementRestriction |
Operator that converts FiniteElementSpace L-vectors to E-vectors. More... | |
class | ElementRestrictionOperator |
Abstract base class that defines an interface for element restrictions. More... | |
class | ElementTransformation |
class | EliminationCGSolver |
class | EliminationGMRESSolver |
class | EliminationProjection |
class | EliminationSolver |
Solve constrained system by eliminating the constraint; see ConstrainedSolver. More... | |
class | Eliminator |
Perform elimination of a single constraint. More... | |
struct | Embedding |
Defines the position of a fine element within a coarse element. More... | |
class | ErrorEstimator |
Base class for all element based error estimators. More... | |
class | ErrorException |
Exception class thrown when MFEM encounters an error and the current ErrorAction is set to MFEM_ERROR_THROW. More... | |
class | ESDIRK32Solver |
class | ESDIRK33Solver |
class | EulerFlux |
class | ExplicitRKSolver |
class | Extrapolator |
class | ExtrudeCoefficient |
Class used for extruding scalar GridFunctions. More... | |
class | FABilinearFormExtension |
Data and methods for fully-assembled bilinear forms. More... | |
class | FaceElementTransformations |
A specialized ElementTransformation class representing a face and its two neighboring elements. More... | |
class | FaceGeometricFactors |
Structure for storing face geometric factors: coordinates, Jacobians, determinants of the Jacobians, and normal vectors. More... | |
class | FaceNeighborGeometricFactors |
Class for accessing the geometric factors of face neighbor elements (i.e. across boundaries of MPI mesh partitions). More... | |
class | FaceQuadratureInterpolator |
A class that performs interpolation from a face E-vector to quadrature point values and/or derivatives (Q-vectors) on the faces. More... | |
class | FaceQuadratureSpace |
Class representing the storage layout of a FaceQuadratureFunction. More... | |
class | FaceRestriction |
Base class for operators that extracts Face degrees of freedom. More... | |
class | Factors |
class | FGMRESSolver |
FGMRES method. More... | |
class | FieldEvaluator |
complex_t - dof/qpt data type, real_t - ShapeEvaluator (FE basis) data type More... | |
class | FieldEvaluator_base |
Field evaluators – values of a given global FE grid function This is roughly speaking a templated version of GridFunction. More... | |
class | FindPointsGSLIB |
FindPointsGSLIB can robustly evaluate a GridFunction on an arbitrary collection of points. There are three key functions in FindPointsGSLIB: More... | |
class | FiniteElement |
Abstract class for all finite elements. More... | |
class | FiniteElementCollection |
Collection of finite elements from the same family in multiple dimensions. This class is used to match the degrees of freedom of a FiniteElementSpace between elements, and to provide the finite element restriction from an element to its boundary. More... | |
class | FiniteElementSpace |
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of degrees of freedom. More... | |
class | FiniteElementSpaceHierarchy |
class | FluxFunction |
Abstract class for hyperbolic flux for a system of hyperbolic conservation laws. More... | |
class | FMSDataCollection |
Data collection that uses FMS. More... | |
class | ForwardEulerSolver |
The classical forward Euler method. More... | |
class | FoxGoodwinSolver |
class | FunctionCoefficient |
A general function coefficient. More... | |
class | FunctionSpace |
Describes the function space on each element. More... | |
class | GaussBiLinear2DFiniteElement |
A 2D bi-linear element on a square with nodes at the "Gaussian" points. More... | |
class | GaussBiQuad2DFiniteElement |
A 2D bi-quadratic element on a square with nodes at the 9 "Gaussian" points. More... | |
class | GaussianSpacingFunction |
Gaussian spacing function of the general form g(x) = a exp(-(x-m)^2 / c^2) for some scalar parameters a, m, c. More... | |
class | GaussIntegrationRule |
class | GaussLinear2DFiniteElement |
A linear element on a triangle with nodes at the 3 "Gaussian" points. More... | |
class | GaussLinearDiscont2DFECollection |
Version of LinearDiscont2DFECollection with dofs in the Gaussian points. More... | |
class | GaussQuad2DFiniteElement |
A quadratic element on triangle with nodes at the "Gaussian" points. More... | |
class | GaussQuadraticDiscont2DFECollection |
Version of QuadraticDiscont2DFECollection with dofs in the Gaussian points. More... | |
class | GeneralAMS |
Perform AMS cycle with generic Operator objects. More... | |
class | GeneralizedAlpha2Solver |
class | GeneralizedAlphaSolver |
class | GenericIntegrationRule |
class | GeometricFactors |
Structure for storing mesh geometric factors: coordinates, Jacobians, and determinants of the Jacobians. More... | |
class | GeometricMultigrid |
Geometric multigrid associated with a hierarchy of finite element spaces. More... | |
class | GeometricSpacingFunction |
Geometric spacing function. More... | |
class | Geometry |
class | GeometryRefiner |
class | GMRESSolver |
GMRES method. More... | |
class | GnuTLS_global_state |
class | GnuTLS_session_params |
class | GnuTLS_socketbuf |
class | GnuTLS_status |
class | GradComponentCoeff |
class | GradientGridFunctionCoefficient |
Vector coefficient defined as the Gradient of a scalar GridFunction. More... | |
class | GradientIntegrator |
class | GradientInterpolator |
class | GridFunction |
Class for grid function - Vector with associated FE space. More... | |
class | GridFunctionCoefficient |
Coefficient defined by a GridFunction. This coefficient is mesh dependent. More... | |
class | GridFunctionPumi |
Class for PUMI grid functions. More... | |
class | GridTransfer |
Base class for transfer algorithms that construct transfer Operators between two finite element (FE) spaces. More... | |
class | GroupCommunicator |
Communicator performing operations within groups defined by a GroupTopology with arbitrary-size data associated with each group. More... | |
class | GroupConvectionIntegrator |
\(\alpha (Q \cdot \nabla u, v)\) using the "group" FE discretization More... | |
class | GroupTopology |
class | GSSmoother |
Data type for Gauss-Seidel smoother of sparse matrix. More... | |
class | H1_FECollection |
Arbitrary order H1-conforming (continuous) finite elements. More... | |
class | H1_FiniteElement |
class | H1_FiniteElement< Geometry::CUBE, P > |
class | H1_FiniteElement< Geometry::SEGMENT, P > |
class | H1_FiniteElement< Geometry::SQUARE, P > |
class | H1_FiniteElement< Geometry::TETRAHEDRON, P > |
class | H1_FiniteElement< Geometry::TRIANGLE, P > |
class | H1_FiniteElementSpace |
class | H1_HexahedronElement |
Arbitrary order H1 elements in 3D on a cube. More... | |
class | H1_QuadrilateralElement |
Arbitrary order H1 elements in 2D on a square. More... | |
class | H1_SegmentElement |
Arbitrary order H1 elements in 1D. More... | |
class | H1_TetrahedronElement |
Arbitrary order H1 elements in 3D on a tetrahedron. More... | |
class | H1_Trace_FECollection |
Arbitrary order "H^{1/2}-conforming" trace finite elements defined on the interface between mesh elements (faces,edges,vertices); these are the trace FEs of the H1-conforming FEs. More... | |
class | H1_TriangleElement |
Arbitrary order H1 elements in 2D on a triangle. More... | |
class | H1_WedgeElement |
Arbitrary order H1 elements in 3D on a wedge. More... | |
class | H1Pos_FECollection |
Arbitrary order H1-conforming (continuous) finite elements with positive basis functions. More... | |
class | H1Pos_HexahedronElement |
Arbitrary order H1 elements in 3D utilizing the Bernstein basis on a cube. More... | |
class | H1Pos_QuadrilateralElement |
Arbitrary order H1 elements in 2D utilizing the Bernstein basis on a square. More... | |
class | H1Pos_SegmentElement |
Arbitrary order H1 elements in 1D utilizing the Bernstein basis. More... | |
class | H1Pos_TetrahedronElement |
class | H1Pos_TriangleElement |
Arbitrary order H1 elements in 2D utilizing the Bernstein basis on a triangle. More... | |
class | H1Pos_WedgeElement |
Arbitrary order H1 elements in 3D utilizing the Bernstein basis on a wedge. More... | |
class | H1Ser_FECollection |
class | H1Ser_QuadrilateralElement |
Arbitrary order H1 serendipity elements in 2D on a quad. More... | |
struct | Hashed2 |
struct | Hashed4 |
class | HashFunction |
Hash function for data sequences. More... | |
class | HashTable |
class | HdivSaddlePointSolver |
Solve the H(div) saddle-point system using MINRES with matrix-free block-diagonal preconditioning. More... | |
class | Hexahedron |
Data type hexahedron element. More... | |
class | HHTAlphaSolver |
class | HiopNlpOptimizer |
Adapts the HiOp functionality to the MFEM OptimizationSolver interface. More... | |
class | HiopOptimizationProblem |
Internal class - adapts the OptimizationProblem class to HiOp's interface. More... | |
class | HiOpProblem |
Users can inherit this class to access to HiOp-specific functionality. More... | |
struct | HipWrap |
struct | HipWrap< 1 > |
struct | HipWrap< 2 > |
struct | HipWrap< 3 > |
class | Hybridization |
Auxiliary class Hybridization, used to implement BilinearForm hybridization. More... | |
class | HyperbolicFormIntegrator |
Abstract hyperbolic form integrator, (F(u, x), ∇v) and (F̂(u±, x, n)) More... | |
class | HyperelasticModel |
Abstract class for hyperelastic models. More... | |
class | HyperelasticNLFIntegrator |
class | Hypre |
A simple singleton class for hypre's global settings, that 1) calls HYPRE_Init() and sets some GPU-relevant options at construction and 2) calls HYPRE_Finalize() at destruction. More... | |
class | HypreADS |
The Auxiliary-space Divergence Solver in hypre. More... | |
class | HypreAME |
class | HypreAMS |
The Auxiliary-space Maxwell Solver in hypre. More... | |
class | HypreBoomerAMG |
The BoomerAMG solver in hypre. More... | |
class | HypreDiagScale |
Jacobi preconditioner in hypre. More... | |
class | HypreEuclid |
class | HypreFGMRES |
Flexible GMRES solver in hypre. More... | |
class | HypreGMRES |
GMRES solver in hypre. More... | |
class | HypreIdentity |
The identity operator as a hypre solver. More... | |
class | HypreILU |
Wrapper for Hypre's native parallel ILU preconditioner. More... | |
class | HypreLOBPCG |
class | HypreParaSails |
The ParaSails preconditioner in hypre. More... | |
class | HypreParMatrix |
Wrapper for hypre's ParCSR matrix class. More... | |
class | HypreParVector |
Wrapper for hypre's parallel vector class. More... | |
class | HyprePCG |
PCG solver in hypre. More... | |
class | HypreSmoother |
Parallel smoothers in hypre. More... | |
class | HypreSolver |
Abstract class for hypre's solvers and preconditioners. More... | |
class | HypreTriSolve |
class | IdentityInterpolator |
class | IdentityMatrixCoefficient |
Constant matrix coefficient defined as the identity of dimension d. More... | |
class | IdentityOperator |
Identity Operator I: x -> x. More... | |
class | ifgzstream |
class | ImplicitMidpointSolver |
Implicit midpoint method. A-stable, not L-stable. More... | |
class | IncompressibleNeoHookeanIntegrator |
class | Init |
A class to initialize the size of a Tensor. More... | |
class | Init< Dim, Dim, T, Args... > |
class | InnerProductCoefficient |
Scalar coefficient defined as the inner product of two vector coefficients. More... | |
class | IntegerSet |
A set of integers. More... | |
class | IntegrationPoint |
Class for integration point with weight. More... | |
class | IntegrationPointTransformation |
class | IntegrationRule |
Class for an integration rule - an Array of IntegrationPoint. More... | |
class | IntegrationRules |
Container class for integration rules. More... | |
struct | InterpConfig |
class | InterpolationGridTransfer |
Transfer data between a coarse mesh and an embedded refined mesh using interpolation. More... | |
class | InterpolationManager |
This class manages the storage and computation of the interpolations from master (coarse) face to slave (fine) face. More... | |
class | InterpolatorFP |
struct | IntRuleCoefficient |
class | InvariantsEvaluator2D |
Auxiliary class for evaluating the 2x2 matrix invariants and their first and second derivatives. More... | |
class | InvariantsEvaluator3D |
Auxiliary class for evaluating the 3x3 matrix invariants and their first and second derivatives. More... | |
class | InverseElementTransformation |
The inverse transformation of a given ElementTransformation. More... | |
class | InverseHarmonicModel |
class | InverseIntegrator |
Integrator that inverts the matrix assembled by another integrator. More... | |
class | InverseMatrixCoefficient |
Matrix coefficient defined as the inverse a matrix coefficient. More... | |
class | isockstream |
class | IsoparametricTransformation |
A standard isoparametric element transformation. More... | |
class | IterativeSolver |
Abstract base class for iterative solver. More... | |
class | IterativeSolverMonitor |
Abstract base class for an iterative solver monitor. More... | |
class | JumpScaling |
class | KDTree |
class | KDTreeBase |
Abstract base class for KDTree. Can be used when the dimension of the space is known dynamically. More... | |
class | KDTreeNodalProjection |
class | KellyErrorEstimator |
The KellyErrorEstimator class provides a fast error indication strategy for smooth scalar parallel problems. More... | |
class | KINSolver |
Interface to the KINSOL library – nonlinear solver methods. More... | |
class | KLUSolver |
Direct sparse solver using KLU. More... | |
class | KnotVector |
class | L2_FECollection |
Arbitrary order "L2-conforming" discontinuous finite elements. More... | |
class | L2_FiniteElement |
class | L2_FiniteElement< Geometry::CUBE, P > |
class | L2_FiniteElement< Geometry::SEGMENT, P > |
class | L2_FiniteElement< Geometry::SQUARE, P > |
class | L2_FiniteElement< Geometry::TETRAHEDRON, P > |
class | L2_FiniteElement< Geometry::TRIANGLE, P > |
class | L2_FiniteElement_base |
class | L2_FiniteElementSpace |
class | L2_HexahedronElement |
Arbitrary order L2 elements in 3D on a cube. More... | |
class | L2_QuadrilateralElement |
Arbitrary order L2 elements in 2D on a square. More... | |
class | L2_SegmentElement |
Arbitrary order L2 elements in 1D on a segment. More... | |
class | L2_TetrahedronElement |
Arbitrary order L2 elements in 3D on a tetrahedron. More... | |
class | L2_TriangleElement |
Arbitrary order L2 elements in 2D on a triangle. More... | |
class | L2_WedgeElement |
Arbitrary order L2 elements in 3D on a wedge. More... | |
class | L2ElementRestriction |
Operator that converts L2 FiniteElementSpace L-vectors to E-vectors. More... | |
class | L2FaceRestriction |
Operator that extracts Face degrees of freedom for L2 spaces. More... | |
class | L2MortarIntegrator |
Integrator for scalar finite elements. More... | |
class | L2NormalDerivativeFaceRestriction |
Class to compute face normal derivatives (in reference coordinate) of an L2 grid function (used internally by L2FaceRestriction). More... | |
class | L2Pos_HexahedronElement |
Arbitrary order L2 elements in 3D utilizing the Bernstein basis on a cube. More... | |
class | L2Pos_QuadrilateralElement |
Arbitrary order L2 elements in 2D utilizing the Bernstein basis on a square. More... | |
class | L2Pos_SegmentElement |
Arbitrary order L2 elements in 1D utilizing the Bernstein basis on a segment. More... | |
class | L2Pos_TetrahedronElement |
class | L2Pos_TriangleElement |
Arbitrary order L2 elements in 2D utilizing the Bernstein basis on a triangle. More... | |
class | L2Pos_WedgeElement |
Arbitrary order L2 elements in 3D utilizing the Bernstein basis on a wedge. More... | |
class | L2ProjectionGridTransfer |
Transfer data in L2 and H1 finite element spaces between a coarse mesh and an embedded refined mesh using L2 projection. More... | |
class | L2ZienkiewiczZhuEstimator |
The L2ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure where the flux averaging is replaced by a global L2 projection (requiring a mass matrix solve). More... | |
class | Lagrange1DFiniteElement |
A 1D element with uniform nodes. More... | |
class | LagrangeHexFiniteElement |
Tensor products of 1D Lagrange1DFiniteElement (only degree 2 is functional) More... | |
class | LBFGSSolver |
class | LevelSetNormalGradCoeff |
class | Linear1DFiniteElement |
A 1D linear element with nodes on the endpoints. More... | |
class | Linear2DFiniteElement |
A 2D linear element on triangle with nodes at the vertices of the triangle. More... | |
class | Linear3DFiniteElement |
A 3D linear element on a tetrahedron with nodes at the vertices of the tetrahedron. More... | |
class | LinearAccelerationSolver |
class | LinearDiscont2DFECollection |
Piecewise-linear discontinuous finite elements in 2D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | LinearDiscont3DFECollection |
Piecewise-linear discontinuous finite elements in 3D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | LinearElasticitySolver |
Class for solving linear elasticity: More... | |
class | LinearFECollection |
Piecewise-(bi/tri)linear continuous finite elements. More... | |
class | LinearForm |
Vector with associated FE space and LinearFormIntegrators. More... | |
class | LinearFormExtension |
Class extending the LinearForm class to support assembly on devices. More... | |
class | LinearFormIntegrator |
Abstract base class LinearFormIntegrator. More... | |
class | LinearNonConf3DFECollection |
Piecewise-linear nonconforming finite elements in 3D. More... | |
class | LinearPyramidFiniteElement |
A linear element defined on a square pyramid. More... | |
class | LinearSpacingFunction |
Linear spacing function, defining the width of interval i as s + i * d. More... | |
class | LinearWedgeFiniteElement |
A linear element defined on a triangular prism. More... | |
class | ListOfIntegerSets |
List of integer sets. More... | |
class | Local_FECollection |
Discontinuous collection defined locally by a given finite element. More... | |
class | LogarithmicSpacingFunction |
Logarithmic spacing function, uniform in log base 10 by default. More... | |
class | LORBase |
Abstract base class for LORDiscretization and ParLORDiscretization classes, which construct low-order refined versions of bilinear forms. More... | |
class | LORDiscretization |
Create and assemble a low-order refined version of a BilinearForm. More... | |
class | LORSolver |
Represents a solver of type SolverType created using the low-order refined version of the given BilinearForm or ParBilinearForm. More... | |
class | LORSolver< HypreADS > |
class | LORSolver< HypreAMS > |
class | LpErrorEstimator |
The LpErrorEstimator class compares the solution to a known coefficient. More... | |
class | LSZienkiewiczZhuEstimator |
The LSZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure [1,2] using face-based patches [3]. More... | |
class | LUFactors |
class | LumpedIntegrator |
class | MappedGridFunctionCoefficient |
Returns f(u(x)) where u is a scalar GridFunction and f:R → R. More... | |
class | MassIntegrator |
class | MaterialTopology |
Virtual class to define the interface for defining the material topology. More... | |
class | Matrix |
Abstract data type matrix. More... | |
class | MatrixArrayCoefficient |
Matrix coefficient defined by a matrix of scalar coefficients. Coefficients that are not set will evaluate to zero in the vector. The coefficient is stored as a flat Array with indexing (i,j) -> i*width+j. More... | |
class | MatrixCoefficient |
Base class for Matrix Coefficients that optionally depend on time and space. More... | |
class | MatrixConstantCoefficient |
A matrix coefficient that is constant in space and time. More... | |
class | MatrixFreeAMS |
An auxiliary Maxwell solver for a high-order curl-curl system without high-order assembly. More... | |
class | MatrixFreeAuxiliarySpace |
Auxiliary space solvers for MatrixFreeAMS preconditioner. More... | |
class | MatrixFunctionCoefficient |
A matrix coefficient with an optional scalar coefficient multiplier q. The matrix function can either be represented by a std function or a constant matrix provided when constructing this object. More... | |
class | MatrixInverse |
Abstract data type for matrix inverse. More... | |
class | MatrixProductCoefficient |
Matrix coefficient defined as the product of two matrices. More... | |
class | MatrixRestrictedCoefficient |
Derived matrix coefficient that has the value of the parent matrix coefficient where it is active and is zero otherwise. More... | |
class | MatrixSumCoefficient |
Matrix coefficient defined as the linear combination of two matrices. More... | |
class | MatrixVectorProductCoefficient |
Vector coefficient defined as a product of a matrix coefficient and a vector coefficient. More... | |
class | MemAlloc |
class | MemAllocNode |
class | Memory |
Class used by MFEM to store pointers to host and/or device memory. More... | |
struct | MemoryIJData |
class | MemoryManager |
class | Mesh |
Mesh data type. More... | |
class | MeshOperator |
The MeshOperator class serves as base for mesh manipulation classes. More... | |
class | MeshOperatorSequence |
class | MeshPart |
Class containing a minimal description of a part (a subset of the elements) of a Mesh and its connectivity to other parts. More... | |
class | MeshPartitioner |
Class that allows serial meshes to be partitioned into MeshPart objects, typically one MeshPart at a time, which can then be used to write the local mesh in parallel MFEM mesh format. More... | |
class | MFBilinearFormExtension |
Data and methods for matrix-free bilinear forms. More... | |
class | MFNonlinearFormExtension |
Data and methods for unassembled nonlinear forms. More... | |
class | MINRESSolver |
MINRES method. More... | |
class | MixedBilinearForm |
class | MixedBilinearFormExtension |
Class extending the MixedBilinearForm class to support different AssemblyLevels. More... | |
class | MixedCrossCurlCurlIntegrator |
class | MixedCrossCurlGradIntegrator |
class | MixedCrossCurlIntegrator |
class | MixedCrossGradCurlIntegrator |
class | MixedCrossGradGradIntegrator |
class | MixedCrossGradIntegrator |
class | MixedCrossProductIntegrator |
class | MixedCurlCurlIntegrator |
class | MixedCurlIntegrator |
class | MixedDirectionalDerivativeIntegrator |
class | MixedDivGradIntegrator |
class | MixedDotProductIntegrator |
class | MixedGradDivIntegrator |
class | MixedGradGradIntegrator |
class | MixedScalarCrossCurlIntegrator |
class | MixedScalarCrossGradIntegrator |
class | MixedScalarCrossProductIntegrator |
class | MixedScalarCurlIntegrator |
class | MixedScalarDerivativeIntegrator |
class | MixedScalarDivergenceIntegrator |
class | MixedScalarIntegrator |
class | MixedScalarMassIntegrator |
class | MixedScalarVectorIntegrator |
class | MixedScalarWeakCrossProductIntegrator |
class | MixedScalarWeakCurlCrossIntegrator |
class | MixedScalarWeakCurlIntegrator |
class | MixedScalarWeakDerivativeIntegrator |
class | MixedScalarWeakDivergenceIntegrator |
class | MixedScalarWeakGradientIntegrator |
class | MixedVectorCurlIntegrator |
class | MixedVectorDivergenceIntegrator |
class | MixedVectorGradientIntegrator |
class | MixedVectorIntegrator |
class | MixedVectorMassIntegrator |
class | MixedVectorProductIntegrator |
class | MixedVectorWeakCurlIntegrator |
class | MixedVectorWeakDivergenceIntegrator |
class | MixedWeakCurlCrossIntegrator |
class | MixedWeakDivCrossIntegrator |
class | MixedWeakGradDotIntegrator |
class | MomentFittingIntRules |
Class for subdomain IntegrationRules by means of moment-fitting. More... | |
class | MortarAssembler |
This class implements the serial variational transfer between finite element spaces. Variational transfer has been shown to have better approximation properties than standard interpolation. This facilities can be used for supporting applications which require the handling of non matching meshes. For instance: General multi-physics problems, fluid structure interaction, or even visualization of average quantities within subvolumes This algorithm allows to perform quadrature in the intersection of elements of two separate and unrelated meshes. It generates quadrature rules in the intersection which allows us to integrate-with to machine precision using the mfem::MortarIntegrator interface. See https://doi.org/10.1137/15M1008361 for and in-depth explanation. At this time curved elements are not supported. More... | |
class | MortarIntegrator |
Interface for mortar element assembly. The MortarIntegrator interface is used for performing Petrov-Galerkin finite element assembly on intersections between elements. The quadrature rules are to be generated by a cut algorithm (e.g., mfem::Cut). The quadrature rules are defined in the respective trial and test reference frames. Trial and test spaces can be associated with different element shapes (e.g., triangles and quadrilaterals) and different polynomial orders (e.g., 1 and 4). This class is designed to work in conjunction with the MFEM/moonolith module but it can be used also for other applications. More... | |
class | Mpi |
A simple singleton class that calls MPI_Init() at construction and MPI_Finalize() at destruction. It also provides easy access to MPI_COMM_WORLD's rank and size. More... | |
class | MPI_Session |
A simple convenience class based on the Mpi singleton class above. Preserved for backward compatibility. New code should use Mpi::Init() and other Mpi methods instead. More... | |
struct | MPITypeMap |
Helper struct to convert a C++ type to an MPI type. More... | |
struct | MPITypeMap< double > |
struct | MPITypeMap< float > |
struct | MPITypeMap< int > |
class | Multigrid |
Multigrid solver class. More... | |
class | MultigridBase |
Abstract base class for Multigrid solvers. More... | |
class | MUMPSSolver |
MUMPS: A Parallel Sparse Direct Solver. More... | |
class | MyEnergyFunctor |
class | MyResidualFunctor |
class | named_ifgzstream |
class | NamedFieldsMap |
Lightweight adaptor over an std::map from strings to pointer to T. More... | |
struct | NCInterpConfig |
class | NCL2FaceRestriction |
Operator that extracts face degrees of freedom for L2 nonconforming spaces. More... | |
class | NCMesh |
A class for non-conforming AMR. The class is not used directly by the user, rather it is an extension of the Mesh class. More... | |
class | ND1_3DFECollection |
Lowest order Nedelec finite elements in 3D. This class is kept only for backward compatibility, consider using the new ND_FECollection instead. More... | |
class | ND_DofTransformation |
class | ND_FECollection |
Arbitrary order H(curl)-conforming Nedelec finite elements. More... | |
class | ND_HexahedronElement |
Arbitrary order Nedelec elements in 3D on a cube. More... | |
class | ND_QuadrilateralElement |
Arbitrary order Nedelec elements in 2D on a square. More... | |
class | ND_R1D_FECollection |
Arbitrary order 3D H(curl)-conforming Nedelec finite elements in 1D. More... | |
class | ND_R1D_PointElement |
A 0D Nedelec finite element for the boundary of a 1D domain. More... | |
class | ND_R1D_SegmentElement |
Arbitrary order, three component, Nedelec elements in 1D on a segment. More... | |
class | ND_R2D_FECollection |
Arbitrary order 3D H(curl)-conforming Nedelec finite elements in 2D. More... | |
class | ND_R2D_FiniteElement |
class | ND_R2D_QuadrilateralElement |
Arbitrary order Nedelec 3D elements in 2D on a square. More... | |
class | ND_R2D_SegmentElement |
class | ND_R2D_Trace_FECollection |
Arbitrary order 3D H(curl)-trace finite elements in 2D defined on the interface between mesh elements (edges); these are the tangential trace FEs of the H(curl)-conforming FEs. More... | |
class | ND_R2D_TriangleElement |
Arbitrary order Nedelec 3D elements in 2D on a triangle. More... | |
class | ND_SegmentElement |
Arbitrary order Nedelec elements in 1D on a segment. More... | |
class | ND_TetDofTransformation |
DoF transformation implementation for the Nedelec basis on tetrahedra. More... | |
class | ND_TetrahedronElement |
Arbitrary order Nedelec elements in 3D on a tetrahedron. More... | |
class | ND_Trace_FECollection |
Arbitrary order H(curl)-trace finite elements defined on the interface between mesh elements (faces,edges); these are the tangential trace FEs of the H(curl)-conforming FEs. More... | |
class | ND_TriangleElement |
Arbitrary order Nedelec elements in 2D on a triangle. More... | |
class | ND_TriDofTransformation |
class | ND_WedgeDofTransformation |
DoF transformation implementation for the Nedelec basis on wedge elements. More... | |
class | ND_WedgeElement |
class | Nedelec1HexFiniteElement |
A 3D 1st order Nedelec element on a cube. More... | |
class | Nedelec1PyrFiniteElement |
A 3D 1st order Nedelec element on a pyramid. More... | |
class | Nedelec1TetFiniteElement |
A 3D 1st order Nedelec element on a tetrahedron. More... | |
class | Nedelec1WdgFiniteElement |
A 3D 1st order Nedelec element on a wedge. More... | |
class | NeoHookeanModel |
class | NewmarkSolver |
class | NewtonSolver |
Newton's method for solving F(x)=b for a given operator F. More... | |
class | NNLSSolver |
class | NodalFiniteElement |
Class for standard nodal finite elements. More... | |
class | NodalTensorFiniteElement |
class | NodeExtrudeCoefficient |
Class used to extrude the nodes of a mesh. More... | |
class | NonconservativeDGTraceIntegrator |
class | NonlinearForm |
class | NonlinearFormExtension |
Class extending the NonlinearForm class to support the different AssemblyLevels. More... | |
class | NonlinearFormIntegrator |
This class is used to express the local action of a general nonlinear finite element operator. In addition it may provide the capability to assemble the local gradient operator and to compute the local energy. More... | |
class | NormalGradCoeff |
class | NormalGradComponentCoeff |
class | NormalInterpolator |
class | NormalizedVectorCoefficient |
Vector coefficient defined as a normalized vector field (returns v/|v|) More... | |
class | NormalTraceIntegrator |
class | NormalTraceJumpIntegrator |
struct | NoSIMDTraits |
class | NURBS1DFiniteElement |
An arbitrary order 1D NURBS element on a segment. More... | |
class | NURBS2DFiniteElement |
An arbitrary order 2D NURBS element on a square. More... | |
class | NURBS3DFiniteElement |
An arbitrary order 3D NURBS element on a cube. More... | |
class | NURBSExtension |
class | NURBSFECollection |
Arbitrary order non-uniform rational B-splines (NURBS) finite elements. More... | |
class | NURBSFiniteElement |
An arbitrary order and dimension NURBS element. More... | |
class | NURBSMeshRules |
Class for defining different integration rules on each NURBS patch. More... | |
class | NURBSPatch |
class | NURBSPatchMap |
class | OctetTrussTopology |
class | ODESolver |
Abstract class for solving systems of ODEs: dx/dt = f(x,t) More... | |
struct | OffsetStridedLayout1D |
struct | OffsetStridedLayout2D |
struct | OffsetStridedLayout3D |
struct | OffsetStridedLayout4D |
class | ofgzstream |
class | Operator |
Abstract operator. More... | |
class | OperatorChebyshevSmoother |
Chebyshev accelerated smoothing with given vector, no matrix necessary. More... | |
class | OperatorHandle |
Pointer to an Operator of a specified type. More... | |
class | OperatorJacobiSmoother |
Jacobi smoothing for a given bilinear form (no matrix necessary). More... | |
class | OptimizationProblem |
class | OptimizationSolver |
Abstract solver for OptimizationProblems. More... | |
class | OptionsParser |
class | Ordering |
The ordering method used when the number of unknowns per mesh node (vector dimension) is bigger than 1. More... | |
class | OrthoSolver |
Solver wrapper which orthogonalizes the input and output vector. More... | |
class | osockstream |
class | OuterProductCoefficient |
Matrix coefficient defined as the outer product of two vector coefficients. More... | |
class | OutStream |
Simple extension of std::ostream. More... | |
class | OversetFindPointsGSLIB |
OversetFindPointsGSLIB enables use of findpts for arbitrary number of overlapping grids. The parameters in this class are the same as FindPointsGSLIB with the difference of additional inputs required to account for more than 1 mesh. More... | |
class | P0HexFiniteElement |
A 3D constant element on a cube. More... | |
class | P0PyrFiniteElement |
A 3D constant element on a pyramid. More... | |
class | P0QuadFiniteElement |
A 2D constant element on a square. More... | |
class | P0SegmentFiniteElement |
A 1D constant element on a segment. More... | |
class | P0TetFiniteElement |
A 3D constant element on a tetrahedron. More... | |
class | P0TriangleFiniteElement |
A 2D constant element on a triangle. More... | |
class | P0WdgFiniteElement |
A 3D constant element on a wedge. More... | |
class | P0WedgeFiniteElement |
A 0th order L2 element on a Wedge. More... | |
class | P1OnQuadFECollection |
Linear (P1) finite elements on quadrilaterals. More... | |
class | P1OnQuadFiniteElement |
A 2D linear element on a square with 3 nodes at the vertices of the lower left triangle. More... | |
class | P1SegmentFiniteElement |
A 1D linear element with nodes at 1/3 and 2/3 (trace of RT1) More... | |
class | P1TetNonConfFiniteElement |
A 3D Crouzeix-Raviart element on the tetrahedron. More... | |
class | P2SegmentFiniteElement |
A 1D quadratic element with nodes at the Gaussian points (trace of RT2) More... | |
class | PABilinearFormExtension |
Data and methods for partially-assembled bilinear forms. More... | |
class | PADiscreteLinearOperatorExtension |
Partial assembly extension for DiscreteLinearOperator. More... | |
class | Pair |
A pair of objects. More... | |
class | PAMixedBilinearFormExtension |
Data and methods for partially-assembled mixed bilinear forms. More... | |
class | PANonlinearFormExtension |
Data and methods for partially-assembled nonlinear forms. More... | |
class | ParAdvectorCGOper |
Performs a single remap advection step in parallel. More... | |
class | ParametricBNLForm |
A class representing a general parametric block nonlinear operator defined on the Cartesian product of multiple FiniteElementSpaces. More... | |
class | ParametricBNLFormIntegrator |
class | ParametricLinearDiffusion |
class | ParaViewDataCollection |
Helper class for ParaView visualization data. More... | |
class | ParBilinearForm |
Class for parallel bilinear form. More... | |
class | ParBlockNonlinearForm |
A class representing a general parallel block nonlinear operator defined on the Cartesian product of multiple ParFiniteElementSpaces. More... | |
class | ParComplexDPGWeakForm |
Class representing the parallel weak formulation. (Convenient for DPG Equations) More... | |
class | ParComplexGridFunction |
class | ParComplexLinearForm |
class | ParDiscreteLinearOperator |
class | PardisoSolver |
MKL Parallel Direct Sparse Solver PARDISO. More... | |
class | ParDPGWeakForm |
Class representing the parallel weak formulation. (Convenient for DPG Equations) More... | |
class | ParFiniteElementSpace |
Abstract parallel finite element space. More... | |
class | ParFiniteElementSpaceHierarchy |
class | ParGridFunction |
Class for parallel grid function. More... | |
class | ParL2FaceRestriction |
Operator that extracts Face degrees of freedom in parallel. More... | |
class | ParLinearForm |
Class for parallel linear form. More... | |
class | ParLORDiscretization |
Create and assemble a low-order refined version of a ParBilinearForm. More... | |
class | ParMesh |
Class for parallel meshes. More... | |
class | ParMixedBilinearForm |
Class for parallel bilinear form using different test and trial FE spaces. More... | |
class | ParMortarAssembler |
This class implements the parallel variational transfer between finite element spaces. Variational transfer has been shown to have better approximation properties than standard interpolation. This facilities can be used for supporting applications which require the handling of non matching meshes. For instance: General multi-physics problems, fluid structure interaction, or even visualization of average quantities within subvolumes. This particular code is also used with LLNL for large scale multilevel Monte Carlo simulations. This algorithm allows to perform quadrature in the intersection of elements of two separate, unrelated, and arbitrarily distributed meshes. It generates quadrature rules in the intersection which allows us to integrate with to machine precision using the mfem::MortarIntegrator interface. See https://doi.org/10.1137/15M1008361 for and in-depth explanation. At this time curved elements are not supported. Convex non-affine elements are partially supported, however, high order (>3) finite element discretizations or nonlinear geometric transformations might generate undesired oscillations. Discontinuous fields in general can only be mapped to order 0 destination fields. For such cases localized versions of the projection will have to be developed. More... | |
class | ParNCH1FaceRestriction |
Operator that extracts Face degrees of freedom for NCMesh in parallel. More... | |
class | ParNCL2FaceRestriction |
Operator that extracts Face degrees of freedom for NCMesh in parallel. More... | |
class | ParNCMesh |
A parallel extension of the NCMesh class. More... | |
class | ParNonlinearForm |
Parallel non-linear operator on the true dofs. More... | |
class | ParNURBSExtension |
class | ParParametricBNLForm |
A class representing a general parametric parallel block nonlinear operator defined on the Cartesian product of multiple ParFiniteElementSpaces. More... | |
class | ParPumiMesh |
Class for PUMI parallel meshes. More... | |
class | ParSesquilinearForm |
class | ParSubMesh |
Subdomain representation of a topological parent in another ParMesh. More... | |
class | ParticleTopology |
Class that implements the particle topology. More... | |
class | ParTransferMap |
ParTransferMap represents a mapping of degrees of freedom from a source ParGridFunction to a destination ParGridFunction. More... | |
class | PenaltyConstrainedSolver |
Solve constrained system with penalty method; see ConstrainedSolver. More... | |
class | PenaltyGMRESSolver |
class | PenaltyPCGSolver |
class | PetscBCHandler |
Helper class for handling essential boundary conditions. More... | |
class | PetscBDDCSolver |
class | PetscBDDCSolverParams |
Auxiliary class for BDDC customization. More... | |
class | PetscFieldSplitSolver |
class | PetscH2Solver |
class | PetscLinearSolver |
Abstract class for PETSc's linear solvers. More... | |
class | PetscMemory |
Wrapper for syncing PETSc's vector memory. More... | |
class | PetscNonlinearSolver |
Abstract class for PETSc's nonlinear solvers. More... | |
class | PetscODESolver |
Abstract class for PETSc's ODE solvers. More... | |
class | PetscParMatrix |
Wrapper for PETSc's matrix class. More... | |
class | PetscParVector |
class | PetscPCGSolver |
class | PetscPreconditioner |
Abstract class for PETSc's preconditioners. More... | |
class | PetscPreconditionerFactory |
class | PetscSolver |
Abstract class for PETSc's solvers. More... | |
class | PetscSolverMonitor |
Abstract class for monitoring PETSc's solvers. More... | |
class | PiecewiseSpacingFunction |
Piecewise spacing function, with spacing functions defining spacing within arbitarily many fixed subintervals of the unit interval. More... | |
class | pLaplace |
class | pLaplaceAD |
class | pLaplaceSL |
class | PmlCoefficient |
class | PmlMatrixCoefficient |
class | Point |
Data type point element. More... | |
class | PointFiniteElement |
A 0D point finite element. More... | |
class | Poly_1D |
Class for computing 1D special polynomials and their associated basis functions. More... | |
class | PositionVectorCoefficient |
class | PositiveFiniteElement |
Class for finite elements utilizing the always positive Bernstein basis. More... | |
class | PositiveTensorFiniteElement |
class | PowerCoefficient |
Scalar coefficient defined as a scalar raised to a power. More... | |
class | PowerMethod |
PowerMethod helper class to estimate the largest eigenvalue of an operator using the iterative power method. More... | |
class | PRefinementTransferOperator |
Matrix-free transfer operator between finite element spaces on the same mesh. More... | |
class | ProductCoefficient |
Scalar coefficient defined as the product of two scalar coefficients or a scalar and a scalar coefficient. More... | |
class | ProductOperator |
General product operator: x -> (A*B)(x) = A(B(x)). More... | |
class | ProductSolver |
class | PumiMesh |
Base class for PUMI meshes. More... | |
class | PWCoefficient |
A piecewise coefficient with the pieces keyed off the element attribute numbers. More... | |
class | PWConstCoefficient |
A piecewise constant coefficient with the constants keyed off the element attribute numbers. More... | |
class | PWMatrixCoefficient |
A piecewise matrix-valued coefficient with the pieces keyed off the element attribute numbers. More... | |
class | PWVectorCoefficient |
A piecewise vector-valued coefficient with the pieces keyed off the element attribute numbers. More... | |
class | Pyramid |
Data type Pyramid element. More... | |
class | QFunctionAutoDiff |
class | QLinearDiffusion |
class | Quad1DFiniteElement |
A 1D quadratic finite element with uniformly spaced nodes. More... | |
class | Quad2DFiniteElement |
A 2D quadratic element on triangle with nodes at the vertices and midpoints of the triangle. More... | |
class | QuadPos1DFiniteElement |
A 1D quadratic positive element utilizing the 2nd order Bernstein basis. More... | |
class | Quadratic3DFiniteElement |
A 3D quadratic element on a tetrahedron with uniformly spaced nodes. More... | |
class | QuadraticDiscont2DFECollection |
Piecewise-quadratic discontinuous finite elements in 2D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | QuadraticDiscont3DFECollection |
Piecewise-quadratic discontinuous finite elements in 3D. This class is kept only for backward compatibility, consider using L2_FECollection instead. More... | |
class | QuadraticFECollection |
Piecewise-(bi)quadratic continuous finite elements. More... | |
class | QuadraticPosDiscont2DFECollection |
Version of QuadraticDiscont2DFECollection with positive basis functions. More... | |
class | QuadraticPosFECollection |
Version of QuadraticFECollection with positive basis functions. More... | |
class | Quadrature1D |
A class container for 1D quadrature type constants. More... | |
class | QuadratureFunction |
Represents values or vectors of values at quadrature points on a mesh. More... | |
class | QuadratureFunctionCoefficient |
Quadrature function coefficient which requires that the quadrature rules used for this coefficient be the same as those that live within the supplied QuadratureFunction. More... | |
class | QuadratureFunctions1D |
A Class that defines 1-D numerical quadrature rules on [0,1]. More... | |
class | QuadratureInterpolator |
A class that performs interpolation from an E-vector to quadrature point values and/or derivatives (Q-vectors). More... | |
class | QuadratureLFIntegrator |
class | QuadratureSpace |
Class representing the storage layout of a QuadratureFunction. More... | |
class | QuadratureSpaceBase |
Abstract base class for QuadratureSpace and FaceQuadratureSpace. More... | |
class | Quadrilateral |
Data type quadrilateral element. More... | |
class | QVectorFuncAutoDiff |
struct | RajaCuWrap |
struct | RajaCuWrap< 1 > |
struct | RajaCuWrap< 2 > |
struct | RajaCuWrap< 3 > |
struct | RajaHipWrap |
struct | RajaHipWrap< 1 > |
struct | RajaHipWrap< 2 > |
struct | RajaHipWrap< 3 > |
class | RAPOperator |
The operator x -> R*A*P*x constructed through the actions of R^T, A and P. More... | |
class | RatioCoefficient |
Scalar coefficient defined as the ratio of two scalars where one or both scalars are scalar coefficients. More... | |
class | Rebalancer |
ParMesh rebalancing operator. More... | |
class | RectangularConstrainedOperator |
Rectangular Operator for imposing essential boundary conditions on the input space using only the action, Mult(), of a given unconstrained Operator. More... | |
class | RefinedBiLinear2DFiniteElement |
A 2D refined bi-linear FE on a square. More... | |
class | RefinedGeometry |
class | RefinedLinear1DFiniteElement |
A 1D refined linear element. More... | |
class | RefinedLinear2DFiniteElement |
A 2D refined linear element on a triangle. More... | |
class | RefinedLinear3DFiniteElement |
A 2D refined linear element on a tetrahedron. More... | |
class | RefinedLinearFECollection |
Finite element collection on a macro-element. More... | |
class | RefinedTriLinear3DFiniteElement |
A 3D refined tri-linear element on a cube. More... | |
struct | Refinement |
class | ResidualBCMonitor |
Monitor that checks whether the residual is zero at a given set of dofs. More... | |
class | RestrictedCoefficient |
Derived coefficient that takes the value of the parent coefficient for the active attributes and is zero otherwise. More... | |
class | RiemannSolver |
Abstract class for numerical flux for a system of hyperbolic conservation laws on a face with states, fluxes and characteristic speed. More... | |
class | RK2Solver |
class | RK3SSPSolver |
Third-order, strong stability preserving (SSP) Runge-Kutta method. More... | |
class | RK4Solver |
The classical explicit forth-order Runge-Kutta method, RK4. More... | |
class | RK6Solver |
class | RK8Solver |
class | RotTriLinearHexFiniteElement |
class | RowNode |
class | RT0_2DFECollection |
First order Raviart-Thomas finite elements in 2D. This class is kept only for backward compatibility, consider using RT_FECollection instead. More... | |
class | RT0_3DFECollection |
First order Raviart-Thomas finite elements in 3D. This class is kept only for backward compatibility, consider using RT_FECollection instead. More... | |
class | RT0HexFiniteElement |
A 3D 0th order Raviert-Thomas element on a cube. More... | |
class | RT0PyrFiniteElement |
A 3D 0th order Raviert-Thomas element on a pyramid. More... | |
class | RT0QuadFiniteElement |
A 2D 1st order Raviart-Thomas vector element on a square. More... | |
class | RT0TetFiniteElement |
A 3D 0th order Raviert-Thomas element on a tetrahedron. More... | |
class | RT0TriangleFiniteElement |
A 2D 1st order Raviart-Thomas vector element on a triangle. More... | |
class | RT0WdgFiniteElement |
A 3D 0th order Raviert-Thomas element on a wedge. More... | |
class | RT1_2DFECollection |
Second order Raviart-Thomas finite elements in 2D. This class is kept only for backward compatibility, consider using RT_FECollection instead. More... | |
class | RT1_3DFECollection |
Second order Raviart-Thomas finite elements in 3D. This class is kept only for backward compatibility, consider using RT_FECollection instead. More... | |
class | RT1HexFiniteElement |
A 3D 1st order Raviert-Thomas element on a cube. More... | |
class | RT1QuadFiniteElement |
A 2D 2nd order Raviart-Thomas vector element on a square. More... | |
class | RT1TriangleFiniteElement |
A 2D 2nd order Raviart-Thomas vector element on a triangle. More... | |
class | RT2_2DFECollection |
Third order Raviart-Thomas finite elements in 2D. This class is kept only for backward compatibility, consider using RT_FECollection instead. More... | |
class | RT2QuadFiniteElement |
A 2D 3rd order Raviart-Thomas vector element on a square. More... | |
class | RT2TriangleFiniteElement |
A 2D 3rd order Raviart-Thomas vector element on a triangle. More... | |
class | RT_FECollection |
Arbitrary order H(div)-conforming Raviart-Thomas finite elements. More... | |
class | RT_HexahedronElement |
Arbitrary order Raviart-Thomas elements in 3D on a cube. More... | |
class | RT_QuadrilateralElement |
Arbitrary order Raviart-Thomas elements in 2D on a square. More... | |
class | RT_R1D_FECollection |
Arbitrary order 3D H(div)-conforming Raviart-Thomas finite elements in 1D. More... | |
class | RT_R1D_SegmentElement |
Arbitrary order, three component, Raviart-Thomas elements in 1D on a segment. More... | |
class | RT_R2D_FECollection |
Arbitrary order 3D H(div)-conforming Raviart-Thomas finite elements in 2D. More... | |
class | RT_R2D_FiniteElement |
class | RT_R2D_QuadrilateralElement |
Arbitrary order Raviart-Thomas 3D elements in 2D on a square. More... | |
class | RT_R2D_SegmentElement |
class | RT_R2D_Trace_FECollection |
Arbitrary order 3D "H^{-1/2}-conforming" face finite elements defined on the interface between mesh elements (faces); these are the normal trace FEs of the H(div)-conforming FEs. More... | |
class | RT_R2D_TriangleElement |
Arbitrary order Raviart-Thomas 3D elements in 2D on a triangle. More... | |
class | RT_TetrahedronElement |
Arbitrary order Raviart-Thomas elements in 3D on a tetrahedron. More... | |
class | RT_Trace_FECollection |
Arbitrary order "H^{-1/2}-conforming" face finite elements defined on the interface between mesh elements (faces); these are the normal trace FEs of the H(div)-conforming FEs. More... | |
class | RT_TriangleElement |
Arbitrary order Raviart-Thomas elements in 2D on a triangle. More... | |
class | RT_WedgeElement |
class | RusanovFlux |
Rusanov flux, also known as local Lax-Friedrichs, F̂ n = ½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻) where λ is the maximum characteristic velocity. More... | |
class | SBM2DirichletIntegrator |
class | SBM2DirichletLFIntegrator |
class | SBM2NeumannIntegrator |
class | SBM2NeumannLFIntegrator |
class | ScalarCrossProductInterpolator |
class | ScalarFiniteElement |
Class for finite elements with basis functions that return scalar values. More... | |
class | ScalarLayout |
class | ScalarMatrixProductCoefficient |
Matrix coefficient defined as a product of a scalar coefficient and a matrix coefficient. More... | |
struct | ScalarOps |
Auxiliary class used as the default for the second template parameter in the classes InvariantsEvaluator2D and InvariantsEvaluator3D. More... | |
class | ScalarProductInterpolator |
class | ScalarVectorProductCoefficient |
Vector coefficient defined as a product of scalar and vector coefficients. More... | |
class | ScalarVectorProductInterpolator |
class | ScaledOperator |
Scaled Operator B: x -> a A(x). More... | |
class | SchurConstrainedHypreSolver |
Basic saddle-point solver with assembled blocks (ie, the operators are assembled HypreParMatrix objects.) More... | |
class | SchurConstrainedSolver |
Solve constrained system by solving original mixed system; see ConstrainedSolver. More... | |
class | SDIRK23Solver |
class | SDIRK33Solver |
class | SDIRK34Solver |
class | SecondOrderODESolver |
Abstract class for solving systems of ODEs: d2x/dt2 = f(x,dx/dt,t) More... | |
class | SecondOrderTimeDependentOperator |
Base abstract class for second order time dependent operators. More... | |
class | Segment |
Data type line segment element. More... | |
class | SerialAdvectorCGOper |
Performs a single remap advection step in serial. More... | |
class | SesquilinearForm |
class | ShallowWaterFlux |
class | ShapeEvaluator |
General ShapeEvaluator for any scalar FE type (L2 or H1) More... | |
class | ShapeEvaluator_base |
Shape evaluators – values of basis functions on the reference element. More... | |
class | ShapeEvaluator_base< FE, IR, false, real_t > |
ShapeEvaluator without tensor-product structure. More... | |
class | ShapeEvaluator_base< FE, IR, true, real_t > |
ShapeEvaluator with tensor-product structure in any dimension. More... | |
class | ShiftedFaceMarker |
class | ShiftedFunctionCoefficient |
class | ShiftedVectorFunctionCoefficient |
class | SIA1Solver |
First Order Symplectic Integration Algorithm. More... | |
class | SIA2Solver |
Second Order Symplectic Integration Algorithm. More... | |
class | SIASolver |
class | SIAVSolver |
Variable order Symplectic Integration Algorithm (orders 1-4) More... | |
class | SidreDataCollection |
Data collection with Sidre routines following the Conduit mesh blueprint specification. More... | |
class | SIMPInterpolationCoefficient |
Solid isotropic material penalization (SIMP) coefficient. More... | |
class | SkewSymmetricVectorConvectionNLFIntegrator |
class | SLBQPOptimizer |
class | SlepcEigenSolver |
class | SLISolver |
Stationary linear iteration: x <- x + B (b - A x) More... | |
class | socketbuf |
class | socketserver |
class | socketstream |
class | Solver |
Base class for solvers. More... | |
class | SpacingFunction |
class | SparseMatrix |
Data type sparse matrix. More... | |
class | SparseSmoother |
class | SphericalAzimuthalCoefficient |
class | SphericalPolarCoefficient |
class | SphericalRadialCoefficient |
class | STable |
class | STable3D |
Symmetric 3D Table stored as an array of rows each of which has a stack of column, floor, number nodes. The number of the node is assigned by counting the nodes from zero as they are pushed into the table. Diagonals of any kind are not allowed so the row, column and floor must all be different for each node. Only one node is stored for all 6 symmetric entries that are indexable by unique triplets of row, column, and floor. More... | |
class | STable3DNode |
class | Stack |
class | StackPart |
class | StatelessDofTransformation |
class | StaticCondensation |
class | StopWatch |
Timing object. More... | |
class | StrainEnergyDensityCoefficient |
Strain energy density coefficient. More... | |
struct | StridedLayout1D |
struct | StridedLayout2D |
struct | StridedLayout3D |
struct | StridedLayout4D |
class | STRUMPACKMixedPrecisionSolver |
class | STRUMPACKRowLocMatrix |
class | STRUMPACKSolver |
class | STRUMPACKSolverBase |
class | SubMesh |
Subdomain representation of a topological parent in another Mesh. More... | |
class | SumCoefficient |
Scalar coefficient defined as the linear combination of two scalar coefficients or a scalar and a scalar coefficient. More... | |
class | SumIntegrator |
Integrator defining a sum of multiple Integrators. More... | |
class | SumOperator |
General linear combination operator: x -> a A(x) + b B(x). More... | |
class | Sundials |
Singleton class for SUNContext and SundialsMemHelper objects. More... | |
class | SundialsMemHelper |
class | SundialsNVector |
Vector interface for SUNDIALS N_Vectors. More... | |
class | SundialsSolver |
Base class for interfacing with SUNDIALS packages. More... | |
class | SuperLURowLocMatrix |
class | SuperLUSolver |
class | SymmetricMatrixCoefficient |
Base class for symmetric matrix coefficients that optionally depend on time and space. More... | |
class | SymmetricMatrixConstantCoefficient |
A matrix coefficient that is constant in space and time. More... | |
class | SymmetricMatrixFunctionCoefficient |
A matrix coefficient with an optional scalar coefficient multiplier q. The matrix function can either be represented by a std function or a constant matrix provided when constructing this object. More... | |
class | Table |
class | TangentTraceIntegrator |
class | TargetConstructor |
Base class representing target-matrix construction algorithms for mesh optimization via the target-matrix optimization paradigm (TMOP). More... | |
class | TAutoDiffDenseMatrix |
Templated dense matrix data type. More... | |
class | TAutoDiffVector |
Templated vector data type. More... | |
class | TBilinearForm |
Templated bilinear form class, cf. bilinearform.?pp. More... | |
class | TCoefficient |
Templated coefficient classes, cf. coefficient.?pp. More... | |
class | TConstantCoefficient |
struct | TDiffusionKernel |
Diffusion kernel. More... | |
struct | TDiffusionKernel< 1, 1, complex_t > |
Diffusion kernel in 1D. More... | |
struct | TDiffusionKernel< 2, 2, complex_t > |
Diffusion kernel in 2D. More... | |
struct | TDiffusionKernel< 3, 3, complex_t > |
Diffusion kernel in 3D. More... | |
class | TElementTransformation |
Element transformation class, templated on a mesh type and an integration rule. It is constructed from a mesh (e.g. class TMesh) and shape evaluator (e.g. class ShapeEvaluator) objects. Allows computation of physical coordinates and Jacobian matrices corresponding to the reference integration points. The desired result is specified through the template subclass Result and stored in an object of the same type. More... | |
class | TensorBasisElement |
class | TensorInd |
A Class to compute the real index from the multi-indices of a tensor. More... | |
class | TensorInd< Dim, Dim, T, Args... > |
class | TensorProductPRefinementTransferOperator |
Matrix-free transfer operator between finite element spaces on the same mesh exploiting the tensor product structure of the finite elements. More... | |
class | Tetrahedron |
Data type tetrahedron element. More... | |
class | TFiniteElementSpace_simple |
class | TFunctionCoefficient |
Function coefficient. More... | |
class | TGridFunctionCoefficient |
GridFunction coefficient class. More... | |
class | ThresholdDerefiner |
De-refinement operator using an error threshold. More... | |
class | ThresholdRefiner |
Mesh refinement operator using an error threshold. More... | |
class | TimeDependentAdjointOperator |
class | TimeDependentOperator |
Base abstract class for first order time dependent operators. More... | |
class | TIntegrationRule |
class | TIntegrationRule< Geometry::CUBE, Order, real_t > |
class | TIntegrationRule< Geometry::SEGMENT, Order, real_t > |
class | TIntegrationRule< Geometry::SQUARE, Order, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 0, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 1, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 2, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 3, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 4, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 5, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 6, real_t > |
class | TIntegrationRule< Geometry::TETRAHEDRON, 7, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 0, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 1, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 2, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 3, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 4, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 5, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 6, real_t > |
class | TIntegrationRule< Geometry::TRIANGLE, 7, real_t > |
class | TIntegrator |
The Integrator class combines a kernel and a coefficient. More... | |
struct | TMassKernel |
Mass kernel. More... | |
struct | TMatrix |
class | TMesh |
class | TMOP_AMetric_011 |
class | TMOP_AMetric_014a |
2D barrier Size (V) metric (polyconvex). More... | |
class | TMOP_AMetric_036 |
2D barrier Shape+Size+Orientation (VOS) metric (polyconvex). More... | |
class | TMOP_AMetric_107a |
2D barrier Shape+Orientation (OS) metric (polyconvex). More... | |
class | TMOP_AMetric_126 |
2D barrier Shape+Size (VS) metric (polyconvex). More... | |
class | TMOP_Combo_QualityMetric |
class | TMOP_ExponentialLimiter |
Exponential limiter function in TMOP_Integrator. More... | |
class | TMOP_Integrator |
A TMOP integrator class based on any given TMOP_QualityMetric and TargetConstructor. More... | |
class | TMOP_LimiterFunction |
Base class for limiting functions to be used in class TMOP_Integrator. More... | |
class | TMOP_Metric_001 |
2D non-barrier metric without a type. More... | |
class | TMOP_Metric_002 |
class | TMOP_Metric_004 |
class | TMOP_Metric_007 |
2D barrier Shape+Size (VS) metric (not polyconvex). More... | |
class | TMOP_Metric_009 |
2D barrier Shape+Size (VS) metric (not polyconvex). More... | |
class | TMOP_Metric_014 |
2D non-barrier Shape+Size+Orientation (VOS) metric (polyconvex). More... | |
class | TMOP_Metric_022 |
2D Shifted barrier form of shape metric (mu_2). More... | |
class | TMOP_Metric_050 |
class | TMOP_Metric_055 |
class | TMOP_Metric_056 |
class | TMOP_Metric_058 |
2D barrier shape (S) metric (not polyconvex). More... | |
class | TMOP_Metric_066 |
class | TMOP_Metric_077 |
class | TMOP_Metric_080 |
class | TMOP_Metric_085 |
2D barrier Shape+Orientation (OS) metric (polyconvex). More... | |
class | TMOP_Metric_090 |
2D compound barrier Shape+Size (VS) metric (balanced). More... | |
class | TMOP_Metric_094 |
2D compound barrier Shape+Size (VS) metric (balanced). More... | |
class | TMOP_Metric_098 |
2D barrier Shape+Size+Orientation (VOS) metric (polyconvex). More... | |
class | TMOP_Metric_211 |
2D untangling metric. More... | |
class | TMOP_Metric_252 |
Shifted barrier form of metric 56 (area, ideal barrier metric), 2D. More... | |
class | TMOP_Metric_301 |
3D barrier Shape (S) metric, well-posed (polyconvex & invex). More... | |
class | TMOP_Metric_302 |
3D barrier Shape (S) metric, well-posed (polyconvex & invex). More... | |
class | TMOP_Metric_303 |
3D barrier Shape (S) metric, well-posed (polyconvex & invex). More... | |
class | TMOP_Metric_304 |
3D barrier Shape (S) metric, well-posed (polyconvex & invex). More... | |
class | TMOP_Metric_311 |
3D Size (V) untangling metric. More... | |
class | TMOP_Metric_313 |
3D Shape (S) metric, untangling version of 303. More... | |
class | TMOP_Metric_315 |
3D Size (V) metric. More... | |
class | TMOP_Metric_316 |
3D Size (V) metric. More... | |
class | TMOP_Metric_318 |
3D Size (V) metric. More... | |
class | TMOP_Metric_321 |
3D barrier Shape+Size (VS) metric, well-posed (invex). More... | |
class | TMOP_Metric_322 |
3D barrier Shape+Size (VS) metric, well-posed (invex). More... | |
class | TMOP_Metric_323 |
3D barrier Shape+Size (VS) metric, well-posed (invex). More... | |
class | TMOP_Metric_328 |
3D compound barrier Shape+Size (VS) metric (polyconvex, balanced). More... | |
class | TMOP_Metric_332 |
3D compound barrier Shape+Size (VS) metric (polyconvex). More... | |
class | TMOP_Metric_333 |
3D barrier Shape+Size (VS) metric, well-posed (polyconvex). More... | |
class | TMOP_Metric_334 |
3D barrier Shape+Size (VS) metric, well-posed (polyconvex). More... | |
class | TMOP_Metric_338 |
3D compound barrier Shape+Size (VS) metric (polyconvex, balanced). More... | |
class | TMOP_Metric_347 |
3D barrier Shape+Size (VS) metric, well-posed (polyconvex). More... | |
class | TMOP_Metric_352 |
3D shifted barrier form of metric 316 (not typed). More... | |
class | TMOP_Metric_360 |
3D non-barrier Shape (S) metric. More... | |
class | TMOP_Metric_aspratio2D |
2D non-barrier Aspect ratio metric. More... | |
class | TMOP_Metric_aspratio3D |
3D non-barrier Aspect ratio metric. More... | |
class | TMOP_Metric_skew2D |
2D non-barrier Skew metric. More... | |
class | TMOP_Metric_skew3D |
3D non-barrier Skew metric. More... | |
class | TMOP_QuadraticLimiter |
Default limiter function in TMOP_Integrator. More... | |
class | TMOP_QualityMetric |
Abstract class for local mesh quality metrics in the target-matrix optimization paradigm (TMOP) by P. Knupp et al. More... | |
class | TMOP_WorstCaseUntangleOptimizer_Metric |
class | TMOPComboIntegrator |
class | TMOPDeRefinerEstimator |
class | TMOPHRSolver |
class | TMOPMatrixCoefficient |
class | TMOPNewtonSolver |
class | TMOPRefinerEstimator |
class | TPiecewiseConstCoefficient |
class | TProductIntegrationRule |
class | TProductIntegrationRule_base |
class | TProductIntegrationRule_base< 1, Q, real_t > |
class | TProductIntegrationRule_base< 2, Q, real_t > |
class | TProductIntegrationRule_base< 3, Q, real_t > |
class | TProductShapeEvaluator |
class | TProductShapeEvaluator< 1, DOF, NIP, real_t > |
ShapeEvaluator with 1D tensor-product structure. More... | |
class | TProductShapeEvaluator< 2, DOF, NIP, real_t > |
ShapeEvaluator with 2D tensor-product structure. More... | |
class | TProductShapeEvaluator< 3, DOF, NIP, real_t > |
ShapeEvaluator with 3D tensor-product structure. More... | |
class | TraceIntegrator |
class | TraceJumpIntegrator |
class | TransferMap |
TransferMap represents a mapping of degrees of freedom from a source GridFunction to a destination GridFunction. More... | |
class | TransferOperator |
Matrix-free transfer operator between finite element spaces. More... | |
class | TransformedCoefficient |
A coefficient that depends on 1 or 2 parent coefficients and a transformation rule represented by a C-function. More... | |
class | TransposeIntegrator |
class | TransposeMatrixCoefficient |
Matrix coefficient defined as the transpose a matrix coefficient. More... | |
class | TransposeOperator |
The transpose of a given operator. Switches the roles of the methods Mult() and MultTranspose(). More... | |
class | TrapezoidalRuleSolver |
class | Triangle |
Data type triangle element. More... | |
class | TriLinear3DFiniteElement |
A 3D tri-linear element on a cube with nodes at the vertices of the cube. More... | |
class | Triple |
A triple of objects. More... | |
class | TripleProductOperator |
General triple product operator x -> A*B*C*x, with ownership of the factors. More... | |
class | TrueTransferOperator |
Matrix-free transfer operator between finite element spaces working on true degrees of freedom. More... | |
struct | TTensor3 |
struct | TTensor4 |
struct | TVector |
class | UMFPackSolver |
Direct sparse solver using UMFPACK. More... | |
class | UniformSpacingFunction |
Uniform spacing function, dividing the unit interval into Size() equally spaced intervals (elements). More... | |
struct | VarMessage |
Variable-length MPI message containing unspecific binary data. More... | |
class | Vector |
Vector data type. More... | |
class | VectorArrayCoefficient |
Vector coefficient defined by an array of scalar coefficients. Coefficients that are not set will evaluate to zero in the vector. This object takes ownership of the array of coefficients inside it and deletes them at object destruction. More... | |
class | VectorBoundaryFluxLFIntegrator |
class | VectorBoundaryLFIntegrator |
class | VectorCoefficient |
Base class for vector Coefficients that optionally depend on time and space. More... | |
class | VectorConstantCoefficient |
Vector coefficient that is constant in space and time. More... | |
class | VectorConvectionNLFIntegrator |
class | VectorCrossProductCoefficient |
Vector coefficient defined as a cross product of two vectors. More... | |
class | VectorCrossProductInterpolator |
class | VectorCurlCurlIntegrator |
class | VectorDeltaCoefficient |
Vector coefficient defined by a scalar DeltaCoefficient and a constant vector direction. More... | |
class | VectorDiffusionIntegrator |
class | VectorDivergenceIntegrator |
class | VectorDomainLFGradIntegrator |
class | VectorDomainLFIntegrator |
class | VectorFEBoundaryFluxLFIntegrator |
class | VectorFEBoundaryTangentLFIntegrator |
Class for boundary integration \( L(v) = (n \times f, v) \). More... | |
class | VectorFECurlIntegrator |
class | VectorFEDivergenceIntegrator |
class | VectorFEDomainLFCurlIntegrator |
\( (Q, \mathrm{curl}(v))_{\Omega} \) for Nedelec Elements More... | |
class | VectorFEDomainLFDivIntegrator |
\( (Q, \mathrm{div}(v))_{\Omega} \) for RT Elements More... | |
class | VectorFEDomainLFIntegrator |
\( (f, v)_{\Omega} \) for VectorFiniteElements (Nedelec, Raviart-Thomas) More... | |
class | VectorFEMassIntegrator |
class | VectorFEWeakDivergenceIntegrator |
class | VectorFiniteElement |
Intermediate class for finite elements whose basis functions return vector values. More... | |
class | VectorFuncAutoDiff |
class | VectorFunctionCoefficient |
A general vector function coefficient. More... | |
class | VectorGridFunctionCoefficient |
Vector coefficient defined by a vector GridFunction. More... | |
class | VectorInnerProductInterpolator |
class | VectorL2MortarIntegrator |
Integrator for vector finite elements. Experimental. More... | |
class | VectorLayout |
class | VectorMassIntegrator |
class | VectorQuadratureFunctionCoefficient |
Vector quadrature function coefficient which requires that the quadrature rules used for this vector coefficient be the same as those that live within the supplied QuadratureFunction. More... | |
class | VectorQuadratureLFIntegrator |
class | VectorRestrictedCoefficient |
Derived vector coefficient that has the value of the parent vector where it is active and is zero otherwise. More... | |
class | VectorRotProductCoefficient |
Scalar coefficient defined as a cross product of two vectors in the xy-plane. More... | |
class | VectorScalarProductInterpolator |
class | VectorSumCoefficient |
Vector coefficient defined as the linear combination of two vectors. More... | |
class | VectorTensorFiniteElement |
class | Vertex |
Data type for vertex. More... | |
class | VisItDataCollection |
Data collection with VisIt I/O routines. More... | |
class | VisItFieldInfo |
Helper class for VisIt visualization data. More... | |
class | VolumeForceCoefficient |
Volumetric force for linear elasticity. More... | |
struct | VTKGeometry |
Helper class for converting between MFEM and VTK geometry types. More... | |
class | WBZAlphaSolver |
class | Wedge |
Data type Wedge element. More... | |
class | WhiteGaussianNoiseDomainLFIntegrator |
class | ZienkiewiczZhuEstimator |
The ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure. More... | |
Enumerations | |
enum | ErrorAction { MFEM_ERROR_ABORT = 0 , MFEM_ERROR_THROW } |
Action to take when MFEM encounters an error. More... | |
enum class | MemoryType { HOST , HOST_32 , HOST_64 , HOST_DEBUG , HOST_UMPIRE , HOST_PINNED , MANAGED , DEVICE , DEVICE_DEBUG , DEVICE_UMPIRE , DEVICE_UMPIRE_2 , SIZE , PRESERVE , DEFAULT } |
Memory types supported by MFEM. More... | |
enum class | MemoryClass { HOST , HOST_32 , HOST_64 , DEVICE , MANAGED } |
Memory classes identify sets of memory types. More... | |
enum class | BlockInverseScaleJob { MATRIX_ONLY , RHS_ONLY , MATRIX_AND_RHS } |
enum class | FaceType : bool { Interior , Boundary } |
enum class | SpacingType { UNIFORM_SPACING , LINEAR , GEOMETRIC , BELL , GAUSSIAN , LOGARITHMIC , PIECEWISE } |
enum class | VTKFormat { ASCII , BINARY , BINARY32 } |
Data array format for VTK and VTU files. More... | |
enum | TransferCategory { ParentToSubMesh , SubMeshToParent , SubMeshToSubMesh } |
TransferCategory describes the type of transfer. More... | |
enum class | AssemblyLevel { LEGACY = 0 , LEGACYFULL = 0 , FULL , ELEMENT , PARTIAL , NONE } |
Enumeration defining the assembly level for bilinear and nonlinear form classes derived from Operator. For more details, see https://mfem.org/howto/assembly_levels. More... | |
enum class | CoefficientStorage : int { FULL = 0 , CONSTANTS = 1 << 0 , SYMMETRIC = 1 << 1 , COMPRESSED = CONSTANTS | SYMMETRIC } |
Flags that determine what storage optimizations to use in CoefficientVector. More... | |
enum class | QVectorLayout { byNODES , byVDIM } |
Type describing possible layouts for Q-vectors. More... | |
enum class | ElementDofOrdering { NATIVE , LEXICOGRAPHIC } |
Constants describing the possible orderings of the DOFs in one element. More... | |
enum class | L2FaceValues : bool { SingleValued , DoubleValued } |
Functions | |
MFEM_HOST_DEVICE constexpr real_t | operator""_r (long double v) |
MFEM_HOST_DEVICE constexpr real_t | operator""_r (unsigned long long v) |
template<class T > | |
void | Swap (Array< T > &a, Array< T > &b) |
template<class T > | |
bool | operator== (const Array< T > &LHS, const Array< T > &RHS) |
template<class T > | |
bool | operator!= (const Array< T > &LHS, const Array< T > &RHS) |
template<typename T > | |
const T & | AsConst (const T &a) |
Utility function similar to std::as_const in c++17. | |
template<class T > | |
void | Swap (Array2D< T > &a, Array2D< T > &b) |
template<class T > | |
void | Swap (T &a, T &b) |
inlines /// | |
template<class T > | |
bool | operator== (const ArraysByName< T > &LHS, const ArraysByName< T > &RHS) |
void | KdTreeSort (int **coords, int d, int dim, int size) |
MPI_Comm | ReorderRanksZCurve (MPI_Comm comm) |
void | mfem_cuda_error (cudaError_t err, const char *expr, const char *func, const char *file, int line) |
void * | CuMemAlloc (void **d_ptr, size_t bytes) |
Allocates device memory and returns destination ptr. | |
void * | CuMallocManaged (void **d_ptr, size_t bytes) |
Allocates managed device memory. | |
void * | CuMemAllocHostPinned (void **ptr, size_t bytes) |
Allocates page-locked (pinned) host memory. | |
void * | CuMemFree (void *d_ptr) |
Frees device memory and returns destination ptr. | |
void * | CuMemFreeHostPinned (void *ptr) |
Frees page-locked (pinned) host memory and returns destination ptr. | |
void * | CuMemcpyHtoD (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device and returns destination ptr. | |
void * | CuMemcpyHtoDAsync (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device and returns destination ptr. | |
void * | CuMemcpyDtoD (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. | |
void * | CuMemcpyDtoDAsync (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. | |
void * | CuMemcpyDtoH (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. | |
void * | CuMemcpyDtoHAsync (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. | |
void | CuCheckLastError () |
Check the error code returned by cudaGetLastError(), aborting on error. | |
int | CuGetDeviceCount () |
Get the number of CUDA devices. | |
template<typename T > | |
MemoryClass | GetMemoryClass (const Memory< T > &mem, bool on_dev) |
Return the memory class to be used by the functions Read(), Write(), and ReadWrite(), while setting the device use flag in mem, if on_dev is true. | |
template<typename T > | |
const T * | Read (const Memory< T > &mem, int size, bool on_dev=true) |
Get a pointer for read access to mem with the mfem::Device's DeviceMemoryClass, if on_dev = true, or the mfem::Device's HostMemoryClass, otherwise. | |
template<typename T > | |
const T * | HostRead (const Memory< T > &mem, int size) |
Shortcut to Read(const Memory<T> &mem, int size, false) | |
template<typename T > | |
T * | Write (Memory< T > &mem, int size, bool on_dev=true) |
Get a pointer for write access to mem with the mfem::Device's DeviceMemoryClass, if on_dev = true, or the mfem::Device's HostMemoryClass, otherwise. | |
template<typename T > | |
T * | HostWrite (Memory< T > &mem, int size) |
Shortcut to Write(const Memory<T> &mem, int size, false) | |
template<typename T > | |
T * | ReadWrite (Memory< T > &mem, int size, bool on_dev=true) |
Get a pointer for read+write access to mem with the mfem::Device's DeviceMemoryClass, if on_dev = true, or the mfem::Device's HostMemoryClass, otherwise. | |
template<typename T > | |
T * | HostReadWrite (Memory< T > &mem, int size) |
Shortcut to ReadWrite(Memory<T> &mem, int size, false) | |
void | set_error_action (ErrorAction action) |
Set the action MFEM takes when an error is encountered. | |
ErrorAction | get_error_action () |
Get the action MFEM takes when an error is encountered. | |
void | mfem_backtrace (int mode, int depth) |
void | mfem_error (const char *msg) |
void | mfem_warning (const char *msg) |
__attribute__ ((enzyme_inactive, noreturn)) void mfem_error(const char *msg | |
Function called when an error is encountered. Used by the macros MFEM_ABORT, MFEM_ASSERT, MFEM_VERIFY. | |
__attribute__ ((enzyme_inactive)) void mfem_warning(const char *msg | |
Function called by the macro MFEM_WARNING. | |
template<typename HBODY > | |
void | OmpWrap (const int N, HBODY &&h_body) |
OpenMP backend. | |
template<const int BLOCKS = MFEM_CUDA_BLOCKS, typename DBODY > | |
void | RajaCuWrap1D (const int N, DBODY &&d_body) |
template<typename DBODY > | |
void | RajaCuWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ) |
template<typename DBODY > | |
void | RajaCuWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G) |
template<const int BLOCKS = MFEM_HIP_BLOCKS, typename DBODY > | |
void | RajaHipWrap1D (const int N, DBODY &&d_body) |
template<typename DBODY > | |
void | RajaHipWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ) |
template<typename DBODY > | |
void | RajaHipWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G) |
template<typename HBODY > | |
void | RajaOmpWrap (const int N, HBODY &&h_body) |
RAJA OpenMP backend. | |
template<typename HBODY > | |
void | RajaSeqWrap (const int N, HBODY &&h_body) |
RAJA sequential loop backend. | |
template<const int BLCK = MFEM_CUDA_BLOCKS, typename DBODY > | |
void | CuWrap1D (const int N, DBODY &&d_body) |
template<typename DBODY > | |
void | CuWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ) |
template<typename DBODY > | |
void | CuWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G) |
template<const int BLCK = MFEM_HIP_BLOCKS, typename DBODY > | |
void | HipWrap1D (const int N, DBODY &&d_body) |
template<typename DBODY > | |
void | HipWrap2D (const int N, DBODY &&d_body, const int X, const int Y, const int BZ) |
template<typename DBODY > | |
void | HipWrap3D (const int N, DBODY &&d_body, const int X, const int Y, const int Z, const int G) |
template<const int DIM, typename d_lambda , typename h_lambda > | |
void | ForallWrap (const bool use_dev, const int N, d_lambda &&d_body, h_lambda &&h_body, const int X=0, const int Y=0, const int Z=0, const int G=0) |
The forall kernel body wrapper. | |
template<const int DIM, typename lambda > | |
void | ForallWrap (const bool use_dev, const int N, lambda &&body, const int X=0, const int Y=0, const int Z=0, const int G=0) |
template<typename lambda > | |
void | forall (int N, lambda &&body) |
template<typename lambda > | |
void | forall_switch (bool use_dev, int N, lambda &&body) |
template<typename lambda > | |
void | forall_2D (int N, int X, int Y, lambda &&body) |
template<typename lambda > | |
void | forall_2D_batch (int N, int X, int Y, int BZ, lambda &&body) |
template<typename lambda > | |
void | forall_3D (int N, int X, int Y, int Z, lambda &&body) |
template<typename lambda > | |
void | forall_3D_grid (int N, int X, int Y, int Z, int G, lambda &&body) |
template<typename lambda > | |
void | hypre_forall_cpu (int N, lambda &&body) |
template<typename lambda > | |
void | hypre_forall_gpu (int N, lambda &&body) |
template<typename lambda > | |
void | hypre_forall (int N, lambda &&body) |
std::string | MakeParFilename (const std::string &prefix, const int myid, const std::string suffix="", const int width=6) |
Construct a string of the form "<prefix><myid><suffix>" where the integer myid is padded with leading zeros to be at least width digits long. | |
constexpr char | to_hex (unsigned char u) |
void | mfem_hip_error (hipError_t err, const char *expr, const char *func, const char *file, int line) |
void * | HipMemAlloc (void **d_ptr, size_t bytes) |
Allocates device memory. | |
void * | HipMallocManaged (void **d_ptr, size_t bytes) |
Allocates managed device memory. | |
void * | HipMemAllocHostPinned (void **ptr, size_t bytes) |
Allocates page-locked (pinned) host memory. | |
void * | HipMemFree (void *d_ptr) |
Frees device memory. | |
void * | HipMemFreeHostPinned (void *ptr) |
Frees page-locked (pinned) host memory and returns destination ptr. | |
void * | HipMemcpyHtoD (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device. | |
void * | HipMemcpyHtoDAsync (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device. | |
void * | HipMemcpyDtoD (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. | |
void * | HipMemcpyDtoDAsync (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. | |
void * | HipMemcpyDtoH (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. | |
void * | HipMemcpyDtoHAsync (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. | |
void | HipCheckLastError () |
Check the error code returned by hipGetLastError(), aborting on error. | |
int | HipGetDeviceCount () |
Get the number of HIP devices. | |
MemoryType | GetMemoryType (MemoryClass mc) |
Return a suitable MemoryType for a given MemoryClass. | |
bool | MemoryClassContainsType (MemoryClass mc, MemoryType mt) |
Return true iff the MemoryType mt is contained in the MemoryClass mc. | |
MemoryClass | operator* (MemoryClass mc1, MemoryClass mc2) |
Return a suitable MemoryClass from a pair of MemoryClasses. | |
void | MemoryPrintFlags (unsigned flags) |
Print the state of a Memory object based on its internal flags. Useful in a debugger. See also Memory<T>::PrintFlags(). | |
bool | IsHostMemory (MemoryType mt) |
Return true if the given memory type is in MemoryClass::HOST. | |
bool | IsDeviceMemory (MemoryType mt) |
Return true if the given memory type is in MemoryClass::DEVICE. | |
HYPRE_MemoryLocation | GetHypreMemoryLocation () |
Return the configured HYPRE_MemoryLocation. | |
bool | HypreUsingGPU () |
Return true if HYPRE is configured to use GPU. | |
occa::device & | OccaDev () |
Return the default occa::device used by MFEM. | |
occa::memory | OccaMemoryWrap (void *ptr, std::size_t bytes) |
Wrap a pointer as occa::memory with the default occa::device used by MFEM. | |
template<typename T > | |
const occa::memory | OccaMemoryRead (const Memory< T > &mem, size_t size) |
Wrap a Memory object as occa::memory for read only access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM. | |
template<typename T > | |
occa::memory | OccaMemoryWrite (Memory< T > &mem, size_t size) |
Wrap a Memory object as occa::memory for write only access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM. | |
template<typename T > | |
occa::memory | OccaMemoryReadWrite (Memory< T > &mem, size_t size) |
Wrap a Memory object as occa::memory for read-write access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM. | |
bool | DeviceCanUseOcca () |
Function that determines if an OCCA kernel should be used, based on the current mfem::Device configuration. | |
int | isValidAsInt (char *s) |
int | isValidAsDouble (char *s) |
void | parseArray (char *str, Array< int > &var) |
void | parseVector (char *str, Vector &var) |
template<class A , class B > | |
bool | operator< (const Pair< A, B > &p, const Pair< A, B > &q) |
Comparison operator for class Pair, based on the first element only. | |
template<class A , class B > | |
bool | operator== (const Pair< A, B > &p, const Pair< A, B > &q) |
Equality operator for class Pair, based on the first element only. | |
template<class A , class B > | |
void | SortPairs (Pair< A, B > *pairs, int size) |
Sort an array of Pairs with respect to the first element. | |
template<class A , class B , class C > | |
bool | operator< (const Triple< A, B, C > &p, const Triple< A, B, C > &q) |
Lexicographic comparison operator for class Triple. | |
template<class A , class B , class C > | |
void | SortTriple (Triple< A, B, C > *triples, int size) |
Lexicographic sort for arrays of class Triple. | |
void | Sort3 (int &r, int &c, int &f) |
void | Transpose (const Table &A, Table &At, int ncols_A_=-1) |
Transpose a Table. | |
Table * | Transpose (const Table &A) |
void | Transpose (const Array< int > &A, Table &At, int ncols_A_=-1) |
Transpose an Array<int>. | |
void | Mult (const Table &A, const Table &B, Table &C) |
C = A * B (as boolean matrices) | |
Table * | Mult (const Table &A, const Table &B) |
template<> | |
void | Swap< Table > (Table &a, Table &b) |
Specialization of the template function Swap<> for class Table. | |
template<AssignOp::Type Op, typename lvalue_t , typename rvalue_t > | |
lvalue_t & | Assign (lvalue_t &a, const rvalue_t &b) |
template<AssignOp::Type Op, typename lvalue_t , typename rvalue_t > | |
MFEM_HOST_DEVICE lvalue_t & | AssignHD (lvalue_t &a, const rvalue_t &b) |
void | skip_comment_lines (std::istream &is, const char comment_char) |
Check if the stream starts with comment_char. If so skip it. | |
void | filter_dos (std::string &line) |
Check for, and remove, a trailing '\r' from and std::string. | |
std::string | to_padded_string (int i, int digits) |
Convert an integer to a 0-padded string with the given number of digits. | |
int | to_int (const std::string &str) |
Convert a string to an int. | |
void | tic () |
Start the tic_toc timer. | |
double | toc () |
End timing and return the time from tic() to toc() in seconds. | |
int | GetVersion () |
Return the MFEM version number as a single integer. | |
int | GetVersionMajor () |
Return the MFEM major version number as an integer. | |
int | GetVersionMinor () |
Return the MFEM minor version number as an integer. | |
int | GetVersionPatch () |
Return the MFEM version patch number as an integer. | |
const char * | GetVersionStr () |
Return the MFEM version number as a string. | |
const char * | GetGitStr () |
Return the MFEM Git hash as a string. | |
const char * | GetConfigStr () |
Return the MFEM configuration as a string. | |
BlockMatrix * | Transpose (const BlockMatrix &A) |
Transpose a BlockMatrix: result = A'. | |
BlockMatrix * | Mult (const BlockMatrix &A, const BlockMatrix &B) |
Multiply BlockMatrix matrices: result = A*B. | |
ComplexDenseMatrix * | Mult (const ComplexDenseMatrix &B, const ComplexDenseMatrix &C) |
Matrix matrix multiplication. A = B * C. | |
ComplexDenseMatrix * | MultAtB (const ComplexDenseMatrix &A, const ComplexDenseMatrix &B) |
Multiply the complex conjugate transpose of a matrix A with a matrix B. A^H*B. | |
int | CanonicalNodeNumber (FiniteElementSpace &fespace, int node, bool parallel, int d=0) |
SparseMatrix * | BuildNormalConstraints (FiniteElementSpace &fespace, Array< int > &constrained_att, Array< int > &constraint_rowstarts, bool parallel=false) |
Build a matrix constraining normal components to zero. | |
SparseMatrix * | ParBuildNormalConstraints (ParFiniteElementSpace &fespace, Array< int > &constrained_att, Array< int > &constraint_rowstarts) |
Parallel wrapper for BuildNormalConstraints. | |
void | dsyevr_Eigensystem (DenseMatrix &a, Vector &ev, DenseMatrix *evect) |
void | dsyev_Eigensystem (DenseMatrix &a, Vector &ev, DenseMatrix *evect) |
void | dsygv_Eigensystem (DenseMatrix &a, DenseMatrix &b, Vector &ev, DenseMatrix *evect) |
void | Add (const DenseMatrix &A, const DenseMatrix &B, real_t alpha, DenseMatrix &C) |
C = A + alpha*B. | |
void | Add (real_t alpha, const real_t *A, real_t beta, const real_t *B, DenseMatrix &C) |
C = alpha*A + beta*B. | |
void | Add (real_t alpha, const DenseMatrix &A, real_t beta, const DenseMatrix &B, DenseMatrix &C) |
C = alpha*A + beta*B. | |
bool | LinearSolve (DenseMatrix &A, real_t *X, real_t TOL=1.e-9) |
Solves the dense linear system, A * X = B for X | |
void | Mult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A = B * C. | |
void | AddMult_a (real_t alpha, const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A += alpha * B * C. | |
void | AddMult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A += B * C. | |
void | CalcAdjugate (const DenseMatrix &a, DenseMatrix &adja) |
void | CalcAdjugateTranspose (const DenseMatrix &a, DenseMatrix &adjat) |
Calculate the transposed adjugate of a matrix (for NxN matrices, N=1,2,3) | |
void | CalcInverse (const DenseMatrix &a, DenseMatrix &inva) |
void | CalcInverseTranspose (const DenseMatrix &a, DenseMatrix &inva) |
Calculate the inverse transpose of a matrix (for NxN matrices, N=1,2,3) | |
void | CalcOrtho (const DenseMatrix &J, Vector &n) |
void | MultAAt (const DenseMatrix &a, DenseMatrix &aat) |
Calculate the matrix A.At. | |
void | AddMultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt) |
ADAt += A D A^t, where D is diagonal. | |
void | MultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt) |
ADAt = A D A^t, where D is diagonal. | |
void | MultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt) |
Multiply a matrix A with the transpose of a matrix B: A*Bt. | |
void | MultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt) |
ADBt = A D B^t, where D is diagonal. | |
void | AddMultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt) |
ABt += A * B^t. | |
void | AddMultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt) |
ADBt = A D B^t, where D is diagonal. | |
void | AddMult_a_ABt (real_t a, const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt) |
ABt += a * A * B^t. | |
void | MultAtB (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB) |
Multiply the transpose of a matrix A with a matrix B: At*B. | |
void | AddMultAtB (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB) |
AtB += A^t * B. | |
void | AddMult_a_AtB (real_t a, const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB) |
AtB += a * A^t * B. | |
void | AddMult_a_AAt (real_t a, const DenseMatrix &A, DenseMatrix &AAt) |
AAt += a * A * A^t. | |
void | Mult_a_AAt (real_t a, const DenseMatrix &A, DenseMatrix &AAt) |
AAt = a * A * A^t. | |
void | MultVVt (const Vector &v, DenseMatrix &vvt) |
Make a matrix from a vector V.Vt. | |
void | MultVWt (const Vector &v, const Vector &w, DenseMatrix &VWt) |
void | AddMultVWt (const Vector &v, const Vector &w, DenseMatrix &VWt) |
VWt += v w^t. | |
void | AddMultVVt (const Vector &v, DenseMatrix &VWt) |
VVt += v v^t. | |
void | AddMult_a_VWt (const real_t a, const Vector &v, const Vector &w, DenseMatrix &VWt) |
VWt += a * v w^t. | |
void | AddMult_a_VVt (const real_t a, const Vector &v, DenseMatrix &VVt) |
VVt += a * v v^t. | |
void | RAP (const DenseMatrix &A, const DenseMatrix &P, DenseMatrix &RAP) |
void | RAP (const DenseMatrix &Rt, const DenseMatrix &A, const DenseMatrix &P, DenseMatrix &RAP) |
void | BatchLUFactor (DenseTensor &Mlu, Array< int > &P, const real_t TOL=0.0) |
Compute the LU factorization of a batch of matrices. | |
void | BatchLUSolve (const DenseTensor &Mlu, const Array< int > &P, Vector &X) |
Solve batch linear systems. | |
template<typename T , typename... Dims> | |
MFEM_HOST_DEVICE DeviceTensor< sizeof...(Dims), T > | Reshape (T *ptr, Dims... dims) |
Wrap a pointer as a DeviceTensor with automatically deduced template parameters. | |
template<typename T > | |
bool | CanShallowCopy (const Memory< T > &src, MemoryClass mc) |
Return true if the src Memory can be used with the MemoryClass mc. | |
real_t | InnerProduct (HypreParVector *x, HypreParVector *y) |
real_t | InnerProduct (HypreParVector &x, HypreParVector &y) |
Returns the inner product of x and y. | |
real_t | ParNormlp (const Vector &vec, real_t p, MPI_Comm comm) |
Compute the l_p norm of the Vector which is split without overlap across the given communicator. | |
template<typename T > | |
void | CopyMemory (Memory< T > &src, Memory< T > &dst, MemoryClass dst_mc, bool dst_owner) |
Shallow or deep copy src to dst with the goal to make the array src accessible through dst with the MemoryClass dst_mc. If one of the host/device MemoryTypes of src is contained in dst_mc, then a shallow copy will be used and dst will simply be an alias of src. Otherwise, dst will be properly allocated and src will be deep copied to dst. | |
template<typename SrcT , typename DstT > | |
void | CopyConvertMemory (Memory< SrcT > &src, MemoryClass dst_mc, Memory< DstT > &dst) |
Deep copy and convert src to dst with the goal to make the array src accessible through dst with the MemoryClass dst_mc and convert it from type SrcT to type DstT. | |
decltype(hypre_CSRMatrix::memory_location) | GetHypreParMatrixMemoryLocation (MemoryClass mc) |
void | delete_hypre_ParCSRMatrixColMapOffd (hypre_ParCSRMatrix *A) |
void | HypreStealOwnership (HypreParMatrix &A_hyp, SparseMatrix &A_diag) |
Make A_hyp steal ownership of its diagonal part A_diag. | |
void | BlockInverseScale (const HypreParMatrix *A, HypreParMatrix *C, const Vector *b, HypreParVector *d, int blocksize, BlockInverseScaleJob job) |
HypreParMatrix * | Add (real_t alpha, const HypreParMatrix &A, real_t beta, const HypreParMatrix &B) |
Return a new matrix C = alpha*A + beta*B , assuming that both A and B use the same row and column partitions and the same col_map_offd arrays. | |
HypreParMatrix * | ParAdd (const HypreParMatrix *A, const HypreParMatrix *B) |
Returns the matrix A + B. | |
HypreParMatrix * | ParMult (const HypreParMatrix *A, const HypreParMatrix *B, bool own_matrix) |
HypreParMatrix * | RAP (const HypreParMatrix *A, const HypreParMatrix *P) |
Returns the matrix P^t * A * P. | |
HypreParMatrix * | RAP (const HypreParMatrix *Rt, const HypreParMatrix *A, const HypreParMatrix *P) |
Returns the matrix Rt^t * A * P. | |
void | GatherBlockOffsetData (MPI_Comm comm, const int rank, const int nprocs, const int num_loc, const Array< int > &offsets, std::vector< int > &all_num_loc, const int numBlocks, std::vector< std::vector< HYPRE_BigInt > > &blockProcOffsets, std::vector< HYPRE_BigInt > &procOffsets, std::vector< std::vector< int > > &procBlockOffsets, HYPRE_BigInt &firstLocal, HYPRE_BigInt &globalNum) |
HypreParMatrix * | HypreParMatrixFromBlocks (Array2D< const HypreParMatrix * > &blocks, Array2D< real_t > *blockCoeff=NULL) |
Returns a merged hypre matrix constructed from hypre matrix blocks. | |
HypreParMatrix * | HypreParMatrixFromBlocks (Array2D< HypreParMatrix * > &blocks, Array2D< real_t > *blockCoeff=NULL) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | EliminateBC (const HypreParMatrix &A, const HypreParMatrix &Ae, const Array< int > &ess_dof_list, const Vector &X, Vector &B) |
Eliminate essential BC specified by ess_dof_list from the solution X to the r.h.s. B. | |
int | ParCSRRelax_Taubin (hypre_ParCSRMatrix *A, hypre_ParVector *f, real_t lambda, real_t mu, int N, real_t max_eig, hypre_ParVector *u, hypre_ParVector *r) |
int | ParCSRRelax_FIR (hypre_ParCSRMatrix *A, hypre_ParVector *f, real_t max_eig, int poly_order, real_t *fir_coeffs, hypre_ParVector *u, hypre_ParVector *x0, hypre_ParVector *x1, hypre_ParVector *x2, hypre_ParVector *x3) |
MemoryClass | GetHypreMemoryClass () |
The MemoryClass used by Hypre objects. | |
MemoryType | GetHypreMemoryType () |
The MemoryType used by MFEM when allocating arrays for Hypre objects. | |
HypreParMatrix * | DiscreteGrad (ParFiniteElementSpace *edge_fespace, ParFiniteElementSpace *vert_fespace) |
Compute the discrete gradient matrix between the nodal linear and ND1 spaces. | |
HypreParMatrix * | DiscreteCurl (ParFiniteElementSpace *face_fespace, ParFiniteElementSpace *edge_fespace) |
Compute the discrete curl matrix between the ND1 and RT0 spaces. | |
bool | IsIdentityProlongation (const Operator *P) |
void | MFEMInitializePetsc () |
Convenience functions to initialize/finalize PETSc. | |
void | MFEMInitializePetsc (int *argc, char ***argv) |
void | MFEMInitializePetsc (int *argc, char ***argv, const char rc_file[], const char help[]) |
void | MFEMFinalizePetsc () |
PetscParMatrix * | TripleMatrixProduct (PetscParMatrix *R, PetscParMatrix *A, PetscParMatrix *P) |
Returns the matrix R * A * P. | |
PetscParMatrix * | RAP (PetscParMatrix *Rt, PetscParMatrix *A, PetscParMatrix *P) |
Returns the matrix Rt^t * A * P. | |
PetscParMatrix * | RAP (PetscParMatrix *A, PetscParMatrix *P) |
Returns the matrix P^t * A * P. | |
PetscParMatrix * | RAP (HypreParMatrix *A, PetscParMatrix *P) |
Returns the matrix P^t * A * P. | |
PetscParMatrix * | ParMult (const PetscParMatrix *A, const PetscParMatrix *B) |
Returns the matrix A * B. | |
void | EliminateBC (PetscParMatrix &A, PetscParMatrix &Ae, const Array< int > &ess_dof_list, const Vector &X, Vector &B) |
Eliminate essential BC specified by ess_dof_list from the solution X to the r.h.s. B. | |
void | MFEMInitializeSlepc () |
void | MFEMInitializeSlepc (int *argc, char ***argv) |
void | MFEMInitializeSlepc (int *argc, char ***argv, const char rc_file[], const char help[]) |
void | MFEMFinalizeSlepc () |
void | SLI (const Operator &A, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, real_t RTOLERANCE=1e-12, real_t ATOLERANCE=1e-24) |
Stationary linear iteration. (tolerances are squared) | |
void | SLI (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, real_t RTOLERANCE=1e-12, real_t ATOLERANCE=1e-24) |
Preconditioned stationary linear iteration. (tolerances are squared) | |
void | CG (const Operator &A, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, real_t RTOLERANCE=1e-12, real_t ATOLERANCE=1e-24) |
Conjugate gradient method. (tolerances are squared) | |
void | PCG (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, real_t RTOLERANCE=1e-12, real_t ATOLERANCE=1e-24) |
Preconditioned conjugate gradient method. (tolerances are squared) | |
void | GeneratePlaneRotation (real_t &dx, real_t &dy, real_t &cs, real_t &sn) |
void | ApplyPlaneRotation (real_t &dx, real_t &dy, real_t &cs, real_t &sn) |
void | Update (Vector &x, int k, DenseMatrix &h, Vector &s, Array< Vector * > &v) |
int | GMRES (const Operator &A, Vector &x, const Vector &b, Solver &M, int &max_iter, int m, real_t &tol, real_t atol, int printit) |
GMRES method. (tolerances are squared) | |
void | GMRES (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, int m=50, real_t rtol=1e-12, real_t atol=1e-24) |
GMRES method. (tolerances are squared) | |
int | BiCGSTAB (const Operator &A, Vector &x, const Vector &b, Solver &M, int &max_iter, real_t &tol, real_t atol, int printit) |
BiCGSTAB method. (tolerances are squared) | |
void | BiCGSTAB (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, real_t rtol=1e-12, real_t atol=1e-24) |
BiCGSTAB method. (tolerances are squared) | |
void | MINRES (const Operator &A, const Vector &b, Vector &x, int print_it=0, int max_it=1000, real_t rtol=1e-12, real_t atol=1e-24) |
MINRES method without preconditioner. (tolerances are squared) | |
void | MINRES (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_it=0, int max_it=1000, real_t rtol=1e-12, real_t atol=1e-24) |
MINRES method with preconditioner. (tolerances are squared) | |
int | aGMRES (const Operator &A, Vector &x, const Vector &b, const Operator &M, int &max_iter, int m_max, int m_min, int m_step, real_t cf, real_t &tol, real_t &atol, int printit) |
void | MinimumDiscardedFillOrdering (SparseMatrix &C, Array< int > &p) |
void | sormqr_ (char *, char *, int *, int *, int *, float *, int *, float *, float *, int *, float *, int *, int *) |
void | sgeqrf_ (int *, int *, float *, int *, float *, float *, int *, int *) |
void | sgemv_ (char *, int *, int *, float *, float *, int *, float *, int *, float *, float *, int *) |
void | strsm_ (char *side, char *uplo, char *transa, char *diag, int *m, int *n, float *alpha, float *a, int *lda, float *b, int *ldb) |
void | dormqr_ (char *, char *, int *, int *, int *, double *, int *, double *, double *, int *, double *, int *, int *) |
void | dgeqrf_ (int *, int *, double *, int *, double *, double *, int *, int *) |
void | dgemv_ (char *, int *, int *, double *, double *, int *, double *, int *, double *, double *, int *) |
void | dtrsm_ (char *side, char *uplo, char *transa, char *diag, int *m, int *n, double *alpha, double *a, int *lda, double *b, int *ldb) |
void | SparseMatrixFunction (SparseMatrix &S, real_t(*f)(real_t)) |
Applies f() to each element of the matrix (after it is finalized). | |
SparseMatrix * | Transpose (const SparseMatrix &A) |
Transpose of a sparse matrix. A must be finalized. | |
SparseMatrix * | TransposeAbstractSparseMatrix (const AbstractSparseMatrix &A, int useActualWidth) |
Transpose of a sparse matrix. A does not need to be a CSR matrix. | |
SparseMatrix * | Mult (const SparseMatrix &A, const SparseMatrix &B, SparseMatrix *OAB=NULL) |
Matrix product A.B. | |
SparseMatrix * | TransposeMult (const SparseMatrix &A, const SparseMatrix &B) |
C = A^T B. | |
SparseMatrix * | MultAbstractSparseMatrix (const AbstractSparseMatrix &A, const AbstractSparseMatrix &B) |
Matrix product of sparse matrices. A and B do not need to be CSR matrices. | |
DenseMatrix * | Mult (const SparseMatrix &A, DenseMatrix &B) |
Matrix product A.B. | |
DenseMatrix * | RAP (const SparseMatrix &A, DenseMatrix &P) |
RAP matrix product (with R=P^T) | |
DenseMatrix * | RAP (DenseMatrix &A, const SparseMatrix &P) |
RAP matrix product (with R=P^T) | |
SparseMatrix * | RAP (const SparseMatrix &A, const SparseMatrix &R, SparseMatrix *ORAP) |
SparseMatrix * | RAP (const SparseMatrix &Rt, const SparseMatrix &A, const SparseMatrix &P) |
General RAP with given R^T, A and P. | |
SparseMatrix * | Mult_AtDA (const SparseMatrix &A, const Vector &D, SparseMatrix *OAtDA=NULL) |
Matrix multiplication A^t D A. All matrices must be finalized. | |
SparseMatrix * | Add (real_t a, const SparseMatrix &A, real_t b, const SparseMatrix &B) |
Matrix addition result = a*A + b*B. | |
SparseMatrix * | Add (const SparseMatrix &A, const SparseMatrix &B) |
Matrix addition result = A + B. | |
SparseMatrix * | Add (Array< SparseMatrix * > &Ai) |
Matrix addition result = sum_i A_i. | |
void | Add (const SparseMatrix &A, real_t alpha, DenseMatrix &B) |
B += alpha * A. | |
DenseMatrix * | OuterProduct (const DenseMatrix &A, const DenseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. | |
SparseMatrix * | OuterProduct (const DenseMatrix &A, const SparseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. | |
SparseMatrix * | OuterProduct (const SparseMatrix &A, const DenseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. | |
SparseMatrix * | OuterProduct (const SparseMatrix &A, const SparseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. | |
std::ostream & | operator<< (std::ostream &os, SparseMatrix const &mat) |
template<> | |
void | Swap< SparseMatrix > (SparseMatrix &a, SparseMatrix &b) |
Specialization of the template function Swap<> for class SparseMatrix. | |
template<bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | sMult_AB (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, C_data_t &C_data) |
template<int bA1, int bA2, int bB2, bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | bMult_AB (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, C_data_t &C_data) |
template<bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | Mult_AB (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, C_data_t &C_data) |
template<typename scalar_t , typename layout_t , typename data_t > | |
scalar_t | TDet (const layout_t &a, const data_t &A) |
template<typename scalar_t , typename layout_t , typename data_t > | |
MFEM_HOST_DEVICE scalar_t | TDetHD (const layout_t &a, const data_t &A) |
template<AssignOp::Type Op, typename A_layout_t , typename A_data_t , typename D_data_t > | |
void | TDet (const A_layout_t &a, const A_data_t &A, D_data_t &D) |
template<typename scalar_t , typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t > | |
void | TAdjugate (const A_layout_t &a, const A_data_t &A, const B_layout_t &b, B_data_t &B) |
template<typename scalar_t , typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t > | |
MFEM_HOST_DEVICE void | TAdjugateHD (const A_layout_t &a, const A_data_t &A, const B_layout_t &b, B_data_t &B) |
template<typename scalar_t , typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t > | |
scalar_t | TAdjDet (const A_layout_t &a, const A_data_t &A, const B_layout_t &b, B_data_t &B) |
template<typename scalar_t , typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t > | |
MFEM_HOST_DEVICE scalar_t | TAdjDetHD (const A_layout_t &a, const A_data_t &A, const B_layout_t &b, B_data_t &B) |
template<AssignOp::Type Op, typename A_layout_t , typename A_data_t , typename scalar_t > | |
void | TAssign (const A_layout_t &A_layout, A_data_t &A_data, const scalar_t value) |
template<AssignOp::Type Op, typename A_layout_t , typename A_data_t , typename scalar_t > | |
MFEM_HOST_DEVICE void | TAssignHD (const A_layout_t &A_layout, A_data_t &A_data, const scalar_t value) |
template<AssignOp::Type Op, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t > | |
void | TAssign (const A_layout_t &A_layout, A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data) |
template<bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | Mult_1_2 (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, C_data_t &C_data) |
template<bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | Mult_2_1 (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, C_data_t &C_data) |
template<bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | TensorAssemble (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, C_data_t &C_data) |
template<bool Add, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t , typename D_layout_t , typename D_data_t > | |
MFEM_ALWAYS_INLINE void | TensorAssemble (const A_layout_t &A_layout, const A_data_t &A_data, const B_layout_t &B_layout, const B_data_t &B_data, const C_layout_t &C_layout, const C_data_t &C_data, const D_layout_t &D_layout, D_data_t &D_data) |
template<AssignOp::Type Op, typename A_layout_t , typename A_data_t , typename B_layout_t , typename B_data_t , typename C_layout_t , typename C_data_t > | |
MFEM_ALWAYS_INLINE void | TensorProduct (const A_layout_t &a, const A_data_t &A, const B_layout_t &b, const B_data_t &B, const C_layout_t &c, C_data_t &C) |
void | add (const Vector &v1, const Vector &v2, Vector &v) |
void | add (const Vector &v1, real_t alpha, const Vector &v2, Vector &v) |
void | add (const real_t a, const Vector &x, const Vector &y, Vector &z) |
void | add (const real_t a, const Vector &x, const real_t b, const Vector &y, Vector &z) |
void | subtract (const Vector &x, const Vector &y, Vector &z) |
void | subtract (const real_t a, const Vector &x, const Vector &y, Vector &z) |
int | CheckFinite (const real_t *v, const int n) |
real_t | infinity () |
Define a shortcut for std::numeric_limits<double>::infinity() | |
real_t | rand_real () |
Generate a random real_t number in the interval [0,1) using rand(). | |
template<typename T > | |
T | ZeroSubnormal (T val) |
bool | IsFinite (const real_t &val) |
template<> | |
void | Swap< Vector > (Vector &a, Vector &b) |
Specialization of the template function Swap<> for class Vector. | |
real_t | DistanceSquared (const real_t *x, const real_t *y, const int n) |
real_t | Distance (const real_t *x, const real_t *y, const int n) |
real_t | Distance (const Vector &x, const Vector &y) |
real_t | InnerProduct (const Vector &x, const Vector &y) |
Returns the inner product of x and y. | |
real_t | InnerProduct (MPI_Comm comm, const Vector &x, const Vector &y) |
Returns the inner product of x and y in parallel. | |
template<typename scalar_t , int S, int A> | |
MFEM_ALWAYS_INLINE AutoSIMD< scalar_t, S, A > | operator+ (const scalar_t &e, const AutoSIMD< scalar_t, S, A > &v) |
template<typename scalar_t , int S, int A> | |
MFEM_ALWAYS_INLINE AutoSIMD< scalar_t, S, A > | operator- (const scalar_t &e, const AutoSIMD< scalar_t, S, A > &v) |
template<typename scalar_t , int S, int A> | |
MFEM_ALWAYS_INLINE AutoSIMD< scalar_t, S, A > | operator* (const scalar_t &e, const AutoSIMD< scalar_t, S, A > &v) |
template<typename scalar_t , int S, int A> | |
MFEM_ALWAYS_INLINE AutoSIMD< scalar_t, S, A > | operator/ (const scalar_t &e, const AutoSIMD< scalar_t, S, A > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 2, 16 > | operator+ (const double &e, const AutoSIMD< double, 2, 16 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 2, 16 > | operator- (const double &e, const AutoSIMD< double, 2, 16 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 2, 16 > | operator* (const double &e, const AutoSIMD< double, 2, 16 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 2, 16 > | operator/ (const double &e, const AutoSIMD< double, 2, 16 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 4, 32 > | operator+ (const double &e, const AutoSIMD< double, 4, 32 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 4, 32 > | operator- (const double &e, const AutoSIMD< double, 4, 32 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 4, 32 > | operator* (const double &e, const AutoSIMD< double, 4, 32 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 4, 32 > | operator/ (const double &e, const AutoSIMD< double, 4, 32 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 8, 64 > | operator+ (const double &e, const AutoSIMD< double, 8, 64 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 8, 64 > | operator- (const double &e, const AutoSIMD< double, 8, 64 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 8, 64 > | operator* (const double &e, const AutoSIMD< double, 8, 64 > &v) |
MFEM_ALWAYS_INLINE AutoSIMD< double, 8, 64 > | operator/ (const double &e, const AutoSIMD< double, 8, 64 > &v) |
int | BarycentricToGmshTet (int *b, int ref) |
int | CartesianToGmshQuad (int idx_in[], int ref) |
int | CartesianToGmshHex (int idx_in[], int ref) |
int | WedgeToGmshPri (int idx_in[], int ref) |
int | CartesianToGmshPyramid (int idx_in[], int ref) |
std::ostream & | operator<< (std::ostream &os, const Mesh::FaceInformation &info) |
Print function for Mesh::FaceInformation. | |
void | XYZ_VectorFunction (const Vector &p, Vector &v) |
void | FindPartitioningComponents (Table &elem_elem, const Array< int > &partitioning, Array< int > &component, Array< int > &num_comp) |
void | DetOfLinComb (const DenseMatrix &A, const DenseMatrix &B, Vector &c) |
int | FindRoots (const Vector &z, Vector &x) |
void | FindTMax (Vector &c, Vector &x, real_t &tmax, const real_t factor, const int Dim) |
std::ostream & | operator<< (std::ostream &os, const Mesh &mesh) |
Mesh * | Extrude1D (Mesh *mesh, const int ny, const real_t sy, const bool closed=false) |
Extrude a 1D mesh. | |
Mesh * | Extrude2D (Mesh *mesh, const int nz, const real_t sz) |
Extrude a 2D mesh. | |
void | ShiftRight (int &a, int &b, int &c) |
bool | CubeFaceLeft (int node, int *n) |
bool | CubeFaceRight (int node, int *n) |
bool | CubeFaceFront (int node, int *n) |
bool | CubeFaceBack (int node, int *n) |
bool | CubeFaceBottom (int node, int *n) |
bool | CubeFaceTop (int node, int *n) |
bool | PrismFaceBottom (int node, int *n) |
bool | PrismFaceTop (int node, int *n) |
void | Swap (CoarseFineTransformations &a, CoarseFineTransformations &b) |
NURBSPatch * | Interpolate (NURBSPatch &p1, NURBSPatch &p2) |
NURBSPatch * | Revolve3D (NURBSPatch &patch, real_t n[], real_t ang, int times) |
bool | operator< (const ParNCMesh::CommGroup &lhs, const ParNCMesh::CommGroup &rhs) |
bool | operator< (const NCMesh::MeshId &a, const NCMesh::MeshId &b) |
bool | operator== (const NCMesh::MeshId &a, const NCMesh::MeshId &b) |
std::unique_ptr< SpacingFunction > | GetSpacingFunction (const SpacingType type, Array< int > const &ipar, Vector const &dpar) |
Returns a new SpacingFunction instance defined by the type and parameters. | |
int | BarycentricToVTKTriangle (int *b, int ref) |
Return the VTK node index of the barycentric point b in a triangle with refinement level ref. | |
int | BarycentricToVTKTetra (int *b, int ref) |
int | VTKTriangleDOFOffset (int ref, int i, int j) |
int | CartesianToVTKPrism (int i, int j, int k, int ref) |
int | CartesianToVTKTensor (int idx_in, int ref, Geometry::Type geom) |
void | CreateVTKElementConnectivity (Array< int > &con, Geometry::Type geom, int ref) |
Create the VTK element connectivity array for a given element geometry and refinement level. | |
void | WriteVTKEncodedCompressed (std::ostream &os, const void *bytes, uint32_t nbytes, int compression_level) |
Outputs encoded binary data in the base 64 format needed by VTK. | |
bool | IsBigEndian () |
const char * | VTKByteOrder () |
Determine the byte order and return either "BigEndian" or "LittleEndian". | |
template<> | |
void | WriteBinaryOrASCII< uint8_t > (std::ostream &os, std::vector< char > &buf, const uint8_t &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII for uint8_t to ensure ASCII output is numeric (rather than interpreting val as a character.) | |
template<> | |
void | WriteBinaryOrASCII< double > (std::ostream &os, std::vector< char > &buf, const double &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII for double. | |
template<> | |
void | WriteBinaryOrASCII< float > (std::ostream &os, std::vector< char > &buf, const float &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII<T> for float. | |
void | WriteBase64WithSizeAndClear (std::ostream &os, std::vector< char > &buf, int compression_level) |
Encode in base 64 (and potentially compress) the given data, write it to the output stream (with a header) and clear the buffer. | |
template<typename T > | |
void | WriteBinaryOrASCII (std::ostream &os, std::vector< char > &buf, const T &val, const char *suffix, VTKFormat format) |
Write either ASCII data to the stream or binary data to the buffer depending on the given format. | |
template<> | |
void | WriteBinaryOrASCII< uint8_t > (std::ostream &os, std::vector< char > &buf, const uint8_t &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII for uint8_t to ensure ASCII output is numeric (rather than interpreting val as a character.) | |
template<> | |
void | WriteBinaryOrASCII< double > (std::ostream &os, std::vector< char > &buf, const double &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII for double. | |
template<> | |
void | WriteBinaryOrASCII< float > (std::ostream &os, std::vector< char > &buf, const float &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII<T> for float. | |
ElementTransformation * | RefinedToCoarse (Mesh &coarse_mesh, const ElementTransformation &T, const IntegrationPoint &ip, IntegrationPoint &coarse_ip) |
real_t | LpNormLoop (real_t p, Coefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
real_t | LpNormLoop (real_t p, VectorCoefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
real_t | ComputeLpNorm (real_t p, Coefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
Compute the Lp norm of a function f. \( \| f \|_{Lp} = ( \int_\Omega | f |^p d\Omega)^{1/p} \). | |
real_t | ComputeLpNorm (real_t p, VectorCoefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
Compute the Lp norm of a vector function f = {f_i}_i=1...N. \( \| f \|_{Lp} = ( \sum_i \| f_i \|_{Lp}^p )^{1/p} \). | |
real_t | ComputeGlobalLpNorm (real_t p, Coefficient &coeff, ParMesh &pmesh, const IntegrationRule *irs[]) |
Compute the global Lp norm of a function f. \( \| f \|_{Lp} = ( \int_\Omega | f |^p d\Omega)^{1/p} \). | |
real_t | ComputeGlobalLpNorm (real_t p, VectorCoefficient &coeff, ParMesh &pmesh, const IntegrationRule *irs[]) |
Compute the global Lp norm of a vector function f = {f_i}_i=1...N. \( \| f \|_{Lp} = ( \sum_i \| f_i \|_{Lp}^p )^{1/p} \). | |
CoefficientStorage | operator| (CoefficientStorage a, CoefficientStorage b) |
int | operator& (CoefficientStorage a, CoefficientStorage b) |
void | TransformPrimal (const DofTransformation *ran_dof_trans, const DofTransformation *dom_dof_trans, DenseMatrix &elmat) |
void | TransformDual (const DofTransformation *ran_dof_trans, const DofTransformation *dom_dof_trans, DenseMatrix &elmat) |
template<> | |
void | Ordering::DofsToVDofs< Ordering::byNODES > (int ndofs, int vdim, Array< int > &dofs) |
template<> | |
void | Ordering::DofsToVDofs< Ordering::byVDIM > (int ndofs, int vdim, Array< int > &dofs) |
void | MarkDofs (const Array< int > &dofs, Array< int > &mark_array) |
ElementDofOrdering | GetEVectorOrdering (const FiniteElementSpace &fes) |
Return LEXICOGRAPHIC if mesh contains only one topology and the elements are tensor elements, otherwise, return NATIVE. | |
template<> | |
int | Ordering::Map< Ordering::byNODES > (int ndofs, int vdim, int dof, int vd) |
template<> | |
int | Ordering::Map< Ordering::byVDIM > (int ndofs, int vdim, int dof, int vd) |
bool | UsesTensorBasis (const FiniteElementSpace &fes) |
Return true if the mesh contains only one topology and the elements are tensor elements. | |
template<typename DataType > | |
int | FmsFieldToGridFunction (FmsMesh fms_mesh, FmsField f, Mesh *mesh, GridFunction &func, bool setFE) |
This function converts an FmsField to an MFEM GridFunction. | |
int | FmsMeshToMesh (FmsMesh fms_mesh, Mesh **mfem_mesh) |
bool | BasisTypeToFmsBasisType (int bt, FmsBasisType &btype) |
int | GridFunctionToFmsField (FmsDataCollection dc, FmsComponent comp, const std::string &fd_name, const std::string &field_name, const Mesh *mesh, const GridFunction *gf, FmsField *outfield) |
bool | MfemMetaDataToFmsMetaData (DataCollection *mdc, FmsDataCollection fdc) |
bool | FmsMetaDataGetInteger (FmsMetaData mdata, const std::string &key, std::vector< int > &values) |
bool | FmsMetaDataGetScalar (FmsMetaData mdata, const std::string &key, std::vector< double > &values) |
bool | FmsMetaDataGetString (FmsMetaData mdata, const std::string &key, std::string &value) |
int | FmsDataCollectionToDataCollection (FmsDataCollection dc, DataCollection **mfem_dc) |
int | MeshToFmsMesh (const Mesh *mmesh, FmsMesh *fmesh, FmsComponent *volume) |
int | DataCollectionToFmsDataCollection (DataCollection *mfem_dc, FmsDataCollection *dc) |
template<Geometry::Type GEOM> | |
int | GetInverseOrientation_ (int orientation) |
std::ostream & | operator<< (std::ostream &os, const GridFunction &sol) |
real_t | ZZErrorEstimator (BilinearFormIntegrator &blfi, GridFunction &u, GridFunction &flux, Vector &error_estimates, Array< int > *aniso_flags, int with_subdomains, bool with_coeff) |
void | TensorProductLegendre (int dim, int order, const Vector &x_in, const Vector &xmax, const Vector &xmin, Vector &poly, real_t angle=0.0, const Vector *midpoint=NULL) |
Defines the global tensor product polynomial space used by NewZZErorrEstimator. | |
void | BoundingBox (const Array< int > &face_patch, FiniteElementSpace *ufes, int order, Vector &xmin, Vector &xmax, real_t &angle, Vector &midpoint, int iface=-1) |
Defines the bounding box for the face patches used by NewZZErorrEstimator. | |
real_t | LSZZErrorEstimator (BilinearFormIntegrator &blfi, GridFunction &u, Vector &error_estimates, bool subdomain_reconstruction=true, bool with_coeff=false, real_t tichonov_coeff=0.0) |
A `‘true’' ZZ error estimator that uses face-based patches for flux reconstruction. | |
real_t | ComputeElementLpDistance (real_t p, int i, GridFunction &gf1, GridFunction &gf2) |
Compute the Lp distance between two grid functions on the given element. | |
GridFunction * | Extrude1DGridFunction (Mesh *mesh, Mesh *mesh2d, GridFunction *sol, const int ny) |
Extrude a scalar 1D GridFunction, after extruding the mesh with Extrude1D. | |
std::ostream & | operator<< (std::ostream &out, const QuadratureFunction &qf) |
Overload operator<< for std::ostream and QuadratureFunction. | |
real_t | GlobalLpNorm (const real_t p, real_t loc_norm, MPI_Comm comm) |
Compute a global Lp norm from the local Lp norms computed by each processor. | |
real_t | L2ZZErrorEstimator (BilinearFormIntegrator &flux_integrator, const ParGridFunction &x, ParFiniteElementSpace &smooth_flux_fes, ParFiniteElementSpace &flux_fes, Vector &errors, int norm_p, real_t solver_tol, int solver_max_it) |
int | PermuteFaceL2 (const int dim, const int face_id1, const int face_id2, const int orientation, const int size1d, const int index) |
Compute the dof face index of elem2 corresponding to the given dof face index. | |
int | ToLexOrdering (const int dim, const int face_id, const int size1d, const int index) |
Convert a dof face index from Native ordering to lexicographic ordering for quads and hexes. | |
Vector | GetLVectorFaceNbrData (const FiniteElementSpace &fes, const Vector &x, FaceType ftype) |
Return the face-neighbor data given the L-vector x. | |
template<typename real_t > | |
void | CalcShapeMatrix (const FiniteElement &fe, const IntegrationRule &ir, real_t *B, const Array< int > *dof_map=NULL) |
Store mass-like matrix B for each integration point on the reference element. For tensor product evaluation, this is only called on the 1D reference element, and higher dimensions are put together from that. The element mass matrix can be written \( M_E = B^T D_E B \) where the B built here is the B, and is unchanging across the mesh. The diagonal matrix \( D_E \) then contains all the element-specific geometry and physics data. | |
template<typename real_t > | |
void | CalcGradTensor (const FiniteElement &fe, const IntegrationRule &ir, real_t *G, const Array< int > *dof_map=NULL) |
store gradient matrix G for each integration point on the reference element. For tensor product evaluation, this is only called on the 1D reference element, and higher dimensions are put together from that. The element stiffness matrix can be written | |
template<typename real_t > | |
void | CalcShapes (const FiniteElement &fe, const IntegrationRule &ir, real_t *B, real_t *G, const Array< int > *dof_map) |
void | InterpolateTMOP_QualityMetric (TMOP_QualityMetric &metric, const TargetConstructor &tc, const Mesh &mesh, GridFunction &metric_gf) |
Interpolates the metric's values at the nodes of metric_gf. | |
void | vis_tmop_metric_p (int order, TMOP_QualityMetric &qm, const TargetConstructor &tc, ParMesh &pmesh, char *title, int position) |
void | vis_tmop_metric_s (int order, TMOP_QualityMetric &qm, const TargetConstructor &tc, Mesh &mesh, char *title, int position) |
bool | DeviceCanUseCeed () |
Function that determines if a CEED kernel should be used, based on the current mfem::Device configuration. | |
void | InvertLinearTrans (ElementTransformation &trans, const IntegrationPoint &pt, Vector &x) |
template<typename FEC > | |
void | CheckScalarBasisType (const FiniteElementSpace &fes) |
template<typename FEC > | |
void | CheckVectorBasisType (const FiniteElementSpace &fes) |
void | CheckBasisType (const FiniteElementSpace &fes) |
template<typename T > | |
T * | StealPointer (T *&ptr) |
template<typename T1 , typename T2 > | |
bool | HasIntegrators (BilinearForm &a) |
IntegrationRule | GetCollocatedIntRule (FiniteElementSpace &fes) |
template<typename T > | |
void | EnsureCapacity (Memory< T > &mem, int capacity) |
Ensure that mem has at least capacity capacity. | |
template<typename INTEGRATOR > | |
void | ProjectLORCoefficient (BilinearForm &a, CoefficientVector &coeff_vector) |
MFEM_HOST_DEVICE real_t | Det2D (DeviceMatrix &J) |
MFEM_HOST_DEVICE real_t | Det3D (DeviceMatrix &J) |
template<int ORDER, int SDIM = 2> | |
MFEM_HOST_DEVICE void | LORVertexCoordinates2D (const real_t *X, int iel_ho, int kx, int ky, real_t **v) |
template<int ORDER> | |
MFEM_HOST_DEVICE void | LORVertexCoordinates3D (const real_t *X, int iel_ho, int kx, int ky, int kz, real_t vx[8], real_t vy[8], real_t vz[8]) |
template<int SDIM = 2> | |
MFEM_HOST_DEVICE void | Jacobian2D (const real_t x, const real_t y, real_t **v, DeviceMatrix &J) |
template<> | |
MFEM_HOST_DEVICE void | Jacobian2D< 2 > (const real_t x, const real_t y, real_t **v, DeviceMatrix &J) |
template<> | |
MFEM_HOST_DEVICE void | Jacobian2D< 3 > (const real_t x, const real_t y, real_t **v, DeviceMatrix &J) |
template<int ORDER, int SDIM, bool RT, bool ND> | |
MFEM_HOST_DEVICE void | SetupLORQuadData2D (const real_t *X, int iel_ho, int kx, int ky, DeviceTensor< 3 > &Q, bool piola) |
MFEM_HOST_DEVICE void | Jacobian3D (const real_t x, const real_t y, const real_t z, const real_t vx[8], const real_t vy[8], const real_t vz[8], DeviceMatrix &J) |
MFEM_HOST_DEVICE void | Adjugate3D (const DeviceMatrix &J, DeviceMatrix &A) |
void | TransformToReference (ElementTransformation &Trans, int type, const Vector &physical_p, const double &w, IntegrationPoint &ref_p) |
std::shared_ptr< Cut > | NewCut (const int dim) |
template<int Dim> | |
void | BuildBoxes (const Mesh &mesh, std::vector<::moonolith::AABB< Dim, double > > &element_boxes) |
bool | HashGridDetectIntersections (const Mesh &src, const Mesh &dest, std::vector< moonolith::Integer > &pairs) |
int | order_multiplier (const Geometry::Type type, const int dim) |
std::shared_ptr< HypreParMatrix > | convert_to_hypre_matrix (const std::vector< moonolith::Integer > &destination_ranges, HYPRE_BigInt *s_offsets, HYPRE_BigInt *m_offsets, moonolith::SparseMatrix< double > &mat_buffer) |
void | InitTransfer (int argc, char *argv[]) |
Initializes the par_moonolith library. It also calls MPI_Init. | |
int | FinalizeTransfer () |
Finalize the par_moonolith library. | |
void | InitTransfer (int argc, char *argv[], MPI_Comm comm) |
Initializes the transfer library. It does not call MPI_Init, but uses the communicator defined by the user. This method can be called only after MPI_Init. | |
MFEM_REGISTER_TMOP_KERNELS (void, DatcSize, const int NE, const int ncomp, const int sizeidx, const real_t input_min_size, const DenseMatrix &w_, const Array< real_t > &b_, const Vector &x_, const Vector &nc_reduce, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AssembleDiagonalPA_Kernel_2D, const int NE, const Array< real_t > &b, const Array< real_t > &g, const DenseTensor &j, const Vector &h, Vector &diagonal, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AssembleDiagonalPA_Kernel_C0_2D, const int NE, const Array< real_t > &b, const Vector &h0, Vector &diagonal, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultGradPA_Kernel_2D, const int NE, const Array< real_t > &b_, const Array< real_t > &g_, const DenseTensor &j_, const Vector &h_, const Vector &x_, Vector &y_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultGradPA_Kernel_C0_2D, const int NE, const Array< real_t > &b_, const Vector &h0_, const Vector &r_, Vector &c_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_2D, const Vector &x_, const real_t metric_normal, const Vector &mc_, const Array< real_t > &metric_param, const int mid, const int NE, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &g_, const DenseTensor &j_, Vector &h_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_C0_2D, const real_t lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &bld_, const Vector &x0_, const Vector &x1_, Vector &h0_, const bool exp_lim, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AssembleDiagonalPA_Kernel_3D, const int NE, const Array< real_t > &b, const Array< real_t > &g, const DenseTensor &j, const Vector &h, Vector &diagonal, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AssembleDiagonalPA_Kernel_C0_3D, const int NE, const Array< real_t > &b, const Vector &h0, Vector &diagonal, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultGradPA_Kernel_3D, const int NE, const Array< real_t > &b_, const Array< real_t > &g_, const DenseTensor &j_, const Vector &h_, const Vector &x_, Vector &y_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultGradPA_Kernel_C0_3D, const int NE, const Array< real_t > &b_, const Vector &h0_, const Vector &r_, Vector &c_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_3D, const real_t metric_normal, const Vector &mc_, const Array< real_t > &metric_param, const int mid, const Vector &x_, const int NE, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &g_, const DenseTensor &j_, Vector &h_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_Kernel_C0_3D, const real_t lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &bld_, const Vector &x0_, const Vector &x1_, Vector &h0_, const bool exp_lim, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (real_t, MinDetJpr_Kernel_2D, const int NE, const Array< real_t > &b_, const Array< real_t > &g_, const Vector &x_, Vector &DetJ, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (real_t, MinDetJpr_Kernel_3D, const int NE, const Array< real_t > &b_, const Array< real_t > &g_, const Vector &x_, Vector &DetJ, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_2D, const real_t metric_normal, const Vector &mc_, const Array< real_t > &metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &g_, const Vector &x_, Vector &y_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_C0_2D, const real_t lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &bld_, const Vector &x0_, const Vector &x1_, Vector &y_, const bool exp_lim, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_3D, const real_t metric_normal, const Vector &mc_, const Array< real_t > &metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &g_, const Vector &x_, Vector &y_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_C0_3D, const real_t lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &bld_, const Vector &x0_, const Vector &x1_, Vector &y_, const bool exp_lim, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (bool, TC_IDEAL_SHAPE_UNIT_SIZE_2D_KERNEL, const int NE, const DenseMatrix &w_, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (bool, TC_IDEAL_SHAPE_GIVEN_SIZE_2D_KERNEL, const int NE, const Array< real_t > &b_, const Array< real_t > &g_, const DenseMatrix &w_, const Vector &x_, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (bool, TC_IDEAL_SHAPE_UNIT_SIZE_3D_KERNEL, const int NE, const DenseMatrix &w_, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (bool, TC_IDEAL_SHAPE_GIVEN_SIZE_3D_KERNEL, const int NE, const Array< real_t > &b_, const Array< real_t > &g_, const DenseMatrix &w_, const Vector &x_, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (real_t, EnergyPA_2D, const real_t metric_normal, const Vector &mc_, const Array< real_t > &metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &g_, const Vector &x_, const Vector &ones, Vector &energy, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (real_t, EnergyPA_C0_2D, const real_t lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &bld_, const Vector &x0_, const Vector &x1_, const Vector &ones, Vector &energy, const bool exp_lim, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (real_t, EnergyPA_3D, const real_t metric_normal, const Vector &mc_, const Array< real_t > &metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &g_, const Vector &ones, const Vector &x_, Vector &energy, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (real_t, EnergyPA_C0_3D, const real_t lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< real_t > &w_, const Array< real_t > &b_, const Array< real_t > &bld_, const Vector &x0_, const Vector &x1_, const Vector &ones, Vector &energy, const bool exp_lim, const int d1d, const int q1d) | |
std::function< void(const Vector &, Vector &)> | GetMovingVortexInit (const real_t radius, const real_t Minf, const real_t beta, const real_t gas_constant, const real_t specific_heat_ratio) |
Mesh | EulerMesh (const int problem) |
VectorFunctionCoefficient | EulerInitialCondition (const int problem, const real_t specific_heat_ratio, const real_t gas_constant) |
real_t | inv_sigmoid (real_t x) |
Inverse sigmoid function. | |
real_t | sigmoid (real_t x) |
Sigmoid function. | |
real_t | der_sigmoid (real_t x) |
Derivative of sigmoid function. | |
template<typename dtype > | |
void | CalcAdjugate (const TAutoDiffDenseMatrix< dtype > &a, TAutoDiffDenseMatrix< dtype > &adja) |
void | ComputeInverse (const Array< real_t > &A, Array< real_t > &Ainv) |
Compute the inverse of the matrix A and store the result in Ainv. | |
void | SubcellIntegrals (int n, const Poly_1D::Basis &basis, Array< real_t > &B) |
void | Transpose (const Array< real_t > &B, Array< real_t > &Bt) |
void | EliminateColumns (HypreParMatrix &D, const Array< int > &ess_dofs) |
Eliminates columns in the given HypreParMatrix. | |
void | FormElementToFace2D (int order, Array< int > &element2face) |
void | FormElementToFace3D (int order, Array< int > &element2face) |
HypreParMatrix * | FormDiscreteDivergenceMatrix (ParFiniteElementSpace &fes_rt, ParFiniteElementSpace &fes_l2, const Array< int > &ess_dofs) |
void | Reciprocal (Vector &x) |
Replace x[i] with 1.0/x[i] for all i. | |
HypreParMatrix * | MakeDiagonalMatrix (Vector &diag, const ParFiniteElementSpace &fes) |
Return a new HypreParMatrix with given diagonal entries. | |
const IntegrationRule & | GetMassIntRule (FiniteElementSpace &fes_l2) |
real_t | u (const Vector &xvec) |
std::function< real_t(const Vector &)> | f (real_t mass_coeff) |
void | u_vec (const Vector &xvec, Vector &u) |
std::function< void(const Vector &, Vector &)> | f_vec (bool grad_div_problem) |
void | FillWithRandomNumbers (std::vector< real_t > &x, real_t a=0.0, real_t b=1.0) |
Fills the vector x with random numbers between a and b. | |
void | FillWithRandomRotations (std::vector< real_t > &x) |
real_t | detJ_r_function (const Vector &x, CartesianPML *pml) |
PML stretching functions: See https://doi.org/10.1006/jcph.1994.1159. | |
real_t | detJ_i_function (const Vector &x, CartesianPML *pml) |
real_t | abs_detJ_2_function (const Vector &x, CartesianPML *pml) |
void | Jt_J_detJinv_r_function (const Vector &x, CartesianPML *pml, DenseMatrix &M) |
void | Jt_J_detJinv_i_function (const Vector &x, CartesianPML *pml, DenseMatrix &M) |
void | abs_Jt_J_detJinv_2_function (const Vector &x, CartesianPML *pml, DenseMatrix &M) |
void | detJ_Jt_J_inv_r_function (const Vector &x, CartesianPML *pml, DenseMatrix &M) |
void | detJ_Jt_J_inv_i_function (const Vector &x, CartesianPML *pml, DenseMatrix &M) |
void | abs_detJ_Jt_J_inv_2_function (const Vector &x, CartesianPML *pml, DenseMatrix &M) |
MFEM "global" communicator functions. | |
Functions for getting and setting the MPI communicator used by the library as the "global" communicator. This "global" communicator is used for example in the function mfem_error(), which is invoked when an error is detected - the "global" communicator is used as a parameter to MPI_Abort() to terminate all "global" tasks. | |
MPI_Comm | GetGlobalMPI_Comm () |
Get MFEM's "global" MPI communicator. | |
void | SetGlobalMPI_Comm (MPI_Comm comm) |
Set MFEM's "global" MPI communicator. | |
Gmsh High-Order Vertex Mappings | |
These functions generate the mappings needed to translate the order of Gmsh's high-order vertices into MFEM's L2 degree of freedom ordering. The mapping is defined so that MFEM_DoF[i] = Gmsh_Vert[map[i]]. The map array must already be allocated with the proper number of entries for the element type at the given element order. | |
void | GmshHOSegmentMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Segment. | |
void | GmshHOTriangleMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Triangle. | |
void | GmshHOQuadrilateralMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Quadrilateral. | |
void | GmshHOTetrahedronMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Tetrahedron. | |
void | GmshHOHexahedronMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Hexahedron. | |
void | GmshHOWedgeMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Wedge. | |
void | GmshHOPyramidMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Pyramid. | |
Variables | |
OutStream | out (std::cout) |
Global stream used by the library for standard output. Initially it uses the same std::streambuf as std::cout, however that can be changed. | |
OutStream | err (std::cerr) |
Global stream used by the library for standard error output. Initially it uses the same std::streambuf as std::cerr, however that can be changed. | |
MPI_Comm | MFEM_COMM_WORLD = MPI_COMM_WORLD |
constexpr gnutls_digest_algorithm_t | HASH_ALGORITHM = GNUTLS_DIG_SHA256 |
MemoryManager | mm |
The (single) global memory manager object. | |
const char * | MemoryTypeName [MemoryTypeSize] |
Memory type names, used during Device:: configuration. | |
constexpr int | MemoryTypeSize = static_cast<int>(MemoryType::SIZE) |
Static casts to 'int' and sizes of some useful memory types. | |
constexpr int | HostMemoryType = static_cast<int>(MemoryType::HOST) |
constexpr int | HostMemoryTypeSize = static_cast<int>(MemoryType::DEVICE) |
constexpr int | DeviceMemoryType = static_cast<int>(MemoryType::MANAGED) |
constexpr int | DeviceMemoryTypeSize = MemoryTypeSize - DeviceMemoryType |
StopWatch | tic_toc |
TriLinear3DFiniteElement | HexahedronFE |
PointFiniteElement | PointFE |
class LinearPyramidFiniteElement | PyramidFE |
BiLinear2DFiniteElement | QuadrilateralFE |
Linear1DFiniteElement | SegmentFE |
MFEM_EXPORT class Linear3DFiniteElement | TetrahedronFE |
MFEM_EXPORT Linear2DFiniteElement | TriangleFE |
MFEM_EXPORT class LinearWedgeFiniteElement | WedgeFE |
Poly_1D | poly1d |
Geometry | Geometries |
GeometryRefiner | GlobGeometryRefiner |
IntegrationRules | IntRules (0, Quadrature1D::GaussLegendre) |
A global object with all integration rules (defined in intrules.cpp) | |
IntegrationRules | RefinedIntRules (1, Quadrature1D::GaussLegendre) |
A global object with all refined integration rules. | |
const char | vishost [] = "localhost" |
const int | visport = 19916 |
int | wsize = 350 |
typedef kernels::InvariantsEvaluator3D::Buffers mfem::Args = kernels::InvariantsEvaluator2D::Buffers |
Definition at line 21 of file tmop_pa_h2s.cpp.
Definition at line 3216 of file bilininteg.hpp.
typedef DeviceTensor<1,const int> mfem::ConstDeviceArray |
Definition at line 138 of file dtensor.hpp.
typedef DeviceTensor<3,const real_t> mfem::ConstDeviceCube |
Definition at line 147 of file dtensor.hpp.
typedef DeviceTensor<2,const real_t> mfem::ConstDeviceMatrix |
Definition at line 144 of file dtensor.hpp.
typedef DeviceTensor<1,const real_t> mfem::ConstDeviceVector |
Definition at line 141 of file dtensor.hpp.
using mfem::cuda_launch_policy |
RAJA Cuda and Hip backends.
Definition at line 227 of file forall.hpp.
using mfem::cuda_teams_x |
Definition at line 229 of file forall.hpp.
using mfem::cuda_threads_z |
Definition at line 231 of file forall.hpp.
Scalar coefficient which returns the height or altitude of the evaluation point in the cylindrical coordinate system
Definition at line 332 of file coefficient.hpp.
typedef DeviceTensor<1,int> mfem::DeviceArray |
Definition at line 137 of file dtensor.hpp.
typedef DeviceTensor<3,real_t> mfem::DeviceCube |
Definition at line 146 of file dtensor.hpp.
typedef DeviceTensor<2,real_t> mfem::DeviceMatrix |
Definition at line 143 of file dtensor.hpp.
typedef DeviceTensor<1,real_t> mfem::DeviceVector |
Definition at line 140 of file dtensor.hpp.
typedef L2_FECollection mfem::DG_FECollection |
Declare an alternative name for L2_FECollection = DG_FECollection.
Definition at line 382 of file fe_coll.hpp.
Definition at line 1037 of file coefficient.hpp.
typedef internal::DofQuadLimits_CPU mfem::DofQuadLimits = internal::DofQuadLimits_CUDA |
Maximum number of 1D DOFs or quadrature points for the architecture currently being compiled for (used in fallback kernels).
DofQuadLimits provides access to the limits as static constexpr member variables for use in mfem::forall kernels or MFEM_HOST_DEVICE functions.
Definition at line 97 of file forall.hpp.
Alias for ConformingFaceRestriction, for backwards compatibility and as base class for ParNCH1FaceRestriction.
Definition at line 401 of file restriction.hpp.
using mfem::hip_launch_policy |
Definition at line 236 of file forall.hpp.
using mfem::hip_teams_x |
Definition at line 238 of file forall.hpp.
using mfem::hip_threads_z |
Definition at line 240 of file forall.hpp.
typedef int mfem::HYPRE_MemoryLocation |
Definition at line 885 of file mem_manager.hpp.
typedef KDTree<int,real_t,1> mfem::KDTree1D |
Defines KDTree in 1D.
Definition at line 647 of file kdtree.hpp.
typedef KDTree<int,real_t,2> mfem::KDTree2D |
Defines KDTree in 2D.
Definition at line 644 of file kdtree.hpp.
typedef KDTree<int,real_t,3> mfem::KDTree3D |
Defines KDTree in 3D.
Definition at line 641 of file kdtree.hpp.
Convenient alias for the MatrixVectorProductCoefficient.
Definition at line 1984 of file coefficient.hpp.
Definition at line 2424 of file bilininteg.hpp.
typedef std::pair<int,int> mfem::occa_id_t |
typedef std::map<occa_id_t, occa::kernel> mfem::occa_kernel_t |
typedef OperatorHandle mfem::OperatorPtr |
Add an alternative name for OperatorHandle – OperatorPtr.
Definition at line 212 of file handle.hpp.
typedef double mfem::real_t |
Definition at line 43 of file config.hpp.
|
strong |
Enumeration defining the assembly level for bilinear and nonlinear form classes derived from Operator. For more details, see https://mfem.org/howto/assembly_levels.
Enumerator | |
---|---|
LEGACY | In the case of a BilinearForm LEGACY corresponds to a fully assembled form, i.e. a global sparse matrix in MFEM, Hypre or PETSC format. In the case of a NonlinearForm LEGACY corresponds to an operator that is fully evaluated on the fly. This assembly level is ALWAYS performed on the host. |
LEGACYFULL |
|
FULL | Fully assembled form, i.e. a global sparse matrix in MFEM format. This assembly is compatible with device execution. |
ELEMENT | Form assembled at element level, which computes and stores dense element matrices. |
PARTIAL | Partially-assembled form, which computes and stores data only at quadrature points. |
NONE | "Matrix-free" form that computes all of its action on-the-fly without any substantial storage. |
Definition at line 31 of file bilinearform.hpp.
|
strong |
|
strong |
Flags that determine what storage optimizations to use in CoefficientVector.
Enumerator | |
---|---|
FULL | Store the coefficient as a full QuadratureFunction. |
CONSTANTS | Store constants using only vdim entries. |
SYMMETRIC | Store the triangular part of symmetric matrices. |
COMPRESSED | Enable all above compressions. |
Definition at line 2288 of file coefficient.hpp.
|
strong |
Constants describing the possible orderings of the DOFs in one element.
Enumerator | |
---|---|
NATIVE | Native ordering as defined by the FiniteElement. This ordering can be used by tensor-product elements when the interpolation from the DOFs to quadrature points does not use the tensor-product structure. |
LEXICOGRAPHIC | Lexicographic ordering for tensor-product FiniteElements. This ordering can be used only with tensor-product elements. |
Definition at line 74 of file fespace.hpp.
enum mfem::ErrorAction |
Action to take when MFEM encounters an error.
Enumerator | |
---|---|
MFEM_ERROR_ABORT | Abort execution using abort() or MPI_Abort(). This is the default error action when the build option MFEM_USE_EXCEPTIONS is set to NO. |
MFEM_ERROR_THROW | Throw an ErrorException. Requires the build option MFEM_USE_EXCEPTIONS=YES in which case it is also the default error action. |
|
strong |
|
strong |
An enum type to specify if only e1 value is requested (SingleValued) or both e1 and e2 (DoubleValued).
Enumerator | |
---|---|
SingleValued | |
DoubleValued |
Definition at line 139 of file restriction.hpp.
|
strong |
Memory classes identify sets of memory types.
This type is used by kernels that can work with multiple MemoryTypes. For example, kernels that can use DEVICE or MANAGED memory types should use MemoryClass::DEVICE for their inputs.
Enumerator | |
---|---|
HOST | Memory types: { HOST, HOST_32, HOST_64, HOST_DEBUG, HOST_UMPIRE, HOST_PINNED, MANAGED } |
HOST_32 | Memory types: { HOST_32, HOST_64, HOST_DEBUG }. |
HOST_64 | Memory types: { HOST_64, HOST_DEBUG }. |
DEVICE | Memory types: { DEVICE, DEVICE_DEBUG, DEVICE_UMPIRE, DEVICE_UMPIRE_2, MANAGED } |
MANAGED | Memory types: { MANAGED }. |
Definition at line 80 of file mem_manager.hpp.
|
strong |
Memory types supported by MFEM.
Enumerator | |
---|---|
HOST | Host memory; using new[] and delete[]. |
HOST_32 | Host memory; aligned at 32 bytes. |
HOST_64 | Host memory; aligned at 64 bytes. |
HOST_DEBUG | Host memory; allocated from a "host-debug" pool. |
HOST_UMPIRE | Host memory; using an Umpire allocator which can be set with MemoryManager::SetUmpireHostAllocatorName |
HOST_PINNED | Host memory: pinned (page-locked) |
MANAGED | Managed memory; using CUDA or HIP *MallocManaged and *Free |
DEVICE | Device memory; using CUDA or HIP *Malloc and *Free. |
DEVICE_DEBUG | Pseudo-device memory; allocated on host from a "device-debug" pool |
DEVICE_UMPIRE | Device memory; using an Umpire allocator which can be set with MemoryManager::SetUmpireDeviceAllocatorName |
DEVICE_UMPIRE_2 | Device memory; using a second Umpire allocator settable with MemoryManager::SetUmpireDevice2AllocatorName |
SIZE | Number of host and device memory types. |
PRESERVE | Pseudo-MemoryType used as default value for MemoryType parameters to request preservation of existing MemoryType, e.g. in copy constructors. |
DEFAULT | Pseudo-MemoryType used as default value for MemoryType parameters to request the use of the default host or device MemoryType. |
Definition at line 38 of file mem_manager.hpp.
|
strong |
Type describing possible layouts for Q-vectors.
Enumerator | |
---|---|
byNODES | NQPT x VDIM x NE (values) / NQPT x VDIM x DIM x NE (grads) |
byVDIM | VDIM x NQPT x NE (values) / VDIM x DIM x NQPT x NE (grads) |
Definition at line 52 of file fespace.hpp.
|
strong |
Enumerator | |
---|---|
UNIFORM_SPACING | |
LINEAR | |
GEOMETRIC | |
BELL | |
GAUSSIAN | |
LOGARITHMIC | |
PIECEWISE |
Definition at line 23 of file spacing.hpp.
TransferCategory describes the type of transfer.
Usually used with a TransferMap.
Enumerator | |
---|---|
ParentToSubMesh | |
SubMeshToParent | |
SubMeshToSubMesh |
Definition at line 23 of file transfer_category.hpp.
|
strong |
Data array format for VTK and VTU files.
mfem::__attribute__ | ( | (enzyme_inactive) | ) | const |
Function called by the macro MFEM_WARNING.
mfem::__attribute__ | ( | (enzyme_inactive, noreturn) | ) | const |
Function called when an error is encountered. Used by the macros MFEM_ABORT, MFEM_ASSERT, MFEM_VERIFY.
real_t mfem::abs_detJ_2_function | ( | const Vector & | x, |
CartesianPML * | pml ) |
void mfem::abs_detJ_Jt_J_inv_2_function | ( | const Vector & | x, |
CartesianPML * | pml, | ||
DenseMatrix & | M ) |
void mfem::abs_Jt_J_detJinv_2_function | ( | const Vector & | x, |
CartesianPML * | pml, | ||
DenseMatrix & | M ) |
SparseMatrix * mfem::Add | ( | Array< SparseMatrix * > & | Ai | ) |
Matrix addition result = sum_i A_i.
Definition at line 4138 of file sparsemat.cpp.
void mfem::Add | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
real_t | alpha, | ||
DenseMatrix & | C ) |
C = A + alpha*B.
Definition at line 2433 of file densemat.cpp.
SparseMatrix * mfem::Add | ( | const SparseMatrix & | A, |
const SparseMatrix & | B ) |
Matrix addition result = A + B.
Definition at line 4133 of file sparsemat.cpp.
void mfem::Add | ( | const SparseMatrix & | A, |
real_t | alpha, | ||
DenseMatrix & | B ) |
B += alpha * A.
Definition at line 4160 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | real_t | a, |
const SparseMatrix & | A, | ||
real_t | b, | ||
const SparseMatrix & | B ) |
Matrix addition result = a*A + b*B.
Definition at line 4050 of file sparsemat.cpp.
void mfem::Add | ( | real_t | alpha, |
const DenseMatrix & | A, | ||
real_t | beta, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | C ) |
C = alpha*A + beta*B.
Definition at line 2445 of file densemat.cpp.
HypreParMatrix * mfem::Add | ( | real_t | alpha, |
const HypreParMatrix & | A, | ||
real_t | beta, | ||
const HypreParMatrix & | B ) |
void mfem::Add | ( | real_t | alpha, |
const real_t * | A, | ||
real_t | beta, | ||
const real_t * | B, | ||
DenseMatrix & | C ) |
C = alpha*A + beta*B.
Definition at line 2439 of file densemat.cpp.
Definition at line 417 of file vector.cpp.
Definition at line 377 of file vector.cpp.
Definition at line 316 of file vector.cpp.
Definition at line 338 of file vector.cpp.
void mfem::AddMult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a ) |
Matrix matrix multiplication. A += B * C.
Definition at line 2571 of file densemat.cpp.
void mfem::AddMult_a | ( | real_t | alpha, |
const DenseMatrix & | b, | ||
const DenseMatrix & | c, | ||
DenseMatrix & | a ) |
Matrix matrix multiplication. A += alpha * B * C.
Definition at line 2532 of file densemat.cpp.
void mfem::AddMult_a_AAt | ( | real_t | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt ) |
AAt += a * A * A^t.
Definition at line 3307 of file densemat.cpp.
void mfem::AddMult_a_ABt | ( | real_t | a, |
const DenseMatrix & | A, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | ABt ) |
ABt += a * A * B^t.
Definition at line 3096 of file densemat.cpp.
void mfem::AddMult_a_AtB | ( | real_t | a, |
const DenseMatrix & | A, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | AtB ) |
AtB += a * A^t * B.
Definition at line 3263 of file densemat.cpp.
void mfem::AddMult_a_VVt | ( | const real_t | a, |
const Vector & | v, | ||
DenseMatrix & | VVt ) |
VVt += a * v v^t.
Definition at line 3445 of file densemat.cpp.
void mfem::AddMult_a_VWt | ( | const real_t | a, |
const Vector & | v, | ||
const Vector & | w, | ||
DenseMatrix & | VWt ) |
VWt += a * v w^t.
Definition at line 3423 of file densemat.cpp.
void mfem::AddMultABt | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | ABt ) |
ABt += A * B^t.
Definition at line 2999 of file densemat.cpp.
void mfem::AddMultADAt | ( | const DenseMatrix & | A, |
const Vector & | D, | ||
DenseMatrix & | ADAt ) |
ADAt += A D A^t, where D is diagonal.
Definition at line 2846 of file densemat.cpp.
void mfem::AddMultADBt | ( | const DenseMatrix & | A, |
const Vector & | D, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | ADBt ) |
ADBt = A D B^t, where D is diagonal.
Definition at line 3060 of file densemat.cpp.
void mfem::AddMultAtB | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | AtB ) |
AtB += A^t * B.
Definition at line 3220 of file densemat.cpp.
void mfem::AddMultVVt | ( | const Vector & | v, |
DenseMatrix & | VVt ) |
VVt += v v^t.
Definition at line 3399 of file densemat.cpp.
void mfem::AddMultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt ) |
VWt += v w^t.
Definition at line 3378 of file densemat.cpp.
|
inline |
Definition at line 254 of file lor_util.hpp.
int mfem::aGMRES | ( | const Operator & | A, |
Vector & | x, | ||
const Vector & | b, | ||
const Operator & | M, | ||
int & | max_iter, | ||
int | m_max, | ||
int | m_min, | ||
int | m_step, | ||
real_t | cf, | ||
real_t & | tol, | ||
real_t & | atol, | ||
int | printit ) |
Adaptive restarted GMRES. m_max and m_min(=1) are the maximal and minimal restart parameters. m_step(=1) is the step to use for going from m_max and m_min. cf(=0.4) is a desired convergence factor.
Definition at line 2151 of file solvers.cpp.
Definition at line 952 of file solvers.cpp.
const T & mfem::AsConst | ( | const T & | a | ) |
|
inline |
Definition at line 137 of file tassign.hpp.
|
inline |
Definition at line 144 of file tassign.hpp.
int mfem::BarycentricToVTKTriangle | ( | int * | b, |
int | ref ) |
bool mfem::BasisTypeToFmsBasisType | ( | int | bt, |
FmsBasisType & | btype ) |
Definition at line 892 of file fmsconvert.cpp.
void mfem::BatchLUFactor | ( | DenseTensor & | Mlu, |
Array< int > & | P, | ||
const real_t | TOL = 0.0 ) |
Compute the LU factorization of a batch of matrices.
Factorize n matrices of size (m x m) stored in a dense tensor overwriting it with the LU factors. The factorization is such that L.U = Piv.A, where A is the original matrix and Piv is a permutation matrix represented by P.
[in,out] | Mlu | batch of square matrices - dimension m x m x n. |
[out] | P | array storing pivot information - dimension m x n. |
[in] | TOL | optional fuzzy comparison tolerance. Defaults to 0.0. |
Definition at line 4633 of file densemat.cpp.
void mfem::BatchLUSolve | ( | const DenseTensor & | Mlu, |
const Array< int > & | P, | ||
Vector & | X ) |
Solve batch linear systems.
Assuming L.U = P.A for n factored matrices (m x m), compute x <- A x, for n companion vectors.
[in] | Mlu | batch of LU factors for matrix M - dimension m x m x n. |
[in] | P | array storing pivot information - dimension m x n. |
[in,out] | X | vector storing right-hand side and then solution - dimension m x n. |
Definition at line 4700 of file densemat.cpp.
void mfem::BiCGSTAB | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
real_t | rtol, | ||
real_t | atol ) |
BiCGSTAB method. (tolerances are squared)
Definition at line 1588 of file solvers.cpp.
int mfem::BiCGSTAB | ( | const Operator & | A, |
Vector & | x, | ||
const Vector & | b, | ||
Solver & | M, | ||
int & | max_iter, | ||
real_t & | tol, | ||
real_t | atol, | ||
int | printit ) |
BiCGSTAB method. (tolerances are squared)
Definition at line 1572 of file solvers.cpp.
void mfem::BlockInverseScale | ( | const HypreParMatrix * | A, |
HypreParMatrix * | C, | ||
const Vector * | b, | ||
HypreParVector * | d, | ||
int | blocksize, | ||
BlockInverseScaleJob | job ) |
Constructs and applies block diagonal inverse of HypreParMatrix. The enum job specifies whether the matrix or the RHS should be scaled (or both).
|
inline |
Definition at line 89 of file tmatrix.hpp.
void mfem::BoundingBox | ( | const Array< int > & | face_patch, |
FiniteElementSpace * | ufes, | ||
int | order, | ||
Vector & | xmin, | ||
Vector & | xmax, | ||
real_t & | angle, | ||
Vector & | midpoint, | ||
int | iface = -1 ) |
Defines the bounding box for the face patches used by NewZZErorrEstimator.
By default, BoundingBox(...) computes the parameters of a minimal bounding box for the given face_patch that is aligned with the physical (i.e. global) Cartesian axes. This means that the size of the bounding box will depend on the orientation of the patch. It is better to construct an orientation-independent box. This is implemented for 2D patches. The parameters angle and midpoint encode the necessary additional geometric information.
@a iface : Index of the face that the patch corresponds to. This is used to compute @a angle and @a midpoint. @a angle : The angle the patch face makes with the x-axis. @a midpoint : The midpoint of the face.
Definition at line 4121 of file gridfunc.cpp.
void mfem::BuildBoxes | ( | const Mesh & | mesh, |
std::vector<::moonolith::AABB< Dim, double > > & | element_boxes ) |
Definition at line 95 of file mortarassembler.cpp.
SparseMatrix * mfem::BuildNormalConstraints | ( | FiniteElementSpace & | fespace, |
Array< int > & | constrained_att, | ||
Array< int > & | constraint_rowstarts, | ||
bool | parallel = false ) |
Build a matrix constraining normal components to zero.
Given a vector space fespace, and the array constrained_att that includes the boundary attributes that are constrained to have normal component zero, this returns a SparseMatrix representing the constraints that need to be imposed.
Each row of the returned matrix corresponds to a node that is constrained. The rows are arranged in (contiguous) blocks corresponding to a physical constraint; in 3D, a one-row constraint means the node is free to move along a plane, a two-row constraint means it is free to move along a line (e.g. the intersection of two normal-constrained planes), and a three-row constraint is fully constrained (equivalent to MFEM's usual essential boundary conditions).
The constraint_rowstarts array is filled in to describe the structure of these constraints, so that (block) constraint k is encoded in rows constraint_rowstarts[k] to constraint_rowstarts[k + 1] - 1, inclusive, of the returned matrix.
Constraints are imposed on "true" degrees of freedom, which are different in serial and parallel, so we need different numbering systems for the serial and parallel versions of this function.
When two attributes intersect, this version will combine constraints, so in 2D the point at the intersection is fully constrained (ie, fixed in both directions). This is the wrong thing to do if the two boundaries are (close to) parallel at that point.
[in] | fespace | A vector finite element space |
[in] | constrained_att | Boundary attributes to constrain |
[out] | constraint_rowstarts | The rowstarts for separately eliminated constraints, possible input to EliminationCGSolver |
[in] | parallel | Indicate that fespace is actually a ParFiniteElementSpace and the numbering in the returned matrix should be based on truedofs. |
Definition at line 783 of file constraints.cpp.
void mfem::CalcAdjugate | ( | const DenseMatrix & | a, |
DenseMatrix & | adja ) |
Calculate the adjugate of a matrix (for NxN matrices, N=1,2,3) or the matrix adj(A^t.A).A^t for rectangular matrices (2x1, 3x1, or 3x2). This operation is well defined even when the matrix is not full rank.
Definition at line 2607 of file densemat.cpp.
void mfem::CalcAdjugate | ( | const TAutoDiffDenseMatrix< dtype > & | a, |
TAutoDiffDenseMatrix< dtype > & | adja ) |
Definition at line 437 of file taddensemat.hpp.
void mfem::CalcAdjugateTranspose | ( | const DenseMatrix & | a, |
DenseMatrix & | adjat ) |
Calculate the transposed adjugate of a matrix (for NxN matrices, N=1,2,3)
Definition at line 2679 of file densemat.cpp.
void mfem::CalcGradTensor | ( | const FiniteElement & | fe, |
const IntegrationRule & | ir, | ||
real_t * | G, | ||
const Array< int > * | dof_map = NULL ) |
store gradient matrix G for each integration point on the reference element. For tensor product evaluation, this is only called on the 1D reference element, and higher dimensions are put together from that. The element stiffness matrix can be written
\[ S_E = \sum_{k=1}^{nq} G_{k,i}^T (D_E^G)_{k,k} G_{k,j} \]
where \( nq \) is the number of quadrature points, \( D_E^G \) contains all the information about the element geometry and coefficients (Jacobians etc.), and \( G \) is the matrix built in this routine, which is the same for all elements in a mesh.
fe | the element we are calculating on | |
ir | the integration rule to calculate the gradients on | |
[out] | G | must be (nip x dim x dof) with column major storage |
[in] | dof_map | the inverse of dof_map is applied to reorder local dofs. |
void mfem::CalcInverse | ( | const DenseMatrix & | a, |
DenseMatrix & | inva ) |
Calculate the inverse of a matrix (for NxN matrices, N=1,2,3) or the left inverse (A^t.A)^{-1}.A^t (for 2x1, 3x1, or 3x2 matrices)
Definition at line 2715 of file densemat.cpp.
void mfem::CalcInverseTranspose | ( | const DenseMatrix & | a, |
DenseMatrix & | inva ) |
Calculate the inverse transpose of a matrix (for NxN matrices, N=1,2,3)
Definition at line 2763 of file densemat.cpp.
void mfem::CalcOrtho | ( | const DenseMatrix & | J, |
Vector & | n ) |
For a given Nx(N-1) (N=2,3) matrix J, compute a vector n such that n_k = (-1)^{k+1} det(J_k), k=1,..,N, where J_k is the matrix J with the k-th row removed. Note: J^t.n = 0, det([n|J])=|n|^2=det(J^t.J).
Definition at line 2802 of file densemat.cpp.
void mfem::CalcShapeMatrix | ( | const FiniteElement & | fe, |
const IntegrationRule & | ir, | ||
real_t * | B, | ||
const Array< int > * | dof_map = NULL ) |
Store mass-like matrix B for each integration point on the reference element. For tensor product evaluation, this is only called on the 1D reference element, and higher dimensions are put together from that. The element mass matrix can be written \( M_E = B^T D_E B \) where the B built here is the B, and is unchanging across the mesh. The diagonal matrix \( D_E \) then contains all the element-specific geometry and physics data.
fe | the element we are calculating on |
ir | the integration rule to calculate the shape matrix on |
B | must be (nip x dof) with column major storage |
dof_map | the inverse of dof_map is applied to reorder local dofs. |
void mfem::CalcShapes | ( | const FiniteElement & | fe, |
const IntegrationRule & | ir, | ||
real_t * | B, | ||
real_t * | G, | ||
const Array< int > * | dof_map ) |
int mfem::CanonicalNodeNumber | ( | FiniteElementSpace & | fespace, |
int | node, | ||
bool | parallel, | ||
int | d = 0 ) |
Definition at line 757 of file constraints.cpp.
bool mfem::CanShallowCopy | ( | const Memory< T > & | src, |
MemoryClass | mc ) |
int mfem::CartesianToVTKPrism | ( | int | i, |
int | j, | ||
int | k, | ||
int | ref ) |
int mfem::CartesianToVTKTensor | ( | int | idx_in, |
int | ref, | ||
Geometry::Type | geom ) |
void mfem::CG | ( | const Operator & | A, |
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
real_t | RTOLERANCE, | ||
real_t | ATOLERANCE ) |
Conjugate gradient method. (tolerances are squared)
Definition at line 898 of file solvers.cpp.
void mfem::CheckBasisType | ( | const FiniteElementSpace & | fes | ) |
|
inline |
Count the number of entries in an array of doubles for which isfinite is false, i.e. the entry is a NaN or +/-Inf.
Definition at line 518 of file vector.hpp.
void mfem::CheckScalarBasisType | ( | const FiniteElementSpace & | fes | ) |
void mfem::CheckVectorBasisType | ( | const FiniteElementSpace & | fes | ) |
real_t mfem::ComputeElementLpDistance | ( | real_t | p, |
int | i, | ||
GridFunction & | gf1, | ||
GridFunction & | gf2 ) |
Compute the Lp distance between two grid functions on the given element.
Definition at line 4395 of file gridfunc.cpp.
real_t mfem::ComputeGlobalLpNorm | ( | real_t | p, |
Coefficient & | coeff, | ||
ParMesh & | pmesh, | ||
const IntegrationRule * | irs[] ) |
Compute the global Lp norm of a function f. \( \| f \|_{Lp} = ( \int_\Omega | f |^p d\Omega)^{1/p} \).
Definition at line 1509 of file coefficient.cpp.
real_t mfem::ComputeGlobalLpNorm | ( | real_t | p, |
VectorCoefficient & | coeff, | ||
ParMesh & | pmesh, | ||
const IntegrationRule * | irs[] ) |
Compute the global Lp norm of a vector function f = {f_i}_i=1...N. \( \| f \|_{Lp} = ( \sum_i \| f_i \|_{Lp}^p )^{1/p} \).
Definition at line 1541 of file coefficient.cpp.
Compute the inverse of the matrix A and store the result in Ainv.
The input A is an array of size n*n, interpreted as a matrix with column major ordering.
Definition at line 24 of file change_basis.cpp.
real_t mfem::ComputeLpNorm | ( | real_t | p, |
Coefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] ) |
Compute the Lp norm of a function f. \( \| f \|_{Lp} = ( \int_\Omega | f |^p d\Omega)^{1/p} \).
Definition at line 1466 of file coefficient.cpp.
real_t mfem::ComputeLpNorm | ( | real_t | p, |
VectorCoefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] ) |
Compute the Lp norm of a vector function f = {f_i}_i=1...N. \( \| f \|_{Lp} = ( \sum_i \| f_i \|_{Lp}^p )^{1/p} \).
Definition at line 1487 of file coefficient.cpp.
std::shared_ptr< HypreParMatrix > mfem::convert_to_hypre_matrix | ( | const std::vector< moonolith::Integer > & | destination_ranges, |
HYPRE_BigInt * | s_offsets, | ||
HYPRE_BigInt * | m_offsets, | ||
moonolith::SparseMatrix< double > & | mat_buffer ) |
Definition at line 863 of file pmortarassembler.cpp.
void mfem::CopyConvertMemory | ( | Memory< SrcT > & | src, |
MemoryClass | dst_mc, | ||
Memory< DstT > & | dst ) |
Deep copy and convert src to dst with the goal to make the array src accessible through dst with the MemoryClass dst_mc and convert it from type SrcT to type DstT.
When dst is no longer needed, dst.Delete() must be called to ensure all associated memory allocations are freed.
The input contents of dst, if any, is not used and it is overwritten by this function. In particular, dst should be empty or deleted before calling this function.
void mfem::CopyMemory | ( | Memory< T > & | src, |
Memory< T > & | dst, | ||
MemoryClass | dst_mc, | ||
bool | dst_owner ) |
Shallow or deep copy src to dst with the goal to make the array src accessible through dst with the MemoryClass dst_mc. If one of the host/device MemoryTypes of src is contained in dst_mc, then a shallow copy will be used and dst will simply be an alias of src. Otherwise, dst will be properly allocated and src will be deep copied to dst.
If dst_owner is set to true and shallow copy is being used, then dst will not be an alias of src; instead, src is copied to dst and all ownership flags of src are reset.
In both cases (deep or shallow copy), when dst is no longer needed, dst.Delete() must be called to ensure all associated memory allocations are freed.
The input contents of dst, if any, is not used and it is overwritten by this function. In particular, dst should be empty or deleted before calling this function.
void mfem::CreateVTKElementConnectivity | ( | Array< int > & | con, |
Geometry::Type | geom, | ||
int | ref ) |
|
inline |
Definition at line 696 of file ncmesh.cpp.
|
inline |
Definition at line 699 of file ncmesh.cpp.
|
inline |
Definition at line 693 of file ncmesh.cpp.
|
inline |
Definition at line 687 of file ncmesh.cpp.
|
inline |
Definition at line 690 of file ncmesh.cpp.
|
inline |
Definition at line 702 of file ncmesh.cpp.
void mfem::CuCheckLastError | ( | ) |
int mfem::CuGetDeviceCount | ( | ) |
void * mfem::CuMallocManaged | ( | void ** | dptr, |
size_t | bytes ) |
void * mfem::CuMemAlloc | ( | void ** | dptr, |
size_t | bytes ) |
void * mfem::CuMemAllocHostPinned | ( | void ** | ptr, |
size_t | bytes ) |
void * mfem::CuMemcpyDtoD | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::CuMemcpyDtoDAsync | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::CuMemcpyDtoH | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::CuMemcpyDtoHAsync | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::CuMemcpyHtoD | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::CuMemcpyHtoDAsync | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::CuMemFree | ( | void * | dptr | ) |
void * mfem::CuMemFreeHostPinned | ( | void * | ptr | ) |
void mfem::CuWrap1D | ( | const int | N, |
DBODY && | d_body ) |
Definition at line 509 of file forall.hpp.
void mfem::CuWrap2D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | BZ ) |
Definition at line 518 of file forall.hpp.
void mfem::CuWrap3D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | Z, | ||
const int | G ) |
Definition at line 530 of file forall.hpp.
int mfem::DataCollectionToFmsDataCollection | ( | DataCollection * | mfem_dc, |
FmsDataCollection * | dc ) |
In-memory conversion of MFEM data collection to an FMS data collection.
mfem_dc | The MFEM data collection to convert. | |
[out] | dc | A pointer to a new FmsDataCollection containing the MFEM data. |
Definition at line 1868 of file fmsconvert.cpp.
|
inline |
|
inline |
Definition at line 23 of file lor_util.hpp.
|
inline |
Definition at line 28 of file lor_util.hpp.
real_t mfem::detJ_i_function | ( | const Vector & | x, |
CartesianPML * | pml ) |
void mfem::detJ_Jt_J_inv_i_function | ( | const Vector & | x, |
CartesianPML * | pml, | ||
DenseMatrix & | M ) |
void mfem::detJ_Jt_J_inv_r_function | ( | const Vector & | x, |
CartesianPML * | pml, | ||
DenseMatrix & | M ) |
real_t mfem::detJ_r_function | ( | const Vector & | x, |
CartesianPML * | pml ) |
PML stretching functions: See https://doi.org/10.1006/jcph.1994.1159.
void mfem::DetOfLinComb | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
Vector & | c ) |
bool mfem::DeviceCanUseCeed | ( | ) |
Function that determines if a CEED kernel should be used, based on the current mfem::Device configuration.
|
inline |
Function that determines if an OCCA kernel should be used, based on the current mfem::Device configuration.
void mfem::dgemv_ | ( | char * | , |
int * | , | ||
int * | , | ||
double * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
double * | , | ||
int * | ) |
void mfem::dgeqrf_ | ( | int * | , |
int * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
double * | , | ||
int * | , | ||
int * | ) |
HypreParMatrix * mfem::DiscreteCurl | ( | ParFiniteElementSpace * | face_fespace, |
ParFiniteElementSpace * | edge_fespace ) |
Compute the discrete curl matrix between the ND1 and RT0 spaces.
HypreParMatrix * mfem::DiscreteGrad | ( | ParFiniteElementSpace * | edge_fespace, |
ParFiniteElementSpace * | vert_fespace ) |
Compute the discrete gradient matrix between the nodal linear and ND1 spaces.
Definition at line 669 of file vector.hpp.
Definition at line 674 of file vector.hpp.
Definition at line 657 of file vector.hpp.
void mfem::dormqr_ | ( | char * | , |
char * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
int * | , | ||
int * | ) |
void mfem::dsyev_Eigensystem | ( | DenseMatrix & | a, |
Vector & | ev, | ||
DenseMatrix * | evect ) |
Definition at line 1135 of file densemat.cpp.
void mfem::dsyevr_Eigensystem | ( | DenseMatrix & | a, |
Vector & | ev, | ||
DenseMatrix * | evect ) |
Definition at line 960 of file densemat.cpp.
void mfem::dsygv_Eigensystem | ( | DenseMatrix & | a, |
DenseMatrix & | b, | ||
Vector & | ev, | ||
DenseMatrix * | evect ) |
Definition at line 1221 of file densemat.cpp.
void mfem::dtrsm_ | ( | char * | side, |
char * | uplo, | ||
char * | transa, | ||
char * | diag, | ||
int * | m, | ||
int * | n, | ||
double * | alpha, | ||
double * | a, | ||
int * | lda, | ||
double * | b, | ||
int * | ldb ) |
void mfem::EliminateBC | ( | const HypreParMatrix & | A, |
const HypreParMatrix & | Ae, | ||
const Array< int > & | ess_dof_list, | ||
const Vector & | X, | ||
Vector & | B ) |
void mfem::EliminateBC | ( | PetscParMatrix & | A, |
PetscParMatrix & | Ae, | ||
const Array< int > & | ess_dof_list, | ||
const Vector & | X, | ||
Vector & | B ) |
void mfem::EliminateColumns | ( | HypreParMatrix & | D, |
const Array< int > & | ess_dofs ) |
Eliminates columns in the given HypreParMatrix.
This is similar to HypreParMatrix::EliminateBC, except that only the columns are eliminated.
Definition at line 23 of file discrete_divergence.cpp.
void mfem::EnsureCapacity | ( | Memory< T > & | mem, |
int | capacity ) |
Ensure that mem has at least capacity capacity.
If the capacity of mem is not large enough, delete it and allocate new memory with size capacity.
Definition at line 120 of file lor_batched.hpp.
VectorFunctionCoefficient mfem::EulerInitialCondition | ( | const int | problem, |
const real_t | specific_heat_ratio, | ||
const real_t | gas_constant ) |
GridFunction * mfem::Extrude1DGridFunction | ( | Mesh * | mesh, |
Mesh * | mesh2d, | ||
GridFunction * | sol, | ||
const int | ny ) |
Extrude a scalar 1D GridFunction, after extruding the mesh with Extrude1D.
Definition at line 4462 of file gridfunc.cpp.
Definition at line 30 of file lor_mms.hpp.
Definition at line 68 of file lor_mms.hpp.
void mfem::FillWithRandomRotations | ( | std::vector< real_t > & | x | ) |
This function creates random rotation matrices (3 x 3) and stores them in the vector. That means, x[0-8] is the first rotation matrix, x[9-17] is the second and so forth. Size of the vector determines the number of rotation that fit into the vector and should be a multiple of 9.
|
inline |
int mfem::FinalizeTransfer | ( | ) |
Finalize the par_moonolith library.
Definition at line 23 of file transfer.cpp.
int mfem::FmsDataCollectionToDataCollection | ( | FmsDataCollection | dc, |
DataCollection ** | mfem_dc ) |
In-memory conversion of FMS data collection to an MFEM data collection.
dc | The FMS data collection to convert. | |
[out] | mfem_dc | A pointer to a new MFEM DataCollection containing the FMS data. |
Definition at line 1386 of file fmsconvert.cpp.
int mfem::FmsFieldToGridFunction | ( | FmsMesh | fms_mesh, |
FmsField | f, | ||
Mesh * | mesh, | ||
GridFunction & | func, | ||
bool | setFE ) |
This function converts an FmsField to an MFEM GridFunction.
Definition at line 107 of file fmsconvert.cpp.
int mfem::FmsMeshToMesh | ( | FmsMesh | fms_mesh, |
Mesh ** | mfem_mesh ) |
Definition at line 452 of file fmsconvert.cpp.
bool mfem::FmsMetaDataGetInteger | ( | FmsMetaData | mdata, |
const std::string & | key, | ||
std::vector< int > & | values ) |
Definition at line 1172 of file fmsconvert.cpp.
bool mfem::FmsMetaDataGetScalar | ( | FmsMetaData | mdata, |
const std::string & | key, | ||
std::vector< double > & | values ) |
Definition at line 1273 of file fmsconvert.cpp.
bool mfem::FmsMetaDataGetString | ( | FmsMetaData | mdata, |
const std::string & | key, | ||
std::string & | value ) |
Definition at line 1338 of file fmsconvert.cpp.
|
inline |
Definition at line 754 of file forall.hpp.
|
inline |
Definition at line 763 of file forall.hpp.
|
inline |
Definition at line 769 of file forall.hpp.
|
inline |
Definition at line 775 of file forall.hpp.
|
inline |
Definition at line 781 of file forall.hpp.
|
inline |
Definition at line 757 of file forall.hpp.
|
inline |
The forall kernel body wrapper.
Definition at line 676 of file forall.hpp.
|
inline |
Definition at line 746 of file forall.hpp.
HypreParMatrix * mfem::FormDiscreteDivergenceMatrix | ( | ParFiniteElementSpace & | fes_rt, |
ParFiniteElementSpace & | fes_l2, | ||
const Array< int > & | ess_dofs ) |
Definition at line 169 of file discrete_divergence.cpp.
void mfem::FormElementToFace2D | ( | int | order, |
Array< int > & | element2face ) |
Definition at line 126 of file discrete_divergence.cpp.
void mfem::FormElementToFace3D | ( | int | order, |
Array< int > & | element2face ) |
Definition at line 144 of file discrete_divergence.cpp.
void mfem::GatherBlockOffsetData | ( | MPI_Comm | comm, |
const int | rank, | ||
const int | nprocs, | ||
const int | num_loc, | ||
const Array< int > & | offsets, | ||
std::vector< int > & | all_num_loc, | ||
const int | numBlocks, | ||
std::vector< std::vector< HYPRE_BigInt > > & | blockProcOffsets, | ||
std::vector< HYPRE_BigInt > & | procOffsets, | ||
std::vector< std::vector< int > > & | procBlockOffsets, | ||
HYPRE_BigInt & | firstLocal, | ||
HYPRE_BigInt & | globalNum ) |
Definition at line 930 of file solvers.cpp.
ErrorAction mfem::get_error_action | ( | ) |
IntegrationRule mfem::GetCollocatedIntRule | ( | FiniteElementSpace & | fes | ) |
Definition at line 500 of file lor_batched.cpp.
const char * mfem::GetConfigStr | ( | ) |
Return the MFEM configuration as a string.
Definition at line 66 of file version.cpp.
ElementDofOrdering mfem::GetEVectorOrdering | ( | const FiniteElementSpace & | fes | ) |
Return LEXICOGRAPHIC if mesh contains only one topology and the elements are tensor elements, otherwise, return NATIVE.
Definition at line 3719 of file fespace.cpp.
const char * mfem::GetGitStr | ( | ) |
Return the MFEM Git hash as a string.
Definition at line 59 of file version.cpp.
MPI_Comm mfem::GetGlobalMPI_Comm | ( | ) |
Get MFEM's "global" MPI communicator.
Definition at line 62 of file globals.cpp.
|
inline |
|
inline |
Return the configured HYPRE_MemoryLocation.
Definition at line 889 of file mem_manager.hpp.
|
inline |
|
inline |
int mfem::GetInverseOrientation_ | ( | int | orientation | ) |
Vector mfem::GetLVectorFaceNbrData | ( | const FiniteElementSpace & | fes, |
const Vector & | x, | ||
FaceType | ftype ) |
Return the face-neighbor data given the L-vector x.
If the input vector x is a ParGridFunction with non-empty face-neighbor data, return an alias to ParGridFunction::FaceNbrData() (avoiding an unneeded call to ParGridFunction::ExchangeFaceNbrData).
Otherwise, create a temporary ParGridFunction, exchange the face-neighbor data, and return the resulting vector.
If fes is not a parallel space, or if ftype is not FaceType::Interior, return an empty vector.
Definition at line 2285 of file restriction.cpp.
const IntegrationRule & mfem::GetMassIntRule | ( | FiniteElementSpace & | fes_l2 | ) |
Definition at line 58 of file hdiv_linear_solver.cpp.
MemoryClass mfem::GetMemoryClass | ( | const Memory< T > & | mem, |
bool | on_dev ) |
Return the memory class to be used by the functions Read(), Write(), and ReadWrite(), while setting the device use flag in mem, if on_dev is true.
Definition at line 302 of file device.hpp.
MemoryType mfem::GetMemoryType | ( | MemoryClass | mc | ) |
Return a suitable MemoryType for a given MemoryClass.
Definition at line 60 of file mem_manager.cpp.
std::unique_ptr< SpacingFunction > mfem::GetSpacingFunction | ( | const SpacingType | spacingType, |
Array< int > const & | ipar, | ||
Vector const & | dpar ) |
Returns a new SpacingFunction instance defined by the type and parameters.
Definition at line 17 of file spacing.cpp.
int mfem::GetVersion | ( | ) |
Return the MFEM version number as a single integer.
Definition at line 22 of file version.cpp.
int mfem::GetVersionMajor | ( | ) |
Return the MFEM major version number as an integer.
Definition at line 28 of file version.cpp.
int mfem::GetVersionMinor | ( | ) |
Return the MFEM minor version number as an integer.
Definition at line 34 of file version.cpp.
int mfem::GetVersionPatch | ( | ) |
Return the MFEM version patch number as an integer.
Definition at line 40 of file version.cpp.
const char * mfem::GetVersionStr | ( | ) |
Return the MFEM version number as a string.
Definition at line 46 of file version.cpp.
Compute a global Lp norm from the local Lp norms computed by each processor.
Definition at line 1224 of file pgridfunc.cpp.
void mfem::GMRES | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
int | m, | ||
real_t | rtol, | ||
real_t | atol ) |
GMRES method. (tolerances are squared)
Definition at line 1361 of file solvers.cpp.
int mfem::GMRES | ( | const Operator & | A, |
Vector & | x, | ||
const Vector & | b, | ||
Solver & | M, | ||
int & | max_iter, | ||
int | m, | ||
real_t & | tol, | ||
real_t | atol, | ||
int | printit ) |
GMRES method. (tolerances are squared)
Definition at line 1342 of file solvers.cpp.
void mfem::GmshHOHexahedronMapping | ( | int | order, |
int * | map ) |
Generate Gmsh vertex mapping for a Hexahedron.
void mfem::GmshHOPyramidMapping | ( | int | order, |
int * | map ) |
void mfem::GmshHOQuadrilateralMapping | ( | int | order, |
int * | map ) |
Generate Gmsh vertex mapping for a Quadrilateral.
void mfem::GmshHOSegmentMapping | ( | int | order, |
int * | map ) |
void mfem::GmshHOTetrahedronMapping | ( | int | order, |
int * | map ) |
Generate Gmsh vertex mapping for a Tetrahedron.
void mfem::GmshHOTriangleMapping | ( | int | order, |
int * | map ) |
void mfem::GmshHOWedgeMapping | ( | int | order, |
int * | map ) |
int mfem::GridFunctionToFmsField | ( | FmsDataCollection | dc, |
FmsComponent | comp, | ||
const std::string & | fd_name, | ||
const std::string & | field_name, | ||
const Mesh * | mesh, | ||
const GridFunction * | gf, | ||
FmsField * | outfield ) |
Definition at line 948 of file fmsconvert.cpp.
bool mfem::HashGridDetectIntersections | ( | const Mesh & | src, |
const Mesh & | dest, | ||
std::vector< moonolith::Integer > & | pairs ) |
Definition at line 113 of file mortarassembler.cpp.
bool mfem::HasIntegrators | ( | BilinearForm & | a | ) |
Definition at line 27 of file lor_batched.cpp.
void mfem::HipCheckLastError | ( | ) |
int mfem::HipGetDeviceCount | ( | ) |
void * mfem::HipMallocManaged | ( | void ** | dptr, |
size_t | bytes ) |
void * mfem::HipMemAlloc | ( | void ** | dptr, |
size_t | bytes ) |
void * mfem::HipMemAllocHostPinned | ( | void ** | ptr, |
size_t | bytes ) |
void * mfem::HipMemcpyDtoD | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::HipMemcpyDtoDAsync | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::HipMemcpyDtoH | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::HipMemcpyDtoHAsync | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::HipMemcpyHtoD | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::HipMemcpyHtoDAsync | ( | void * | dst, |
const void * | src, | ||
size_t | bytes ) |
void * mfem::HipMemFreeHostPinned | ( | void * | ptr | ) |
void mfem::HipWrap1D | ( | const int | N, |
DBODY && | d_body ) |
Definition at line 605 of file forall.hpp.
void mfem::HipWrap2D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | BZ ) |
Definition at line 614 of file forall.hpp.
void mfem::HipWrap3D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | Z, | ||
const int | G ) |
Definition at line 625 of file forall.hpp.
|
inline |
Shortcut to Read(const Memory<T> &mem, int size, false)
Definition at line 327 of file device.hpp.
|
inline |
Shortcut to ReadWrite(Memory<T> &mem, int size, false)
Definition at line 361 of file device.hpp.
|
inline |
Shortcut to Write(const Memory<T> &mem, int size, false)
Definition at line 344 of file device.hpp.
|
inline |
Definition at line 823 of file forall.hpp.
|
inline |
Definition at line 792 of file forall.hpp.
|
inline |
Definition at line 804 of file forall.hpp.
HypreParMatrix * mfem::HypreParMatrixFromBlocks | ( | Array2D< const HypreParMatrix * > & | blocks, |
Array2D< real_t > * | blockCoeff = NULL ) |
Returns a merged hypre matrix constructed from hypre matrix blocks.
It is assumed that all block matrices use the same communicator, and the block sizes are consistent in rows and columns. Rows and columns are renumbered but not redistributed in parallel, e.g. the block rows owned by each process remain on that process in the resulting matrix. Some blocks can be NULL. Each block and the entire system can be rectangular. Scalability to extremely large processor counts is limited by global MPI communication, see GatherBlockOffsetData() in hypre.cpp.
MFEM_DEPRECATED HypreParMatrix * mfem::HypreParMatrixFromBlocks | ( | Array2D< HypreParMatrix * > & | blocks, |
Array2D< real_t > * | blockCoeff ) |
void mfem::HypreStealOwnership | ( | HypreParMatrix & | A_hyp, |
SparseMatrix & | A_diag ) |
Make A_hyp steal ownership of its diagonal part A_diag.
If A_hyp does not own I and J, then they are aliases pointing to the I and J arrays in A_diag. In that case, this function swaps the memory objects. Similarly for the data array.
After this function is called, A_hyp will own all of the arrays of its diagonal part.
|
inline |
Return true if HYPRE is configured to use GPU.
Definition at line 903 of file mem_manager.hpp.
|
inline |
Define a shortcut for std::numeric_limits<double>::infinity()
Definition at line 45 of file vector.hpp.
void mfem::InitTransfer | ( | int | argc, |
char * | argv[] ) |
Initializes the par_moonolith library. It also calls MPI_Init.
argc | Standard argument passed to the main function. |
argv | Standard argument passed to the main function. |
Definition at line 19 of file transfer.cpp.
void mfem::InitTransfer | ( | int | argc, |
char * | argv[], | ||
MPI_Comm | comm ) |
Initializes the transfer library. It does not call MPI_Init, but uses the communicator defined by the user. This method can be called only after MPI_Init.
argc | Standard argument passed to the main function. |
argv | Standard argument passed to the main function. |
comm | The user defined communicator. |
Definition at line 26 of file transfer.cpp.
Returns the inner product of x and y.
In parallel this computes the inner product of the local vectors, producing different results on each MPI rank.
Definition at line 705 of file vector.hpp.
real_t mfem::InnerProduct | ( | HypreParVector & | x, |
HypreParVector & | y ) |
real_t mfem::InnerProduct | ( | HypreParVector * | x, |
HypreParVector * | y ) |
Returns the inner product of x and y in parallel.
In parallel this computes the inner product of the global vectors, producing identical results on each MPI rank.
Definition at line 715 of file vector.hpp.
NURBSPatch * mfem::Interpolate | ( | NURBSPatch & | p1, |
NURBSPatch & | p2 ) |
void mfem::InterpolateTMOP_QualityMetric | ( | TMOP_QualityMetric & | metric, |
const TargetConstructor & | tc, | ||
const Mesh & | mesh, | ||
GridFunction & | metric_gf ) |
Interpolates the metric's values at the nodes of metric_gf.
Assumes that metric_gf's FiniteElementSpace is initialized.
void mfem::InvertLinearTrans | ( | ElementTransformation & | trans, |
const IntegrationPoint & | pt, | ||
Vector & | x ) |
Definition at line 748 of file fe_base.cpp.
|
inline |
Return true if the given memory type is in MemoryClass::DEVICE.
Definition at line 95 of file mem_manager.hpp.
|
inline |
Definition at line 507 of file vector.hpp.
|
inline |
Return true if the given memory type is in MemoryClass::HOST.
Definition at line 92 of file mem_manager.hpp.
|
inline |
Returns true if P is the identity prolongation, i.e. if it is either NULL or an IdentityOperator.
Definition at line 720 of file operator.hpp.
int mfem::isValidAsDouble | ( | char * | s | ) |
Definition at line 51 of file optparser.cpp.
int mfem::isValidAsInt | ( | char * | s | ) |
Definition at line 22 of file optparser.cpp.
|
inline |
|
inline |
Definition at line 138 of file lor_util.hpp.
|
inline |
Definition at line 148 of file lor_util.hpp.
|
inline |
Definition at line 210 of file lor_util.hpp.
void mfem::Jt_J_detJinv_i_function | ( | const Vector & | x, |
CartesianPML * | pml, | ||
DenseMatrix & | M ) |
void mfem::Jt_J_detJinv_r_function | ( | const Vector & | x, |
CartesianPML * | pml, | ||
DenseMatrix & | M ) |
void mfem::KdTreeSort | ( | int ** | coords, |
int | d, | ||
int | dim, | ||
int | size ) |
Definition at line 1362 of file communication.cpp.
real_t mfem::L2ZZErrorEstimator | ( | BilinearFormIntegrator & | flux_integrator, |
const ParGridFunction & | x, | ||
ParFiniteElementSpace & | smooth_flux_fes, | ||
ParFiniteElementSpace & | flux_fes, | ||
Vector & | errors, | ||
int | norm_p = 2, | ||
real_t | solver_tol = 1e-12, | ||
int | solver_max_it = 200 ) |
Performs a global L2 projection (through a HypreBoomerAMG solve) of flux from supplied discontinuous space into supplied smooth (continuous, or at least conforming) space, and computes the Lp norms of the differences between them on each element. This is one approach to handling conforming and non-conforming elements in parallel. Returns the total error estimate.
Definition at line 1298 of file pgridfunc.cpp.
bool mfem::LinearSolve | ( | DenseMatrix & | A, |
real_t * | X, | ||
real_t | TOL = 1.e-9 ) |
Solves the dense linear system, A * X = B
for X
[in,out] | A | the square matrix for the linear system |
[in,out] | X | the rhs vector, B, on input, the solution, X, on output. |
[in] | TOL | optional fuzzy comparison tolerance. Defaults to 1e-9. |
Definition at line 2455 of file densemat.cpp.
|
inline |
Definition at line 36 of file lor_util.hpp.
|
inline |
Definition at line 75 of file lor_util.hpp.
real_t mfem::LpNormLoop | ( | real_t | p, |
Coefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] ) |
Definition at line 1393 of file coefficient.cpp.
real_t mfem::LpNormLoop | ( | real_t | p, |
VectorCoefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] ) |
Definition at line 1424 of file coefficient.cpp.
real_t mfem::LSZZErrorEstimator | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
Vector & | error_estimates, | ||
bool | subdomain_reconstruction = true, | ||
bool | with_coeff = false, | ||
real_t | tichonov_coeff = 0.0 ) |
A `‘true’' ZZ error estimator that uses face-based patches for flux reconstruction.
Only two-element face patches are ever used:
Definition at line 4188 of file gridfunc.cpp.
HypreParMatrix * mfem::MakeDiagonalMatrix | ( | Vector & | diag, |
const ParFiniteElementSpace & | fes ) |
Return a new HypreParMatrix with given diagonal entries.
Definition at line 28 of file hdiv_linear_solver.cpp.
std::string mfem::MakeParFilename | ( | const std::string & | prefix, |
const int | myid, | ||
const std::string | suffix = "", | ||
const int | width = 6 ) |
Construct a string of the form "<prefix><myid><suffix>" where the integer myid is padded with leading zeros to be at least width digits long.
This is a convenience function, e.g. to redirect mfem::out to individual files for each rank, one can use:
Definition at line 43 of file globals.cpp.
Definition at line 506 of file fespace.cpp.
bool mfem::MemoryClassContainsType | ( | MemoryClass | mc, |
MemoryType | mt ) |
Return true iff the MemoryType mt is contained in the MemoryClass mc.
Definition at line 75 of file mem_manager.cpp.
void mfem::MemoryPrintFlags | ( | unsigned | flags | ) |
Print the state of a Memory object based on its internal flags. Useful in a debugger. See also Memory<T>::PrintFlags().
Definition at line 1688 of file mem_manager.cpp.
int mfem::MeshToFmsMesh | ( | const Mesh * | mmesh, |
FmsMesh * | fmesh, | ||
FmsComponent * | volume ) |
Definition at line 1531 of file fmsconvert.cpp.
void mfem::mfem_cuda_error | ( | cudaError_t | err, |
const char * | expr, | ||
const char * | func, | ||
const char * | file, | ||
int | line ) |
void mfem::mfem_hip_error | ( | hipError_t | err, |
const char * | expr, | ||
const char * | func, | ||
const char * | file, | ||
int | line ) |
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | bool | , |
TC_IDEAL_SHAPE_GIVEN_SIZE_2D_KERNEL | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const DenseMatrix & | w_, | ||
const Vector & | x_, | ||
DenseTensor & | j_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 53 of file tmop_pa_tc2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | bool | , |
TC_IDEAL_SHAPE_GIVEN_SIZE_3D_KERNEL | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const DenseMatrix & | w_, | ||
const Vector & | x_, | ||
DenseTensor & | j_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 54 of file tmop_pa_tc3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | bool | , |
TC_IDEAL_SHAPE_UNIT_SIZE_2D_KERNEL | , | ||
const int | NE, | ||
const DenseMatrix & | w_, | ||
DenseTensor & | j_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 24 of file tmop_pa_tc2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | bool | , |
TC_IDEAL_SHAPE_UNIT_SIZE_3D_KERNEL | , | ||
const int | NE, | ||
const DenseMatrix & | w_, | ||
DenseTensor & | j_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 23 of file tmop_pa_tc3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | real_t | , |
EnergyPA_2D | , | ||
const real_t | metric_normal, | ||
const Vector & | mc_, | ||
const Array< real_t > & | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const Vector & | x_, | ||
const Vector & | ones, | ||
Vector & | energy, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 74 of file tmop_pa_w2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | real_t | , |
EnergyPA_3D | , | ||
const real_t | metric_normal, | ||
const Vector & | mc_, | ||
const Array< real_t > & | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const Vector & | ones, | ||
const Vector & | x_, | ||
Vector & | energy, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 83 of file tmop_pa_w3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | real_t | , |
EnergyPA_C0_2D | , | ||
const real_t | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | bld_, | ||
const Vector & | x0_, | ||
const Vector & | x1_, | ||
const Vector & | ones, | ||
Vector & | energy, | ||
const bool | exp_lim, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_w2_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | real_t | , |
EnergyPA_C0_3D | , | ||
const real_t | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | bld_, | ||
const Vector & | x0_, | ||
const Vector & | x1_, | ||
const Vector & | ones, | ||
Vector & | energy, | ||
const bool | exp_lim, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_w3_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | real_t | , |
MinDetJpr_Kernel_2D | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const Vector & | x_, | ||
Vector & | DetJ, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_jp2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | real_t | , |
MinDetJpr_Kernel_3D | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const Vector & | x_, | ||
Vector & | DetJ, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_jp3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultGradPA_Kernel_2D | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const DenseTensor & | j_, | ||
const Vector & | h_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 20 of file tmop_pa_h2m.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultGradPA_Kernel_3D | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const DenseTensor & | j_, | ||
const Vector & | h_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 20 of file tmop_pa_h3m.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultGradPA_Kernel_C0_2D | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Vector & | h0_, | ||
const Vector & | r_, | ||
Vector & | c_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_h2m_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultGradPA_Kernel_C0_3D | , | ||
const int | NE, | ||
const Array< real_t > & | b_, | ||
const Vector & | h0_, | ||
const Vector & | r_, | ||
Vector & | c_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_h3m_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultPA_Kernel_2D | , | ||
const real_t | metric_normal, | ||
const Vector & | mc_, | ||
const Array< real_t > & | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 99 of file tmop_pa_p2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultPA_Kernel_3D | , | ||
const real_t | metric_normal, | ||
const Vector & | mc_, | ||
const Array< real_t > & | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 132 of file tmop_pa_p3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultPA_Kernel_C0_2D | , | ||
const real_t | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | bld_, | ||
const Vector & | x0_, | ||
const Vector & | x1_, | ||
Vector & | y_, | ||
const bool | exp_lim, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_p2_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultPA_Kernel_C0_3D | , | ||
const real_t | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | bld_, | ||
const Vector & | x0_, | ||
const Vector & | x1_, | ||
Vector & | y_, | ||
const bool | exp_lim, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_p3_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AssembleDiagonalPA_Kernel_2D | , | ||
const int | NE, | ||
const Array< real_t > & | b, | ||
const Array< real_t > & | g, | ||
const DenseTensor & | j, | ||
const Vector & | h, | ||
Vector & | diagonal, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 51 of file tmop_pa_h2d.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AssembleDiagonalPA_Kernel_3D | , | ||
const int | NE, | ||
const Array< real_t > & | b, | ||
const Array< real_t > & | g, | ||
const DenseTensor & | j, | ||
const Vector & | h, | ||
Vector & | diagonal, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 20 of file tmop_pa_h3d.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AssembleDiagonalPA_Kernel_C0_2D | , | ||
const int | NE, | ||
const Array< real_t > & | b, | ||
const Vector & | h0, | ||
Vector & | diagonal, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 20 of file tmop_pa_h2d_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AssembleDiagonalPA_Kernel_C0_3D | , | ||
const int | NE, | ||
const Array< real_t > & | b, | ||
const Vector & | h0, | ||
Vector & | diagonal, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 20 of file tmop_pa_h3d_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
DatcSize | , | ||
const int | NE, | ||
const int | ncomp, | ||
const int | sizeidx, | ||
const real_t | input_min_size, | ||
const DenseMatrix & | w_, | ||
const Array< real_t > & | b_, | ||
const Vector & | x_, | ||
const Vector & | nc_reduce, | ||
DenseTensor & | j_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 20 of file tmop_pa_da3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
SetupGradPA_2D | , | ||
const Vector & | x_, | ||
const real_t | metric_normal, | ||
const Vector & | mc_, | ||
const Array< real_t > & | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const DenseTensor & | j_, | ||
Vector & | h_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 258 of file tmop_pa_h2s.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
SetupGradPA_3D | , | ||
const real_t | metric_normal, | ||
const Vector & | mc_, | ||
const Array< real_t > & | metric_param, | ||
const int | mid, | ||
const Vector & | x_, | ||
const int | NE, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | g_, | ||
const DenseTensor & | j_, | ||
Vector & | h_, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 313 of file tmop_pa_h3s.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
SetupGradPA_C0_2D | , | ||
const real_t | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | bld_, | ||
const Vector & | x0_, | ||
const Vector & | x1_, | ||
Vector & | h0_, | ||
const bool | exp_lim, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_h2s_c0.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
SetupGradPA_Kernel_C0_3D | , | ||
const real_t | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< real_t > & | w_, | ||
const Array< real_t > & | b_, | ||
const Array< real_t > & | bld_, | ||
const Vector & | x0_, | ||
const Vector & | x1_, | ||
Vector & | h0_, | ||
const bool | exp_lim, | ||
const int | d1d, | ||
const int | q1d ) |
Definition at line 21 of file tmop_pa_h3s_c0.cpp.
void mfem::MFEMInitializePetsc | ( | ) |
void mfem::MFEMInitializePetsc | ( | int * | argc, |
char *** | argv ) |
void mfem::MFEMInitializePetsc | ( | int * | argc, |
char *** | argv, | ||
const char | rc_file[], | ||
const char | help[] ) |
void mfem::MFEMInitializeSlepc | ( | int * | argc, |
char *** | argv ) |
void mfem::MFEMInitializeSlepc | ( | int * | argc, |
char *** | argv, | ||
const char | rc_file[], | ||
const char | help[] ) |
bool mfem::MfemMetaDataToFmsMetaData | ( | DataCollection * | mdc, |
FmsDataCollection | fdc ) |
Definition at line 1100 of file fmsconvert.cpp.
void mfem::MinimumDiscardedFillOrdering | ( | SparseMatrix & | C, |
Array< int > & | p ) |
Definition at line 2642 of file solvers.cpp.
void mfem::MINRES | ( | const Operator & | A, |
const Vector & | b, | ||
Vector & | x, | ||
int | print_it, | ||
int | max_it, | ||
real_t | rtol, | ||
real_t | atol ) |
MINRES method without preconditioner. (tolerances are squared)
Definition at line 1782 of file solvers.cpp.
void mfem::MINRES | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_it, | ||
int | max_it, | ||
real_t | rtol, | ||
real_t | atol ) |
MINRES method with preconditioner. (tolerances are squared)
Definition at line 1796 of file solvers.cpp.
BlockMatrix * mfem::Mult | ( | const BlockMatrix & | A, |
const BlockMatrix & | B ) |
Multiply BlockMatrix matrices: result = A*B.
Definition at line 685 of file blockmatrix.cpp.
ComplexDenseMatrix * mfem::Mult | ( | const ComplexDenseMatrix & | A, |
const ComplexDenseMatrix & | B ) |
Matrix matrix multiplication. A = B * C.
Definition at line 308 of file complex_densemat.cpp.
void mfem::Mult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a ) |
Matrix matrix multiplication. A = B * C.
Definition at line 2503 of file densemat.cpp.
SparseMatrix * mfem::Mult | ( | const SparseMatrix & | A, |
const SparseMatrix & | B, | ||
SparseMatrix * | OAB = NULL ) |
Matrix product A.B.
If OAB is not NULL, we assume it has the structure of A.B and store the result in OAB. If OAB is NULL, we create a new SparseMatrix to store the result and return a pointer to it.
All matrices must be finalized.
Definition at line 3740 of file sparsemat.cpp.
DenseMatrix * mfem::Mult | ( | const SparseMatrix & | A, |
DenseMatrix & | B ) |
Matrix product A.B.
Definition at line 3973 of file sparsemat.cpp.
|
inline |
Definition at line 437 of file ttensor.hpp.
|
inline |
Definition at line 460 of file ttensor.hpp.
void mfem::Mult_a_AAt | ( | real_t | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt ) |
AAt = a * A * A^t.
Definition at line 3332 of file densemat.cpp.
|
inline |
Definition at line 230 of file tmatrix.hpp.
SparseMatrix * mfem::Mult_AtDA | ( | const SparseMatrix & | A, |
const Vector & | D, | ||
SparseMatrix * | OAtDA ) |
Matrix multiplication A^t D A. All matrices must be finalized.
Definition at line 4031 of file sparsemat.cpp.
void mfem::MultAAt | ( | const DenseMatrix & | a, |
DenseMatrix & | aat ) |
Calculate the matrix A.At.
Definition at line 2828 of file densemat.cpp.
SparseMatrix * mfem::MultAbstractSparseMatrix | ( | const AbstractSparseMatrix & | A, |
const AbstractSparseMatrix & | B ) |
Matrix product of sparse matrices. A and B do not need to be CSR matrices.
Definition at line 3876 of file sparsemat.cpp.
void mfem::MultABt | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | ABt ) |
Multiply a matrix A with the transpose of a matrix B: A*Bt.
Definition at line 2890 of file densemat.cpp.
void mfem::MultADAt | ( | const DenseMatrix & | A, |
const Vector & | D, | ||
DenseMatrix & | ADAt ) |
ADAt = A D A^t, where D is diagonal.
Definition at line 2874 of file densemat.cpp.
void mfem::MultADBt | ( | const DenseMatrix & | A, |
const Vector & | D, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | ADBt ) |
ADBt = A D B^t, where D is diagonal.
Definition at line 2959 of file densemat.cpp.
ComplexDenseMatrix * mfem::MultAtB | ( | const ComplexDenseMatrix & | A, |
const ComplexDenseMatrix & | B ) |
Multiply the complex conjugate transpose of a matrix A with a matrix B. A^H*B.
Definition at line 371 of file complex_densemat.cpp.
void mfem::MultAtB | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | AtB ) |
Multiply the transpose of a matrix A with a matrix B: At*B.
Definition at line 3159 of file densemat.cpp.
void mfem::MultVVt | ( | const Vector & | v, |
DenseMatrix & | vvt ) |
Make a matrix from a vector V.Vt.
Definition at line 3348 of file densemat.cpp.
void mfem::MultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt ) |
Definition at line 3359 of file densemat.cpp.
std::shared_ptr< Cut > mfem::NewCut | ( | const int | dim | ) |
occa::device & mfem::OccaDev | ( | ) |
const occa::memory mfem::OccaMemoryRead | ( | const Memory< T > & | mem, |
size_t | size ) |
Wrap a Memory object as occa::memory for read only access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM.
occa::memory mfem::OccaMemoryReadWrite | ( | Memory< T > & | mem, |
size_t | size ) |
Wrap a Memory object as occa::memory for read-write access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM.
occa::memory mfem::OccaMemoryWrap | ( | void * | ptr, |
std::size_t | bytes ) |
Wrap a pointer as occa::memory with the default occa::device used by MFEM.
It is assumed that ptr is suitable for use with the current mfem::Device configuration.
occa::memory mfem::OccaMemoryWrite | ( | Memory< T > & | mem, |
size_t | size ) |
Wrap a Memory object as occa::memory for write only access with the mfem::Device MemoryClass. The returned occa::memory is associated with the default occa::device used by MFEM.
void mfem::OmpWrap | ( | const int | N, |
HBODY && | h_body ) |
OpenMP backend.
Definition at line 209 of file forall.hpp.
|
constexpr |
Definition at line 51 of file config.hpp.
|
constexpr |
Definition at line 57 of file config.hpp.
|
inline |
Definition at line 2301 of file coefficient.hpp.
MemoryClass mfem::operator* | ( | MemoryClass | mc1, |
MemoryClass | mc2 ) |
Return a suitable MemoryClass from a pair of MemoryClasses.
Note: this operation is commutative, i.e. a*b = b*a, associative, i.e. (a*b)*c = a*(b*c), and has an identity element: MemoryClass::HOST.
Currently, the operation is defined as a*b := max(a,b) where the max operation is based on the enumeration ordering:
HOST < HOST_32 < HOST_64 < DEVICE < MANAGED.
Definition at line 130 of file mem_manager.cpp.
|
inline |
Definition at line 549 of file pncmesh.hpp.
bool mfem::operator< | ( | const Pair< A, B > & | p, |
const Pair< A, B > & | q ) |
Comparison operator for class Pair, based on the first element only.
Definition at line 36 of file sort_pairs.hpp.
bool mfem::operator< | ( | const ParNCMesh::CommGroup & | lhs, |
const ParNCMesh::CommGroup & | rhs ) |
Definition at line 372 of file pncmesh.cpp.
bool mfem::operator< | ( | const Triple< A, B, C > & | p, |
const Triple< A, B, C > & | q ) |
Lexicographic comparison operator for class Triple.
Definition at line 72 of file sort_pairs.hpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const GridFunction & | sol ) |
Overload operator<< for std::ostream and GridFunction; valid also for the derived class ParGridFunction
Definition at line 3862 of file gridfunc.cpp.
std::ostream & mfem::operator<< | ( | std::ostream & | os, |
const Mesh & | mesh ) |
std::ostream & mfem::operator<< | ( | std::ostream & | os, |
const Mesh::FaceInformation & | info ) |
Print function for Mesh::FaceInformation.
|
inline |
Definition at line 716 of file sparsemat.hpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const QuadratureFunction & | qf ) |
Overload operator<< for std::ostream and QuadratureFunction.
|
inline |
Definition at line 156 of file arrays_by_name.hpp.
|
inline |
Definition at line 555 of file pncmesh.hpp.
bool mfem::operator== | ( | const Pair< A, B > & | p, |
const Pair< A, B > & | q ) |
Equality operator for class Pair, based on the first element only.
Definition at line 43 of file sort_pairs.hpp.
|
inline |
Definition at line 2296 of file coefficient.hpp.
int mfem::order_multiplier | ( | const Geometry::Type | type, |
const int | dim ) |
Definition at line 164 of file mortarassembler.cpp.
void mfem::Ordering::DofsToVDofs< Ordering::byNODES > | ( | int | ndofs, |
int | vdim, | ||
Array< int > & | dofs ) |
Definition at line 28 of file fespace.cpp.
void mfem::Ordering::DofsToVDofs< Ordering::byVDIM > | ( | int | ndofs, |
int | vdim, | ||
Array< int > & | dofs ) |
Definition at line 43 of file fespace.cpp.
|
inline |
Definition at line 58 of file fespace.hpp.
|
inline |
Definition at line 65 of file fespace.hpp.
DenseMatrix * mfem::OuterProduct | ( | const DenseMatrix & | A, |
const DenseMatrix & | B ) |
Produces a block matrix with blocks A_{ij}*B.
Definition at line 4175 of file sparsemat.cpp.
SparseMatrix * mfem::OuterProduct | ( | const DenseMatrix & | A, |
const SparseMatrix & | B ) |
Produces a block matrix with blocks A_{ij}*B.
Definition at line 4193 of file sparsemat.cpp.
SparseMatrix * mfem::OuterProduct | ( | const SparseMatrix & | A, |
const DenseMatrix & | B ) |
Produces a block matrix with blocks A_{ij}*B.
Definition at line 4222 of file sparsemat.cpp.
SparseMatrix * mfem::OuterProduct | ( | const SparseMatrix & | A, |
const SparseMatrix & | B ) |
Produces a block matrix with blocks A_{ij}*B.
Definition at line 4251 of file sparsemat.cpp.
HypreParMatrix * mfem::ParAdd | ( | const HypreParMatrix * | A, |
const HypreParMatrix * | B ) |
SparseMatrix * mfem::ParBuildNormalConstraints | ( | ParFiniteElementSpace & | fespace, |
Array< int > & | constrained_att, | ||
Array< int > & | constraint_rowstarts ) |
Parallel wrapper for BuildNormalConstraints.
Definition at line 947 of file constraints.cpp.
HypreParMatrix * mfem::ParMult | ( | const HypreParMatrix * | A, |
const HypreParMatrix * | B, | ||
bool | own_matrix = false ) |
PetscParMatrix * mfem::ParMult | ( | const PetscParMatrix * | A, |
const PetscParMatrix * | B ) |
void mfem::parseArray | ( | char * | str, |
Array< int > & | var ) |
Definition at line 117 of file optparser.cpp.
void mfem::parseVector | ( | char * | str, |
Vector & | var ) |
Definition at line 128 of file optparser.cpp.
void mfem::PCG | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
real_t | RTOLERANCE, | ||
real_t | ATOLERANCE ) |
Preconditioned conjugate gradient method. (tolerances are squared)
Definition at line 913 of file solvers.cpp.
int mfem::PermuteFaceL2 | ( | const int | dim, |
const int | face_id1, | ||
const int | face_id2, | ||
const int | orientation, | ||
const int | size1d, | ||
const int | index ) |
Compute the dof face index of elem2 corresponding to the given dof face index.
[in] | dim | The dimension of the element, 2 for quad, 3 for hex |
[in] | face_id1 | The local face identifier of elem1 |
[in] | face_id2 | The local face identifier of elem2 |
[in] | orientation | The orientation of elem2 relative to elem1 on the face |
[in] | size1d | The 1D number of degrees of freedom for each dimension |
[in] | index | The dof index on elem1 |
Definition at line 910 of file restriction.cpp.
|
inline |
Definition at line 705 of file ncmesh.cpp.
|
inline |
Definition at line 708 of file ncmesh.cpp.
void mfem::ProjectLORCoefficient | ( | BilinearForm & | a, |
CoefficientVector & | coeff_vector ) |
Definition at line 150 of file lor_batched.hpp.
void mfem::RajaCuWrap1D | ( | const int | N, |
DBODY && | d_body ) |
Definition at line 246 of file forall.hpp.
void mfem::RajaCuWrap2D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | BZ ) |
Definition at line 253 of file forall.hpp.
void mfem::RajaCuWrap3D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | Z, | ||
const int | G ) |
Definition at line 288 of file forall.hpp.
void mfem::RajaHipWrap1D | ( | const int | N, |
DBODY && | d_body ) |
Definition at line 348 of file forall.hpp.
void mfem::RajaHipWrap2D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | BZ ) |
Definition at line 355 of file forall.hpp.
void mfem::RajaHipWrap3D | ( | const int | N, |
DBODY && | d_body, | ||
const int | X, | ||
const int | Y, | ||
const int | Z, | ||
const int | G ) |
Definition at line 390 of file forall.hpp.
void mfem::RajaOmpWrap | ( | const int | N, |
HBODY && | h_body ) |
RAJA OpenMP backend.
Definition at line 452 of file forall.hpp.
void mfem::RajaSeqWrap | ( | const int | N, |
HBODY && | h_body ) |
RAJA sequential loop backend.
Definition at line 462 of file forall.hpp.
|
inline |
Generate a random real_t
number in the interval [0,1) using rand().
Definition at line 59 of file vector.hpp.
void mfem::RAP | ( | const DenseMatrix & | A, |
const DenseMatrix & | P, | ||
DenseMatrix & | RAP ) |
Computes matrix P^t * A * P. Note: The RAP matrix will be resized to accommodate the data
Definition at line 3464 of file densemat.cpp.
void mfem::RAP | ( | const DenseMatrix & | Rt, |
const DenseMatrix & | A, | ||
const DenseMatrix & | P, | ||
DenseMatrix & | RAP ) |
Computes the matrix Rt^t * A * P. Note: The RAP matrix will be resized to accommodate the data
Definition at line 3472 of file densemat.cpp.
HypreParMatrix * mfem::RAP | ( | const HypreParMatrix * | A, |
const HypreParMatrix * | P ) |
HypreParMatrix * mfem::RAP | ( | const HypreParMatrix * | Rt, |
const HypreParMatrix * | A, | ||
const HypreParMatrix * | P ) |
SparseMatrix * mfem::RAP | ( | const SparseMatrix & | A, |
const SparseMatrix & | R, | ||
SparseMatrix * | ORAP = NULL ) |
RAP matrix product (with P=R^T). ORAP is like OAB above. All matrices must be finalized.
Definition at line 4009 of file sparsemat.cpp.
DenseMatrix * mfem::RAP | ( | const SparseMatrix & | A, |
DenseMatrix & | P ) |
RAP matrix product (with R=P^T)
Definition at line 3986 of file sparsemat.cpp.
SparseMatrix * mfem::RAP | ( | const SparseMatrix & | Rt, |
const SparseMatrix & | A, | ||
const SparseMatrix & | P ) |
General RAP with given R^T, A and P.
Definition at line 4020 of file sparsemat.cpp.
DenseMatrix * mfem::RAP | ( | DenseMatrix & | A, |
const SparseMatrix & | P ) |
RAP matrix product (with R=P^T)
Definition at line 3996 of file sparsemat.cpp.
PetscParMatrix * mfem::RAP | ( | HypreParMatrix * | hA, |
PetscParMatrix * | P ) |
PetscParMatrix * mfem::RAP | ( | PetscParMatrix * | A, |
PetscParMatrix * | P ) |
PetscParMatrix * mfem::RAP | ( | PetscParMatrix * | Rt, |
PetscParMatrix * | A, | ||
PetscParMatrix * | P ) |
|
inline |
Get a pointer for read access to mem with the mfem::Device's DeviceMemoryClass, if on_dev = true, or the mfem::Device's HostMemoryClass, otherwise.
Also, if on_dev = true, the device flag of mem will be set.
Definition at line 320 of file device.hpp.
|
inline |
Get a pointer for read+write access to mem with the mfem::Device's DeviceMemoryClass, if on_dev = true, or the mfem::Device's HostMemoryClass, otherwise.
Also, if on_dev = true, the device flag of mem will be set.
Definition at line 354 of file device.hpp.
void mfem::Reciprocal | ( | Vector & | x | ) |
Replace x[i] with 1.0/x[i] for all i.
Definition at line 20 of file hdiv_linear_solver.cpp.
ElementTransformation * mfem::RefinedToCoarse | ( | Mesh & | coarse_mesh, |
const ElementTransformation & | T, | ||
const IntegrationPoint & | ip, | ||
IntegrationPoint & | coarse_ip ) |
Definition at line 27 of file coefficient.cpp.
MPI_Comm mfem::ReorderRanksZCurve | ( | MPI_Comm | comm | ) |
Reorder MPI ranks to follow the Z-curve within the physical machine topology (provided that functions to query physical node coordinates are available). Returns a new communicator with reordered ranks.
Definition at line 1393 of file communication.cpp.
|
inline |
Wrap a pointer as a DeviceTensor with automatically deduced template parameters.
Definition at line 131 of file dtensor.hpp.
NURBSPatch * mfem::Revolve3D | ( | NURBSPatch & | patch, |
real_t | n[], | ||
real_t | ang, | ||
int | times ) |
void mfem::set_error_action | ( | ErrorAction | action | ) |
void mfem::SetGlobalMPI_Comm | ( | MPI_Comm | comm | ) |
Set MFEM's "global" MPI communicator.
Definition at line 67 of file globals.cpp.
|
inline |
Definition at line 162 of file lor_util.hpp.
void mfem::sgemv_ | ( | char * | , |
int * | , | ||
int * | , | ||
float * | , | ||
float * | , | ||
int * | , | ||
float * | , | ||
int * | , | ||
float * | , | ||
float * | , | ||
int * | ) |
void mfem::sgeqrf_ | ( | int * | , |
int * | , | ||
float * | , | ||
int * | , | ||
float * | , | ||
float * | , | ||
int * | , | ||
int * | ) |
|
inline |
|
inline |
void mfem::SLI | ( | const Operator & | A, |
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
real_t | RTOLERANCE, | ||
real_t | ATOLERANCE ) |
Stationary linear iteration. (tolerances are squared)
Definition at line 677 of file solvers.cpp.
void mfem::SLI | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
real_t | RTOLERANCE, | ||
real_t | ATOLERANCE ) |
Preconditioned stationary linear iteration. (tolerances are squared)
Definition at line 692 of file solvers.cpp.
|
inline |
Definition at line 40 of file tmatrix.hpp.
void mfem::sormqr_ | ( | char * | , |
char * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
float * | , | ||
int * | , | ||
float * | , | ||
float * | , | ||
int * | , | ||
float * | , | ||
int * | , | ||
int * | ) |
|
inline |
Definition at line 34 of file stable3d.cpp.
void mfem::SortPairs | ( | Pair< A, B > * | pairs, |
int | size ) |
Sort an array of Pairs with respect to the first element.
Definition at line 50 of file sort_pairs.hpp.
void mfem::SortTriple | ( | Triple< A, B, C > * | triples, |
int | size ) |
Lexicographic sort for arrays of class Triple.
Definition at line 81 of file sort_pairs.hpp.
void mfem::SparseMatrixFunction | ( | SparseMatrix & | S, |
real_t(* | f )(real_t) ) |
Applies f() to each element of the matrix (after it is finalized).
Definition at line 3596 of file sparsemat.cpp.
T * mfem::StealPointer | ( | T *& | ptr | ) |
Definition at line 95 of file lor_ams.hpp.
void mfem::strsm_ | ( | char * | side, |
char * | uplo, | ||
char * | transa, | ||
char * | diag, | ||
int * | m, | ||
int * | n, | ||
float * | alpha, | ||
float * | a, | ||
int * | lda, | ||
float * | b, | ||
int * | ldb ) |
void mfem::SubcellIntegrals | ( | int | n, |
const Poly_1D::Basis & | basis, | ||
Array< real_t > & | B ) |
Definition at line 36 of file change_basis.cpp.
Definition at line 501 of file vector.cpp.
Definition at line 472 of file vector.cpp.
void mfem::Swap | ( | CoarseFineTransformations & | a, |
CoarseFineTransformations & | b ) |
Definition at line 4830 of file ncmesh.cpp.
|
inline |
|
inline |
Specialization of the template function Swap<> for class SparseMatrix.
Definition at line 936 of file sparsemat.hpp.
|
inline |
|
inline |
Specialization of the template function Swap<> for class Vector.
Definition at line 647 of file vector.hpp.
|
inline |
Definition at line 649 of file tmatrix.hpp.
|
inline |
Definition at line 664 of file tmatrix.hpp.
|
inline |
Definition at line 620 of file tmatrix.hpp.
|
inline |
Definition at line 635 of file tmatrix.hpp.
|
inline |
Definition at line 277 of file ttensor.hpp.
|
inline |
Definition at line 252 of file ttensor.hpp.
|
inline |
Definition at line 264 of file ttensor.hpp.
|
inline |
Definition at line 604 of file tmatrix.hpp.
|
inline |
Definition at line 573 of file tmatrix.hpp.
|
inline |
Definition at line 588 of file tmatrix.hpp.
|
inline |
Definition at line 477 of file ttensor.hpp.
|
inline |
Definition at line 552 of file ttensor.hpp.
|
inline |
Definition at line 643 of file ttensor.hpp.
void mfem::TensorProductLegendre | ( | int | dim, |
int | order, | ||
const Vector & | x_in, | ||
const Vector & | xmax, | ||
const Vector & | xmin, | ||
Vector & | poly, | ||
real_t | angle = 0.0, | ||
const Vector * | midpoint = NULL ) |
Defines the global tensor product polynomial space used by NewZZErorrEstimator.
See BoundingBox(...) for a description of angle and midpoint
Definition at line 4029 of file gridfunc.cpp.
void mfem::tic | ( | ) |
Start the tic_toc timer.
Definition at line 452 of file tic_toc.cpp.
|
inline |
|
inline |
double mfem::toc | ( | ) |
End timing and return the time from tic() to toc() in seconds.
Definition at line 458 of file tic_toc.cpp.
int mfem::ToLexOrdering | ( | const int | dim, |
const int | face_id, | ||
const int | size1d, | ||
const int | index ) |
Convert a dof face index from Native ordering to lexicographic ordering for quads and hexes.
[in] | dim | The dimension of the element, 2 for quad, 3 for hex |
[in] | face_id | The local face identifier |
[in] | size1d | The 1D number of degrees of freedom for each dimension |
[in] | index | The native index on the face |
Definition at line 2164 of file restriction.cpp.
void mfem::TransformDual | ( | const DofTransformation * | ran_dof_trans, |
const DofTransformation * | dom_dof_trans, | ||
DenseMatrix & | elmat ) |
Transform a matrix of dual DoFs entries from different finite element spaces as computed by a BilinearFormIntegrator before summing into a MixedBilinearForm object.
Definition at line 160 of file doftrans.cpp.
void mfem::TransformPrimal | ( | const DofTransformation * | ran_dof_trans, |
const DofTransformation * | dom_dof_trans, | ||
DenseMatrix & | elmat ) |
Transform a matrix of DoFs entries from different finite element spaces as computed by a DiscreteInterpolator before copying into a DiscreteLinearOperator.
Definition at line 145 of file doftrans.cpp.
void mfem::TransformToReference | ( | ElementTransformation & | Trans, |
int | type, | ||
const Vector & | physical_p, | ||
const double & | w, | ||
IntegrationPoint & | ref_p ) |
Transpose an Array<int>.
The array A represents a table where each row i has exactly one connection to the column (TYPE II) index specified by A[i].
Definition at line 62 of file change_basis.cpp.
BlockMatrix * mfem::Transpose | ( | const BlockMatrix & | A | ) |
Transpose a BlockMatrix: result = A'.
Definition at line 667 of file blockmatrix.cpp.
SparseMatrix * mfem::Transpose | ( | const SparseMatrix & | A | ) |
Transpose of a sparse matrix. A must be finalized.
Definition at line 3607 of file sparsemat.cpp.
SparseMatrix * mfem::TransposeAbstractSparseMatrix | ( | const AbstractSparseMatrix & | A, |
int | useActualWidth ) |
Transpose of a sparse matrix. A does not need to be a CSR matrix.
Definition at line 3663 of file sparsemat.cpp.
SparseMatrix * mfem::TransposeMult | ( | const SparseMatrix & | A, |
const SparseMatrix & | B ) |
C = A^T B.
Definition at line 3868 of file sparsemat.cpp.
PetscParMatrix * mfem::TripleMatrixProduct | ( | PetscParMatrix * | R, |
PetscParMatrix * | A, | ||
PetscParMatrix * | P ) |
Definition at line 22 of file lor_mms.hpp.
Definition at line 50 of file lor_mms.hpp.
|
inline |
Definition at line 959 of file solvers.cpp.
|
inline |
Return true if the mesh contains only one topology and the elements are tensor elements.
Definition at line 1345 of file fespace.hpp.
void mfem::vis_tmop_metric_p | ( | int | order, |
TMOP_QualityMetric & | qm, | ||
const TargetConstructor & | tc, | ||
ParMesh & | pmesh, | ||
char * | title, | ||
int | position ) |
Definition at line 893 of file tmop_tools.cpp.
void mfem::vis_tmop_metric_s | ( | int | order, |
TMOP_QualityMetric & | qm, | ||
const TargetConstructor & | tc, | ||
Mesh & | mesh, | ||
char * | title, | ||
int | position ) |
Definition at line 921 of file tmop_tools.cpp.
const char * mfem::VTKByteOrder | ( | ) |
|
inline |
Get a pointer for write access to mem with the mfem::Device's DeviceMemoryClass, if on_dev = true, or the mfem::Device's HostMemoryClass, otherwise.
Also, if on_dev = true, the device flag of mem will be set.
Definition at line 337 of file device.hpp.
void mfem::WriteBase64WithSizeAndClear | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
int | compression_level ) |
Encode in base 64 (and potentially compress) the given data, write it to the output stream (with a header) and clear the buffer.
void mfem::WriteBinaryOrASCII | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const T & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Write either ASCII data to the stream or binary data to the buffer depending on the given format.
If format is VTK::ASCII, write the canonical ASCII representation of val to the output stream. Subnormal floating point numbers are rounded to zero. Otherwise, append its raw binary data to the byte buffer buf.
Note that there are specializations for uint8_t (to write as a numeric value rather than a character), and for float and double values to use the precision specified by format.
void mfem::WriteBinaryOrASCII< double > | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const double & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Specialization of WriteBinaryOrASCII for double.
If format is equal to VTKFormat::BINARY32, val is converted to a float and written as 32 bits. Subnormals are rounded to zero in ASCII output.
void mfem::WriteBinaryOrASCII< double > | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const double & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Specialization of WriteBinaryOrASCII for double.
If format is equal to VTKFormat::BINARY32, val is converted to a float and written as 32 bits. Subnormals are rounded to zero in ASCII output.
void mfem::WriteBinaryOrASCII< float > | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const float & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Specialization of WriteBinaryOrASCII<T> for float.
If format is equal to VTKFormat::BINARY, val is converted to a double and written as 64 bits. Subnormals are rounded to zero in ASCII output.
void mfem::WriteBinaryOrASCII< float > | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const float & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Specialization of WriteBinaryOrASCII<T> for float.
If format is equal to VTKFormat::BINARY, val is converted to a double and written as 64 bits. Subnormals are rounded to zero in ASCII output.
void mfem::WriteBinaryOrASCII< uint8_t > | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const uint8_t & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Specialization of WriteBinaryOrASCII for uint8_t to ensure ASCII output is numeric (rather than interpreting val as a character.)
void mfem::WriteBinaryOrASCII< uint8_t > | ( | std::ostream & | os, |
std::vector< char > & | buf, | ||
const uint8_t & | val, | ||
const char * | suffix, | ||
VTKFormat | format ) |
Specialization of WriteBinaryOrASCII for uint8_t to ensure ASCII output is numeric (rather than interpreting val as a character.)
void mfem::WriteVTKEncodedCompressed | ( | std::ostream & | os, |
const void * | bytes, | ||
uint32_t | nbytes, | ||
int | compression_level ) |
|
inline |
Definition at line 502 of file vector.hpp.
real_t mfem::ZZErrorEstimator | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
GridFunction & | flux, | ||
Vector & | error_estimates, | ||
Array< int > * | aniso_flags, | ||
int | with_subdomains, | ||
bool | with_coeff ) |
Definition at line 3930 of file gridfunc.cpp.
|
constexpr |
Definition at line 70 of file mem_manager.hpp.
|
constexpr |
Definition at line 71 of file mem_manager.hpp.
MFEM_EXPORT OutStream mfem::err | ( | std::cerr | ) |
Global stream used by the library for standard error output. Initially it uses the same std::streambuf as std::cerr, however that can be changed.
Definition at line 71 of file globals.hpp.
MFEM_EXPORT GeometryRefiner mfem::GlobGeometryRefiner |
|
constexpr |
MFEM_EXPORT class TriLinear3DFiniteElement mfem::HexahedronFE |
Definition at line 60 of file hexahedron.cpp.
|
constexpr |
Definition at line 68 of file mem_manager.hpp.
|
constexpr |
Definition at line 69 of file mem_manager.hpp.
MFEM_EXPORT IntegrationRules mfem::IntRules | ( | 0 | , |
Quadrature1D::GaussLegendre | ) |
A global object with all integration rules (defined in intrules.cpp)
Definition at line 486 of file intrules.hpp.
MFEM_EXPORT const char * mfem::MemoryTypeName |
Memory type names, used during Device:: configuration.
Definition at line 1753 of file mem_manager.cpp.
|
constexpr |
Static casts to 'int' and sizes of some useful memory types.
Definition at line 67 of file mem_manager.hpp.
MPI_Comm mfem::MFEM_COMM_WORLD = MPI_COMM_WORLD |
Definition at line 60 of file globals.cpp.
MFEM_EXPORT MemoryManager mfem::mm |
The (single) global memory manager object.
Definition at line 1723 of file mem_manager.cpp.
MFEM_EXPORT OutStream mfem::out | ( | std::cout | ) |
Global stream used by the library for standard output. Initially it uses the same std::streambuf as std::cout, however that can be changed.
Definition at line 66 of file globals.hpp.
MFEM_EXPORT PointFiniteElement mfem::PointFE |
LinearPyramidFiniteElement mfem::PyramidFE |
MFEM_EXPORT class BiLinear2DFiniteElement mfem::QuadrilateralFE |
Definition at line 56 of file quadrilateral.cpp.
MFEM_EXPORT IntegrationRules mfem::RefinedIntRules | ( | 1 | , |
Quadrature1D::GaussLegendre | ) |
A global object with all refined integration rules.
Definition at line 489 of file intrules.hpp.
MFEM_EXPORT Linear1DFiniteElement mfem::SegmentFE |
Definition at line 52 of file segment.cpp.
Linear3DFiniteElement mfem::TetrahedronFE |
MFEM_EXPORT StopWatch mfem::tic_toc |
Definition at line 450 of file tic_toc.cpp.
Linear2DFiniteElement mfem::TriangleFE |
const char mfem::vishost[] = "localhost" |
Definition at line 21 of file extrapolator.cpp.
const int mfem::visport = 19916 |
Definition at line 22 of file extrapolator.cpp.
LinearWedgeFiniteElement mfem::WedgeFE |
int mfem::wsize = 350 |
Definition at line 23 of file extrapolator.cpp.