MFEM
v3.0
|
Classes | |
class | BaseArray |
Base class for array container. More... | |
class | Array |
class | Array2D |
class | Array3D |
class | GroupTopology |
class | GroupCommunicator |
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 | socketstream |
class | socketserver |
class | Pair |
A pair of objects. More... | |
class | Triple |
class | STable3DNode |
class | STable3D |
Symmetric 3D Table. More... | |
class | Table |
class | STable |
class | DSTable |
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. More... | |
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 | 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 | 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 | 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 | Vector |
Vector data type. More... | |
class | Element |
Abstract data type element. More... | |
class | RefinedElement |
class | BisectedElement |
class | QuadrisectedElement |
class | OctasectedElement |
class | Hexahedron |
Data type hexahedron element. More... | |
class | Mesh |
class | NodeExtrudeCoefficient |
Class used to exrude the nodes of a mesh. More... | |
class | MesquiteMesh |
struct | Refinement |
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 | 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 | 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 | DiscreteInterpolator |
class | GradientInterpolator |
class | IdentityInterpolator |
class | CurlInterpolator |
class | DivergenceInterpolator |
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 | 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 | 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 | 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 | NURBSFiniteElement |
class | NURBS1DFiniteElement |
class | NURBS2DFiniteElement |
class | NURBS3DFiniteElement |
class | FiniteElementCollection |
class | H1_FECollection |
Arbitrary order H1-conforming (continuous) finite elements. More... | |
class | H1Pos_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 | ND_FECollection |
Arbitrary order H(curl)-conforming Nedelec finite elements. More... | |
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 | RefinementData |
Data kept for every type of refinement. More... | |
class | FiniteElementSpace |
Abstract finite element space. More... | |
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 | 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... | |
Typedefs | |
typedef int | idxtype |
typedef int | idx_t |
typedef float | real_t |
typedef L2_FECollection | DG_FECollection |
typedef int | RefinementType |
Type of refinement (int, a tree, etc.) More... | |
Functions | |
template<class T > | |
int | Compare (const void *p, const void *q) |
template<class T > | |
void | Swap (Array< T > &, Array< T > &) |
template<class T > | |
void | Swap (Array2D< T > &, Array2D< T > &) |
template<class T > | |
void | Swap (T &a, T &b) |
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 > | |
int | ComparePairs (const void *_p, const void *_q) |
Compare the first element of the pairs. More... | |
template<class A , class B > | |
void | SortPairs (Pair< A, B > *pairs, int size) |
Sort with respect to the first element. More... | |
template int | ComparePairs< int, int > (const void *, const void *) |
template int | ComparePairs< double, int > (const void *, const void *) |
template int | ComparePairs< int, double > (const void *, const void *) |
template void | SortPairs< int, int > (Pair< int, int > *, int) |
template void | SortPairs< double, int > (Pair< double, int > *, int) |
template void | SortPairs< int, double > (Pair< int, double > *, int) |
template<class A , class B , class C > | |
int | CompareTriple (const void *_p, const void *_q) |
template<class A , class B , class C > | |
void | SortTriple (Triple< A, B, C > *triples, int size) |
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) |
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 | 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 | 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 | 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... | |
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, Array< int > &ess_dof_list, HypreParVector &x, HypreParVector &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... | |
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) |
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 | Swap (SparseMatrix &A, SparseMatrix &B) |
class if | defined (__alignas_is_defined) alignas(double) RowNode |
void | swap (Vector *v1, Vector *v2) |
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 | Distance (const double *x, const double *y, const int n) |
void | skip_comment_lines (std::istream &is, const char comment_char) |
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... | |
int | decode_dof (int dof, double &sign) |
NURBSPatch * | Interpolate (NURBSPatch &p1, NURBSPatch &p2) |
NURBSPatch * | Revolve3D (NURBSPatch &patch, double n[], double ang, int times) |
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) |
std::ostream & | operator<< (std::ostream &out, const GridFunction &sol) |
void | ComputeFlux (BilinearFormIntegrator &blfi, GridFunction &u, GridFunction &flux, int wcoef, int sd) |
void | ZZErrorEstimator (BilinearFormIntegrator &blfi, GridFunction &u, GridFunction &flux, Vector &ErrorEstimates, int wsd) |
GridFunction * | Extrude1DGridFunction (Mesh *mesh, Mesh *mesh2d, GridFunction *sol, const int ny) |
Extrude a scalar 1D GridFunction, after extruding the mesh with Extrude1D. 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... | |
Variables | |
StopWatch | tic_toc |
MemAlloc< BisectedElement, 1024 > | BEMemory |
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... | |
typedef L2_FECollection mfem::DG_FECollection |
Definition at line 116 of file fe_coll.hpp.
typedef int mfem::idx_t |
typedef int mfem::idxtype |
typedef float mfem::real_t |
typedef int mfem::RefinementType |
Type of refinement (int, a tree, etc.)
Definition at line 39 of file fespace.hpp.
void mfem::add | ( | const Vector & | v1, |
const Vector & | v2, | ||
Vector & | v | ||
) |
Definition at line 227 of file vector.cpp.
void mfem::add | ( | const Vector & | v1, |
double | alpha, | ||
const Vector & | v2, | ||
Vector & | v | ||
) |
Definition at line 241 of file vector.cpp.
void mfem::add | ( | const double | a, |
const Vector & | x, | ||
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 268 of file vector.cpp.
void mfem::add | ( | const double | a, |
const Vector & | x, | ||
const double | b, | ||
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 298 of file vector.cpp.
void mfem::Add | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
double | alpha, | ||
DenseMatrix & | C | ||
) |
C = A + alpha*B.
Definition at line 2430 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 2548 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | const SparseMatrix & | A, |
const SparseMatrix & | B | ||
) |
Matrix addition result = A + B.
Definition at line 2631 of file sparsemat.cpp.
SparseMatrix * mfem::Add | ( | Array< SparseMatrix * > & | Ai | ) |
Matrix addition result = sum_i A_i.
Definition at line 2636 of file sparsemat.cpp.
void mfem::AddMult_a_AAt | ( | double | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt | ||
) |
AAt += a * A * A^t.
Definition at line 2965 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 3059 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 3042 of file densemat.cpp.
void mfem::AddMultABt | ( | const DenseMatrix & | A, |
const DenseMatrix & | B, | ||
DenseMatrix & | ABt | ||
) |
ABt += A * B^t.
Definition at line 2859 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 2744 of file densemat.cpp.
void mfem::AddMultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
VWt += v w^t.
Definition at line 3025 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 convergance factor.
Definition at line 1168 of file solvers.cpp.
|
inline |
Definition at line 461 of file solvers.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 911 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 927 of file solvers.cpp.
void mfem::CalcAdjugate | ( | const DenseMatrix & | a, |
DenseMatrix & | adja | ||
) |
Calculate the adjugate of a matrix (for NxN matrices, N=1,2,3) or the matrix adj(A^t.A).A^t for rectangular matrices (2x1, 3x1, or 3x2). This operation is well defined even when the matrix is not full rank.
Definition at line 2488 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 2554 of file densemat.cpp.
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 2588 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 2673 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 2710 of file densemat.cpp.
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 411 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 214 of file vector.hpp.
int mfem::Compare | ( | const void * | p, |
const void * | q | ||
) |
int mfem::ComparePairs | ( | const void * | _p, |
const void * | _q | ||
) |
Compare the first element of the pairs.
Definition at line 20 of file sort_pairs.cpp.
template int mfem::ComparePairs< double, int > | ( | const void * | , |
const void * | |||
) |
template int mfem::ComparePairs< int, double > | ( | const void * | , |
const void * | |||
) |
template int mfem::ComparePairs< int, int > | ( | const void * | , |
const void * | |||
) |
int mfem::CompareTriple | ( | const void * | _p, |
const void * | _q | ||
) |
Definition at line 48 of file sort_pairs.hpp.
void mfem::ComputeFlux | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
GridFunction & | flux, | ||
int | wcoef, | ||
int | sd | ||
) |
Definition at line 1984 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 303 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 329 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 268 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 285 of file coefficient.cpp.
|
inline |
Definition at line 1278 of file ncmesh.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 297 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 760 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 618 of file densemat.cpp.
|
inline |
Definition at line 898 of file densemat.cpp.
|
inline |
Definition at line 883 of file densemat.cpp.
void mfem::EliminateBC | ( | HypreParMatrix & | A, |
HypreParMatrix & | Ae, | ||
Array< int > & | ess_dof_list, | ||
HypreParVector & | x, | ||
HypreParVector & | 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 2109 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 439 of file solvers.cpp.
|
inline |
Definition at line 1435 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 376 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 761 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 778 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 | ||
) |
int mfem::isValidAsDouble | ( | char * | s | ) |
Definition at line 42 of file optparser.cpp.
int mfem::isValidAsInt | ( | char * | s | ) |
Definition at line 21 of file optparser.cpp.
|
inline |
Definition at line 968 of file densemat.cpp.
|
inline |
Definition at line 1105 of file densemat.cpp.
|
inline |
Definition at line 1210 of file densemat.cpp.
double mfem::LpNormLoop | ( | double | p, |
Coefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Definition at line 201 of file coefficient.cpp.
double mfem::LpNormLoop | ( | double | p, |
VectorCoefficient & | coeff, | ||
Mesh & | mesh, | ||
const IntegrationRule * | irs[] | ||
) |
Definition at line 230 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 1074 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 1086 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 463 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 2284 of file sparsemat.cpp.
void mfem::Mult | ( | const DenseMatrix & | b, |
const DenseMatrix & | c, | ||
DenseMatrix & | a | ||
) |
Matrix matrix multiplication. A = B * C.
Definition at line 2445 of file densemat.cpp.
void mfem::Mult_a_AAt | ( | double | a, |
const DenseMatrix & | A, | ||
DenseMatrix & | AAt | ||
) |
AAt = a * A * A^t.
Definition at line 2986 of file densemat.cpp.
SparseMatrix * mfem::Mult_AtDA | ( | const SparseMatrix & | A, |
const Vector & | D, | ||
SparseMatrix * | OAtDA = NULL |
||
) |
Matrix multiplication A^t D A. All matrices must be finalized.
Definition at line 2529 of file sparsemat.cpp.
void mfem::MultAAt | ( | const DenseMatrix & | a, |
DenseMatrix & | aat | ||
) |
Calculate the matrix A.At.
Definition at line 2732 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 2410 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 2782 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 2768 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 2912 of file densemat.cpp.
void mfem::MultVVt | ( | const Vector & | v, |
DenseMatrix & | vvt | ||
) |
Make a matrix from a vector V.Vt.
Definition at line 2998 of file densemat.cpp.
void mfem::MultVWt | ( | const Vector & | v, |
const Vector & | w, | ||
DenseMatrix & | VWt | ||
) |
Definition at line 3007 of file densemat.cpp.
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 1977 of file gridfunc.cpp.
std::ostream & mfem::operator<< | ( | std::ostream & | out, |
const Mesh & | mesh | ||
) |
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 | ||
) |
void mfem::parseArray | ( | char * | str, |
Array< int > & | var | ||
) |
Definition at line 92 of file optparser.cpp.
void mfem::parseVector | ( | char * | str, |
Vector & | var | ||
) |
Definition at line 101 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 424 of file solvers.cpp.
HypreParMatrix * mfem::RAP | ( | HypreParMatrix * | A, |
HypreParMatrix * | P | ||
) |
HypreParMatrix * mfem::RAP | ( | HypreParMatrix * | Rt, |
HypreParMatrix * | A, | ||
HypreParMatrix * | P | ||
) |
SparseMatrix * mfem::RAP | ( | const SparseMatrix & | A, |
const SparseMatrix & | R, | ||
SparseMatrix * | ORAP = NULL |
||
) |
RAP matrix product (with P=R^T). ORAP is like OAB above. All matrices must be finalized.
Definition at line 2507 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 2518 of file sparsemat.cpp.
|
inline |
Definition at line 1321 of file densemat.cpp.
NURBSPatch* mfem::Revolve3D | ( | NURBSPatch & | patch, |
double | n[], | ||
double | ang, | ||
int | times | ||
) |
void mfem::skip_comment_lines | ( | std::istream & | is, |
const char | comment_char | ||
) |
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 250 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 263 of file solvers.cpp.
|
inline |
Definition at line 33 of file stable3d.cpp.
void mfem::SortPairs | ( | Pair< A, B > * | pairs, |
int | size | ||
) |
Sort with respect to the first element.
Definition at line 33 of file sort_pairs.cpp.
template void mfem::SortPairs< double, int > | ( | Pair< double, int > * | , |
int | |||
) |
template void mfem::SortPairs< int, double > | ( | Pair< int, double > * | , |
int | |||
) |
template void mfem::SortPairs< int, int > | ( | Pair< int, int > * | , |
int | |||
) |
void mfem::SortTriple | ( | Triple< A, B, C > * | triples, |
int | size | ||
) |
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 2142 of file sparsemat.cpp.
void mfem::subtract | ( | const Vector & | x, |
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 341 of file vector.cpp.
void mfem::subtract | ( | const double | a, |
const Vector & | x, | ||
const Vector & | y, | ||
Vector & | z | ||
) |
Definition at line 359 of file vector.cpp.
|
inline |
|
inline |
void mfem::swap | ( | Vector * | v1, |
Vector * | v2 | ||
) |
Definition at line 213 of file vector.cpp.
|
inline |
void mfem::Swap | ( | SparseMatrix & | A, |
SparseMatrix & | B | ||
) |
Definition at line 2657 of file sparsemat.cpp.
void mfem::tic | ( | ) |
Start timing.
Definition at line 332 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 338 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 451 of file blockmatrix.cpp.
SparseMatrix * mfem::Transpose | ( | const SparseMatrix & | A | ) |
Transpose of a sparse matrix. A must be finalized.
Definition at line 2153 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 2207 of file sparsemat.cpp.
|
inline |
Definition at line 468 of file solvers.cpp.
|
inline |
Definition at line 940 of file densemat.cpp.
|
inline |
Definition at line 923 of file densemat.cpp.
void mfem::XYZ_VectorFunction | ( | const Vector & | p, |
Vector & | v | ||
) |
void mfem::ZZErrorEstimator | ( | BilinearFormIntegrator & | blfi, |
GridFunction & | u, | ||
GridFunction & | flux, | ||
Vector & | ErrorEstimates, | ||
int | wsd | ||
) |
Definition at line 2041 of file gridfunc.cpp.
MemAlloc<BisectedElement, 1024> mfem::BEMemory |
GeometryRefiner mfem::GlobGeometryRefiner |
TriLinear3DFiniteElement mfem::HexahedronFE |
Definition at line 60 of file hexahedron.cpp.
IntegrationRules mfem::IntRules |
A global object with all integration rules (defined in intrules.cpp)
Definition at line 264 of file intrules.hpp.
PointFiniteElement mfem::PointFE |
BiLinear2DFiniteElement mfem::QuadrilateralFE |
Definition at line 49 of file quadrilateral.cpp.
IntegrationRules mfem::RefinedIntRules |
A global object with all refined integration rules.
Definition at line 267 of file intrules.hpp.
Linear1DFiniteElement mfem::SegmentFE |
Definition at line 41 of file segment.cpp.
Linear3DFiniteElement mfem::TetrahedronFE |
Definition at line 265 of file tetrahedron.cpp.
StopWatch mfem::tic_toc |
Definition at line 330 of file tic_toc.cpp.
Linear2DFiniteElement mfem::TriangleFE |
Definition at line 127 of file triangle.cpp.