MFEM
v4.5.2
Finite element discretization library
|
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 | AdvectionOper |
class | AdvectorCG |
class | AlgoimIntegrationRule |
class | AM0Solver |
class | AM1Solver |
class | AM2Solver |
class | AM3Solver |
class | AM4Solver |
class | AmgXSolver |
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 |
struct | AssignOp |
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 | 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 | 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 | 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 | 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 | CentralDifferenceSolver |
class | CGSolver |
Conjugate gradient method. More... | |
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 | 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 | 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 | 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 . grad 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 . grad 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 (curl u, 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... | |
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 | 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 | DenseSymmetricMatrix |
class | DenseTensor |
Rank 3 tensor (array of matrices) More... | |
class | DerivativeIntegrator |
Class for integrating (Q D_i(u), v); 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... | |
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 | DGIndexer |
class | DGMassInverse |
Solver for the discontinuous Galerkin mass matrix. More... | |
class | DGTraceIntegrator |
class | DiffusionIntegrator |
class | DiffusionObjIntegrator |
class | DirectSubBlockSolver |
Block diagonal solver for A, each block is inverted by direct solver. More... | |
class | DiscreteAdaptTC |
class | DiscreteInterpolator |
class | DiscreteLinearOperator |
class | DiscreteUpwindLOSolver |
class | DistanceSolver |
class | DivDivIntegrator |
(Q div u, div v) for RT 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 a the quadrature points of a given IntegrationRule. More... | |
class | DofTransformation |
class | DomainLFGradIntegrator |
Class for domain integrator L(v) := (f, grad v) More... | |
class | DomainLFIntegrator |
Class for domain integration L(v) := (f, v) 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 | 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 | 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 | 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 | 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 | 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 | 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 . grad 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 | H1FaceRestriction |
Operator that extracts Face degrees of freedom for H1 FiniteElementSpaces. 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 | HeatDistanceSolver |
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... | |
struct | HipWrap |
struct | HipWrap< 1 > |
struct | HipWrap< 2 > |
struct | HipWrap< 3 > |
class | Hybridization |
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 | 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 \( (u, v)_{L^2(\mathcal{T}_m \cap \mathcal{T}_s)}, u \in U(\mathcal{T}_m ) and v \in V(\mathcal{T}_s ) \). 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 | 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 | 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 | 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 | MassIntegrator |
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 |
class | MeshOperator |
The MeshOperator class serves as base for mesh manipulation classes. More... | |
class | MeshOperatorSequence |
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 | 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< 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 |
DoF transformation implementation for the Nedelec basis on triangles. More... | |
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 | 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 | NormalizationDistanceSolver |
class | NormalizedGradCoefficient |
class | NormalizedVectorCoefficient |
Vector coefficient defined as a normalized vector field (returns v/|v|) More... | |
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 | NURBSPatch |
class | NURBSPatchMap |
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 | ParComplexGridFunction |
class | ParComplexLinearForm |
class | ParDiscreteLinearOperator |
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 | ParTransferMap |
ParTransferMap represents a mapping of degrees of freedom from a source ParGridFunction to a destination ParGridFunction. More... | |
class | PDEFilter |
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 | PLapDistanceSolver |
class | pLaplace |
class | pLaplaceAD |
class | pLaplaceSL |
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 | 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 | PProductCoefficient |
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 | PUMPLaplacian |
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 | 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 | 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 | 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 | ScreenedPoisson |
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 | 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 | 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 | SparseMatrix |
Data type sparse matrix. More... | |
class | SparseSmoother |
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 | StaticCondensation |
class | StopWatch |
Timing object. More... | |
struct | StridedLayout1D |
struct | StridedLayout2D |
struct | StridedLayout3D |
struct | StridedLayout4D |
class | STRUMPACKRowLocMatrix |
class | STRUMPACKSolver |
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 | 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 | 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_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 non-barrier metric without a type. More... | |
class | TMOP_Metric_316 |
3D barrier metric without a type. 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 barrier Shape+Size (VS) metric (polyconvex). More... | |
class | TMOP_Metric_332 |
3D 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_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 | 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... | |
struct | VarMessage |
Variable-length MPI message containing unspecific binary data. More... | |
class | VDofTransformation |
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, curl v)_{\Omega} \) for Nedelec Elements) More... | |
class | VectorFEDomainLFDivIntegrator |
\( (Q, 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. \( (u, v)_{L^2(\mathcal{T}_m \cap \mathcal{T}_s)}, u \in U(\mathcal{T}_m ) and v \in V(\mathcal{T}_s ) \). 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... | |
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... | |
Typedefs | |
using | cuda_launch_policy = RAJA::LaunchPolicy< RAJA::cuda_launch_t< true > > |
RAJA Cuda and Hip backends. More... | |
using | cuda_teams_x = RAJA::LoopPolicy< RAJA::cuda_block_x_direct > |
using | cuda_threads_z = RAJA::LoopPolicy< RAJA::cuda_thread_z_direct > |
using | hip_launch_policy = RAJA::LaunchPolicy< RAJA::hip_launch_t< true > > |
using | hip_teams_x = RAJA::LoopPolicy< RAJA::hip_block_x_direct > |
using | hip_threads_z = RAJA::LoopPolicy< RAJA::hip_thread_z_direct > |
typedef std::pair< int, int > | occa_id_t |
typedef std::map< occa_id_t, occa::kernel > | occa_kernel_t |
typedef DeviceTensor< 1, int > | DeviceArray |
typedef DeviceTensor< 1, const int > | ConstDeviceArray |
typedef DeviceTensor< 1, double > | DeviceVector |
typedef DeviceTensor< 1, const double > | ConstDeviceVector |
typedef DeviceTensor< 2, double > | DeviceMatrix |
typedef DeviceTensor< 2, const double > | ConstDeviceMatrix |
typedef DeviceTensor< 3, double > | DeviceCube |
typedef DeviceTensor< 3, const double > | ConstDeviceCube |
typedef OperatorHandle | OperatorPtr |
Add an alternative name for OperatorHandle – OperatorPtr. More... | |
using | NonconservativeConvectionIntegrator = ConvectionIntegrator |
using | ConservativeDGTraceIntegrator = DGTraceIntegrator |
typedef VectorCoefficient | DiagonalMatrixCoefficient |
typedef L2_FECollection | DG_FECollection |
Declare an alternative name for L2_FECollection = DG_FECollection. More... | |
using | Args = kernels::InvariantsEvaluator2D::Buffers |
typedef MatrixVectorProductCoefficient | MatVecCoefficient |
Convenient alias for the MatrixVectorProductCoefficient. More... | |
Functions | |
template<class T > | |
void | Swap (Array< T > &, Array< T > &) |
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. More... | |
template<class T > | |
void | Swap (Array2D< T > &, Array2D< T > &) |
template<class T > | |
void | Swap (T &a, T &b) |
inlines /// More... | |
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. More... | |
void * | CuMallocManaged (void **d_ptr, size_t bytes) |
Allocates managed device memory. More... | |
void * | CuMemAllocHostPinned (void **ptr, size_t bytes) |
Allocates page-locked (pinned) host memory. More... | |
void * | CuMemFree (void *d_ptr) |
Frees device memory and returns destination ptr. More... | |
void * | CuMemFreeHostPinned (void *ptr) |
Frees page-locked (pinned) host memory and returns destination ptr. More... | |
void * | CuMemcpyHtoD (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device and returns destination ptr. More... | |
void * | CuMemcpyHtoDAsync (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device and returns destination ptr. More... | |
void * | CuMemcpyDtoD (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. More... | |
void * | CuMemcpyDtoDAsync (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. More... | |
void * | CuMemcpyDtoH (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. More... | |
void * | CuMemcpyDtoHAsync (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. More... | |
void | CuCheckLastError () |
Check the error code returned by cudaGetLastError(), aborting on error. More... | |
int | CuGetDeviceCount () |
Get the number of CUDA devices. More... | |
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. More... | |
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. More... | |
template<typename T > | |
const T * | HostRead (const Memory< T > &mem, int size) |
Shortcut to Read(const Memory<T> &mem, int size, false) More... | |
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. More... | |
template<typename T > | |
T * | HostWrite (Memory< T > &mem, int size) |
Shortcut to Write(const Memory<T> &mem, int size, false) More... | |
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. More... | |
template<typename T > | |
T * | HostReadWrite (Memory< T > &mem, int size) |
Shortcut to ReadWrite(Memory<T> &mem, int size, false) More... | |
void | set_error_action (ErrorAction action) |
Set the action MFEM takes when an error is encountered. More... | |
ErrorAction | get_error_action () |
Get the action MFEM takes when an error is encountered. More... | |
void | mfem_backtrace (int mode, int depth) |
void | mfem_error (const char *msg=NULL) |
Function called when an error is encountered. Used by the macros MFEM_ABORT, MFEM_ASSERT, MFEM_VERIFY. More... | |
void | mfem_warning (const char *msg=NULL) |
Function called by the macro MFEM_WARNING. More... | |
template<typename HBODY > | |
void | OmpWrap (const int N, HBODY &&h_body) |
OpenMP backend. More... | |
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. More... | |
template<typename HBODY > | |
void | RajaSeqWrap (const int N, HBODY &&h_body) |
RAJA sequential loop backend. More... | |
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 DBODY , typename HBODY > | |
void | ForallWrap (const bool use_dev, const int N, DBODY &&d_body, HBODY &&h_body, const int X=0, const int Y=0, const int Z=0, const int G=0) |
The forall kernel body wrapper. More... | |
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. More... | |
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. More... | |
void * | HipMallocManaged (void **d_ptr, size_t bytes) |
Allocates managed device memory. More... | |
void * | HipMemAllocHostPinned (void **ptr, size_t bytes) |
Allocates page-locked (pinned) host memory. More... | |
void * | HipMemFree (void *d_ptr) |
Frees device memory. More... | |
void * | HipMemFreeHostPinned (void *ptr) |
Frees page-locked (pinned) host memory and returns destination ptr. More... | |
void * | HipMemcpyHtoD (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device. More... | |
void * | HipMemcpyHtoDAsync (void *d_dst, const void *h_src, size_t bytes) |
Copies memory from Host to Device. More... | |
void * | HipMemcpyDtoD (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. More... | |
void * | HipMemcpyDtoDAsync (void *d_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Device. More... | |
void * | HipMemcpyDtoH (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. More... | |
void * | HipMemcpyDtoHAsync (void *h_dst, const void *d_src, size_t bytes) |
Copies memory from Device to Host. More... | |
void | HipCheckLastError () |
Check the error code returned by hipGetLastError(), aborting on error. More... | |
int | HipGetDeviceCount () |
Get the number of HIP devices. More... | |
MemoryType | GetMemoryType (MemoryClass mc) |
Return a suitable MemoryType for a given MemoryClass. More... | |
bool | MemoryClassContainsType (MemoryClass mc, MemoryType mt) |
Return true iff the MemoryType mt is contained in the MemoryClass mc. More... | |
MemoryClass | operator* (MemoryClass mc1, MemoryClass mc2) |
Return a suitable MemoryClass from a pair of MemoryClasses. More... | |
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(). More... | |
bool | IsHostMemory (MemoryType mt) |
Return true if the given memory type is in MemoryClass::HOST. More... | |
bool | IsDeviceMemory (MemoryType mt) |
Return true if the given memory type is in MemoryClass::DEVICE. More... | |
occa::device & | OccaDev () |
Return the default occa::device used by MFEM. More... | |
occa::memory | OccaMemoryWrap (void *ptr, std::size_t bytes) |
Wrap a pointer as occa::memory with the default occa::device used by MFEM. More... | |
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. More... | |
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. More... | |
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. More... | |
bool | DeviceCanUseOcca () |
Function that determines if an OCCA kernel should be used, based on the current mfem::Device configuration. More... | |
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. More... | |
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. More... | |
template<class A , class B > | |
void | SortPairs (Pair< A, B > *pairs, int size) |
Sort an array of Pairs with respect to the first element. More... | |
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. More... | |
template<class A , class B , class C > | |
void | SortTriple (Triple< A, B, C > *triples, int size) |
Lexicographic sort for arrays of class Triple. More... | |
void | Sort3 (int &r, int &c, int &f) |
void | Transpose (const Table &A, Table &At, int ncols_A_=-1) |
Transpose a Table. More... | |
Table * | Transpose (const Table &A) |
void | Transpose (const Array< int > &A, Table &At, int ncols_A_=-1) |
Transpose an Array<int> More... | |
void | Mult (const Table &A, const Table &B, Table &C) |
C = A * B (as boolean matrices) More... | |
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. More... | |
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. More... | |
void | filter_dos (std::string &line) |
Check for, and remove, a trailing '\r' from and std::string. More... | |
std::string | to_padded_string (int i, int digits) |
Convert an integer to a 0-padded string with the given number of digits. More... | |
int | to_int (const std::string &str) |
Convert a string to an int. More... | |
void | tic () |
Start the tic_toc timer. More... | |
double | toc () |
End timing and return the time from tic() to toc() in seconds. More... | |
int | GetVersion () |
Return the MFEM version number as a single integer. More... | |
int | GetVersionMajor () |
Return the MFEM major version number as an integer. More... | |
int | GetVersionMinor () |
Return the MFEM minor version number as an integer. More... | |
int | GetVersionPatch () |
Return the MFEM version patch number as an integer. More... | |
const char * | GetVersionStr () |
Return the MFEM version number as a string. More... | |
const char * | GetGitStr () |
Return the MFEM Git hash as a string. More... | |
const char * | GetConfigStr () |
Return the MFEM configuration as a string. More... | |
BlockMatrix * | Transpose (const BlockMatrix &A) |
Transpose a BlockMatrix: result = A'. More... | |
BlockMatrix * | Mult (const BlockMatrix &A, const BlockMatrix &B) |
Multiply BlockMatrix matrices: result = A*B. More... | |
ComplexDenseMatrix * | Mult (const ComplexDenseMatrix &B, const ComplexDenseMatrix &C) |
Matrix matrix multiplication. A = B * C. More... | |
ComplexDenseMatrix * | MultAtB (const ComplexDenseMatrix &A, const ComplexDenseMatrix &B) |
Multiply the complex conjugate transpose of a matrix A with a matrix B. A^H*B. More... | |
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. More... | |
SparseMatrix * | ParBuildNormalConstraints (ParFiniteElementSpace &fespace, Array< int > &constrained_att, Array< int > &constraint_rowstarts) |
Parallel wrapper for BuildNormalConstraints. More... | |
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, double alpha, DenseMatrix &C) |
C = A + alpha*B. More... | |
void | Add (double alpha, const double *A, double beta, const double *B, DenseMatrix &C) |
C = alpha*A + beta*B. More... | |
void | Add (double alpha, const DenseMatrix &A, double beta, const DenseMatrix &B, DenseMatrix &C) |
C = alpha*A + beta*B. More... | |
bool | LinearSolve (DenseMatrix &A, double *X, double TOL=1.e-9) |
Solves the dense linear system, A * X = B for X More... | |
void | Mult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A = B * C. More... | |
void | AddMult_a (double alpha, const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A += alpha * B * C. More... | |
void | AddMult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A += B * C. More... | |
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) More... | |
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) More... | |
void | CalcOrtho (const DenseMatrix &J, Vector &n) |
void | MultAAt (const DenseMatrix &a, DenseMatrix &aat) |
Calculate the matrix A.At. More... | |
void | AddMultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt) |
ADAt += A D A^t, where D is diagonal. More... | |
void | MultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt) |
ADAt = A D A^t, where D is diagonal. More... | |
void | MultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt) |
Multiply a matrix A with the transpose of a matrix B: A*Bt. More... | |
void | MultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt) |
ADBt = A D B^t, where D is diagonal. More... | |
void | AddMultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt) |
ABt += A * B^t. More... | |
void | AddMultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt) |
ADBt = A D B^t, where D is diagonal. More... | |
void | AddMult_a_ABt (double a, const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt) |
ABt += a * A * B^t. More... | |
void | MultAtB (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB) |
Multiply the transpose of a matrix A with a matrix B: At*B. More... | |
void | AddMult_a_AAt (double a, const DenseMatrix &A, DenseMatrix &AAt) |
AAt += a * A * A^t. More... | |
void | Mult_a_AAt (double a, const DenseMatrix &A, DenseMatrix &AAt) |
AAt = a * A * A^t. More... | |
void | MultVVt (const Vector &v, DenseMatrix &vvt) |
Make a matrix from a vector V.Vt. More... | |
void | MultVWt (const Vector &v, const Vector &w, DenseMatrix &VWt) |
void | AddMultVWt (const Vector &v, const Vector &w, DenseMatrix &VWt) |
VWt += v w^t. More... | |
void | AddMultVVt (const Vector &v, DenseMatrix &VWt) |
VVt += v v^t. More... | |
void | AddMult_a_VWt (const double a, const Vector &v, const Vector &w, DenseMatrix &VWt) |
VWt += a * v w^t. More... | |
void | AddMult_a_VVt (const double a, const Vector &v, DenseMatrix &VVt) |
VVt += a * v v^t. More... | |
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 double TOL=0.0) |
Compute the LU factorization of a batch of matrices. More... | |
void | BatchLUSolve (const DenseTensor &Mlu, const Array< int > &P, Vector &X) |
Solve batch linear systems. More... | |
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. More... | |
template<typename T > | |
bool | CanShallowCopy (const Memory< T > &src, MemoryClass mc) |
Return true if the src Memory can be used with the MemoryClass mc. More... | |
double | InnerProduct (HypreParVector *x, HypreParVector *y) |
double | InnerProduct (HypreParVector &x, HypreParVector &y) |
Returns the inner product of x and y. More... | |
double | ParNormlp (const Vector &vec, double p, MPI_Comm comm) |
Compute the l_p norm of the Vector which is split without overlap across the given communicator. More... | |
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. More... | |
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. More... | |
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. More... | |
void | BlockInverseScale (const HypreParMatrix *A, HypreParMatrix *C, const Vector *b, HypreParVector *d, int blocksize, BlockInverseScaleJob job) |
HypreParMatrix * | Add (double alpha, const HypreParMatrix &A, double 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. More... | |
HypreParMatrix * | ParAdd (const HypreParMatrix *A, const HypreParMatrix *B) |
Returns the matrix A + B. More... | |
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. More... | |
HypreParMatrix * | RAP (const HypreParMatrix *Rt, const HypreParMatrix *A, const HypreParMatrix *P) |
Returns the matrix Rt^t * A * P. More... | |
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< HypreParMatrix * > &blocks, Array2D< double > *blockCoeff=NULL) |
Returns a merged hypre matrix constructed from hypre matrix blocks. More... | |
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. More... | |
int | ParCSRRelax_Taubin (hypre_ParCSRMatrix *A, hypre_ParVector *f, double lambda, double mu, int N, double max_eig, hypre_ParVector *u, hypre_ParVector *r) |
int | ParCSRRelax_FIR (hypre_ParCSRMatrix *A, hypre_ParVector *f, double max_eig, int poly_order, double *fir_coeffs, hypre_ParVector *u, hypre_ParVector *x0, hypre_ParVector *x1, hypre_ParVector *x2, hypre_ParVector *x3) |
constexpr MemoryClass | GetHypreMemoryClass () |
The MemoryClass used by Hypre objects. More... | |
MemoryType | GetHypreMemoryType () |
The MemoryType used by MFEM when allocating arrays for Hypre objects. More... | |
HypreParMatrix * | DiscreteGrad (ParFiniteElementSpace *edge_fespace, ParFiniteElementSpace *vert_fespace) |
Compute the discrete gradient matrix between the nodal linear and ND1 spaces. More... | |
HypreParMatrix * | DiscreteCurl (ParFiniteElementSpace *face_fespace, ParFiniteElementSpace *edge_fespace) |
Compute the discrete curl matrix between the ND1 and RT0 spaces. More... | |
bool | IsIdentityProlongation (const Operator *P) |
void | MFEMInitializePetsc () |
Convenience functions to initialize/finalize PETSc. More... | |
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. More... | |
PetscParMatrix * | RAP (PetscParMatrix *Rt, PetscParMatrix *A, PetscParMatrix *P) |
Returns the matrix Rt^t * A * P. More... | |
PetscParMatrix * | RAP (PetscParMatrix *A, PetscParMatrix *P) |
Returns the matrix P^t * A * P. More... | |
PetscParMatrix * | RAP (HypreParMatrix *A, PetscParMatrix *P) |
Returns the matrix P^t * A * P. More... | |
PetscParMatrix * | ParMult (const PetscParMatrix *A, const PetscParMatrix *B) |
Returns the matrix A * B. More... | |
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. More... | |
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, double RTOLERANCE=1e-12, double ATOLERANCE=1e-24) |
Stationary linear iteration. (tolerances are squared) More... | |
void | SLI (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, double RTOLERANCE=1e-12, double ATOLERANCE=1e-24) |
Preconditioned stationary linear iteration. (tolerances are squared) More... | |
void | CG (const Operator &A, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, double RTOLERANCE=1e-12, double ATOLERANCE=1e-24) |
Conjugate gradient method. (tolerances are squared) More... | |
void | PCG (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, double RTOLERANCE=1e-12, double ATOLERANCE=1e-24) |
Preconditioned conjugate gradient method. (tolerances are squared) More... | |
void | GeneratePlaneRotation (double &dx, double &dy, double &cs, double &sn) |
void | ApplyPlaneRotation (double &dx, double &dy, double &cs, double &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, double &tol, double atol, int printit) |
GMRES method. (tolerances are squared) More... | |
void | GMRES (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, int m=50, double rtol=1e-12, double atol=1e-24) |
GMRES method. (tolerances are squared) More... | |
int | BiCGSTAB (const Operator &A, Vector &x, const Vector &b, Solver &M, int &max_iter, double &tol, double atol, int printit) |
BiCGSTAB method. (tolerances are squared) More... | |
void | BiCGSTAB (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_iter=0, int max_num_iter=1000, double rtol=1e-12, double atol=1e-24) |
BiCGSTAB method. (tolerances are squared) More... | |
void | MINRES (const Operator &A, const Vector &b, Vector &x, int print_it=0, int max_it=1000, double rtol=1e-12, double atol=1e-24) |
MINRES method without preconditioner. (tolerances are squared) More... | |
void | MINRES (const Operator &A, Solver &B, const Vector &b, Vector &x, int print_it=0, int max_it=1000, double rtol=1e-12, double atol=1e-24) |
MINRES method with preconditioner. (tolerances are squared) More... | |
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, double cf, double &tol, double &atol, int printit) |
void | MinimumDiscardedFillOrdering (SparseMatrix &C, Array< int > &p) |
void | SparseMatrixFunction (SparseMatrix &S, double(*f)(double)) |
Applies f() to each element of the matrix (after it is finalized). More... | |
SparseMatrix * | Transpose (const SparseMatrix &A) |
Transpose of a sparse matrix. A must be finalized. More... | |
SparseMatrix * | TransposeAbstractSparseMatrix (const AbstractSparseMatrix &A, int useActualWidth) |
Transpose of a sparse matrix. A does not need to be a CSR matrix. More... | |
SparseMatrix * | Mult (const SparseMatrix &A, const SparseMatrix &B, SparseMatrix *OAB=NULL) |
Matrix product A.B. More... | |
SparseMatrix * | TransposeMult (const SparseMatrix &A, const SparseMatrix &B) |
C = A^T B. More... | |
SparseMatrix * | MultAbstractSparseMatrix (const AbstractSparseMatrix &A, const AbstractSparseMatrix &B) |
Matrix product of sparse matrices. A and B do not need to be CSR matrices. More... | |
DenseMatrix * | Mult (const SparseMatrix &A, DenseMatrix &B) |
Matrix product A.B. More... | |
DenseMatrix * | RAP (const SparseMatrix &A, DenseMatrix &P) |
RAP matrix product (with R=P^T) More... | |
DenseMatrix * | RAP (DenseMatrix &A, const SparseMatrix &P) |
RAP matrix product (with R=P^T) More... | |
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. More... | |
SparseMatrix * | Mult_AtDA (const SparseMatrix &A, const Vector &D, SparseMatrix *OAtDA=NULL) |
Matrix multiplication A^t D A. All matrices must be finalized. More... | |
SparseMatrix * | Add (double a, const SparseMatrix &A, double b, const SparseMatrix &B) |
Matrix addition result = a*A + b*B. More... | |
SparseMatrix * | Add (const SparseMatrix &A, const SparseMatrix &B) |
Matrix addition result = A + B. More... | |
SparseMatrix * | Add (Array< SparseMatrix * > &Ai) |
Matrix addition result = sum_i A_i. More... | |
void | Add (const SparseMatrix &A, double alpha, DenseMatrix &B) |
B += alpha * A. More... | |
DenseMatrix * | OuterProduct (const DenseMatrix &A, const DenseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. More... | |
SparseMatrix * | OuterProduct (const DenseMatrix &A, const SparseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. More... | |
SparseMatrix * | OuterProduct (const SparseMatrix &A, const DenseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. More... | |
SparseMatrix * | OuterProduct (const SparseMatrix &A, const SparseMatrix &B) |
Produces a block matrix with blocks A_{ij}*B. More... | |
class if | defined (__alignas_is_defined) alignas(double) RowNode |
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. More... | |
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, double alpha, const Vector &v2, Vector &v) |
void | add (const double a, const Vector &x, const Vector &y, Vector &z) |
void | add (const double a, const Vector &x, const double b, const Vector &y, Vector &z) |
void | subtract (const Vector &x, const Vector &y, Vector &z) |
void | subtract (const double a, const Vector &x, const Vector &y, Vector &z) |
int | CheckFinite (const double *v, const int n) |
double | infinity () |
Define a shortcut for std::numeric_limits<double>::infinity() More... | |
template<typename T > | |
T | ZeroSubnormal (T val) |
bool | IsFinite (const double &val) |
template<> | |
void | Swap< Vector > (Vector &a, Vector &b) |
Specialization of the template function Swap<> for class Vector. More... | |
double | DistanceSquared (const double *x, const double *y, const int n) |
double | Distance (const double *x, const double *y, const int n) |
double | Distance (const Vector &x, const Vector &y) |
double | InnerProduct (const Vector &x, const Vector &y) |
Returns the inner product of x and y. More... | |
double | InnerProduct (MPI_Comm comm, const Vector &x, const Vector &y) |
Returns the inner product of x and y in parallel. More... | |
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. More... | |
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, double &tmax, const double factor, const int Dim) |
std::ostream & | operator<< (std::ostream &os, const Mesh &mesh) |
Mesh * | Extrude1D (Mesh *mesh, const int ny, const double sy, const bool closed=false) |
Extrude a 1D mesh. More... | |
Mesh * | Extrude2D (Mesh *mesh, const int nz, const double sz) |
Extrude a 2D mesh. More... | |
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, double n[], double 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) |
int | BarycentricToVTKTriangle (int *b, int ref) |
Return the VTK node index of the barycentric point b in a triangle with refinement level ref. More... | |
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. More... | |
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. More... | |
bool | IsBigEndian () |
const char * | VTKByteOrder () |
Determine the byte order and return either "BigEndian" or "LittleEndian". More... | |
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.) More... | |
template<> | |
void | WriteBinaryOrASCII< double > (std::ostream &os, std::vector< char > &buf, const double &val, const char *suffix, VTKFormat format) |
Specialization of WriteBinaryOrASCII for double. More... | |
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. More... | |
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. More... | |
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. More... | |
template<const int T_SDIM> | |
void | PADiffusionSetup2D (const int Q1D, const int coeffDim, const int NE, const Array< double > &w, const Vector &j, const Vector &c, Vector &d) |
template<> | |
void | PADiffusionSetup2D< 2 > (const int Q1D, const int coeffDim, const int NE, const Array< double > &w, const Vector &j, const Vector &c, Vector &d) |
template<> | |
void | PADiffusionSetup2D< 3 > (const int Q1D, const int coeffDim, const int NE, const Array< double > &w, const Vector &j, const Vector &c, Vector &d) |
void | PADiffusionSetup3D (const int Q1D, const int coeffDim, const int NE, const Array< double > &w, const Vector &j, const Vector &c, Vector &d) |
void | PAHcurlHdivSetup3D (const int Q1D, const int coeffDim, const int NE, const bool transpose, const Array< double > &w_, const Vector &j, Vector &coeff_, Vector &op) |
void | PAHcurlMassApply2D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHcurlMassAssembleDiagonal2D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
void | PAHcurlMassAssembleDiagonal3D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
template<int T_D1D, int T_Q1D> | |
void | SmemPAHcurlMassAssembleDiagonal3D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
void | PAHcurlMassApply3D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
template<int T_D1D, int T_Q1D> | |
void | SmemPAHcurlMassApply3D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHcurlH1Apply3D (const int D1D, const int Q1D, const int NE, const Array< double > &bc, const Array< double > &gc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHcurlH1ApplyTranspose3D (const int D1D, const int Q1D, const int NE, const Array< double > &bc, const Array< double > &bo, const Array< double > &bct, const Array< double > &gct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHcurlH1Apply2D (const int D1D, const int Q1D, const int NE, const Array< double > &bc, const Array< double > &gc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHcurlH1ApplyTranspose2D (const int D1D, const int Q1D, const int NE, const Array< double > &bc, const Array< double > &bo, const Array< double > &bct, const Array< double > &gct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHcurlL2Setup (const int NQ, const int coeffDim, const int NE, const Array< double > &w, Vector &coeff, Vector &op) |
template void | SmemPAHcurlMassAssembleDiagonal3D< 0, 0 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
template void | SmemPAHcurlMassAssembleDiagonal3D< 2, 3 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
template void | SmemPAHcurlMassAssembleDiagonal3D< 3, 4 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
template void | SmemPAHcurlMassAssembleDiagonal3D< 4, 5 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
template void | SmemPAHcurlMassAssembleDiagonal3D< 5, 6 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Vector &pa_data, Vector &diag) |
template void | SmemPAHcurlMassApply3D< 0, 0 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
template void | SmemPAHcurlMassApply3D< 2, 3 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
template void | SmemPAHcurlMassApply3D< 3, 4 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
template void | SmemPAHcurlMassApply3D< 4, 5 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
template void | SmemPAHcurlMassApply3D< 5, 6 > (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &bo, const Array< double > &bc, const Array< double > &bot, const Array< double > &bct, const Vector &pa_data, const Vector &x, Vector &y) |
void | PAHdivSetup2D (const int Q1D, const int coeffDim, const int NE, const Array< double > &w, const Vector &j, Vector &coeff_, Vector &op) |
void | PAHdivSetup3D (const int Q1D, const int coeffDim, const int NE, const Array< double > &w, const Vector &j, Vector &coeff_, Vector &op) |
void | PAHdivMassApply2D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &Bo_, const Array< double > &Bc_, const Array< double > &Bot_, const Array< double > &Bct_, const Vector &op_, const Vector &x_, Vector &y_) |
template<int T_D1D = 0, int T_Q1D = 0> | |
void | SmemPAHdivMassApply2D (const int NE, const bool symmetric, const Array< double > &Bo_, const Array< double > &Bc_, const Array< double > &Bot_, const Array< double > &Bct_, const Vector &op_, const Vector &x_, Vector &y_, const int d1d=0, const int q1d=0) |
void | PAHdivMassAssembleDiagonal2D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &Bo_, const Array< double > &Bc_, const Vector &op_, Vector &diag_) |
void | PAHdivMassAssembleDiagonal3D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &Bo_, const Array< double > &Bc_, const Vector &op_, Vector &diag_) |
void | PAHdivMassApply3D (const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &Bo_, const Array< double > &Bc_, const Array< double > &Bot_, const Array< double > &Bct_, const Vector &op_, const Vector &x_, Vector &y_) |
template<int T_D1D = 0, int T_Q1D = 0> | |
void | SmemPAHdivMassApply3D (const int NE, const bool symmetric, const Array< double > &Bo_, const Array< double > &Bc_, const Array< double > &Bot_, const Array< double > &Bct_, const Vector &op_, const Vector &x_, Vector &y_, const int d1d=0, const int q1d=0) |
void | PAHdivMassApply (const int dim, const int D1D, const int Q1D, const int NE, const bool symmetric, const Array< double > &Bo, const Array< double > &Bc, const Array< double > &Bot, const Array< double > &Bct, const Vector &op, const Vector &x, Vector &y) |
void | PAHcurlHdivSetup2D (const int Q1D, const int coeffDim, const int NE, const bool transpose, const Array< double > &w_, const Vector &j, Vector &coeff_, Vector &op) |
void | PAHcurlHdivMassApply3D (const int D1D, const int D1Dtest, const int Q1D, const int NE, const bool scalarCoeff, const bool trialHcurl, const bool transpose, const Array< double > &Bo_, const Array< double > &Bc_, const Array< double > &Bot_, const Array< double > &Bct_, const Vector &op_, const Vector &x_, Vector &y_) |
void | PAHcurlHdivMassApply2D (const int D1D, const int D1Dtest, const int Q1D, const int NE, const bool scalarCoeff, const bool trialHcurl, const bool transpose, const Array< double > &Bo_, const Array< double > &Bc_, const Array< double > &Bot_, const Array< double > &Bct_, const Vector &op_, const Vector &x_, Vector &y_) |
ElementTransformation * | RefinedToCoarse (Mesh &coarse_mesh, const ElementTransformation &T, const IntegrationPoint &ip, IntegrationPoint &coarse_ip) |
double | LpNormLoop (double p, Coefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
double | LpNormLoop (double p, VectorCoefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
double | ComputeLpNorm (double 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} \). More... | |
double | ComputeLpNorm (double 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} \). More... | |
double | ComputeGlobalLpNorm (double 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} \). More... | |
double | ComputeGlobalLpNorm (double 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} \). More... | |
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) |
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. More... | |
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. More... | |
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) |
void | be_to_bfe (Geometry::Type geom, int o, const IntegrationPoint &ip, IntegrationPoint &fip) |
std::ostream & | operator<< (std::ostream &os, const GridFunction &sol) |
double | 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, double angle=0.0, const Vector *midpoint=NULL) |
Defines the global tensor product polynomial space used by NewZZErorrEstimator. More... | |
void | BoundingBox (const Array< int > &face_patch, FiniteElementSpace *ufes, int order, Vector &xmin, Vector &xmax, double &angle, Vector &midpoint, int iface=-1) |
Defines the bounding box for the face patches used by NewZZErorrEstimator. More... | |
double | LSZZErrorEstimator (BilinearFormIntegrator &blfi, GridFunction &u, Vector &error_estimates, bool subdomain_reconstruction=true, bool with_coeff=false, double tichonov_coeff=0.0) |
A ‘‘true’’ ZZ error estimator that uses face-based patches for flux reconstruction. More... | |
double | ComputeElementLpDistance (double p, int i, GridFunction &gf1, GridFunction &gf2) |
Compute the Lp distance between two grid functions on the given element. More... | |
GridFunction * | Extrude1DGridFunction (Mesh *mesh, Mesh *mesh2d, GridFunction *sol, const int ny) |
Extrude a scalar 1D GridFunction, after extruding the mesh with Extrude1D. More... | |
std::ostream & | operator<< (std::ostream &out, const QuadratureFunction &qf) |
Overload operator<< for std::ostream and QuadratureFunction. More... | |
double | GlobalLpNorm (const double p, double loc_norm, MPI_Comm comm) |
Compute a global Lp norm from the local Lp norms computed by each processor. More... | |
double | L2ZZErrorEstimator (BilinearFormIntegrator &flux_integrator, const ParGridFunction &x, ParFiniteElementSpace &smooth_flux_fes, ParFiniteElementSpace &flux_fes, Vector &errors, int norm_p, double solver_tol, int solver_max_it) |
void | GetFaceDofs (const int dim, const int face_id, const int dof1d, Array< int > &face_map) |
Return the face map that extracts the degrees of freedom for the requested local face of a quad or hex, returned in Lexicographic order. More... | |
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. More... | |
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. More... | |
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. More... | |
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 \[ 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. More... | |
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. More... | |
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. More... | |
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. More... | |
template<typename INTEGRATOR > | |
void | ProjectLORCoefficient (BilinearForm &a, CoefficientVector &coeff_vector) |
template<int ORDER> | |
MFEM_HOST_DEVICE void | LORVertexCoordinates2D (const double *X, int iel_ho, int kx, int ky, double vx[4], double vy[4]) |
template<int ORDER> | |
MFEM_HOST_DEVICE void | LORVertexCoordinates3D (const double *X, int iel_ho, int kx, int ky, int kz, double vx[8], double vy[8], double vz[8]) |
MFEM_HOST_DEVICE void | Jacobian2D (const double x, const double y, const double vx[4], const double vy[4], DeviceMatrix &J) |
MFEM_HOST_DEVICE void | Jacobian3D (const double x, const double y, const double z, const double vx[8], const double vy[8], const double vz[8], DeviceMatrix &J) |
MFEM_HOST_DEVICE void | Adjugate3D (const DeviceMatrix &J, DeviceMatrix &A) |
MFEM_HOST_DEVICE double | Det2D (DeviceMatrix &J) |
MFEM_HOST_DEVICE double | Det3D (DeviceMatrix &J) |
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. More... | |
int | FinalizeTransfer () |
Finalize the par_moonolith library. More... | |
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. More... | |
MFEM_REGISTER_TMOP_KERNELS (void, DatcSize, const int NE, const int ncomp, const int sizeidx, const DenseMatrix &w_, const Array< double > &b_, const Vector &x_, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AssembleDiagonalPA_Kernel_2D, const int NE, const Array< double > &b, const Array< double > &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< double > &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< double > &b_, const Array< double > &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< double > &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 double metric_normal, const double metric_param, const int mid, const int NE, const Array< double > &w_, const Array< double > &b_, const Array< double > &g_, const DenseTensor &j_, Vector &h_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_C0_2D, const double lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &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< double > &b, const Array< double > &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< double > &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< double > &b_, const Array< double > &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< double > &b_, const Vector &h0_, const Vector &r_, Vector &c_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_3D, const double metric_normal, const double metric_param, const int mid, const Vector &x_, const int NE, const Array< double > &w_, const Array< double > &b_, const Array< double > &g_, const DenseTensor &j_, Vector &h_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, SetupGradPA_Kernel_C0_3D, const double lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &bld_, const Vector &x0_, const Vector &x1_, Vector &h0_, const bool exp_lim, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (double, MinDetJpr_Kernel_2D, const int NE, const Array< double > &b_, const Array< double > &g_, const Vector &x_, Vector &DetJ, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (double, MinDetJpr_Kernel_3D, const int NE, const Array< double > &b_, const Array< double > &g_, const Vector &x_, Vector &DetJ, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_2D, const double metric_normal, const double metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &g_, const Vector &x_, Vector &y_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_C0_2D, const double lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &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 double metric_normal, double metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &g_, const Vector &x_, Vector &y_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (void, AddMultPA_Kernel_C0_3D, const double lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &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< double > &b_, const Array< double > &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< double > &b_, const Array< double > &g_, const DenseMatrix &w_, const Vector &x_, DenseTensor &j_, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (double, EnergyPA_2D, const double metric_normal, const double metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &g_, const Vector &x_, const Vector &ones, Vector &energy, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (double, EnergyPA_C0_2D, const double lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &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 (double, EnergyPA_3D, const double metric_normal, const double metric_param, const int mid, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &g_, const Vector &ones, const Vector &x_, Vector &energy, const int d1d, const int q1d) | |
MFEM_REGISTER_TMOP_KERNELS (double, EnergyPA_C0_3D, const double lim_normal, const Vector &lim_dist, const Vector &c0_, const int NE, const DenseTensor &j_, const Array< double > &w_, const Array< double > &b_, const Array< double > &bld_, const Vector &x0_, const Vector &x1_, const Vector &ones, Vector &energy, const bool exp_lim, const int d1d, const int q1d) | |
template<typename dtype > | |
void | CalcAdjugate (const TAutoDiffDenseMatrix< dtype > &a, TAutoDiffDenseMatrix< dtype > &adja) |
void | DiffuseField (ParGridFunction &field, int smooth_steps) |
double | AvgElementSize (ParMesh &pmesh) |
double | u (const Vector &xvec) |
double | f (const Vector &xvec) |
void | u_vec (const Vector &xvec, Vector &u) |
void | f_vec (const Vector &xvec, Vector &f) |
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. More... | |
void | SetGlobalMPI_Comm (MPI_Comm comm) |
Set MFEM's "global" MPI communicator. More... | |
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. More... | |
void | GmshHOTriangleMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Triangle. More... | |
void | GmshHOQuadrilateralMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Quadrilateral. More... | |
void | GmshHOTetrahedronMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Tetrahedron. More... | |
void | GmshHOHexahedronMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Hexahedron. More... | |
void | GmshHOWedgeMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Wedge. More... | |
void | GmshHOPyramidMapping (int order, int *map) |
Generate Gmsh vertex mapping for a Pyramid. More... | |
Variables | |
const int | MAX_D1D = 10 |
const int | MAX_Q1D = 10 |
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. More... | |
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. More... | |
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. More... | |
const char * | MemoryTypeName [MemoryTypeSize] |
Memory type names, used during Device:: configuration. More... | |
constexpr int | MemoryTypeSize = static_cast<int>(MemoryType::SIZE) |
Static casts to 'int' and sizes of some useful memory types. More... | |
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 |
constexpr int | HCURL_MAX_D1D = 5 |
constexpr int | HCURL_MAX_Q1D = 5 |
constexpr int | HDIV_MAX_D1D = 5 |
constexpr int | HDIV_MAX_Q1D = 6 |
Poly_1D | poly1d |
Geometry | Geometries |
GeometryRefiner | GlobGeometryRefiner |
IntegrationRules | IntRules (0, Quadrature1D::GaussLegendre) |
A global object with all integration rules (defined in intrules.cpp) More... | |
IntegrationRules | RefinedIntRules (1, Quadrature1D::GaussLegendre) |
A global object with all refined integration rules. More... | |
const char | vishost [] = "localhost" |
const int | visport = 19916 |
int | wsize = 350 |
Definition at line 21 of file tmop_pa_h2s.cpp.
using mfem::ConservativeDGTraceIntegrator = typedef DGTraceIntegrator |
Definition at line 3037 of file bilininteg.hpp.
typedef DeviceTensor<1,const int> mfem::ConstDeviceArray |
Definition at line 138 of file dtensor.hpp.
typedef DeviceTensor<3,const double> mfem::ConstDeviceCube |
Definition at line 147 of file dtensor.hpp.
typedef DeviceTensor<2,const double> mfem::ConstDeviceMatrix |
Definition at line 144 of file dtensor.hpp.
typedef DeviceTensor<1,const double> mfem::ConstDeviceVector |
Definition at line 141 of file dtensor.hpp.
using mfem::cuda_launch_policy = typedef RAJA::LaunchPolicy<RAJA::cuda_launch_t<true> > |
RAJA Cuda and Hip backends.
Definition at line 119 of file forall.hpp.
using mfem::cuda_teams_x = typedef RAJA::LoopPolicy<RAJA::cuda_block_x_direct> |
Definition at line 121 of file forall.hpp.
using mfem::cuda_threads_z = typedef RAJA::LoopPolicy<RAJA::cuda_thread_z_direct> |
Definition at line 123 of file forall.hpp.
typedef DeviceTensor<1,int> mfem::DeviceArray |
Definition at line 137 of file dtensor.hpp.
typedef DeviceTensor<3,double> mfem::DeviceCube |
Definition at line 146 of file dtensor.hpp.
typedef DeviceTensor<2,double> mfem::DeviceMatrix |
Definition at line 143 of file dtensor.hpp.
typedef DeviceTensor<1,double> 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 370 of file fe_coll.hpp.
Definition at line 903 of file coefficient.hpp.
using mfem::hip_launch_policy = typedef RAJA::LaunchPolicy<RAJA::hip_launch_t<true> > |
Definition at line 128 of file forall.hpp.
using mfem::hip_teams_x = typedef RAJA::LoopPolicy<RAJA::hip_block_x_direct> |
Definition at line 130 of file forall.hpp.
using mfem::hip_threads_z = typedef RAJA::LoopPolicy<RAJA::hip_thread_z_direct> |
Definition at line 132 of file forall.hpp.
Convenient alias for the MatrixVectorProductCoefficient.
Definition at line 1850 of file coefficient.hpp.
using mfem::NonconservativeConvectionIntegrator = typedef ConvectionIntegrator |
Definition at line 2306 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.
|
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 2154 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 140 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 73 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 31 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.
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.
Definition at line 314 of file vector.cpp.
Definition at line 336 of file vector.cpp.
Definition at line 372 of file vector.cpp.
Definition at line 409 of file vector.cpp.
void mfem::Add | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
double | alpha, | ||
DenseMatrix & | C | ||
) |
C = A + alpha*B.
Definition at line 2321 of file densemat.cpp.
void mfem::Add | ( | double | alpha, |
const double * | A, | ||
double | beta, | ||
const double * | B, | ||
DenseMatrix & | C | ||
) |
C = alpha*A + beta*B.
Definition at line 2327 of file densemat.cpp.
void mfem::Add | ( | double | alpha, |
const DenseMatrix & | A, | ||
double | beta, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | C | ||
) |
C = alpha*A + beta*B.
Definition at line 2333 of file densemat.cpp.
HypreParMatrix * mfem::Add | ( | double | alpha, |
const HypreParMatrix & | A, | ||
double | beta, | ||
const HypreParMatrix & | B | ||
) |
SparseMatrix * mfem::Add | ( | double | a, |
const SparseMatrix & | A, | ||
double | b, | ||
const SparseMatrix & | B | ||
) |
Matrix addition result = a*A + b*B.
Definition at line 3949 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | const SparseMatrix & | A, |
const SparseMatrix & | B | ||
) |
Matrix addition result = A + B.
Definition at line 4032 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | Array< SparseMatrix *> & | Ai | ) |
Matrix addition result = sum_i A_i.
Definition at line 4037 of file sparsemat.cpp.
void mfem::Add | ( | const SparseMatrix & | A, |
double | alpha, | ||
DenseMatrix & | B | ||
) |
B += alpha * A.
Definition at line 4059 of file sparsemat.cpp.
void mfem::AddMult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a | ||
) |
Matrix matrix multiplication. A += B * C.
Definition at line 2447 of file densemat.cpp.
void mfem::AddMult_a | ( | double | alpha, |
const DenseMatrix & | b, | ||
const DenseMatrix & | c, | ||
DenseMatrix & | a | ||
) |
Matrix matrix multiplication. A += alpha * B * C.
Definition at line 2414 of file densemat.cpp.
void mfem::AddMult_a_AAt | ( | double | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt | ||
) |
AAt += a * A * A^t.
Definition at line 3095 of file densemat.cpp.
void mfem::AddMult_a_ABt | ( | double | a, |
const DenseMatrix & | A, | ||
const DenseMatrix & | B, | ||
DenseMatrix & | ABt | ||
) |
ABt += a * A * B^t.
Definition at line 2979 of file densemat.cpp.
void mfem::AddMult_a_VVt | ( | const double | a, |
const Vector & | v, | ||
DenseMatrix & | VVt | ||
) |
VVt += a * v v^t.
Definition at line 3233 of file densemat.cpp.
void mfem::AddMult_a_VWt | ( | const double | a, |
const Vector & | v, | ||
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
VWt += a * v w^t.
Definition at line 3211 of file densemat.cpp.
void mfem::AddMultABt | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | ABt | ||
) |
ABt += A * B^t.
Definition at line 2886 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 2737 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 2943 of file densemat.cpp.
void mfem::AddMultVVt | ( | const Vector & | v, |
DenseMatrix & | VVt | ||
) |
VVt += v v^t.
Definition at line 3187 of file densemat.cpp.
void mfem::AddMultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
VWt += v w^t.
Definition at line 3166 of file densemat.cpp.
|
inline |
Definition at line 170 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, | ||
double | cf, | ||
double & | tol, | ||
double & | 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 2147 of file solvers.cpp.
|
inline |
Definition at line 946 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.
double mfem::AvgElementSize | ( | ParMesh & | pmesh | ) |
Definition at line 42 of file dist_solver.cpp.
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 double | 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 4299 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 4366 of file densemat.cpp.
void mfem::be_to_bfe | ( | Geometry::Type | geom, |
int | o, | ||
const IntegrationPoint & | ip, | ||
IntegrationPoint & | fip | ||
) |
Definition at line 726 of file gridfunc.cpp.
int mfem::BiCGSTAB | ( | const Operator & | A, |
Vector & | x, | ||
const Vector & | b, | ||
Solver & | M, | ||
int & | max_iter, | ||
double & | tol, | ||
double | atol, | ||
int | printit | ||
) |
BiCGSTAB method. (tolerances are squared)
Definition at line 1568 of file solvers.cpp.
void mfem::BiCGSTAB | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
double | rtol, | ||
double | atol | ||
) |
BiCGSTAB method. (tolerances are squared)
Definition at line 1584 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, | ||
double & | 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 4157 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 TAutoDiffDenseMatrix< dtype > & | a, |
TAutoDiffDenseMatrix< dtype > & | adja | ||
) |
Definition at line 439 of file taddensemat.hpp.
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 2479 of file densemat.cpp.
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 2551 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 2587 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 2654 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 2693 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, | ||
double | RTOLERANCE, | ||
double | ATOLERANCE | ||
) |
Conjugate gradient method. (tolerances are squared)
Definition at line 892 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 492 of file vector.hpp.
void mfem::CheckScalarBasisType | ( | const FiniteElementSpace & | fes | ) |
void mfem::CheckVectorBasisType | ( | const FiniteElementSpace & | fes | ) |
double mfem::ComputeElementLpDistance | ( | double | p, |
int | i, | ||
GridFunction & | gf1, | ||
GridFunction & | gf2 | ||
) |
Compute the Lp distance between two grid functions on the given element.
Definition at line 4427 of file gridfunc.cpp.
double mfem::ComputeGlobalLpNorm | ( | double | 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 1459 of file coefficient.cpp.
double mfem::ComputeGlobalLpNorm | ( | double | 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 1489 of file coefficient.cpp.
double mfem::ComputeLpNorm | ( | double | 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 1416 of file coefficient.cpp.
double mfem::ComputeLpNorm | ( | double | 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 1437 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 666 of file ncmesh.cpp.
|
inline |
Definition at line 669 of file ncmesh.cpp.
|
inline |
Definition at line 663 of file ncmesh.cpp.
|
inline |
Definition at line 657 of file ncmesh.cpp.
|
inline |
Definition at line 660 of file ncmesh.cpp.
|
inline |
Definition at line 672 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 391 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 400 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 412 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.
class if mfem::defined | ( | __alignas_is_defined | ) |
Definition at line 38 of file sparsemat.hpp.
|
inline |
|
inline |
Definition at line 183 of file lor_util.hpp.
|
inline |
Definition at line 188 of file lor_util.hpp.
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::DiffuseField | ( | ParGridFunction & | field, |
int | smooth_steps | ||
) |
Definition at line 17 of file dist_solver.cpp.
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.
|
inline |
Definition at line 643 of file vector.hpp.
Definition at line 648 of file vector.hpp.
|
inline |
Definition at line 631 of file vector.hpp.
void mfem::dsyev_Eigensystem | ( | DenseMatrix & | a, |
Vector & | ev, | ||
DenseMatrix * | evect | ||
) |
Definition at line 1059 of file densemat.cpp.
void mfem::dsyevr_Eigensystem | ( | DenseMatrix & | a, |
Vector & | ev, | ||
DenseMatrix * | evect | ||
) |
Definition at line 896 of file densemat.cpp.
void mfem::dsygv_Eigensystem | ( | DenseMatrix & | a, |
DenseMatrix & | b, | ||
Vector & | ev, | ||
DenseMatrix * | evect | ||
) |
Definition at line 1133 of file densemat.cpp.
void mfem::EliminateBC | ( | PetscParMatrix & | A, |
PetscParMatrix & | Ae, | ||
const Array< int > & | ess_dof_list, | ||
const Vector & | X, | ||
Vector & | B | ||
) |
void mfem::EliminateBC | ( | const HypreParMatrix & | A, |
const HypreParMatrix & | Ae, | ||
const Array< int > & | ess_dof_list, | ||
const Vector & | X, | ||
Vector & | B | ||
) |
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.
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 4494 of file gridfunc.cpp.
double mfem::f | ( | const Vector & | xvec | ) |
Definition at line 32 of file lor_mms.hpp.
Definition at line 68 of file lor_mms.hpp.
|
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 |
The forall kernel body wrapper.
Definition at line 558 of file forall.hpp.
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 | ||
) |
|
inline |
Definition at line 924 of file solvers.cpp.
ErrorAction mfem::get_error_action | ( | ) |
IntegrationRule mfem::GetCollocatedIntRule | ( | FiniteElementSpace & | fes | ) |
Definition at line 494 of file lor_batched.cpp.
const char * mfem::GetConfigStr | ( | ) |
Return the MFEM configuration as a string.
Definition at line 66 of file version.cpp.
void mfem::GetFaceDofs | ( | const int | dim, |
const int | face_id, | ||
const int | dof1d, | ||
Array< int > & | face_map | ||
) |
Return the face map that extracts the degrees of freedom for the requested local face of a quad or hex, returned in Lexicographic order.
Return the face degrees of freedom returned in Lexicographic order. Note: Only for quad and hex
[in] | dim | The dimension of the space |
[in] | face_id | The local face identifier |
[in] | dof1d | The 1D number of degrees of freedom for each dimension |
[out] | face_map | The map that maps each face dof to an element dof |
Definition at line 603 of file restriction.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 |
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 301 of file device.hpp.
MemoryType mfem::GetMemoryType | ( | MemoryClass | mc | ) |
Return a suitable MemoryType for a given MemoryClass.
Definition at line 55 of file mem_manager.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.
double mfem::GlobalLpNorm | ( | const double | p, |
double | loc_norm, | ||
MPI_Comm | comm | ||
) |
Compute a global Lp norm from the local Lp norms computed by each processor.
Definition at line 1065 of file pgridfunc.cpp.
int mfem::GMRES | ( | const Operator & | A, |
Vector & | x, | ||
const Vector & | b, | ||
Solver & | M, | ||
int & | max_iter, | ||
int | m, | ||
double & | tol, | ||
double | atol, | ||
int | printit | ||
) |
GMRES method. (tolerances are squared)
Definition at line 1338 of file solvers.cpp.
void mfem::GMRES | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
int | m, | ||
double | rtol, | ||
double | atol | ||
) |
GMRES method. (tolerances are squared)
Definition at line 1357 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 487 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 496 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 507 of file forall.hpp.
|
inline |
Shortcut to Read(const Memory<T> &mem, int size, false)
Definition at line 326 of file device.hpp.
|
inline |
Shortcut to ReadWrite(Memory<T> &mem, int size, false)
Definition at line 360 of file device.hpp.
|
inline |
Shortcut to Write(const Memory<T> &mem, int size, false)
Definition at line 343 of file device.hpp.
HypreParMatrix * mfem::HypreParMatrixFromBlocks | ( | Array2D< HypreParMatrix * > & | blocks, |
Array2D< double > * | 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.
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 |
Define a shortcut for std::numeric_limits<double>::infinity()
Definition at line 46 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.
double mfem::InnerProduct | ( | HypreParVector * | x, |
HypreParVector * | y | ||
) |
double mfem::InnerProduct | ( | HypreParVector & | x, |
HypreParVector & | y | ||
) |
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 679 of file vector.hpp.
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 689 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 650 of file fe_base.cpp.
|
inline |
Return true if the given memory type is in MemoryClass::DEVICE.
Definition at line 88 of file mem_manager.hpp.
|
inline |
Definition at line 481 of file vector.hpp.
|
inline |
Return true if the given memory type is in MemoryClass::HOST.
Definition at line 85 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 |
Definition at line 115 of file lor_util.hpp.
|
inline |
Definition at line 126 of file lor_util.hpp.
void mfem::KdTreeSort | ( | int ** | coords, |
int | d, | ||
int | dim, | ||
int | size | ||
) |
Definition at line 1339 of file communication.cpp.
double mfem::L2ZZErrorEstimator | ( | BilinearFormIntegrator & | flux_integrator, |
const ParGridFunction & | x, | ||
ParFiniteElementSpace & | smooth_flux_fes, | ||
ParFiniteElementSpace & | flux_fes, | ||
Vector & | errors, | ||
int | norm_p = 2 , |
||
double | 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 1137 of file pgridfunc.cpp.
bool mfem::LinearSolve | ( | DenseMatrix & | A, |
double * | X, | ||
double | 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 2343 of file densemat.cpp.
|
inline |
Definition at line 24 of file lor_util.hpp.
|
inline |
Definition at line 56 of file lor_util.hpp.
double mfem::LpNormLoop | ( | double | p, |
Coefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Definition at line 1343 of file coefficient.cpp.
double mfem::LpNormLoop | ( | double | p, |
VectorCoefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Definition at line 1374 of file coefficient.cpp.
double mfem::LSZZErrorEstimator | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
Vector & | error_estimates, | ||
bool | subdomain_reconstruction = true , |
||
bool | with_coeff = false , |
||
double | 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 4224 of file gridfunc.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.
bool mfem::MemoryClassContainsType | ( | MemoryClass | mc, |
MemoryType | mt | ||
) |
Return true iff the MemoryType mt is contained in the MemoryClass mc.
Definition at line 70 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 1670 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_error | ( | const char * | msg | ) |
void mfem::mfem_hip_error | ( | hipError_t | err, |
const char * | expr, | ||
const char * | func, | ||
const char * | file, | ||
int | line | ||
) |
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
DatcSize | , | ||
const int | NE, | ||
const int | ncomp, | ||
const int | sizeidx, | ||
const DenseMatrix & | w_, | ||
const Array< double > & | b_, | ||
const Vector & | x_, | ||
DenseTensor & | j_, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 20 of file tmop_pa_da3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AssembleDiagonalPA_Kernel_C0_2D | , | ||
const int | NE, | ||
const Array< double > & | 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 | , |
AddMultGradPA_Kernel_3D | , | ||
const int | NE, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | , |
AssembleDiagonalPA_Kernel_3D | , | ||
const int | NE, | ||
const Array< double > & | b, | ||
const Array< double > & | 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 | , |
AddMultGradPA_Kernel_2D | , | ||
const int | NE, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | , |
AssembleDiagonalPA_Kernel_C0_3D | , | ||
const int | NE, | ||
const Array< double > & | 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 | , |
SetupGradPA_C0_2D | , | ||
const double | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | , |
AddMultGradPA_Kernel_C0_3D | , | ||
const int | NE, | ||
const Array< double > & | 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_C0_2D | , | ||
const double | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | , |
SetupGradPA_Kernel_C0_3D | , | ||
const double | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | double | , |
MinDetJpr_Kernel_2D | , | ||
const int | NE, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | ( | void | , |
AddMultPA_Kernel_C0_3D | , | ||
const double | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | ( | double | , |
EnergyPA_C0_3D | , | ||
const double | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | ( | double | , |
MinDetJpr_Kernel_3D | , | ||
const int | NE, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | ( | double | , |
EnergyPA_C0_2D | , | ||
const double | lim_normal, | ||
const Vector & | lim_dist, | ||
const Vector & | c0_, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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 | ( | void | , |
AddMultGradPA_Kernel_C0_2D | , | ||
const int | NE, | ||
const Array< double > & | 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 | ( | 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 | ( | 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 | ( | void | , |
AssembleDiagonalPA_Kernel_2D | , | ||
const int | NE, | ||
const Array< double > & | b, | ||
const Array< double > & | 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 | ( | bool | , |
TC_IDEAL_SHAPE_GIVEN_SIZE_2D_KERNEL | , | ||
const int | NE, | ||
const Array< double > & | b_, | ||
const Array< double > & | 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< double > & | b_, | ||
const Array< double > & | 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 | ( | double | , |
EnergyPA_2D | , | ||
const double | metric_normal, | ||
const double | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | g_, | ||
const Vector & | x_, | ||
const Vector & | ones, | ||
Vector & | energy, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 59 of file tmop_pa_w2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | double | , |
EnergyPA_3D | , | ||
const double | metric_normal, | ||
const double | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | g_, | ||
const Vector & | ones, | ||
const Vector & | x_, | ||
Vector & | energy, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 67 of file tmop_pa_w3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultPA_Kernel_2D | , | ||
const double | metric_normal, | ||
const double | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | g_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 76 of file tmop_pa_p2.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
AddMultPA_Kernel_3D | , | ||
const double | metric_normal, | ||
double | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const DenseTensor & | j_, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | g_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 98 of file tmop_pa_p3.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
SetupGradPA_2D | , | ||
const Vector & | x_, | ||
const double | metric_normal, | ||
const double | metric_param, | ||
const int | mid, | ||
const int | NE, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | g_, | ||
const DenseTensor & | j_, | ||
Vector & | h_, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 192 of file tmop_pa_h2s.cpp.
mfem::MFEM_REGISTER_TMOP_KERNELS | ( | void | , |
SetupGradPA_3D | , | ||
const double | metric_normal, | ||
const double | metric_param, | ||
const int | mid, | ||
const Vector & | x_, | ||
const int | NE, | ||
const Array< double > & | w_, | ||
const Array< double > & | b_, | ||
const Array< double > & | g_, | ||
const DenseTensor & | j_, | ||
Vector & | h_, | ||
const int | d1d, | ||
const int | q1d | ||
) |
Definition at line 229 of file tmop_pa_h3s.cpp.
void mfem::mfem_warning | ( | const char * | msg | ) |
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 2638 of file solvers.cpp.
void mfem::MINRES | ( | const Operator & | A, |
const Vector & | b, | ||
Vector & | x, | ||
int | print_it, | ||
int | max_it, | ||
double | rtol, | ||
double | atol | ||
) |
MINRES method without preconditioner. (tolerances are squared)
Definition at line 1778 of file solvers.cpp.
void mfem::MINRES | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_it, | ||
int | max_it, | ||
double | rtol, | ||
double | atol | ||
) |
MINRES method with preconditioner. (tolerances are squared)
Definition at line 1792 of file solvers.cpp.
ComplexDenseMatrix * mfem::Mult | ( | const ComplexDenseMatrix & | A, |
const ComplexDenseMatrix & | B | ||
) |
Matrix matrix multiplication. A = B * C.
Definition at line 265 of file complex_densemat.cpp.
BlockMatrix * mfem::Mult | ( | const BlockMatrix & | A, |
const BlockMatrix & | B | ||
) |
Multiply BlockMatrix matrices: result = A*B.
Definition at line 687 of file blockmatrix.cpp.
void mfem::Mult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a | ||
) |
Matrix matrix multiplication. A = B * C.
Definition at line 2391 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 3639 of file sparsemat.cpp.
DenseMatrix * mfem::Mult | ( | const SparseMatrix & | A, |
DenseMatrix & | B | ||
) |
Matrix product A.B.
Definition at line 3872 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 | ( | double | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt | ||
) |
AAt = a * A * A^t.
Definition at line 3120 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 3930 of file sparsemat.cpp.
void mfem::MultAAt | ( | const DenseMatrix & | a, |
DenseMatrix & | aat | ||
) |
Calculate the matrix A.At.
Definition at line 2719 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 3775 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 2781 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 2765 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 2846 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 328 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 3038 of file densemat.cpp.
void mfem::MultVVt | ( | const Vector & | v, |
DenseMatrix & | vvt | ||
) |
Make a matrix from a vector V.Vt.
Definition at line 3136 of file densemat.cpp.
void mfem::MultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
Definition at line 3147 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 100 of file forall.hpp.
|
inline |
Definition at line 2167 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 125 of file mem_manager.cpp.
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 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.
bool mfem::operator< | ( | const ParNCMesh::CommGroup & | lhs, |
const ParNCMesh::CommGroup & | rhs | ||
) |
Definition at line 367 of file pncmesh.cpp.
|
inline |
Definition at line 551 of file pncmesh.hpp.
|
inline |
Definition at line 711 of file sparsemat.hpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const QuadratureFunction & | qf | ||
) |
Overload operator<< for std::ostream and QuadratureFunction.
Definition at line 110 of file qfunction.cpp.
std::ostream & mfem::operator<< | ( | std::ostream & | os, |
const Mesh::FaceInformation & | info | ||
) |
Print function for Mesh::FaceInformation.
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 3907 of file gridfunc.cpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const Mesh & | mesh | ||
) |
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 557 of file pncmesh.hpp.
|
inline |
Definition at line 2162 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 29 of file fespace.cpp.
void mfem::Ordering::DofsToVDofs< Ordering::byVDIM > | ( | int | ndofs, |
int | vdim, | ||
Array< int > & | dofs | ||
) |
Definition at line 44 of file fespace.cpp.
|
inline |
Definition at line 59 of file fespace.hpp.
|
inline |
Definition at line 66 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 4074 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 4092 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 4121 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 4150 of file sparsemat.cpp.
void mfem::PADiffusionSetup2D | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
const Vector & | j, | ||
const Vector & | c, | ||
Vector & | d | ||
) |
void mfem::PADiffusionSetup2D< 2 > | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
const Vector & | j, | ||
const Vector & | c, | ||
Vector & | d | ||
) |
Definition at line 85 of file bilininteg_diffusion_pa.cpp.
void mfem::PADiffusionSetup2D< 3 > | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
const Vector & | j, | ||
const Vector & | c, | ||
Vector & | d | ||
) |
Definition at line 152 of file bilininteg_diffusion_pa.cpp.
void mfem::PADiffusionSetup3D | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
const Vector & | j, | ||
const Vector & | c, | ||
Vector & | d | ||
) |
Definition at line 197 of file bilininteg_diffusion_pa.cpp.
void mfem::PAHcurlH1Apply2D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const Array< double > & | bc, | ||
const Array< double > & | gc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 3104 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlH1Apply3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const Array< double > & | bc, | ||
const Array< double > & | gc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 2715 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlH1ApplyTranspose2D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const Array< double > & | bc, | ||
const Array< double > & | bo, | ||
const Array< double > & | bct, | ||
const Array< double > & | gct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 3228 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlH1ApplyTranspose3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const Array< double > & | bc, | ||
const Array< double > & | bo, | ||
const Array< double > & | bct, | ||
const Array< double > & | gct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 2905 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlHdivMassApply2D | ( | const int | D1D, |
const int | D1Dtest, | ||
const int | Q1D, | ||
const int | NE, | ||
const bool | scalarCoeff, | ||
const bool | trialHcurl, | ||
const bool | transpose, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Array< double > & | Bot_, | ||
const Array< double > & | Bct_, | ||
const Vector & | op_, | ||
const Vector & | x_, | ||
Vector & | y_ | ||
) |
Definition at line 603 of file bilininteg_vectorfe.cpp.
void mfem::PAHcurlHdivMassApply3D | ( | const int | D1D, |
const int | D1Dtest, | ||
const int | Q1D, | ||
const int | NE, | ||
const bool | scalarCoeff, | ||
const bool | trialHcurl, | ||
const bool | transpose, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Array< double > & | Bot_, | ||
const Array< double > & | Bct_, | ||
const Vector & | op_, | ||
const Vector & | x_, | ||
Vector & | y_ | ||
) |
Definition at line 383 of file bilininteg_vectorfe.cpp.
void mfem::PAHcurlHdivSetup2D | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const bool | transpose, | ||
const Array< double > & | w_, | ||
const Vector & | j, | ||
Vector & | coeff_, | ||
Vector & | op | ||
) |
Definition at line 311 of file bilininteg_vectorfe.cpp.
void mfem::PAHcurlHdivSetup3D | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const bool | transpose, | ||
const Array< double > & | w_, | ||
const Vector & | j, | ||
Vector & | coeff_, | ||
Vector & | op | ||
) |
Definition at line 194 of file bilininteg_vectorfe.cpp.
void mfem::PAHcurlL2Setup | ( | const int | NQ, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
Vector & | coeff, | ||
Vector & | op | ||
) |
Definition at line 3352 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlMassApply2D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 31 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlMassApply3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 415 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlMassAssembleDiagonal2D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
Definition at line 161 of file bilininteg_hcurl.cpp.
void mfem::PAHcurlMassAssembleDiagonal3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
Definition at line 218 of file bilininteg_hcurl.cpp.
void mfem::PAHdivMassApply | ( | const int | dim, |
const int | D1D, | ||
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | Bo, | ||
const Array< double > & | Bc, | ||
const Array< double > & | Bot, | ||
const Array< double > & | Bct, | ||
const Vector & | op, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 1086 of file bilininteg_hdiv.cpp.
void mfem::PAHdivMassApply2D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Array< double > & | Bot_, | ||
const Array< double > & | Bct_, | ||
const Vector & | op_, | ||
const Vector & | x_, | ||
Vector & | y_ | ||
) |
Definition at line 178 of file bilininteg_hdiv.cpp.
void mfem::PAHdivMassApply3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Array< double > & | Bot_, | ||
const Array< double > & | Bct_, | ||
const Vector & | op_, | ||
const Vector & | x_, | ||
Vector & | y_ | ||
) |
Definition at line 603 of file bilininteg_hdiv.cpp.
void mfem::PAHdivMassAssembleDiagonal2D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Vector & | op_, | ||
Vector & | diag_ | ||
) |
Definition at line 478 of file bilininteg_hdiv.cpp.
void mfem::PAHdivMassAssembleDiagonal3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Vector & | op_, | ||
Vector & | diag_ | ||
) |
Definition at line 534 of file bilininteg_hdiv.cpp.
void mfem::PAHdivSetup2D | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
const Vector & | j, | ||
Vector & | coeff_, | ||
Vector & | op | ||
) |
Definition at line 27 of file bilininteg_hdiv.cpp.
void mfem::PAHdivSetup3D | ( | const int | Q1D, |
const int | coeffDim, | ||
const int | NE, | ||
const Array< double > & | w, | ||
const Vector & | j, | ||
Vector & | coeff_, | ||
Vector & | op | ||
) |
Definition at line 91 of file bilininteg_hdiv.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.
int mfem::ParCSRRelax_FIR | ( | hypre_ParCSRMatrix * | A, |
hypre_ParVector * | f, | ||
double | max_eig, | ||
int | poly_order, | ||
double * | fir_coeffs, | ||
hypre_ParVector * | u, | ||
hypre_ParVector * | x0, | ||
hypre_ParVector * | x1, | ||
hypre_ParVector * | x2, | ||
hypre_ParVector * | x3 | ||
) |
int mfem::ParCSRRelax_Taubin | ( | hypre_ParCSRMatrix * | A, |
hypre_ParVector * | f, | ||
double | lambda, | ||
double | mu, | ||
int | N, | ||
double | max_eig, | ||
hypre_ParVector * | u, | ||
hypre_ParVector * | r | ||
) |
PetscParMatrix * mfem::ParMult | ( | const PetscParMatrix * | A, |
const PetscParMatrix * | B | ||
) |
HypreParMatrix * mfem::ParMult | ( | const HypreParMatrix * | A, |
const HypreParMatrix * | B, | ||
bool | own_matrix = false |
||
) |
double mfem::ParNormlp | ( | const Vector & | vec, |
double | p, | ||
MPI_Comm | comm | ||
) |
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, | ||
double | RTOLERANCE, | ||
double | ATOLERANCE | ||
) |
Preconditioned conjugate gradient method. (tolerances are squared)
Definition at line 907 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 1085 of file restriction.cpp.
|
inline |
Definition at line 675 of file ncmesh.cpp.
|
inline |
Definition at line 678 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 137 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 144 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 179 of file forall.hpp.
void mfem::RajaHipWrap1D | ( | const int | N, |
DBODY && | d_body | ||
) |
Definition at line 239 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 246 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 281 of file forall.hpp.
void mfem::RajaOmpWrap | ( | const int | N, |
HBODY && | h_body | ||
) |
RAJA OpenMP backend.
Definition at line 343 of file forall.hpp.
void mfem::RajaSeqWrap | ( | const int | N, |
HBODY && | h_body | ||
) |
RAJA sequential loop backend.
Definition at line 353 of file forall.hpp.
PetscParMatrix * mfem::RAP | ( | PetscParMatrix * | Rt, |
PetscParMatrix * | A, | ||
PetscParMatrix * | P | ||
) |
PetscParMatrix * mfem::RAP | ( | PetscParMatrix * | A, |
PetscParMatrix * | P | ||
) |
PetscParMatrix * mfem::RAP | ( | HypreParMatrix * | hA, |
PetscParMatrix * | P | ||
) |
HypreParMatrix * mfem::RAP | ( | const HypreParMatrix * | A, |
const HypreParMatrix * | P | ||
) |
HypreParMatrix * mfem::RAP | ( | const HypreParMatrix * | Rt, |
const HypreParMatrix * | A, | ||
const HypreParMatrix * | P | ||
) |
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 3252 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 3260 of file densemat.cpp.
DenseMatrix * mfem::RAP | ( | const SparseMatrix & | A, |
DenseMatrix & | P | ||
) |
RAP matrix product (with R=P^T)
Definition at line 3885 of file sparsemat.cpp.
DenseMatrix * mfem::RAP | ( | DenseMatrix & | A, |
const SparseMatrix & | P | ||
) |
RAP matrix product (with R=P^T)
Definition at line 3895 of file sparsemat.cpp.
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 3908 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 3919 of file sparsemat.cpp.
|
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 319 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 353 of file device.hpp.
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 1370 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, |
double | n[], | ||
double | 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 |
|
inline |
void mfem::SLI | ( | const Operator & | A, |
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
double | RTOLERANCE, | ||
double | ATOLERANCE | ||
) |
Stationary linear iteration. (tolerances are squared)
Definition at line 671 of file solvers.cpp.
void mfem::SLI | ( | const Operator & | A, |
Solver & | B, | ||
const Vector & | b, | ||
Vector & | x, | ||
int | print_iter, | ||
int | max_num_iter, | ||
double | RTOLERANCE, | ||
double | ATOLERANCE | ||
) |
Preconditioned stationary linear iteration. (tolerances are squared)
Definition at line 686 of file solvers.cpp.
void mfem::SmemPAHcurlMassApply3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
Definition at line 611 of file bilininteg_hcurl.cpp.
template void mfem::SmemPAHcurlMassApply3D< 0, 0 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
template void mfem::SmemPAHcurlMassApply3D< 2, 3 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
template void mfem::SmemPAHcurlMassApply3D< 3, 4 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
template void mfem::SmemPAHcurlMassApply3D< 4, 5 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
template void mfem::SmemPAHcurlMassApply3D< 5, 6 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Array< double > & | bot, | ||
const Array< double > & | bct, | ||
const Vector & | pa_data, | ||
const Vector & | x, | ||
Vector & | y | ||
) |
void mfem::SmemPAHcurlMassAssembleDiagonal3D | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
Definition at line 291 of file bilininteg_hcurl.cpp.
template void mfem::SmemPAHcurlMassAssembleDiagonal3D< 0, 0 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
template void mfem::SmemPAHcurlMassAssembleDiagonal3D< 2, 3 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
template void mfem::SmemPAHcurlMassAssembleDiagonal3D< 3, 4 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
template void mfem::SmemPAHcurlMassAssembleDiagonal3D< 4, 5 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
template void mfem::SmemPAHcurlMassAssembleDiagonal3D< 5, 6 > | ( | const int | D1D, |
const int | Q1D, | ||
const int | NE, | ||
const bool | symmetric, | ||
const Array< double > & | bo, | ||
const Array< double > & | bc, | ||
const Vector & | pa_data, | ||
Vector & | diag | ||
) |
void mfem::SmemPAHdivMassApply2D | ( | const int | NE, |
const bool | symmetric, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Array< double > & | Bot_, | ||
const Array< double > & | Bct_, | ||
const Vector & | op_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d = 0 , |
||
const int | q1d = 0 |
||
) |
Definition at line 310 of file bilininteg_hdiv.cpp.
void mfem::SmemPAHdivMassApply3D | ( | const int | NE, |
const bool | symmetric, | ||
const Array< double > & | Bo_, | ||
const Array< double > & | Bc_, | ||
const Array< double > & | Bot_, | ||
const Array< double > & | Bct_, | ||
const Vector & | op_, | ||
const Vector & | x_, | ||
Vector & | y_, | ||
const int | d1d = 0 , |
||
const int | q1d = 0 |
||
) |
Definition at line 799 of file bilininteg_hdiv.cpp.
|
inline |
Definition at line 40 of file tmatrix.hpp.
|
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, |
double(*)(double) | f | ||
) |
Applies f() to each element of the matrix (after it is finalized).
Definition at line 3495 of file sparsemat.cpp.
T* mfem::StealPointer | ( | T *& | ptr | ) |
Definition at line 95 of file lor_ams.hpp.
Definition at line 461 of file vector.cpp.
Definition at line 487 of file vector.cpp.
|
inline |
void mfem::Swap | ( | CoarseFineTransformations & | a, |
CoarseFineTransformations & | b | ||
) |
Definition at line 4720 of file ncmesh.cpp.
|
inline |
Specialization of the template function Swap<> for class SparseMatrix.
Definition at line 931 of file sparsemat.hpp.
|
inline |
|
inline |
Specialization of the template function Swap<> for class Vector.
Definition at line 621 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 252 of file ttensor.hpp.
|
inline |
Definition at line 277 of file ttensor.hpp.
|
inline |
Definition at line 264 of file ttensor.hpp.
|
inline |
Definition at line 573 of file tmatrix.hpp.
|
inline |
Definition at line 604 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, | ||
double | 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 4065 of file gridfunc.cpp.
void mfem::tic | ( | ) |
Start the tic_toc timer.
Definition at line 449 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 455 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 2142 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 93 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 65 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>
BlockMatrix * mfem::Transpose | ( | const BlockMatrix & | A | ) |
Transpose a BlockMatrix: result = A'.
Definition at line 669 of file blockmatrix.cpp.
SparseMatrix * mfem::Transpose | ( | const SparseMatrix & | A | ) |
Transpose of a sparse matrix. A must be finalized.
Definition at line 3506 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 3562 of file sparsemat.cpp.
SparseMatrix * mfem::TransposeMult | ( | const SparseMatrix & | A, |
const SparseMatrix & | B | ||
) |
C = A^T B.
Definition at line 3767 of file sparsemat.cpp.
PetscParMatrix * mfem::TripleMatrixProduct | ( | PetscParMatrix * | R, |
PetscParMatrix * | A, | ||
PetscParMatrix * | P | ||
) |
double mfem::u | ( | const Vector & | xvec | ) |
Definition at line 24 of file lor_mms.hpp.
Definition at line 50 of file lor_mms.hpp.
|
inline |
Definition at line 953 of file solvers.cpp.
|
inline |
Return true if the mesh contains only one topology and the elements are tensor elements.
Definition at line 957 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 899 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 927 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 336 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< 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::WriteVTKEncodedCompressed | ( | std::ostream & | os, |
const void * | bytes, | ||
uint32_t | nbytes, | ||
int | compression_level | ||
) |
|
inline |
Definition at line 476 of file vector.hpp.
double mfem::ZZErrorEstimator | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
GridFunction & | flux, | ||
Vector & | error_estimates, | ||
Array< int > * | aniso_flags, | ||
int | with_subdomains, | ||
bool | with_coeff | ||
) |
Definition at line 3975 of file gridfunc.cpp.
constexpr int mfem::DeviceMemoryType = static_cast<int>(MemoryType::MANAGED) |
Definition at line 63 of file mem_manager.hpp.
constexpr int mfem::DeviceMemoryTypeSize = MemoryTypeSize - DeviceMemoryType |
Definition at line 64 of file mem_manager.hpp.
MFEM_EXPORT OutStream mfem::err |
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 gnutls_digest_algorithm_t mfem::HASH_ALGORITHM = GNUTLS_DIG_SHA256 |
constexpr int mfem::HCURL_MAX_D1D = 5 |
Definition at line 24 of file bilininteg.hpp.
constexpr int mfem::HCURL_MAX_Q1D = 5 |
Definition at line 26 of file bilininteg.hpp.
constexpr int mfem::HDIV_MAX_D1D = 5 |
Definition at line 31 of file bilininteg.hpp.
constexpr int mfem::HDIV_MAX_Q1D = 6 |
Definition at line 32 of file bilininteg.hpp.
MFEM_EXPORT class TriLinear3DFiniteElement mfem::HexahedronFE |
Definition at line 52 of file hexahedron.cpp.
constexpr int mfem::HostMemoryType = static_cast<int>(MemoryType::HOST) |
Definition at line 61 of file mem_manager.hpp.
constexpr int mfem::HostMemoryTypeSize = static_cast<int>(MemoryType::DEVICE) |
Definition at line 62 of file mem_manager.hpp.
MFEM_EXPORT IntegrationRules mfem::IntRules |
A global object with all integration rules (defined in intrules.cpp)
Definition at line 379 of file intrules.hpp.
const int mfem::MAX_D1D = 10 |
Definition at line 28 of file forall.hpp.
const int mfem::MAX_Q1D = 10 |
Definition at line 29 of file forall.hpp.
MFEM_EXPORT const char * mfem::MemoryTypeName |
Memory type names, used during Device:: configuration.
Definition at line 1735 of file mem_manager.cpp.
constexpr int mfem::MemoryTypeSize = static_cast<int>(MemoryType::SIZE) |
Static casts to 'int' and sizes of some useful memory types.
Definition at line 60 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 1705 of file mem_manager.cpp.
MFEM_EXPORT OutStream mfem::out |
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 55 of file quadrilateral.cpp.
MFEM_EXPORT IntegrationRules mfem::RefinedIntRules |
A global object with all refined integration rules.
Definition at line 382 of file intrules.hpp.
MFEM_EXPORT Linear1DFiniteElement mfem::SegmentFE |
Definition at line 49 of file segment.cpp.
Linear3DFiniteElement mfem::TetrahedronFE |
MFEM_EXPORT StopWatch mfem::tic_toc |
Definition at line 447 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.