MFEM
v3.2
Finite element discretization library
|
Namespaces | |
electromagnetics | |
miniapps | |
superlu | |
superlu_internal | |
Classes | |
class | BaseArray |
Base class for array container. More... | |
class | Array |
class | Array2D |
class | Array3D |
class | MPI_Session |
A simple convenience 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 | GroupTopology |
class | GroupCommunicator |
struct | VarMessage |
Variable-length MPI message containing unspecific binary data. More... | |
struct | MPITypeMap |
Helper struct to convert a C++ type to an MPI type. More... | |
class | IdGenerator |
struct | Hashed2 |
struct | Hashed4 |
class | HashTable |
class | isockstream |
class | StackPart |
class | Stack |
class | MemAllocNode |
class | MemAlloc |
class | OptionsParser |
class | osockstream |
class | IntegerSet |
A set of integers. More... | |
class | ListOfIntegerSets |
List of integer sets. More... | |
class | socketbuf |
class | GnuTLS_status |
class | GnuTLS_global_state |
class | GnuTLS_session_params |
class | GnuTLS_socketbuf |
class | socketstream |
class | socketserver |
class | Pair |
A pair of objects. More... | |
class | Triple |
class | STable3DNode |
class | STable3D |
Symmetric 3D Table. More... | |
struct | Connection |
Helper struct for defining a connectivity table, see Table::MakeFromList. More... | |
class | Table |
class | STable |
class | DSTable |
struct | AssignOp |
class | StopWatch |
Timing object. More... | |
class | BlockMatrix |
class | BlockOperator |
A class to handle Block systems in a matrix-free implementation. More... | |
class | BlockDiagonalPreconditioner |
A class to handle Block diagonal preconditioners in a matrix-free implementation. More... | |
class | BlockVector |
class | DenseMatrix |
Data type dense matrix using column-major storage. More... | |
class | LUFactors |
class | DenseMatrixInverse |
class | DenseMatrixEigensystem |
class | DenseMatrixSVD |
class | DenseTensor |
Rank 3 tensor (array of matrices) More... | |
class | HypreParVector |
Wrapper for hypre's parallel vector class. More... | |
class | HypreParMatrix |
Wrapper for hypre's ParCSR matrix class. More... | |
class | HypreSmoother |
Parallel smoothers in hypre. More... | |
class | HypreSolver |
Abstract class for hypre's solvers and preconditioners. More... | |
class | HyprePCG |
PCG solver in hypre. More... | |
class | HypreGMRES |
GMRES solver in hypre. More... | |
class | HypreIdentity |
The identity operator as a hypre solver. More... | |
class | HypreDiagScale |
Jacobi preconditioner in hypre. More... | |
class | HypreParaSails |
The ParaSails preconditioner in hypre. More... | |
class | HypreBoomerAMG |
The BoomerAMG solver in hypre. More... | |
class | HypreAMS |
The Auxiliary-space Maxwell Solver in hypre. More... | |
class | HypreADS |
The Auxiliary-space Divergence Solver in hypre. More... | |
class | HypreLOBPCG |
class | HypreAME |
class | Matrix |
Abstract data type matrix. More... | |
class | MatrixInverse |
Abstract data type for matrix inverse. More... | |
class | AbstractSparseMatrix |
Abstract data type for sparse matrices. More... | |
class | ODESolver |
Abstract class for solving systems of ODEs: dx/dt = f(x,t) More... | |
class | ForwardEulerSolver |
The classical forward Euler method. 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 | ExplicitRKSolver |
class | RK6Solver |
class | RK8Solver |
class | BackwardEulerSolver |
Backward Euler ODE solver. L-stable. More... | |
class | ImplicitMidpointSolver |
Implicit midpoint method. A-stable, not L-stable. More... | |
class | SDIRK23Solver |
class | SDIRK34Solver |
class | SDIRK33Solver |
class | Operator |
Abstract operator. More... | |
class | TimeDependentOperator |
Base abstract class for time dependent operators: (x,t) -> f(x,t) More... | |
class | Solver |
Base class for solvers. More... | |
class | IdentityOperator |
Operator I: x -> x. More... | |
class | TransposeOperator |
The transpose of a given operator. More... | |
class | RAPOperator |
The operator x -> R*A*P*x. More... | |
class | TripleProductOperator |
General triple product operator x -> A*B*C*x, with ownership of the factors. More... | |
class | IterativeSolver |
Abstract base class for iterative solver. More... | |
class | SLISolver |
Stationary linear iteration: x <- x + B (b - A x) More... | |
class | CGSolver |
Conjugate gradient method. More... | |
class | GMRESSolver |
GMRES method. More... | |
class | FGMRESSolver |
FGMRES method. More... | |
class | BiCGSTABSolver |
BiCGSTAB method. More... | |
class | MINRESSolver |
MINRES method. More... | |
class | NewtonSolver |
class | SLBQPOptimizer |
class | UMFPackSolver |
Direct sparse solver using UMFPACK. More... | |
class | KLUSolver |
Direct sparse solver using KLU. More... | |
class | SparseMatrix |
Data type sparse matrix. More... | |
class | SparseSmoother |
class | GSSmoother |
Data type for Gauss-Seidel smoother of sparse matrix. More... | |
class | DSmoother |
Data type for scaled Jacobi-type smoother of sparse matrix. More... | |
class | SuperLURowLocMatrix |
class | SuperLUSolver |
struct | OffsetStridedLayout1D |
struct | StridedLayout2D |
struct | StridedLayout1D |
struct | OffsetStridedLayout2D |
struct | StridedLayout3D |
struct | StridedLayout4D |
struct | OffsetStridedLayout3D |
struct | OffsetStridedLayout4D |
struct | ColumnMajorLayout2D |
struct | ColumnMajorLayout3D |
struct | ColumnMajorLayout4D |
class | DynamicVectorLayout |
class | VectorLayout |
class | ScalarLayout |
struct | TVector |
struct | TMatrix |
struct | TTensor3 |
struct | TTensor4 |
class | Vector |
Vector data type. More... | |
class | Element |
Abstract data type element. More... | |
class | Hexahedron |
Data type hexahedron element. More... | |
class | Mesh |
class | NodeExtrudeCoefficient |
Class used to extrude the nodes of a mesh. More... | |
class | named_ifstream |
class | MeshOperator |
The MeshOperator class serves as base for mesh manipulation classes. More... | |
class | MeshOperatorSequence |
class | ThresholdRefiner |
Mesh refinement operator using an error threshold. More... | |
class | ThresholdDerefiner |
De-refinement operator using an error threshold. More... | |
class | Rebalancer |
ParMesh rebalancing operator. More... | |
class | MesquiteMesh |
struct | Refinement |
struct | Embedding |
Defines the position of a fine element within a coarse element. More... | |
struct | CoarseFineTransformations |
Defines the coarse-fine transformations of all fine elements. More... | |
class | NCMesh |
A class for non-conforming AMR on higher-order hexahedral, quadrilateral or triangular meshes. More... | |
class | KnotVector |
class | NURBSPatch |
class | NURBSExtension |
class | ParNURBSExtension |
class | NURBSPatchMap |
class | ParMesh |
Class for parallel meshes. More... | |
class | ParNCMesh |
A parallel extension of the NCMesh class. More... | |
class | NeighborDofMessage |
class | NeighborRowRequest |
class | NeighborRowReply |
class | Point |
Data type point element. More... | |
class | Quadrilateral |
Data type quadrilateral element. More... | |
class | Segment |
Data type line segment element. More... | |
class | Tetrahedron |
Data type tetrahedron element. More... | |
class | TMesh |
class | Triangle |
Data type triangle element. More... | |
class | Vertex |
Data type for vertex. More... | |
class | BilinearForm |
class | MixedBilinearForm |
class | DiscreteLinearOperator |
class | BilinearFormIntegrator |
Abstract base class BilinearFormIntegrator. More... | |
class | TransposeIntegrator |
class | LumpedIntegrator |
class | InverseIntegrator |
Integrator that inverts the matrix assembled by another integrator. More... | |
class | SumIntegrator |
Integrator defining a sum of multiple Integrators. More... | |
class | DiffusionIntegrator |
class | MassIntegrator |
class | BoundaryMassIntegrator |
class | ConvectionIntegrator |
alpha (q . grad u, v) More... | |
class | GroupConvectionIntegrator |
alpha (q . grad u, v) using the "group" FE discretization More... | |
class | VectorMassIntegrator |
class | VectorFEDivergenceIntegrator |
class | VectorFECurlIntegrator |
Integrator for (curl u, v) for Nedelec and RT elements. More... | |
class | DerivativeIntegrator |
Class for integrating (Q D_i(u), v); u and v are scalars. More... | |
class | CurlCurlIntegrator |
Integrator for (curl u, curl v) for Nedelec elements. More... | |
class | VectorCurlCurlIntegrator |
class | VectorFEMassIntegrator |
Integrator for (Q u, v) for VectorFiniteElements. More... | |
class | VectorDivergenceIntegrator |
class | DivDivIntegrator |
(Q div u, div v) for RT elements More... | |
class | VectorDiffusionIntegrator |
class | ElasticityIntegrator |
class | DGTraceIntegrator |
class | DGDiffusionIntegrator |
class | TraceJumpIntegrator |
class | NormalTraceJumpIntegrator |
class | DiscreteInterpolator |
class | GradientInterpolator |
class | IdentityInterpolator |
class | CurlInterpolator |
class | DivergenceInterpolator |
class | NormalInterpolator |
class | Coefficient |
Base class Coefficient that may optionally depend on time. More... | |
class | ConstantCoefficient |
Subclass constant coefficient. More... | |
class | PWConstCoefficient |
class for piecewise constant coefficient More... | |
class | FunctionCoefficient |
class for C-function coefficient More... | |
class | GridFunctionCoefficient |
Coefficient defined by a GridFunction. This coefficient is mesh dependent. More... | |
class | TransformedCoefficient |
class | DeltaCoefficient |
Delta function coefficient. More... | |
class | RestrictedCoefficient |
Coefficient defined on a subset of domain or boundary attributes. More... | |
class | VectorCoefficient |
class | VectorConstantCoefficient |
class | VectorFunctionCoefficient |
class | VectorArrayCoefficient |
Vector coefficient defined by an array of scalar coefficients. More... | |
class | VectorGridFunctionCoefficient |
Vector coefficient defined by a vector GridFunction. More... | |
class | VectorRestrictedCoefficient |
VectorCoefficient defined on a subset of domain or boundary attributes. More... | |
class | MatrixCoefficient |
class | MatrixFunctionCoefficient |
class | MatrixArrayCoefficient |
class | MatrixRestrictedCoefficient |
MatrixCoefficient defined on a subset of domain or boundary attributes. More... | |
class | DataCollection |
class | VisItFieldInfo |
Helper class for VisIt visualization data. More... | |
class | VisItDataCollection |
Data collection with VisIt I/O routines. More... | |
class | ElementTransformation |
class | IsoparametricTransformation |
class | IntegrationPointTransformation |
class | FaceElementTransformations |
class | AbstractErrorEstimator |
Base class for all error estimators. More... | |
class | ErrorEstimator |
Base class for all element based error estimators. More... | |
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 | ZienkiewiczZhuEstimator |
The ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure. 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 | FunctionSpace |
Describes the space on each element. More... | |
class | FiniteElement |
Abstract class for Finite Elements. More... | |
class | NodalFiniteElement |
class | PositiveFiniteElement |
class | VectorFiniteElement |
class | PointFiniteElement |
class | Linear1DFiniteElement |
Class for linear FE on interval. More... | |
class | Linear2DFiniteElement |
Class for linear FE on triangle. More... | |
class | BiLinear2DFiniteElement |
Class for bilinear FE on quadrilateral. More... | |
class | GaussLinear2DFiniteElement |
Class for linear FE on triangle with nodes at the 3 "Gaussian" points. More... | |
class | GaussBiLinear2DFiniteElement |
Class for bilinear FE on quad with nodes at the 4 Gaussian points. More... | |
class | P1OnQuadFiniteElement |
class | Quad1DFiniteElement |
Class for quadratic FE on interval. More... | |
class | QuadPos1DFiniteElement |
class | Quad2DFiniteElement |
Class for quadratic FE on triangle. More... | |
class | GaussQuad2DFiniteElement |
Class for quadratic FE on triangle with nodes at the "Gaussian" points. More... | |
class | BiQuad2DFiniteElement |
Class for bi-quadratic FE on quadrilateral. More... | |
class | BiQuadPos2DFiniteElement |
class | GaussBiQuad2DFiniteElement |
Bi-quadratic element on quad with nodes at the 9 Gaussian points. More... | |
class | BiCubic2DFiniteElement |
class | Cubic1DFiniteElement |
class | Cubic2DFiniteElement |
class | Cubic3DFiniteElement |
Class for cubic FE on tetrahedron. More... | |
class | P0TriangleFiniteElement |
Class for constant FE on triangle. More... | |
class | P0QuadFiniteElement |
class | Linear3DFiniteElement |
Class for linear FE on tetrahedron. More... | |
class | Quadratic3DFiniteElement |
Class for quadratic FE on tetrahedron. More... | |
class | TriLinear3DFiniteElement |
Class for tri-linear FE on cube. More... | |
class | CrouzeixRaviartFiniteElement |
Crouzeix-Raviart finite element on triangle. More... | |
class | CrouzeixRaviartQuadFiniteElement |
Crouzeix-Raviart finite element on quadrilateral. More... | |
class | P0SegmentFiniteElement |
class | RT0TriangleFiniteElement |
class | RT0QuadFiniteElement |
class | RT1TriangleFiniteElement |
class | RT1QuadFiniteElement |
class | RT2TriangleFiniteElement |
class | RT2QuadFiniteElement |
class | P1SegmentFiniteElement |
Linear 1D element with nodes 1/3 and 2/3 (trace of RT1) More... | |
class | P2SegmentFiniteElement |
Quadratic 1D element with nodes the Gaussian points in [0,1] (trace of RT2) More... | |
class | Lagrange1DFiniteElement |
class | P1TetNonConfFiniteElement |
class | P0TetFiniteElement |
class | P0HexFiniteElement |
class | LagrangeHexFiniteElement |
Tensor products of 1D FEs (only degree 2 is functional) More... | |
class | RefinedLinear1DFiniteElement |
Class for refined linear FE on interval. More... | |
class | RefinedLinear2DFiniteElement |
Class for refined linear FE on triangle. More... | |
class | RefinedLinear3DFiniteElement |
Class for refined linear FE on tetrahedron. More... | |
class | RefinedBiLinear2DFiniteElement |
Class for refined bi-linear FE on quadrilateral. More... | |
class | RefinedTriLinear3DFiniteElement |
Class for refined trilinear FE on a hexahedron. More... | |
class | Nedelec1HexFiniteElement |
class | Nedelec1TetFiniteElement |
class | RT0HexFiniteElement |
class | RT1HexFiniteElement |
class | RT0TetFiniteElement |
class | RotTriLinearHexFiniteElement |
class | Poly_1D |
class | H1_SegmentElement |
class | H1_QuadrilateralElement |
class | H1_HexahedronElement |
class | H1Pos_SegmentElement |
class | H1Pos_QuadrilateralElement |
class | H1Pos_HexahedronElement |
class | H1_TriangleElement |
class | H1_TetrahedronElement |
class | H1Pos_TriangleElement |
class | H1Pos_TetrahedronElement |
class | L2_SegmentElement |
class | L2Pos_SegmentElement |
class | L2_QuadrilateralElement |
class | L2Pos_QuadrilateralElement |
class | L2_HexahedronElement |
class | L2Pos_HexahedronElement |
class | L2_TriangleElement |
class | L2Pos_TriangleElement |
class | L2_TetrahedronElement |
class | L2Pos_TetrahedronElement |
class | RT_QuadrilateralElement |
class | RT_HexahedronElement |
class | RT_TriangleElement |
class | RT_TetrahedronElement |
class | ND_HexahedronElement |
class | ND_QuadrilateralElement |
class | ND_TetrahedronElement |
class | ND_TriangleElement |
class | ND_SegmentElement |
class | NURBSFiniteElement |
class | NURBS1DFiniteElement |
class | NURBS2DFiniteElement |
class | NURBS3DFiniteElement |
class | FiniteElementCollection |
class | H1_FECollection |
Arbitrary order H1-conforming (continuous) finite elements. More... | |
class | H1Pos_FECollection |
class | H1_Trace_FECollection |
class | L2_FECollection |
Arbitrary order "L2-conforming" discontinuous finite elements. More... | |
class | RT_FECollection |
Arbitrary order H(div)-conforming Raviart-Thomas finite elements. More... | |
class | RT_Trace_FECollection |
class | DG_Interface_FECollection |
class | ND_FECollection |
Arbitrary order H(curl)-conforming Nedelec finite elements. More... | |
class | ND_Trace_FECollection |
class | NURBSFECollection |
Arbitrary order non-uniform rational B-splines (NURBS) finite elements. More... | |
class | LinearFECollection |
Piecewise-(bi)linear continuous finite elements. More... | |
class | QuadraticFECollection |
Piecewise-(bi)quadratic continuous finite elements. More... | |
class | QuadraticPosFECollection |
Version of QuadraticFECollection with positive basis functions. More... | |
class | CubicFECollection |
Piecewise-(bi)cubic continuous finite elements. More... | |
class | CrouzeixRaviartFECollection |
Crouzeix-Raviart nonconforming elements in 2D. More... | |
class | LinearNonConf3DFECollection |
Piecewise-linear nonconforming finite elements in 3D. More... | |
class | RT0_2DFECollection |
class | RT1_2DFECollection |
class | RT2_2DFECollection |
class | Const2DFECollection |
class | LinearDiscont2DFECollection |
class | GaussLinearDiscont2DFECollection |
Version of LinearDiscont2DFECollection with dofs in the Gaussian points. More... | |
class | P1OnQuadFECollection |
Linear (P1) finite elements on quadrilaterals. More... | |
class | QuadraticDiscont2DFECollection |
class | QuadraticPosDiscont2DFECollection |
Version of QuadraticDiscont2DFECollection with positive basis functions. More... | |
class | GaussQuadraticDiscont2DFECollection |
Version of QuadraticDiscont2DFECollection with dofs in the Gaussian points. More... | |
class | CubicDiscont2DFECollection |
class | Const3DFECollection |
class | LinearDiscont3DFECollection |
class | QuadraticDiscont3DFECollection |
class | RefinedLinearFECollection |
Finite element collection on a macro-element. More... | |
class | ND1_3DFECollection |
class | RT0_3DFECollection |
class | RT1_3DFECollection |
class | Local_FECollection |
Discontinuous collection defined locally by a given finite element. More... | |
class | Ordering |
class | FiniteElementSpace |
class | Geometry |
class | RefinedGeometry |
class | GeometryRefiner |
class | GridFunction |
Class for grid function - Vector with associated FE space. More... | |
class | ExtrudeCoefficient |
Class used for extruding scalar GridFunctions. More... | |
class | Hybridization |
class | IntegrationPoint |
Class for integration point with weight. More... | |
class | IntegrationRule |
Class for integration rule. More... | |
class | IntegrationRules |
Container class for integration rules. More... | |
class | LinearForm |
Class for linear form - Vector with associated FE space and LFIntegrators. More... | |
class | LinearFormIntegrator |
Abstract base class LinearFormIntegrator. More... | |
class | DomainLFIntegrator |
Class for domain integration L(v) := (f, v) More... | |
class | BoundaryLFIntegrator |
Class for boundary integration L(v) := (g, v) More... | |
class | BoundaryNormalLFIntegrator |
Class for boundary integration ![]() | |
class | BoundaryTangentialLFIntegrator |
Class for boundary integration ![]() | |
class | VectorDomainLFIntegrator |
class | VectorBoundaryLFIntegrator |
class | VectorFEDomainLFIntegrator |
![]() | |
class | VectorBoundaryFluxLFIntegrator |
class | VectorFEBoundaryFluxLFIntegrator |
class | VectorFEBoundaryTangentLFIntegrator |
Class for boundary integration ![]() | |
class | BoundaryFlowIntegrator |
class | DGDirichletLFIntegrator |
class | NonlinearForm |
class | NonlinearFormIntegrator |
class | HyperelasticModel |
Abstract class for hyperelastic models. More... | |
class | InverseHarmonicModel |
class | NeoHookeanModel |
class | HyperelasticNLFIntegrator |
Hyperelastic integrator for any given HyperelasticModel. More... | |
class | ParBilinearForm |
Class for parallel bilinear form. More... | |
class | ParMixedBilinearForm |
Class for parallel bilinear form. More... | |
class | ParDiscreteLinearOperator |
class | ParFiniteElementSpace |
Abstract parallel finite element space. More... | |
class | ParGridFunction |
Class for parallel grid function. More... | |
class | ParLinearForm |
Class for parallel linear form. More... | |
class | ParNonlinearForm |
Parallel non-linear operator on the true dofs. More... | |
class | StaticCondensation |
class | TBilinearForm |
class | TIntegrator |
struct | TMassKernel |
struct | TDiffusionKernel |
struct | TDiffusionKernel< 1, 1, complex_t > |
struct | TDiffusionKernel< 2, 2, complex_t > |
struct | TDiffusionKernel< 3, 3, complex_t > |
class | TCoefficient |
class | TConstantCoefficient |
class | TFunctionCoefficient |
class | TPiecewiseConstCoefficient |
class | TGridFunctionCoefficient |
struct | IntRuleCoefficient |
class | TElementTransformation |
class | ShapeEvaluator_base |
class | ShapeEvaluator_base< FE, IR, false, real_t > |
class | TProductShapeEvaluator |
class | TProductShapeEvaluator< 1, DOF, NIP, real_t > |
class | TProductShapeEvaluator< 2, DOF, NIP, real_t > |
class | TProductShapeEvaluator< 3, DOF, NIP, real_t > |
class | ShapeEvaluator_base< FE, IR, true, real_t > |
class | ShapeEvaluator |
class | FieldEvaluator_base |
class | FieldEvaluator |
class | H1_FiniteElement |
class | H1_FiniteElement< Geometry::SEGMENT, P > |
class | H1_FiniteElement< Geometry::TRIANGLE, P > |
class | H1_FiniteElement< Geometry::SQUARE, P > |
class | H1_FiniteElement< Geometry::TETRAHEDRON, P > |
class | H1_FiniteElement< Geometry::CUBE, P > |
class | L2_FiniteElement_base |
class | L2_FiniteElement |
class | L2_FiniteElement< Geometry::SEGMENT, P > |
class | L2_FiniteElement< Geometry::TRIANGLE, P > |
class | L2_FiniteElement< Geometry::SQUARE, P > |
class | L2_FiniteElement< Geometry::TETRAHEDRON, P > |
class | L2_FiniteElement< Geometry::CUBE, P > |
class | ElementDofIndexer |
class | TFiniteElementSpace_simple |
class | H1_FiniteElementSpace |
class | DGIndexer |
class | L2_FiniteElementSpace |
class | GenericIntegrationRule |
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 | TProductIntegrationRule |
class | GaussIntegrationRule |
class | TIntegrationRule |
class | TIntegrationRule< Geometry::SEGMENT, Order, real_t > |
class | TIntegrationRule< Geometry::SQUARE, Order, real_t > |
class | TIntegrationRule< Geometry::CUBE, Order, 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 | 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 > |
Typedefs | |
typedef int | idxtype |
typedef int | idx_t |
typedef float | real_t |
typedef L2_FECollection | DG_FECollection |
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<class T > | |
void | Swap (Array2D< T > &, Array2D< T > &) |
template<class T > | |
void | Swap (T &a, T &b) |
void | KdTreeSort (int **coords, int d, int dim, int size) |
MPI_Comm | ReorderRanksZCurve (MPI_Comm comm) |
void | mfem_error (const char *msg) |
void | mfem_warning (const char *msg) |
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 > | |
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) |
void | tic () |
Start timing. More... | |
double | toc () |
End timing. 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... | |
void | dgetrf_ (int *, int *, double *, int *, int *, int *) |
void | dgetrs_ (char *, int *, int *, double *, int *, int *, double *, int *, int *) |
void | dgetri_ (int *N, double *A, int *LDA, int *IPIV, double *WORK, int *LWORK, int *INFO) |
void | dsyevr_ (char *JOBZ, char *RANGE, char *UPLO, int *N, double *A, int *LDA, double *VL, double *VU, int *IL, int *IU, double *ABSTOL, int *M, double *W, double *Z, int *LDZ, int *ISUPPZ, double *WORK, int *LWORK, int *IWORK, int *LIWORK, int *INFO) |
void | dsyev_ (char *JOBZ, char *UPLO, int *N, double *A, int *LDA, double *W, double *WORK, int *LWORK, int *INFO) |
void | dgesvd_ (char *JOBU, char *JOBVT, int *M, int *N, double *A, int *LDA, double *S, double *U, int *LDU, double *VT, int *LDVT, double *WORK, int *LWORK, int *INFO) |
void | dsyevr_Eigensystem (DenseMatrix &a, Vector &ev, DenseMatrix *evect) |
void | dsyev_Eigensystem (DenseMatrix &a, Vector &ev, DenseMatrix *evect) |
void | Eigenvalues2S (const double &d12, double &d1, double &d2) |
void | Eigensystem2S (const double &d12, double &d1, double &d2, double &c, double &s) |
void | vec_normalize3_aux (const double &x1, const double &x2, const double &x3, double &n1, double &n2, double &n3) |
void | vec_normalize3 (const double &x1, const double &x2, const double &x3, double &n1, double &n2, double &n3) |
bool | KernelVector2G (const int &mode, double &d1, double &d12, double &d21, double &d2) |
int | KernelVector3G_aux (const int &mode, double &d1, double &d2, double &d3, double &c12, double &c13, double &c23, double &c21, double &c31, double &c32) |
int | KernelVector3S (const int &mode, const double &d12, const double &d13, const double &d23, double &d1, double &d2, double &d3) |
int | Reduce3S (const int &mode, double &d1, double &d2, double &d3, double &d12, double &d13, double &d23, double &z1, double &z2, double &z3, double &v1, double &v2, double &v3, double &g) |
void | GetScalingFactor (const double &d_max, double &mult) |
void | Add (const DenseMatrix &A, const DenseMatrix &B, double alpha, DenseMatrix &C) |
C = A + alpha*B. More... | |
void | Add (double alpha, const DenseMatrix &A, double beta, const DenseMatrix &B, DenseMatrix &C) |
C = alpha*A + beta*B. More... | |
void | dgemm_ (char *, char *, int *, int *, int *, double *, double *, int *, double *, int *, double *, double *, int *) |
void | Mult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a) |
Matrix matrix multiplication. A = 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 &ADAt) |
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 | 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 | 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... | |
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... | |
HypreParMatrix * | ParMult (HypreParMatrix *A, HypreParMatrix *B) |
Returns the matrix A * B. More... | |
HypreParMatrix * | RAP (HypreParMatrix *A, HypreParMatrix *P) |
Returns the matrix P^t * A * P. More... | |
HypreParMatrix * | RAP (HypreParMatrix *Rt, HypreParMatrix *A, HypreParMatrix *P) |
Returns the matrix Rt^t * A * P. More... | |
void | EliminateBC (HypreParMatrix &A, HypreParMatrix &Ae, const Array< int > &ess_dof_list, const Vector &X, Vector &B) |
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) |
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... | |
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 | 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) |
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... | |
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... | |
class if | defined (__alignas_is_defined) alignas(double) RowNode |
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<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 > | |
scalar_t | TAdjDet (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, 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) |
bool | IsFinite (const double &val) |
template<> | |
void | Swap< Vector > (Vector &a, Vector &b) |
Specialization of the template function Swap<> for class Vector. More... | |
double | Distance (const double *x, const double *y, const int n) |
void | XYZ_VectorFunction (const Vector &p, Vector &v) |
void | METIS_PartGraphRecursive (int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *) |
void | METIS_PartGraphKway (int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *) |
void | METIS_PartGraphVKway (int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *) |
int | METIS_PartGraphRecursive (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part) |
int | METIS_PartGraphKway (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part) |
int | METIS_SetDefaultOptions (idx_t *options) |
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 &out, const Mesh &mesh) |
Mesh * | Extrude1D (Mesh *mesh, const int ny, const double sy, const bool closed=false) |
Extrude a 1D mesh. More... | |
NURBSPatch * | Interpolate (NURBSPatch &p1, NURBSPatch &p2) |
NURBSPatch * | Revolve3D (NURBSPatch &patch, double n[], double ang, int times) |
bool | operator< (const NCMesh::MeshId &a, const NCMesh::MeshId &b) |
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[]) |
double | ComputeLpNorm (double p, VectorCoefficient &coeff, Mesh &mesh, const IntegrationRule *irs[]) |
double | ComputeGlobalLpNorm (double p, Coefficient &coeff, ParMesh &pmesh, const IntegrationRule *irs[]) |
double | ComputeGlobalLpNorm (double p, VectorCoefficient &coeff, ParMesh &pmesh, const IntegrationRule *irs[]) |
string | to_string (int i) |
string | to_padded_string (int i, int digits) |
int | to_int (string str) |
template<> | |
void | Ordering::DofsToVDofs< Ordering::byNODES > (int ndofs, int vdim, Array< int > &dofs) |
template<> | |
void | Ordering::DofsToVDofs< Ordering::byVDIM > (int ndofs, int vdim, Array< int > &dofs) |
void | InvertLinearTrans (IsoparametricTransformation &trans, const DenseMatrix &invdfdx, const IntegrationPoint &pt, Vector &x) |
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) |
std::ostream & | operator<< (std::ostream &out, const GridFunction &sol) |
double | ZZErrorEstimator (BilinearFormIntegrator &blfi, GridFunction &u, GridFunction &flux, Vector &error_estimates, Array< int > *aniso_flags, int with_subdomains) |
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... | |
int | decode_dof (int dof, double &sign) |
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) |
template<typename real_t > | |
void | CalcShapeMatrix (const FiniteElement &fe, const IntegrationRule &ir, real_t *B, const Array< int > *dof_map=NULL) |
template<typename real_t > | |
void | CalcGradTensor (const FiniteElement &fe, const IntegrationRule &ir, real_t *G, const Array< int > *dof_map=NULL) |
template<typename real_t > | |
void | CalcShapes (const FiniteElement &fe, const IntegrationRule &ir, real_t *B, real_t *G, const Array< int > *dof_map) |
Variables | |
StopWatch | tic_toc |
TriLinear3DFiniteElement | HexahedronFE |
PointFiniteElement | PointFE |
BiLinear2DFiniteElement | QuadrilateralFE |
Linear1DFiniteElement | SegmentFE |
Linear3DFiniteElement | TetrahedronFE |
Linear2DFiniteElement | TriangleFE |
Poly_1D | poly1d |
Geometry | Geometries |
GeometryRefiner | GlobGeometryRefiner |
IntegrationRules | IntRules (0) |
A global object with all integration rules (defined in intrules.cpp) More... | |
IntegrationRules | RefinedIntRules (1) |
A global object with all refined integration rules. More... | |
const int | INVALID_DOF = INT_MAX |
typedef L2_FECollection mfem::DG_FECollection |
Definition at line 176 of file fe_coll.hpp.
typedef int mfem::idx_t |
typedef int mfem::idxtype |
typedef float mfem::real_t |
void mfem::add | ( | const Vector & | v1, |
const Vector & | v2, | ||
Vector & | v | ||
) |
Definition at line 259 of file vector.cpp.
void mfem::add | ( | const Vector & | v1, |
double | alpha, | ||
const Vector & | v2, | ||
Vector & | v | ||
) |
Definition at line 277 of file vector.cpp.
void mfem::add | ( | const double | a, |
const Vector & | x, | ||
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 308 of file vector.cpp.
void mfem::add | ( | const double | a, |
const Vector & | x, | ||
const double | b, | ||
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 340 of file vector.cpp.
void mfem::Add | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
double | alpha, | ||
DenseMatrix & | C | ||
) |
C = A + alpha*B.
Definition at line 2809 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 2819 of file densemat.cpp.
SparseMatrix * mfem::Add | ( | double | a, |
const SparseMatrix & | A, | ||
double | b, | ||
const SparseMatrix & | B | ||
) |
Matrix addition result = a*A + b*B.
Definition at line 2881 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | const SparseMatrix & | A, |
const SparseMatrix & | B | ||
) |
Matrix addition result = A + B.
Definition at line 2964 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | Array< SparseMatrix * > & | Ai | ) |
Matrix addition result = sum_i A_i.
Definition at line 2969 of file sparsemat.cpp.
void mfem::AddMult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a | ||
) |
Matrix matrix multiplication. A += B * C.
Definition at line 2872 of file densemat.cpp.
void mfem::AddMult_a_AAt | ( | double | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt | ||
) |
AAt += a * A * A^t.
Definition at line 3455 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 3568 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 3546 of file densemat.cpp.
void mfem::AddMultABt | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | ABt | ||
) |
ABt += A * B^t.
Definition at line 3341 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 3174 of file densemat.cpp.
void mfem::AddMultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
VWt += v w^t.
Definition at line 3525 of file densemat.cpp.
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 1271 of file solvers.cpp.
|
inline |
Definition at line 493 of file solvers.cpp.
|
inline |
Definition at line 97 of file tassign.hpp.
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 986 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 1002 of file solvers.cpp.
|
inline |
Definition at line 75 of file tmatrix.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 2904 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 2976 of file densemat.cpp.
void mfem::CalcGradTensor | ( | const FiniteElement & | fe, |
const IntegrationRule & | ir, | ||
real_t * | G, | ||
const Array< int > * | dof_map = NULL |
||
) |
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 3012 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 3095 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 3134 of file densemat.cpp.
void mfem::CalcShapeMatrix | ( | const FiniteElement & | fe, |
const IntegrationRule & | ir, | ||
real_t * | B, | ||
const Array< int > * | dof_map = NULL |
||
) |
void mfem::CalcShapes | ( | const FiniteElement & | fe, |
const IntegrationRule & | ir, | ||
real_t * | B, | ||
real_t * | G, | ||
const Array< int > * | dof_map | ||
) |
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 443 of file solvers.cpp.
|
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 239 of file vector.hpp.
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 2417 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.
Definition at line 358 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.
Definition at line 388 of file coefficient.cpp.
double mfem::ComputeLpNorm | ( | double | p, |
Coefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Compute the Lp norm of a function f.
Definition at line 315 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.
Definition at line 336 of file coefficient.cpp.
|
inline |
Definition at line 963 of file pfespace.cpp.
class if mfem::defined | ( | __alignas_is_defined | ) |
Definition at line 26 of file sparsemat.hpp.
void mfem::DetOfLinComb | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
Vector & | c | ||
) |
void mfem::dgemm_ | ( | char * | , |
char * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
double * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
int * | , | ||
double * | , | ||
double * | , | ||
int * | |||
) |
void mfem::dgesvd_ | ( | char * | JOBU, |
char * | JOBVT, | ||
int * | M, | ||
int * | N, | ||
double * | A, | ||
int * | LDA, | ||
double * | S, | ||
double * | U, | ||
int * | LDU, | ||
double * | VT, | ||
int * | LDVT, | ||
double * | WORK, | ||
int * | LWORK, | ||
int * | INFO | ||
) |
void mfem::dgetrf_ | ( | int * | , |
int * | , | ||
double * | , | ||
int * | , | ||
int * | , | ||
int * | |||
) |
void mfem::dgetri_ | ( | int * | N, |
double * | A, | ||
int * | LDA, | ||
int * | IPIV, | ||
double * | WORK, | ||
int * | LWORK, | ||
int * | INFO | ||
) |
void mfem::dgetrs_ | ( | char * | , |
int * | , | ||
int * | , | ||
double * | , | ||
int * | , | ||
int * | , | ||
double * | , | ||
int * | , | ||
int * | |||
) |
HypreParMatrix* mfem::DiscreteCurl | ( | ParFiniteElementSpace * | face_fespace, |
ParFiniteElementSpace * | edge_fespace | ||
) |
Compute the discrete curl matrix between the ND1 and RT0 spaces.
HypreParMatrix* mfem::DiscreteGrad | ( | ParFiniteElementSpace * | edge_fespace, |
ParFiniteElementSpace * | vert_fespace | ||
) |
Compute the discrete gradient matrix between the nodal linear and ND1 spaces.
|
inline |
Definition at line 329 of file vector.hpp.
void mfem::dsyev_ | ( | char * | JOBZ, |
char * | UPLO, | ||
int * | N, | ||
double * | A, | ||
int * | LDA, | ||
double * | W, | ||
double * | WORK, | ||
int * | LWORK, | ||
int * | INFO | ||
) |
void mfem::dsyev_Eigensystem | ( | DenseMatrix & | a, |
Vector & | ev, | ||
DenseMatrix * | evect | ||
) |
Definition at line 915 of file densemat.cpp.
void mfem::dsyevr_ | ( | char * | JOBZ, |
char * | RANGE, | ||
char * | UPLO, | ||
int * | N, | ||
double * | A, | ||
int * | LDA, | ||
double * | VL, | ||
double * | VU, | ||
int * | IL, | ||
int * | IU, | ||
double * | ABSTOL, | ||
int * | M, | ||
double * | W, | ||
double * | Z, | ||
int * | LDZ, | ||
int * | ISUPPZ, | ||
double * | WORK, | ||
int * | LWORK, | ||
int * | IWORK, | ||
int * | LIWORK, | ||
int * | INFO | ||
) |
void mfem::dsyevr_Eigensystem | ( | DenseMatrix & | a, |
Vector & | ev, | ||
DenseMatrix * | evect | ||
) |
Definition at line 751 of file densemat.cpp.
|
inline |
Definition at line 1061 of file densemat.cpp.
|
inline |
Definition at line 1042 of file densemat.cpp.
void mfem::EliminateBC | ( | HypreParMatrix & | A, |
HypreParMatrix & | Ae, | ||
const Array< int > & | ess_dof_list, | ||
const Vector & | X, | ||
Vector & | B | ||
) |
Mesh * mfem::Extrude1D | ( | Mesh * | mesh, |
const int | ny, | ||
const double | sy, | ||
const bool | closed | ||
) |
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 2484 of file gridfunc.cpp.
void mfem::FindPartitioningComponents | ( | Table & | elem_elem, |
const Array< int > & | partitioning, | ||
Array< int > & | component, | ||
Array< int > & | num_comp | ||
) |
void mfem::FindTMax | ( | Vector & | c, |
Vector & | x, | ||
double & | tmax, | ||
const double | factor, | ||
const int | Dim | ||
) |
|
inline |
Definition at line 471 of file solvers.cpp.
|
inline |
Definition at line 1632 of file densemat.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 459 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 824 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 841 of file solvers.cpp.
double mfem::InnerProduct | ( | HypreParVector * | x, |
HypreParVector * | y | ||
) |
double mfem::InnerProduct | ( | HypreParVector & | x, |
HypreParVector & | y | ||
) |
NURBSPatch* mfem::Interpolate | ( | NURBSPatch & | p1, |
NURBSPatch & | p2 | ||
) |
void mfem::InvertLinearTrans | ( | IsoparametricTransformation & | trans, |
const DenseMatrix & | invdfdx, | ||
const IntegrationPoint & | pt, | ||
Vector & | x | ||
) |
Definition at line 753 of file fespace.cpp.
|
inline |
Definition at line 227 of file vector.hpp.
int mfem::isValidAsDouble | ( | char * | s | ) |
Definition at line 50 of file optparser.cpp.
int mfem::isValidAsInt | ( | char * | s | ) |
Definition at line 21 of file optparser.cpp.
void mfem::KdTreeSort | ( | int ** | coords, |
int | d, | ||
int | dim, | ||
int | size | ||
) |
Definition at line 560 of file communication.cpp.
|
inline |
Definition at line 1135 of file densemat.cpp.
|
inline |
Definition at line 1276 of file densemat.cpp.
|
inline |
Definition at line 1381 of file densemat.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 542 of file pgridfunc.cpp.
double mfem::LpNormLoop | ( | double | p, |
Coefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Definition at line 242 of file coefficient.cpp.
double mfem::LpNormLoop | ( | double | p, |
VectorCoefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Definition at line 273 of file coefficient.cpp.
void mfem::METIS_PartGraphKway | ( | int * | , |
idxtype * | , | ||
idxtype * | , | ||
idxtype * | , | ||
idxtype * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
idxtype * | |||
) |
int mfem::METIS_PartGraphKway | ( | idx_t * | nvtxs, |
idx_t * | ncon, | ||
idx_t * | xadj, | ||
idx_t * | adjncy, | ||
idx_t * | vwgt, | ||
idx_t * | vsize, | ||
idx_t * | adjwgt, | ||
idx_t * | nparts, | ||
real_t * | tpwgts, | ||
real_t * | ubvec, | ||
idx_t * | options, | ||
idx_t * | edgecut, | ||
idx_t * | part | ||
) |
void mfem::METIS_PartGraphRecursive | ( | int * | , |
idxtype * | , | ||
idxtype * | , | ||
idxtype * | , | ||
idxtype * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
idxtype * | |||
) |
int mfem::METIS_PartGraphRecursive | ( | idx_t * | nvtxs, |
idx_t * | ncon, | ||
idx_t * | xadj, | ||
idx_t * | adjncy, | ||
idx_t * | vwgt, | ||
idx_t * | vsize, | ||
idx_t * | adjwgt, | ||
idx_t * | nparts, | ||
real_t * | tpwgts, | ||
real_t * | ubvec, | ||
idx_t * | options, | ||
idx_t * | edgecut, | ||
idx_t * | part | ||
) |
void mfem::METIS_PartGraphVKway | ( | int * | , |
idxtype * | , | ||
idxtype * | , | ||
idxtype * | , | ||
idxtype * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
int * | , | ||
idxtype * | |||
) |
int mfem::METIS_SetDefaultOptions | ( | idx_t * | options | ) |
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 1171 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 1183 of file solvers.cpp.
void mfem::Mult | ( | const Table & | A, |
const Table & | B, | ||
Table & | C | ||
) |
BlockMatrix * mfem::Mult | ( | const BlockMatrix & | A, |
const BlockMatrix & | B | ||
) |
Multiply BlockMatrix matrices: result = A*B.
Definition at line 523 of file blockmatrix.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 2594 of file sparsemat.cpp.
DenseMatrix * mfem::Mult | ( | const SparseMatrix & | A, |
DenseMatrix & | B | ||
) |
Matrix product A.B.
Definition at line 2817 of file sparsemat.cpp.
void mfem::Mult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a | ||
) |
Matrix matrix multiplication. A = B * C.
Definition at line 2836 of file densemat.cpp.
|
inline |
Definition at line 392 of file ttensor.hpp.
|
inline |
Definition at line 415 of file ttensor.hpp.
void mfem::Mult_a_AAt | ( | double | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt | ||
) |
AAt = a * A * A^t.
Definition at line 3480 of file densemat.cpp.
|
inline |
Definition at line 216 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 2862 of file sparsemat.cpp.
void mfem::MultAAt | ( | const DenseMatrix & | a, |
DenseMatrix & | aat | ||
) |
Calculate the matrix A.At.
Definition at line 3160 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 2720 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 3218 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 3202 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 3301 of file 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 3398 of file densemat.cpp.
void mfem::MultVVt | ( | const Vector & | v, |
DenseMatrix & | vvt | ||
) |
Make a matrix from a vector V.Vt.
Definition at line 3494 of file densemat.cpp.
void mfem::MultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
Definition at line 3503 of file densemat.cpp.
|
inline |
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 32 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 56 of file sort_pairs.hpp.
|
inline |
Definition at line 577 of file pncmesh.hpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const GridFunction & | sol | ||
) |
Overload operator<< for std::ostream and GridFunction; valid also for the derived class ParGridFunction
Definition at line 2322 of file gridfunc.cpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const Mesh & | mesh | ||
) |
|
inline |
void mfem::Ordering::DofsToVDofs< Ordering::byNODES > | ( | int | ndofs, |
int | vdim, | ||
Array< int > & | dofs | ||
) |
Definition at line 26 of file fespace.cpp.
void mfem::Ordering::DofsToVDofs< Ordering::byVDIM > | ( | int | ndofs, |
int | vdim, | ||
Array< int > & | dofs | ||
) |
Definition at line 41 of file fespace.cpp.
|
inline |
Definition at line 42 of file fespace.hpp.
|
inline |
Definition at line 49 of file fespace.hpp.
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 | ||
) |
HypreParMatrix * mfem::ParMult | ( | HypreParMatrix * | A, |
HypreParMatrix * | B | ||
) |
double mfem::ParNormlp | ( | const Vector & | vec, |
double | p, | ||
MPI_Comm | comm | ||
) |
void mfem::parseArray | ( | char * | str, |
Array< int > & | var | ||
) |
Definition at line 116 of file optparser.cpp.
void mfem::parseVector | ( | char * | str, |
Vector & | var | ||
) |
Definition at line 127 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 456 of file solvers.cpp.
HypreParMatrix * mfem::RAP | ( | HypreParMatrix * | A, |
HypreParMatrix * | P | ||
) |
HypreParMatrix * mfem::RAP | ( | HypreParMatrix * | Rt, |
HypreParMatrix * | A, | ||
HypreParMatrix * | P | ||
) |
DenseMatrix * mfem::RAP | ( | const SparseMatrix & | A, |
DenseMatrix & | P | ||
) |
RAP matrix product (with R=P^T)
Definition at line 2830 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 2840 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 2851 of file sparsemat.cpp.
|
inline |
Definition at line 1510 of file densemat.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 591 of file communication.cpp.
NURBSPatch* mfem::Revolve3D | ( | NURBSPatch & | patch, |
double | n[], | ||
double | ang, | ||
int | times | ||
) |
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 259 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 272 of file solvers.cpp.
|
inline |
Definition at line 29 of file tmatrix.hpp.
|
inline |
Definition at line 35 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 39 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 65 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 2452 of file sparsemat.cpp.
void mfem::subtract | ( | const Vector & | x, |
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 385 of file vector.cpp.
void mfem::subtract | ( | const double | a, |
const Vector & | x, | ||
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 407 of file vector.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
Specialization of the template function Swap<> for class SparseMatrix.
Definition at line 570 of file sparsemat.hpp.
|
inline |
|
inline |
Specialization of the template function Swap<> for class Vector.
Definition at line 316 of file vector.hpp.
|
inline |
Definition at line 510 of file tmatrix.hpp.
|
inline |
Definition at line 496 of file tmatrix.hpp.
|
inline |
Definition at line 219 of file ttensor.hpp.
|
inline |
Definition at line 232 of file ttensor.hpp.
|
inline |
Definition at line 474 of file tmatrix.hpp.
|
inline |
Definition at line 485 of file tmatrix.hpp.
|
inline |
Definition at line 432 of file ttensor.hpp.
|
inline |
Definition at line 507 of file ttensor.hpp.
|
inline |
Definition at line 598 of file ttensor.hpp.
void mfem::tic | ( | ) |
Start timing.
Definition at line 340 of file tic_toc.cpp.
int mfem::to_int | ( | string | str | ) |
Definition at line 49 of file datacollection.cpp.
string mfem::to_padded_string | ( | int | i, |
int | digits | ||
) |
Definition at line 42 of file datacollection.cpp.
string mfem::to_string | ( | int | i | ) |
Definition at line 31 of file datacollection.cpp.
double mfem::toc | ( | ) |
End timing.
Definition at line 346 of file tic_toc.cpp.
void mfem::Transpose | ( | const Table & | A, |
Table & | At, | ||
int | _ncols_A | ||
) |
void mfem::Transpose | ( | const Array< int > & | A, |
Table & | At, | ||
int | _ncols_A | ||
) |
Transpose an Array<int>
BlockMatrix * mfem::Transpose | ( | const BlockMatrix & | A | ) |
Transpose a BlockMatrix: result = A'.
Definition at line 509 of file blockmatrix.cpp.
SparseMatrix * mfem::Transpose | ( | const SparseMatrix & | A | ) |
Transpose of a sparse matrix. A must be finalized.
Definition at line 2463 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 2517 of file sparsemat.cpp.
|
inline |
Definition at line 500 of file solvers.cpp.
|
inline |
Definition at line 1107 of file densemat.cpp.
|
inline |
Definition at line 1090 of file densemat.cpp.
void mfem::XYZ_VectorFunction | ( | const Vector & | p, |
Vector & | v | ||
) |
double mfem::ZZErrorEstimator | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
GridFunction & | flux, | ||
Vector & | error_estimates, | ||
Array< int > * | aniso_flags, | ||
int | with_subdomains | ||
) |
Definition at line 2330 of file gridfunc.cpp.
GeometryRefiner mfem::GlobGeometryRefiner |
TriLinear3DFiniteElement mfem::HexahedronFE |
Definition at line 52 of file hexahedron.cpp.
IntegrationRules mfem::IntRules |
A global object with all integration rules (defined in intrules.cpp)
Definition at line 292 of file intrules.hpp.
const int mfem::INVALID_DOF = INT_MAX |
Definition at line 968 of file pfespace.cpp.
PointFiniteElement mfem::PointFE |
BiLinear2DFiniteElement mfem::QuadrilateralFE |
Definition at line 55 of file quadrilateral.cpp.
IntegrationRules mfem::RefinedIntRules |
A global object with all refined integration rules.
Definition at line 295 of file intrules.hpp.
Linear1DFiniteElement mfem::SegmentFE |
Definition at line 49 of file segment.cpp.
Linear3DFiniteElement mfem::TetrahedronFE |
Definition at line 313 of file tetrahedron.cpp.
StopWatch mfem::tic_toc |
Definition at line 338 of file tic_toc.cpp.
Linear2DFiniteElement mfem::TriangleFE |
Definition at line 198 of file triangle.cpp.