libMesh
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
libMesh Namespace Reference

The libMesh namespace provides an interface to certain functionality in the library. More...

Namespaces

namespace  boostcopy
 
namespace  DenseMatrices
 Provide Typedefs for dense matrices.
 
namespace  ElemInternal
 The ElemInternal namespace holds helper functions that are used internally by the Elem class.
 
namespace  FiniteElements
 Provide Typedefs for various element types.
 
namespace  JacobiPolynomials
 
namespace  libMeshPrivateData
 Namespaces don't provide private data, so let's take the data we would like private and put it in an obnoxious namespace.
 
namespace  MacroFunctions
 
namespace  MeshTools
 Utility functions for operations on a Mesh object.
 
namespace  Parallel
 
namespace  Predicates
 This namespace defines several multi_predicates which are used by the element and node iterators.
 
namespace  Quality
 A namespace for quality utility functions.
 
namespace  RBDataDeserialization
 
namespace  RBDataSerialization
 
namespace  ReferenceElem
 This namespace implements singleton reference elements for each fundamental element type supported by libMesh.
 
namespace  SparsityPattern
 This defines the sparsity pattern, or graph, of a sparse matrix.
 
namespace  TensorTools
 
namespace  Threads
 The Threads namespace is for wrapper functions for common general multithreading algorithms and tasks.
 
namespace  Trees
 For convenience we define QuadTrees and OctTrees explicitly.
 
namespace  TriangleWrapper
 A special namespace for wrapping the standard Triangle API, as well as some helper functions for initializing/destroying the structs triangle uses to communicate.
 
namespace  Utility
 

Classes

class  AbaqusIO
 The AbaqusIO class is a preliminary implementation for reading Abaqus mesh files in ASCII format. More...
 
class  AdaptiveTimeSolver
 This class wraps another UnsteadySolver derived class, and compares the results of timestepping with deltat and timestepping with 2*deltat to adjust future timestep lengths. More...
 
class  AdjointDofConstraintValues
 Storage for DofConstraint right hand sides for all adjoint problems. More...
 
class  AdjointRefinementEstimator
 This class implements a "brute force" goal-oriented error estimator which computes an estimate of error in a quantity of interest based on the residual of the current coarse grid primal solution as weighted against an adjoint solution on a uniformly refined (in h and/or p, for an arbitrary number of levels) grid. More...
 
class  AdjointResidualErrorEstimator
 This class implements a goal oriented error indicator, by weighting residual-based estimates from the primal problem against estimates from the adjoint problem. More...
 
class  AdvectionSystem
 This class extends ClawSystem to implement pure advection in 2D. More...
 
class  AnalyticFunction
 Wraps a function pointer into a FunctionBase object. More...
 
class  AutoAreaFunction
 
class  AztecLinearSolver
 This class provides an interface to AztecOO iterative solvers that is compatible with the libMesh LinearSolver<> More...
 
class  BasicOStreamProxy
 This class is intended to be reseatable like a pointer-to-ostream for flexibility, but to look like a reference when used to produce less awkward user code. More...
 
class  BoundaryInfo
 The BoundaryInfo class contains information relevant to boundary conditions including storing faces, edges, and nodes on the boundary, along with ids that can be used to identify the type of boundary each entity is part of. More...
 
class  BoundaryMesh
 The BoundaryMesh is a Mesh in its own right, but it contains a description of the boundary of some other mesh. More...
 
class  BoundaryProjectSolution
 This class implements projecting an arbitrary boundary function to the current mesh. More...
 
class  BoundaryVolumeSolutionTransfer
 SolutionTransfer derived class which is specifically for transferring solutions back and forth between a VolumeMesh and its associated BoundaryMesh. More...
 
class  BoundingBox
 Defines a Cartesian bounding box by the two corner extremum. More...
 
class  BuildProjectionList
 This class builds the send_list of old dof indices whose coefficients are needed to perform a projection. More...
 
class  C0Polygon
 The C0Polygon is an element in 2D with an arbitrary (but fixed) number of first-order (EDGE2) sides. More...
 
class  C0Polyhedron
 The C0Polyhedron is an element in 3D with an arbitrary (but fixed) number of polygonal first-order (C0Polygon) sides. More...
 
class  CachingSetup
 
struct  casting_compare
 
class  Cell
 The Cell is an abstract element type that lives in three dimensions. More...
 
class  CentroidPartitioner
 Partitions the Mesh based on the locations of element vertex averages. More...
 
class  CheckpointIO
 The CheckpointIO class can be used to write simplified restart files that can be used to restart simulations that have crashed. More...
 
class  chunked_mapvector
 This chunked_mapvector templated class is intended to provide the asymptotic performance characteristics of a std::map with an interface more closely resembling that of a std::vector, for use with DistributedMesh. More...
 
class  ClawSystem
 This class encapsulates functionality that allows us to solve conservation laws. More...
 
struct  CompareDofObjectsByID
 Comparison object to use with DofObject pointers. More...
 
struct  CompareDofObjectsByPIDAndThenID
 
struct  CompareElemIdsByLevel
 Specific weak ordering for Elem *'s to be used in a set. More...
 
struct  CompareTypes
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, D, asd >, MetaPhysicL::DualNumber< T, D, asd > >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, D, asd >, MetaPhysicL::DualNumber< T2, D2, asd > >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, D, asd >, T2 >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, T, asd >, MetaPhysicL::DualNumber< T2, T2, asd > >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, T, asd >, T2 >
 
struct  CompareTypes< MetaPhysicL::DynamicSparseNumberArray< T, IndexType >, T2 >
 
struct  CompareTypes< std::complex< T >, T >
 
struct  CompareTypes< T, MetaPhysicL::DualNumber< T2, D, asd > >
 
struct  CompareTypes< T, MetaPhysicL::DualNumber< T2, T2, asd > >
 
struct  CompareTypes< T, std::complex< T > >
 
struct  CompareTypes< T, T >
 
struct  CompareTypes< TypeVector< T >, TypeVector< T > >
 
struct  CompareTypes< TypeVector< T >, TypeVector< T2 > >
 
struct  CompareTypes< TypeVector< T >, VectorValue< T2 > >
 
struct  CompareTypes< VectorValue< T >, TypeVector< T2 > >
 
struct  CompareTypes< VectorValue< T >, VectorValue< T > >
 
struct  CompareTypes< VectorValue< T >, VectorValue< T2 > >
 
class  CompositeFEMFunction
 FEMFunction which is a function of another function. More...
 
class  CompositeFunction
 A function that returns a vector whose components are defined by multiple functions. More...
 
class  CondensedEigenSystem
 This class extends EigenSystem to allow a simple way of solving (standard or generalized) eigenvalue problems in the case where we want to remove certain degrees of freedom from the system. More...
 
class  ConstCouplingAccessor
 This accessor class allows simple access to CouplingMatrix values. More...
 
class  ConstCouplingRow
 This proxy class acts like a container of indices from a single coupling row. More...
 
class  ConstCouplingRowConstIterator
 
class  ConstFEMFunction
 FEMFunction that returns a single value, regardless of the time and location inputs. More...
 
class  ConstFunction
 Function that returns a single value that never changes. More...
 
class  ConstParameterProxy
 
class  ConstTypeTensorColumn
 
class  ContinuationSystem
 This class inherits from the FEMSystem. More...
 
class  ConvergenceFailure
 A class representing a solver's failure to converge, to be thrown by "libmesh_convergence_failure();" This should be a last resort; more often, a solve which has failed should be reattempted after switching to a smaller timestep, adding underrelaxation, taking a smaller continuation step, etc. More...
 
class  CouplingAccessor
 This accessor class allows simple setting of CouplingMatrix values. More...
 
class  CouplingMatrix
 This class defines a coupling matrix. More...
 
class  DefaultCoupling
 This class implements the default algebraic coupling in libMesh: elements couple to themselves, but may also couple to neighbors both locally and across periodic boundary conditions. More...
 
class  DegenerateMap
 A class representing the detection of an unexpected degeneracy, e.g. More...
 
class  DenseMatrix
 Defines a dense matrix for use in Finite Element-type computations. More...
 
class  DenseMatrixBase
 Defines an abstract dense matrix base class for use in Finite Element-type computations. More...
 
class  DenseSubMatrix
 Defines a dense submatrix for use in Finite Element-type computations. More...
 
class  DenseSubVector
 Defines a dense subvector for use in finite element computations. More...
 
class  DenseVector
 Defines a dense vector for use in Finite Element-type computations. More...
 
class  DenseVectorBase
 Defines an abstract dense vector base class for use in Finite Element-type computations. More...
 
class  DGFEMContext
 This class extends FEMContext in order to provide extra data required to perform local element residual and Jacobian assembly in the case of a discontinuous Galerkin (DG) discretization. More...
 
class  DiagonalMatrix
 Diagonal matrix class whose underlying storage is a vector. More...
 
class  DiffContext
 This class provides all data required for a physics package (e.g. More...
 
class  DifferentiablePhysics
 This class provides a specific system class. More...
 
class  DifferentiableQoI
 This class provides a specific system class. More...
 
class  DifferentiableSystem
 This class provides a specific system class. More...
 
class  DiffSolver
 This is a generic class that defines a solver to handle ImplicitSystem classes, including NonlinearImplicitSystem and DifferentiableSystem A user can define a solver by deriving from this class and implementing certain functions. More...
 
class  DirectSolutionTransfer
 Implementation of a SolutionTransfer object that only works for transferring the solution but only in the case of: More...
 
class  DirichletBoundaries
 We're using a class instead of a typedef to allow forward declarations and future flexibility. More...
 
class  DirichletBoundary
 This class allows one to associate Dirichlet boundary values with a given set of mesh boundary ids and system variable ids. More...
 
class  DiscontinuityMeasure
 This class measures discontinuities between elements for debugging purposes. More...
 
class  DistributedMesh
 The DistributedMesh class is derived from the MeshBase class, and is intended to provide identical functionality to the user but be distributed rather than replicated across distributed-memory systems. More...
 
class  DistributedVector
 This class provides a simple parallel, distributed vector datatype which is specific to libmesh. More...
 
class  DofConstraints
 The constraint matrix storage format. More...
 
class  DofConstraintValueMap
 Storage for DofConstraint right hand sides for a particular problem. More...
 
class  DofMap
 This class handles the numbering of degrees of freedom on a mesh. More...
 
class  DofMapBase
 This base class provides a minimal set of interfaces for satisfying user requests for. More...
 
class  DofObject
 The DofObject defines an abstract base class for objects that have degrees of freedom associated with them. More...
 
class  DSNAOutput
 
class  DSNAOutput< VectorValue< InnerOutput > >
 
class  DTKAdapter
 The DTKAdapter is used with the DTKSolutionTransfer object to adapt libmesh data to the DTK interface. More...
 
class  DTKEvaluator
 Implements the evaluate() function to compute FE solution values at points requested by DTK. More...
 
class  DTKSolutionTransfer
 Implementation of a SolutionTransfer object that uses the DataTransferKit (https://github.com/ORNL-CEES/DataTransferKit) to transfer variables back and forth between systems. More...
 
class  DynaIO
 Reading and writing meshes in (a subset of) LS-DYNA format. More...
 
class  DynamicCastFailure
 A class representing that a dynamic cast failed to produce expected output. More...
 
class  Edge
 The Edge is an element in 1D. More...
 
class  Edge2
 The Edge2 is an element in 1D composed of 2 nodes. More...
 
class  Edge3
 The Edge3 is an element in 1D composed of 3 nodes. More...
 
class  Edge4
 The Edge4 is an element in 1D composed of 4 nodes. More...
 
class  EigenPreconditioner
 This class provides an interface to the suite of preconditioners available from Eigen. More...
 
class  EigenSolver
 This class provides an interface to solvers for eigenvalue problems. More...
 
class  EigenSparseLinearSolver
 This class provides an interface to Eigen iterative solvers that is compatible with the libMesh LinearSolver<> More...
 
class  EigenSparseMatrix
 The EigenSparseMatrix class wraps a sparse matrix object from the Eigen library. More...
 
class  EigenSparseVector
 This class provides a nice interface to the Eigen C++-based data structures for serial vectors. More...
 
class  EigenSystem
 Manages consistently variables, degrees of freedom, and coefficient vectors for eigenvalue problems. More...
 
class  EigenTimeSolver
 The name of this class is confusing...it's meant to refer to the base class (TimeSolver) while still telling one that it's for solving (generalized) EigenValue problems that arise from finite element discretizations. More...
 
struct  EimPointData
 This struct is used to encapsulate the arguments required to specify an EIM point that we may add to our list of interpolation points. More...
 
struct  EIMVarGroupPlottingInfo
 This struct encapsulates data that specifies how we will perform plotting for EIM variable groups. More...
 
class  Elem
 This is the base class from which all geometric element types are derived. More...
 
class  ElemAssembly
 ElemAssembly provides a per-element (interior and boundary) assembly functionality. More...
 
class  ElemCutter
 This class implements cutting a single element into a collection of subelements. More...
 
struct  ElemHashUtils
 The ElemHashUtils struct defines functions used for the "Hash" and "Pred" template arguments of the various "unordered" containers, e.g. More...
 
class  ElemSideBuilder
 Helper for building element sides that minimizes the construction of new elements. More...
 
class  EnsightIO
 This class implements writing meshes and solutions in Ensight's Gold format. More...
 
class  EpetraMatrix
 This class provides a nice interface to the Epetra data structures for parallel, sparse matrices. More...
 
class  EpetraVector
 This class provides a nice interface to the Trilinos Epetra_Vector object. More...
 
class  EquationSystems
 This is the EquationSystems class. More...
 
class  ErrorEstimator
 This class holds functions that will estimate the error in a finite element solution on a given mesh. More...
 
class  ErrorVector
 The ErrorVector is a specialization of the StatisticsVector for error data computed on a finite element mesh. More...
 
class  Euler2Solver
 This class defines a theta-method (defaulting to Backward Euler with theta = 1.0) solver to handle time integration of DifferentiableSystems. More...
 
class  EulerSolver
 This class defines a theta-method Euler (defaulting to Backward Euler with theta = 1.0) solver to handle time integration of DifferentiableSystems. More...
 
class  ExactErrorEstimator
 This class implements an "error estimator" based on the difference between the approximate and exact solution. More...
 
class  ExactSoln
 
class  ExactSolution
 This class handles the computation of the L2 and/or H1 error for the Systems in the EquationSystems object which is passed to it. More...
 
class  ExodusHeaderInfo
 This class is used as both an external data structure for passing around Exodus file header information, and for storing information internally in ExodusII_IO_Helper. More...
 
class  ExodusII_IO
 The ExodusII_IO class implements reading meshes in the ExodusII file format from Sandia National Labs. More...
 
class  ExodusII_IO_Helper
 This is the ExodusII_IO_Helper class. More...
 
class  ExplicitSystem
 Manages consistently variables, degrees of freedom, and coefficient vectors for explicit systems. More...
 
class  Face
 The Face is an abstract element type that lives in two dimensions. More...
 
class  Factory
 Factory class definition. More...
 
class  FactoryImp
 Factory implementation class. More...
 
class  FastPoolAllocator
 An allocator which can be used in standard containers. More...
 
class  FDMGradient
 
class  FE
 A specific instantiation of the FEBase class. More...
 
class  FEAbstract
 This class forms the foundation from which generic finite elements may be derived. More...
 
class  FEClough
 Clough-Tocher finite elements. More...
 
class  FEComputeData
 class FEComputeData hides arbitrary data to be passed to and from children of FEBase through the FEInterface::compute_data() method. More...
 
class  FEGenericBase
 This class forms the foundation from which generic finite elements may be derived. More...
 
class  FEHermite
 Hermite finite elements. More...
 
class  FEHierarchic
 Hierarchic finite elements. More...
 
class  FEHierarchicVec
 FEHierarchicVec objects are used for working with vector-valued high-order finite elements. More...
 
class  FEInterface
 This class provides an encapsulated access to all static public member functions of finite element classes. More...
 
class  FEL2Hierarchic
 Discontinuous Hierarchic finite elements. More...
 
class  FEL2HierarchicVec
 FEHierarchicVec objects are used for working with vector-valued high-order piecewise-continuous finite elements. More...
 
class  FEL2Lagrange
 Discontinuous Lagrange finite elements. More...
 
class  FEL2LagrangeVec
 FEL2LagrangeVec objects are used for working with vector-valued finite elements. More...
 
class  FEL2RaviartThomas
 FEL2RaviartThomas objects are used for working with vector-valued discontinuous Raviart-Thomas finite elements, e.g. More...
 
class  FELagrange
 Lagrange finite elements. More...
 
class  FELagrangeVec
 FELagrangeVec objects are used for working with vector-valued finite elements. More...
 
class  FEMap
 Class contained in FE that encapsulates mapping (i.e. More...
 
class  FEMContext
 This class provides all data required for a physics package (e.g. More...
 
class  FEMFunctionBase
 FEMFunctionBase is a base class from which users can derive in order to define "function-like" objects that can be used within FEMSystem. More...
 
class  FEMFunctionWrapper
 The FEMFunctionWrapper input functor class can be used with a GenericProjector to read values from an FEMFunction. More...
 
class  FEMonomial
 Monomial finite elements. More...
 
class  FEMonomialVec
 FEMonomialVec objects are used for working with vector-valued discontinuous finite elements. More...
 
class  FEMPhysics
 This class provides a specific system class. More...
 
class  FEMSystem
 This class provides a specific system class. More...
 
class  FENedelecOne
 FENedelecOne objects are used for working with vector-valued Nedelec finite elements of the first kind. More...
 
struct  FEOutputType
 Most finite element types in libMesh are scalar-valued. More...
 
struct  FEOutputType< HIERARCHIC_VEC >
 
struct  FEOutputType< L2_HIERARCHIC_VEC >
 
struct  FEOutputType< L2_LAGRANGE_VEC >
 
struct  FEOutputType< L2_RAVIART_THOMAS >
 
struct  FEOutputType< LAGRANGE_VEC >
 Specialize for non-scalar-valued elements. More...
 
struct  FEOutputType< MONOMIAL_VEC >
 
struct  FEOutputType< NEDELEC_ONE >
 
struct  FEOutputType< RAVIART_THOMAS >
 
class  FERaviartThomas
 FERaviartThomas objects are used for working with vector-valued Raviart-Thomas finite elements. More...
 
class  FEScalar
 The FEScalar class is used for working with SCALAR variables. More...
 
class  FESubdivision
 
class  FETransformationBase
 This class handles the computation of the shape functions in the physical domain. More...
 
class  FEType
 class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialized finite element families. More...
 
class  FEXYZ
 XYZ finite elements. More...
 
class  FEXYZMap
 An implementation of FEMap for "XYZ" elements. More...
 
class  FileError
 A class representing a failed attempt by the library to open a file (or construct an fstream, etc), to be thrown by "libmesh_file_error(filename);" For ease of debugging, "filename" should include any (absolute or relative or implicit) pathname that was part of the failed open. More...
 
class  FileHistoryData
 HistoryData subclass that provides a struct to store history data such as timestamps, mesh, primal and adjoint filenames and timestep sizes. More...
 
class  FileSolutionHistory
 Subclass of Solution History that stores the solutions and other important vectors onto disk. More...
 
class  FirstOrderUnsteadySolver
 Generic class from which first order UnsteadySolvers should subclass. More...
 
class  FloatingPointException
 A class representing a floating point exception. More...
 
struct  FPEDisabler
 The FPEDisabler class puts Floating-Point Exception (FPE) trapping on hold during its lifetime, restoring the FE environment upon destruction. More...
 
class  FrequencySystem
 FrequencySystem provides a specific system class for frequency-dependent (linear) systems. More...
 
class  FroIO
 This class implements writing meshes in the .fro format used by the MIT ACDL. More...
 
class  FunctionBase
 Base class for functors that can be evaluated at a point and (optionally) time. More...
 
class  GenericProjector
 The GenericProjector class implements the core of other projection operations, using two input functors to read values to be projected and an output functor to set degrees of freedom in the result. More...
 
class  GhostingFunctor
 This abstract base class defines the interface by which library code and user code can report associations between elements. More...
 
class  GhostPointNeighbors
 This class implements the original default geometry ghosting requirements in libMesh: point neighbors on the same manifold, including across periodic boundaries, and interior_parent elements. More...
 
class  GmshIO
 Reading and writing meshes in the Gmsh format. More...
 
class  GMVIO
 This class implements writing meshes in the GMV format. More...
 
class  GnuPlotIO
 This class implements writing meshes using GNUplot, designed for use only with 1D meshes. More...
 
class  GradientMeshFunction
 
class  H1FETransformation
 This class handles the computation of the shape functions in the physical domain for H1 conforming elements. More...
 
struct  hash
 
class  HCurlFETransformation
 This class handles the computation of the shape functions in the physical domain for HCurl conforming elements. More...
 
class  HDGProblem
 
class  HDivFETransformation
 This class handles the computation of the shape functions in the physical domain for HDiv conforming elements. More...
 
class  Hex
 The Hex is an element in 3D with 6 sides. More...
 
class  Hex20
 The Hex20 is an element in 3D composed of 20 nodes. More...
 
class  Hex27
 The Hex27 is an element in 3D composed of 27 nodes. More...
 
class  Hex8
 The Hex8 is an element in 3D composed of 8 nodes. More...
 
class  HilbertSFCPartitioner
 The HilbertSFCPartitioner uses a Hilbert space filling curve to partition the elements. More...
 
class  HistoryData
 The History Data classes are companion classes to SolutionHistory and MeshHistory classes. More...
 
class  HPCoarsenTest
 This class uses the error estimate given by different types of derefinement (h coarsening or p reduction) to choose between h refining and p elevation. More...
 
class  HPSelector
 Subclasses of this abstract base class choose between h refining and p elevation. More...
 
class  HPSingularity
 This class uses a user-provided list of singularity locations to choose between h refining and p elevation. More...
 
class  ImplicitSystem
 Manages consistently variables, degrees of freedom, coefficient vectors, and matrices for implicit systems. More...
 
class  InfCell
 The InfCell is an abstract element type that lives in three dimensions. More...
 
class  InfEdge2
 The InfEdge2 is an infinite element in 1D composed of 2 nodes. More...
 
class  InfElemBuilder
 This class is used to build infinite elements on top of an existing mesh. More...
 
class  InfFE
 A specific instantiation of the FEBase class. More...
 
class  InfFEBase
 This nested class contains most of the static methods related to the base part of an infinite element. More...
 
class  InfFEMap
 Class that encapsulates mapping (i.e. More...
 
class  InfFERadial
 Infinite elements are in some sense directional, compared to conventional finite elements. More...
 
class  InfHex
 The InfHex is an element in 3D with 5 sides. More...
 
class  InfHex16
 The InfHex16 is an infinite element in 3D composed of 16 nodes. More...
 
class  InfHex18
 The InfHex18 is an infinite element in 3D composed of 18 nodes. More...
 
class  InfHex8
 The InfHex8 is an infinite element in 3D composed of 8 nodes. More...
 
class  InfPrism
 The InfPrism is an element in 3D with 4 sides. More...
 
class  InfPrism12
 The InfPrism12 is an infinite element in 3D composed of 12 nodes. More...
 
class  InfPrism6
 The InfPrism6 is an infinite element in 3D composed of 6 nodes. More...
 
class  InfQuad
 The InfQuad is an abstract element type that lives in two dimensions. More...
 
class  InfQuad4
 The INFQUAD4 is an infinite element in 2D composed of 4 nodes. More...
 
class  InfQuad6
 The INFQUAD6 is an infinite element in 2D composed of 6 nodes. More...
 
class  InterMeshProjection
 This class implements inter mesh projection, i.e. More...
 
class  IntRange
 The IntRange templated class is intended to make it easy to loop over integers which are indices of a container. More...
 
class  InvalidConstraint
 Represents an invalid constraint (i.e., when the two constraints don't intersect) More...
 
class  InverseDistanceInterpolation
 Inverse distance interpolation. More...
 
class  JumpErrorEstimator
 This abstract base class implements utility functions for error estimators which are based on integrated jumps between elements. More...
 
class  KellyErrorEstimator
 This class implements the Kelly error indicator which is based on the flux jumps between elements. More...
 
class  LaplaceMeshSmoother
 This class defines the data structures necessary for Laplace smoothing. More...
 
class  LaplacianErrorEstimator
 This class is an error indicator based on laplacian jumps between elements. More...
 
class  LaspackLinearSolver
 This class provides an interface to Laspack iterative solvers that is compatible with the libMesh LinearSolver<> More...
 
class  LaspackMatrix
 The LaspackMatrix class wraps a QMatrix object from the Laspack library. More...
 
class  LaspackVector
 This class provides a nice interface to the Laspack C-based data structures for serial vectors. More...
 
class  LibMeshInit
 The LibMeshInit class, when constructed, initializes the dependent libraries (e.g. More...
 
class  LinearImplicitSystem
 Manages consistently variables, degrees of freedom, coefficient vectors, matrices and linear solvers for implicit systems. More...
 
class  LinearPartitioner
 The LinearPartitioner simply takes the element list and splits it into equal-sized chunks assigned to each processor. More...
 
class  LinearSolutionMonitor
 Functor for use as callback in solve of nonlinear solver. More...
 
class  LinearSolver
 This base class can be inherited from to provide interfaces to linear solvers from different packages like PETSc and LASPACK. More...
 
class  LineConstraint
 Represents a line constraint defined by a base point and direction vector. More...
 
class  LocationMap
 Data structures that enable location-based lookups The key is a hash of the Point location. More...
 
class  LogicError
 A class to represent the internal "this should never happen" errors, to be thrown by "libmesh_error();". More...
 
class  LumpedMassMatrix
 Template class used to construct a lumped mass matrix. More...
 
class  MappedSubdomainPartitioner
 The MappedSubdomainPartitioner partitions the elements based on their subdomain ids. More...
 
class  mapvector
 This mapvector templated class is intended to provide the performance characteristics of a std::map with an interface more closely resembling that of a std::vector, for use with DistributedMesh. More...
 
class  MatlabIO
 This class implements reading meshes in the Matlab PDE toolkit in a proprietary format. More...
 
class  MatrixFillAction
 The MatrixFillAction output functor class can be used with GenericProjector to write solution transfer coefficients into a sparse matrix. More...
 
class  MEDITIO
 This class implements writing meshes in the mesh format used by the MEdit visualization tool developed in the Gamma Project at INRIA Roquencourt. More...
 
class  MemoryHistoryData
 MemoryHistoryData provides a data structure to store memory history data. More...
 
class  MemorySolutionHistory
 Subclass of Solution History that stores the solutions and other important vectors in memory. More...
 
class  Mesh
 The Mesh class is a thin wrapper, around the ReplicatedMesh class by default. More...
 
class  MeshBase
 This is the MeshBase class. More...
 
class  MeshCommunication
 This is the MeshCommunication class. More...
 
class  MeshfreeInterpolation
 Base class to support various mesh-free interpolation methods. More...
 
class  MeshfreeInterpolationFunction
 
class  MeshfreeSolutionTransfer
 Implementation of a SolutionTransfer object that utilizes the MeshfreeInterpolation system to interpolate one solution to another. More...
 
class  MeshFunction
 This class provides function-like objects for data distributed over a mesh. More...
 
class  MeshFunctionSolutionTransfer
 Implementation of a SolutionTransfer object that only works for transferring the solution using a MeshFunction. More...
 
class  MeshInput
 This class defines an abstract interface for Mesh input. More...
 
class  MeshOutput
 This class defines an abstract interface for Mesh output. More...
 
struct  MeshQualityInfo
 Struct to hold smoother-relevant information about the mesh quality. More...
 
class  MeshRefinement
 Implements (adaptive) mesh refinement algorithms for a MeshBase. More...
 
class  MeshSerializer
 Temporarily serialize a DistributedMesh for non-distributed-mesh capable code paths. More...
 
class  MeshSmoother
 This class provides the necessary interface for mesh smoothing. More...
 
class  MeshTetInterface
 Class MeshTetInterface provides an abstract interface for tetrahedralization of meshes by subclasses. More...
 
class  METIS_CSR_Graph
 This utility class provides a convenient implementation for building the compressed-row-storage graph required for the METIS/ParMETIS graph partitioning schemes. More...
 
class  MetisPartitioner
 The MetisPartitioner uses the Metis graph partitioner to partition the elements. More...
 
class  MortonSFCPartitioner
 The MortonSFCPartitioner uses a Morton space filling curve to partition the elements. More...
 
class  NameBasedIO
 This class supports simple reads and writes in any libMesh-supported format, by dispatching to one of the other I/O classes based on filename. More...
 
class  Nemesis_IO
 The Nemesis_IO class implements reading parallel meshes in the Nemesis file format from Sandia National Labs. More...
 
class  Nemesis_IO_Helper
 This is the Nemesis_IO_Helper class. More...
 
class  NetGenMeshInterface
 Class NetGenMeshInterface provides an interface for tetrahedralization of meshes using the NetGen library. More...
 
class  NewmarkSolver
 This class defines a Newmark time integrator for second order (in time) DifferentiableSystems. More...
 
class  NewmarkSystem
 This class contains a specific system class. More...
 
class  NewtonSolver
 This class defines a solver which uses the default libMesh linear solver in a quasiNewton method to handle a DifferentiableSystem. More...
 
class  NloptOptimizationSolver
 This class provides an interface to the NLopt optimization solvers. More...
 
class  Node
 A Node is like a Point, but with more information. More...
 
class  NodeConstraints
 The Node constraint storage format. More...
 
class  NodeElem
 The NodeElem is a point element, generally used as a side of a 1D element. More...
 
class  NonlinearImplicitSystem
 Manages consistently variables, degrees of freedom, coefficient vectors, matrices and non-linear solvers for implicit systems. More...
 
class  NonlinearSolver
 This base class can be inherited from to provide interfaces to nonlinear solvers from different packages like PETSc and Trilinos. More...
 
class  NonManifoldGhostingFunctor
 A GhostingFunctor subclass that uses a SidesToElemMap object to determine when Elem DOFs should be ghosted in non-manifold meshes. More...
 
class  NoSolutionHistory
 'Save nothing' subclass of Solution History, this is the default. More...
 
class  NotImplemented
 A class to stub for features that should be in libMesh, but haven't been written yet, to be thrown by "libmesh_not_implemented();". More...
 
class  NoxNonlinearSolver
 This class provides an interface to nox iterative solvers that is compatible with the libMesh NonlinearSolver<> More...
 
struct  null_output_iterator
 A do-nothing class for templated methods that expect output iterator arguments. More...
 
class  NumericVector
 Provides a uniform interface to vector storage schemes for different linear algebra libraries. More...
 
class  OFFIO
 This class is responsible for reading an unstructured, triangulated surface in the standard OFF OOGL format. More...
 
class  OldSolutionBase
 The OldSolutionBase input functor abstract base class is the root of the OldSolutionValue and OldSolutionCoefs classes which allow a GenericProjector to read old solution values or solution interpolation coefficients for a just-refined-and-coarsened mesh. More...
 
class  OldSolutionCoefs
 The OldSolutionCoefs input functor class can be used with GenericProjector to read solution transfer coefficients on a just-refined-and-coarsened mesh. More...
 
class  OldSolutionValue
 The OldSolutionValue input functor class can be used with GenericProjector to read values from a solution on a just-refined-and-coarsened mesh. More...
 
class  OptimizationSolver
 This base class can be inherited from to provide interfaces to optimization solvers from different packages like PETSc/TAO and nlopt. More...
 
class  OptimizationSystem
 This System subclass enables us to assemble an objective function, gradient, Hessian and bounds for optimization problems. More...
 
class  OrderWrapper
 This provides a shim class that wraps the Order enum. More...
 
class  OverlapCoupling
 This class implements ghosting of elements that overlap or touch at at least one sampled point, even if no topological connection between the elements exists. More...
 
class  ParallelMesh
 
class  ParallelObject
 An object whose state is distributed along a set of processors. More...
 
class  ParameterAccessor
 Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
 
class  ParameterMultiAccessor
 Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
 
class  ParameterMultiPointer
 Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
 
class  ParameterPointer
 Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
 
class  ParameterProxy
 
class  Parameters
 This class provides the ability to map between arbitrary, user-defined strings and several data types. More...
 
class  ParameterVector
 Data structure for specifying which Parameters should be independent variables in a parameter sensitivity calculation. More...
 
class  ParmetisHelper
 The ParmetisHelper class allows us to use a 'pimpl' strategy in the ParmetisPartitioner class. More...
 
class  ParmetisPartitioner
 The ParmetisPartitioner uses the Parmetis graph partitioner to partition the elements. More...
 
class  ParsedFEMFunction
 ParsedFEMFunction provides support for FParser-based parsed functions in FEMSystem. More...
 
class  ParsedFEMFunctionParameter
 Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
 
class  ParsedFunction
 A Function generated (via FParser) by parsing a mathematical expression. More...
 
class  ParsedFunctionParameter
 Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
 
class  Partitioner
 The Partitioner class provides a uniform interface for partitioning algorithms. More...
 
class  PassKey
 
class  Patch
 This class implements useful utility functions for a patch of elements. More...
 
class  PatchRecoveryErrorEstimator
 This class implements the Patch Recovery error indicator. More...
 
class  PerfData
 The PerfData class simply contains the performance data that is recorded for individual events. More...
 
struct  PerfItem
 Used for logging something that naturally lasts as long as some enclosing scope, such as the current function. More...
 
class  PerfLog
 The PerfLog class allows monitoring of specific events. More...
 
class  PerfMon
 PAPI stands for Performance Application Programming Interface. More...
 
class  PeriodicBoundaries
 We're using a class instead of a typedef to allow forward declarations and future flexibility. More...
 
class  PeriodicBoundary
 The definition of a periodic boundary. More...
 
class  PeriodicBoundaryBase
 The base class for defining periodic boundaries. More...
 
class  PetscDiffSolver
 This class defines a solver which uses a PETSc SNES context to handle a DifferentiableSystem. More...
 
struct  PetscDMContext
 Struct to house data regarding where in the mesh hierarchy we are located. More...
 
class  PetscDMWrapper
 This class defines a wrapper around the PETSc DM infrastructure. More...
 
class  PetscLinearSolver
 This class provides an interface to PETSc iterative solvers that is compatible with the libMesh LinearSolver<> More...
 
class  PetscMatrix
 This class provides a nice interface to the PETSc C-based AIJ data structures for parallel, sparse matrices. More...
 
class  PetscMatrixBase
 This class provides a nice interface to the PETSc C-based data structures for parallel, sparse matrices. More...
 
class  PetscMatrixShellMatrix
 This class allows to use a PETSc shell matrix as a PetscMatrix. More...
 
class  PetscMFFDMatrix
 This class allows to use a PETSc shell matrix as a PetscMatrix. More...
 
class  PetscNonlinearSolver
 This class provides an interface to PETSc iterative solvers that is compatible with the libMesh NonlinearSolver<> More...
 
class  PetscPreconditioner
 This class provides an interface to the suite of preconditioners available from PETSc. More...
 
class  PetscShellMatrix
 This class allows to use a PETSc shell matrix. More...
 
class  PetscSolverException
 A specialization of the SolverException class for PETSc. More...
 
class  PetscVector
 This class provides a nice interface to PETSc's Vec object. More...
 
class  Plane
 This class defines a plane. More...
 
class  PlaneConstraint
 Represents a plane constraint defined by a point and normal vector. More...
 
class  PltLoader
 This class will read a binary .plt file. More...
 
class  Point
 A Point defines a location in LIBMESH_DIM dimensional Real space. More...
 
class  PointConstraint
 Represents a fixed point constraint. More...
 
class  PointerToPointerIter
 The PointerToPointerIter templated class is intended to wrap pointer-to-pointer iterators in an interface which works more like a standard iterator, by returning a value rather than a pointer. More...
 
class  PointLocatorBase
 This is the base class for point locators. More...
 
class  PointLocatorNanoflann
 This is a PointLocator that uses Nanoflann for its implementation. More...
 
class  PointLocatorTree
 This is a point locator. More...
 
class  PointNeighborCoupling
 This class implements ghosting of point neighbors (elements on the same manifold that share points), ghosting stencils out to a user-configurable number of levels of neighbors. More...
 
class  Poly2TriTriangulator
 A C++ interface between LibMesh and the poly2tri library, with custom code for Steiner point insertion. More...
 
class  Polygon
 The Polygon is an element in 2D with an arbitrary (but fixed) number of sides. More...
 
class  Polyhedron
 The Polyhedron is an element in 3D with an arbitrary number of polygonal faces. More...
 
class  PoolAllocator
 An allocator which can be used in standard containers. More...
 
class  PostscriptIO
 This class implements writing 2D meshes in Postscript. More...
 
class  Preconditioner
 This class provides a uniform interface for preconditioners. More...
 
class  Prism
 The Prism is an element in 3D with 5 sides. More...
 
class  Prism15
 The Prism15 is an element in 3D composed of 15 nodes. More...
 
class  Prism18
 The Prism18 is an element in 3D composed of 18 nodes. More...
 
class  Prism20
 The Prism20 is an element in 3D composed of 20 nodes. More...
 
class  Prism21
 The Prism21 is an element in 3D composed of 21 nodes. More...
 
class  Prism6
 The Prism6 is an element in 3D composed of 6 nodes. More...
 
class  Problem_Interface
 
class  PSoln
 
class  Pyramid
 The Pyramid is an element in 3D with 5 sides. More...
 
class  Pyramid13
 The Pyramid13 is an element in 3D composed of 13 nodes, designed to interface with a QUAD8 element on the base and a TRI6 element on each of the triangular faces. More...
 
class  Pyramid14
 The Pyramid14 is an element in 3D composed of 14 nodes, designed to interface with a QUAD9 element on the base and a TRI6 element on each of the triangular faces. More...
 
class  Pyramid18
 The Pyramid18 is an element in 3D composed of 18 nodes, designed to interface with a QUAD9 element on the base and a TRI7 element on each of the triangular faces. More...
 
class  Pyramid5
 The Pyramid5 is an element in 3D composed of 5 nodes. More...
 
class  QBase
 The QBase class provides the basic functionality from which various quadrature rules can be derived. More...
 
class  QClough
 This class creates a Gaussian quadrature rule duplicated for each subelement of a Clough-Tocher divided macroelement. More...
 
class  QComposite
 This class implements generic composite quadrature rules. More...
 
class  QConical
 This class implements the so-called conical product quadrature rules for Tri and Tet elements. More...
 
class  QGauss
 This class implements specific orders of Gauss quadrature. More...
 
class  QGaussLobatto
 This class implements Gauss-Lobatto quadrature for 1D elements and 2D/3D tensor product elements. More...
 
class  QGrid
 This class creates quadrature points on a uniform grid, with order+1 points on an edge. More...
 
class  QGrundmann_Moller
 This class implements the Grundmann-Moller quadrature rules for tetrahedra. More...
 
class  QJacobi
 This class implements two (for now) Jacobi-Gauss quadrature rules. More...
 
class  QMonomial
 This class defines alternate quadrature rules on "tensor-product" elements (quadrilaterals and hexahedra) which can be useful when integrating monomial finite element bases. More...
 
class  QNodal
 This class implements nodal quadrature rules for various element types. More...
 
class  QoISet
 Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a parameter sensitivity calculation. More...
 
class  QSimpson
 This class implements Simpson quadrature. More...
 
class  QTrap
 This class implements trapezoidal quadrature. More...
 
class  Quad
 The QUAD is an element in 2D composed of 4 sides. More...
 
class  Quad4
 The QUAD4 is an element in 2D composed of 4 nodes. More...
 
class  Quad8
 The QUAD8 is an element in 2D composed of 8 nodes. More...
 
class  Quad9
 The QUAD9 is an element in 2D composed of 9 nodes. More...
 
class  QuadShell4
 QuadShell4 is almost identical to Quad4. More...
 
class  QuadShell8
 QuadShell8 is almost identical to Quad8. More...
 
class  QuadShell9
 QuadShell9 is almost identical to Quad9. More...
 
class  RadialBasisInterpolation
 Radial Basis Function interpolation. More...
 
class  RawAccessor
 This class provides single index access to FieldType (i.e. More...
 
class  RawAccessor< TypeNTensor< N, ScalarType > >
 Stub implementations for stub TypeNTensor object. More...
 
struct  RawFieldType
 What underlying data type would we need to access in each field? More...
 
struct  RawFieldType< Gradient >
 
struct  RawFieldType< Number >
 
struct  RawFieldType< Real >
 
struct  RawFieldType< RealGradient >
 
struct  RawFieldType< RealTensor >
 
struct  RawFieldType< Tensor >
 
struct  RawFieldType< TypeNTensor< 3, Number > >
 
struct  RawFieldType< TypeNTensor< 3, Real > >
 
class  RBAssemblyExpansion
 This class stores the set of ElemAssembly functor objects that define the "parameter-independent expansion" of a PDE. More...
 
class  RBConstruction
 This class is part of the rbOOmit framework. More...
 
class  RBConstructionBase
 This class is part of the rbOOmit framework. More...
 
class  RBEIMAssembly
 This class provides functionality required to define an assembly object that arises from an "Empirical Interpolation Method" (EIM) approximation. More...
 
class  RBEIMConstruction
 This class is part of the rbOOmit framework. More...
 
class  RBEIMEvaluation
 This class enables evaluation of an Empirical Interpolation Method (EIM) approximation. More...
 
class  RBEIMTheta
 This class provides functionality required to define an RBTheta object that arises from an "Empirical Interpolation Method" (EIM) approximation. More...
 
class  RBEvaluation
 This class is part of the rbOOmit framework. More...
 
class  RBParameters
 This class is part of the rbOOmit framework. More...
 
class  RBParametrized
 This class is part of the rbOOmit framework. More...
 
class  RBParametrizedFunction
 A simple functor class that provides a RBParameter-dependent function. More...
 
class  RBSCMConstruction
 This class is part of the rbOOmit framework. More...
 
class  RBSCMEvaluation
 This class is part of the rbOOmit framework. More...
 
class  RBTemporalDiscretization
 Define a class that encapsulates the details of a "generalized Euler" temporal discretization to be used in the rbOOmit framework. More...
 
class  RBTheta
 This class is part of the rbOOmit framework. More...
 
class  RBThetaExpansion
 This class stores the set of RBTheta functor objects that define the "parameter-dependent expansion" of a PDE. More...
 
struct  RealTraits
 
struct  RealTraits< MetaPhysicL::DualNumber< T, D, asd > >
 
class  ReferenceCountedObject
 This class implements reference counting. More...
 
class  ReferenceCounter
 This is the base class for enabling reference counting. More...
 
class  RefinementSelector
 This abstract class provides an interface to methods for selecting the type of refinement to be used on each element in a given mesh. More...
 
class  RemoteElem
 In parallel meshes where a ghost element has neighbors which do not exist on the local processor, the ghost element's neighbors are set to point to the singleton RemoteElement instead. More...
 
class  ReplicatedMesh
 The ReplicatedMesh class is derived from the MeshBase class, and is used to store identical copies of a full mesh data structure on each processor. More...
 
class  ResidualContext
 
struct  ScalarTraits
 
struct  ScalarTraits< MetaPhysicL::DualNumber< T, D, asd > >
 
struct  ScalarTraits< MetaPhysicL::DynamicSparseNumberArray< T, IndexType > >
 
struct  ScalarTraits< std::complex< T > >
 
class  SecondOrderUnsteadySolver
 Generic class from which second order UnsteadySolvers should subclass. More...
 
class  SensitivityData
 Data structure for holding completed parameter sensitivity calculations. More...
 
class  SerialMesh
 
class  SFCPartitioner
 The SFCPartitioner uses a Hilbert or Morton-ordered space filling curve to partition the elements. More...
 
class  ShellMatrix
 Generic shell matrix, i.e. More...
 
class  SiblingCoupling
 This class adds coupling (for use in send_list construction) between active elements and all descendants of their parent. More...
 
class  Side
 
class  SimpleRange
 The SimpleRange templated class is intended to make it easy to construct ranges from pairs of iterators. More...
 
class  SimplexRefiner
 A C++ class to refine a simplicial mesh via splitting edges that exceed a given metric. More...
 
class  Singleton
 Base class for all library singleton objects. More...
 
class  SlepcEigenSolver
 This class provides an interface to the SLEPc eigenvalue solver library from http://slepc.upv.es/. More...
 
class  SmoothnessEstimator
 This class implements the Smoothness estimate. More...
 
class  SolutionHistory
 A SolutionHistory class that enables the storage and retrieval of timesteps and (in the future) adaptive steps. More...
 
class  SolutionTransfer
 Base class for objects that allow transferring variable values between different systems with different meshes. More...
 
class  SolverConfiguration
 This class stores solver configuration data, e.g. More...
 
class  SolverException
 A class representing an exception during a solve. More...
 
class  SparseMatrix
 Generic sparse matrix. More...
 
class  SparseShellMatrix
 This class allows to use any SparseMatrix object as a shell matrix. More...
 
class  Sphere
 This class defines a sphere. More...
 
class  StaticCondensation
 
class  StaticCondensationDofMap
 A class holding degree of freedom information pertinent to static condensation. More...
 
class  StaticCondensationPreconditioner
 
class  StatisticsVector
 The StatisticsVector class is derived from the std::vector<> and therefore has all of its useful features. More...
 
class  SteadySolver
 This class implements a TimeSolver which does a single solve of the steady state problem. More...
 
class  STLIO
 This class implements reading and writing triangle meshes in the STL format. More...
 
class  StoredRange
 The StoredRange class defines a contiguous, divisible set of objects. More...
 
class  SubdomainPartitioner
 The SubdomainPartitioner partitions the elements in "chunks" of user-specified subdomain ids. More...
 
class  SumShellMatrix
 This class combines any number of shell matrices to a single shell matrix by summing them together. More...
 
class  Surface
 The base class for all "surface" related geometric objects. More...
 
struct  SyncElementIntegers
 
struct  SyncLocalIDs
 
struct  SyncNodalPositions
 
struct  SyncRefinementFlags
 
struct  SyncSubdomainIds
 
class  System
 Manages consistently variables, degrees of freedom, and coefficient vectors. More...
 
class  SystemNorm
 This class defines a norm/seminorm to be applied to a NumericVector which contains coefficients in a finite element space. More...
 
class  SystemSubset
 This is a base class for classes which represent subsets of the dofs of a System. More...
 
class  SystemSubsetBySubdomain
 This class represents a subset of the dofs of a System, selected by the subdomain_id and possible the variable numbers. More...
 
class  TaoOptimizationSolver
 This class provides an interface to the Tao optimization solvers. More...
 
class  TecplotIO
 This class implements writing meshes in the Tecplot format. More...
 
class  TensorShellMatrix
 Shell matrix that is given by a tensor product of two vectors, i.e. More...
 
class  TensorValue
 This class defines a tensor in LIBMESH_DIM dimensional Real or Complex space. More...
 
class  TerminationException
 A class representing an exception used only to send a program to the terminate handler for abort after cleanup, while bypassing the usual debugging output (performance logs, stack traces, "terminating" messages) that the handler does to ease debugging of uncaught error exceptions. More...
 
class  TestClass
 
class  Tet
 The Tet is an element in 3D composed of 4 sides. More...
 
class  Tet10
 The Tet10 is an element in 3D composed of 10 nodes. More...
 
class  Tet14
 The Tet14 is an element in 3D composed of 14 nodes. More...
 
class  Tet4
 The Tet4 is an element in 3D composed of 4 nodes. More...
 
class  TetGenIO
 This class implements reading and writing meshes in the TetGen format. More...
 
class  TetGenMeshInterface
 Class TetGenMeshInterface provides an interface for tetrahedralization of meshes using the TetGen library. More...
 
class  TetGenWrapper
 The TetGenWrapper provides an interface for basic access to TetGen data structures and methods. More...
 
class  ThreadBufferedSyncbuf
 
class  TimeSolver
 This is a generic class that defines a solver to handle time integration of DifferentiableSystems. More...
 
class  TopologyMap
 Data structures that enable topology-based lookups of nodes created by mesh refinement. More...
 
class  TransientRBAssemblyExpansion
 This extends RBAssemblyExpansion to provide an assembly expansion for the case of time-dependent PDEs. More...
 
class  TransientRBConstruction
 This class is part of the rbOOmit framework. More...
 
class  TransientRBEvaluation
 This class is part of the rbOOmit framework. More...
 
class  TransientRBThetaExpansion
 This class stores the set of RBTheta functor objects that define the "parameter-dependent expansion" of a PDE. More...
 
class  TransientSystem
 Manages storage and variables for transient systems. More...
 
class  Tree
 This class defines a tree that may be used for fast point location in space. More...
 
class  TreeBase
 This is the base class for trees, it allows pointer usage of trees. More...
 
class  TreeNode
 This class defines a node on a tree. More...
 
class  Tri
 The Tri is an element in 2D composed of 3 sides. More...
 
class  Tri3
 The Tri3 is an element in 2D composed of 3 nodes. More...
 
class  Tri3Subdivision
 The Tri3Subdivision element is a three-noded subdivision surface shell element used in mechanics calculations. More...
 
class  Tri6
 The Tri6 is an element in 2D composed of 6 nodes. More...
 
class  Tri7
 The Tri7 is an element in 2D composed of 7 nodes. More...
 
class  TriangleInterface
 A C++ interface between LibMesh and the Triangle library written by J.R. More...
 
class  TriangulatorInterface
 
class  TrilinosPreconditioner
 This class provides an interface to the suite of preconditioners available from Trilinos. More...
 
class  TriShell3
 TriShell3 is almost identical to Tri3. More...
 
struct  tuple_n
 
struct  tuple_n< 0, T >
 
class  TwostepTimeSolver
 This class wraps another UnsteadySolver derived class, and compares the results of timestepping with deltat and timestepping with 2*deltat to adjust future timestep lengths. More...
 
class  TypeNTensor
 This class will eventually define a rank-N tensor in LIBMESH_DIM dimensional space of type T. More...
 
struct  TypesEqual
 
struct  TypesEqual< T, T >
 
class  TypeTensor
 This class defines a tensor in LIBMESH_DIM dimensional space of type T. More...
 
class  TypeTensorColumn
 
struct  TypeToSend
 For ease of communication, we allow users to translate their own value types to a more easily computable (typically a vector of some fixed-size type) output, by specializing these calls using different types. More...
 
struct  TypeToSend< MetaPhysicL::DynamicSparseNumberArray< T, IndexType > >
 
class  TypeVector
 This class defines a vector in LIBMESH_DIM dimensional space of type T. More...
 
struct  TypeVectorAttributes
 
class  TypeVectorOpFunction
 
class  UCDIO
 This class implements reading & writing meshes in the AVS's UCD format. More...
 
class  UniformRefinementEstimator
 This class implements a `‘brute force’' error estimator which integrates differences between the current solution and the solution on a uniformly refined (in h and/or p, for an arbitrary number of levels) grid. More...
 
class  UnsteadySolver
 This is a generic class that defines a solver to handle time integration of DifferentiableSystems. More...
 
class  UnstructuredMesh
 The UnstructuredMesh class is derived from the MeshBase class. More...
 
class  UNVIO
 The UNVIO class implements the Ideas UNV universal file format. More...
 
class  USoln
 
class  Variable
 This class defines the notion of a variable in the system. More...
 
class  VariableGroup
 This class defines a logically grouped set of variables in the system. More...
 
class  VariationalMeshSmoother
 This is an implementation of Larisa Branets' smoothing algorithms. More...
 
class  VariationalSmootherConstraint
 Constraint class for the VariationalMeshSmoother. More...
 
class  VariationalSmootherSystem
 
struct  VectorizedEvalInput
 Define a struct for the input to the "vectorized evaluate" functions below. More...
 
class  vectormap
 This vectormap templated class is intended to provide the performance characteristics of a sorted std::vector with an interface more closely resembling that of a std::map, for use in particular when memory is tight. More...
 
class  VectorOfNodesAdaptor
 
class  VectorSetAction
 The VectorSetAction output functor class can be used with a GenericProjector to set projection values (which must be of type Val) as coefficients of the given NumericVector. More...
 
class  VectorValue
 This class defines a vector in LIBMESH_DIM dimensional Real or Complex space. More...
 
class  VSoln
 
class  VTKIO
 This class implements reading and writing meshes in the VTK format. More...
 
class  WeightedPatchRecoveryErrorEstimator
 This class implements the Patch Recovery error indicator. More...
 
class  WendlandRBF
 Wendland's compactly supported Radial Basis Functions. More...
 
class  WrappedFunction
 Wrap a libMesh-style function pointer into a FunctionBase object. More...
 
class  WrappedFunctor
 This class provides a wrapper with which to evaluate a (libMesh-style) function pointer in a FunctionBase-compatible interface. More...
 
struct  WrappedPetsc
 
class  Xdr
 This class implements a C++ interface to the XDR (eXternal Data Representation) format. More...
 
class  XdrIO
 MeshIO class used for writing XDR (eXternal Data Representation) and XDA mesh files. More...
 
class  ZeroFunction
 ConstFunction that simply returns 0. More...
 

Typedefs

typedef std::map< dof_id_type, Real, std::less< dof_id_type >, Threads::scalable_allocator< std::pair< const dof_id_type, Real > > > DofConstraintRow
 A row of the Dof constraint matrix.
 
typedef std::map< const Node *, Real, std::less< const Node * >, Threads::scalable_allocator< std::pair< const Node *const, Real > > > NodeConstraintRow
 A row of the Node constraint mapping.
 
typedef TestClass subdomain_id_type
 Based on the 4-byte comment warning above, this probably doesn't work with exodusII at all...
 
typedef int8_t boundary_id_type
 
typedef uint8_t dof_id_type
 
typedef int8_t dof_id_signed_type
 
typedef uint8_t unique_id_type
 
typedef dof_id_type numeric_index_type
 
typedef uint8_t processor_id_type
 
typedef uint64_t largest_id_type
 
typedef subdomain_id_type elemset_id_type
 
typedef std::complex< RealComplex
 
typedef std::complex< RealCOMPLEX
 
typedef Real Number
 
typedef FEGenericBase< RealFEBase
 
typedef TensorValue< NumberNumberTensorValue
 
typedef NumberTensorValue Tensor
 
typedef VectorValue< NumberNumberVectorValue
 
typedef NumberVectorValue Gradient
 
typedef VectorValue< RealRealVectorValue
 Useful typedefs to allow transparent switching between Real and Complex data types.
 
typedef TensorValue< RealRealTensorValue
 Useful typedefs to allow transparent switching between Real and Complex data types.
 
typedef RealVectorValue RealGradient
 
typedef RealTensorValue RealTensor
 
typedef FEGenericBase< RealGradientFEVectorBase
 
typedef std::unordered_multiset< Elem *, ElemHashUtils, ElemHashUtilsunordered_multiset_elem
 
typedef StoredRange< MeshBase::element_iterator, Elem * > ElemRange
 
typedef StoredRange< MeshBase::const_element_iterator, const Elem * > ConstElemRange
 
typedef StoredRange< MeshBase::node_iterator, Node * > NodeRange
 
typedef StoredRange< MeshBase::const_node_iterator, const Node * > ConstNodeRange
 
typedef DistributedMesh DefaultMesh
 
typedef std::set< const Node * > connected_node_set_type
 
typedef std::set< const Elem *, CompareElemIdsByLevelconnected_elem_set_type
 
typedef Real REAL
 
typedef int32_t eigen_idx_type
 
typedef Eigen::SparseMatrix< Number, Eigen::RowMajor, eigen_idx_typeEigenSM
 
typedef Eigen::Matrix< Number, Eigen::Dynamic, 1 > EigenSV
 
typedef Eigen::Matrix< Number, Eigen::Dynamic, Eigen::Dynamic > EigenMatrix
 
typedef Eigen::Matrix< Number, Eigen::Dynamic, 1 > EigenVector
 
template<std::size_t Index, typename T >
using tuple_of = typename tuple_n< Index, T >::template type<>
 
using RBParameter = std::vector< Real >
 Typedef for an individual RB parameter.
 
typedef LinearImplicitSystem SteadyLinearSystem
 
typedef TransientSystem< LinearImplicitSystemTransientImplicitSystem
 
typedef TransientSystem< LinearImplicitSystemTransientLinearImplicitSystem
 
typedef TransientSystem< NonlinearImplicitSystemTransientNonlinearImplicitSystem
 
typedef TransientSystem< ExplicitSystemTransientExplicitSystem
 
typedef TransientSystem< SystemTransientBaseSystem
 
typedef TransientSystem< EigenSystemTransientEigenSystem
 
using ConstraintVariant = std::variant< PointConstraint, LineConstraint, PlaneConstraint, InvalidConstraint >
 Type used to store a constraint that may be a PlaneConstraint, LineConstraint, or PointConstraint.
 
typedef BasicOStreamProxy OStreamProxy
 
typedef DynamicSparseNumberArray< Real, dof_id_typeDSNAN
 

Enumerations

enum  VariableIndexing { SYSTEM_VARIABLE_ORDER = 0 , LOCAL_VARIABLE_ORDER }
 Dirichlet functions may be indexed either by "system variable order" or "local variable order", depending on how the DirichletBoundary object is constructed. More...
 
enum  LinearConvergenceReason : int {
  CONVERGED_RTOL_NORMAL = 1 , CONVERGED_ATOL_NORMAL = 9 , CONVERGED_RTOL = 2 , CONVERGED_ATOL = 3 ,
  CONVERGED_ITS = 4 , CONVERGED_CG_NEG_CURVE = 5 , CONVERGED_CG_CONSTRAINED = 6 , CONVERGED_STEP_LENGTH = 7 ,
  CONVERGED_HAPPY_BREAKDOWN = 8 , DIVERGED_NULL = -2 , DIVERGED_ITS = -3 , DIVERGED_DTOL = -4 ,
  DIVERGED_BREAKDOWN = -5 , DIVERGED_BREAKDOWN_BICG = -6 , DIVERGED_NONSYMMETRIC = -7 , DIVERGED_INDEFINITE_PC = -8 ,
  DIVERGED_NAN = -9 , DIVERGED_INDEFINITE_MAT = -10 , DIVERGED_PCSETUP_FAILED = -11 , CONVERGED_ITERATING = 0 ,
  UNKNOWN_FLAG = -128
}
 Linear solver convergence flags (taken from the PETSc flags). More...
 
enum  EigenSolverType : int {
  POWER =0 , LAPACK , SUBSPACE , ARNOLDI ,
  LANCZOS , KRYLOVSCHUR , INVALID_EIGENSOLVER
}
 Defines an enum for iterative eigenproblem solver types. More...
 
enum  EigenProblemType : int {
  NHEP =0 , HEP , GNHEP , GHEP ,
  GHIEP , INVALID_EIGENPROBLEMTYPE
}
 Defines an enum for eigenproblem types. More...
 
enum  PositionOfSpectrum : int {
  LARGEST_MAGNITUDE =0 , SMALLEST_MAGNITUDE , TARGET_MAGNITUDE , LARGEST_REAL ,
  SMALLEST_REAL , TARGET_REAL , LARGEST_IMAGINARY , SMALLEST_IMAGINARY ,
  TARGET_IMAGINARY , INVALID_Postion_of_Spectrum , INVALID_POSITION_OF_SPECTRUM
}
 Defines an enum for the position of the spectrum, i.e. More...
 
enum  ElemQuality : int {
  ASPECT_RATIO =0 , SKEW , SHEAR , SHAPE ,
  MAX_ANGLE , MIN_ANGLE , CONDITION , DISTORTION ,
  TAPER , WARP , STRETCH , DIAGONAL ,
  ASPECT_RATIO_BETA , ASPECT_RATIO_GAMMA , SIZE , JACOBIAN ,
  TWIST , EDGE_LENGTH_RATIO , MAX_DIHEDRAL_ANGLE , MIN_DIHEDRAL_ANGLE ,
  SCALED_JACOBIAN
}
 Defines an enum for element quality metrics. More...
 
enum  ElemType : int {
  EDGE2 = 0 , EDGE3 = 1 , EDGE4 = 2 , TRI3 = 3 ,
  TRI6 = 4 , QUAD4 = 5 , QUAD8 = 6 , QUAD9 = 7 ,
  TET4 = 8 , TET10 = 9 , HEX8 = 10 , HEX20 = 11 ,
  HEX27 = 12 , PRISM6 = 13 , PRISM15 = 14 , PRISM18 = 15 ,
  PYRAMID5 = 16 , PYRAMID13 = 17 , PYRAMID14 = 18 , INFEDGE2 = 19 ,
  INFQUAD4 = 20 , INFQUAD6 = 21 , INFHEX8 = 22 , INFHEX16 = 23 ,
  INFHEX18 = 24 , INFPRISM6 = 25 , INFPRISM12 = 26 , NODEELEM = 27 ,
  REMOTEELEM = 28 , TRI3SUBDIVISION = 29 , TRISHELL3 = 30 , QUADSHELL4 = 31 ,
  QUADSHELL8 = 32 , TRI7 = 33 , TET14 = 34 , PRISM20 = 35 ,
  PRISM21 = 36 , PYRAMID18 = 37 , QUADSHELL9 = 38 , C0POLYGON = 39 ,
  C0POLYHEDRON = 40 , INVALID_ELEM
}
 Defines an enum for geometric element types. More...
 
enum  ElemMappingType : unsigned char { LAGRANGE_MAP = 0 , RATIONAL_BERNSTEIN_MAP , INVALID_MAP }
 Enumeration of possible element master->physical mapping types. More...
 
enum  ErrorEstimatorType : int {
  INVALID = -1 , ADJOINT_REFINEMENT = 0 , ADJOINT_RESIDUAL = 1 , DISCONTINUITY_MEASURE = 2 ,
  EXACT = 3 , KELLY = 4 , LAPLACIAN = 5 , PATCH_RECOVERY = 6 ,
  WEIGHTED_PATCH_RECOVERY = 7 , UNIFORM_REFINEMENT = 8
}
 Defines an enum for the different types of error estimators which are available. More...
 
enum  FEFamily : int {
  LAGRANGE = 0 , HIERARCHIC = 1 , MONOMIAL = 2 , L2_HIERARCHIC = 6 ,
  L2_LAGRANGE = 7 , BERNSTEIN = 3 , SZABAB = 4 , XYZ = 5 ,
  INFINITE_MAP = 11 , JACOBI_20_00 = 12 , JACOBI_30_00 = 13 , LEGENDRE = 14 ,
  CLOUGH = 21 , HERMITE = 22 , SUBDIVISION = 23 , SCALAR = 31 ,
  LAGRANGE_VEC = 41 , NEDELEC_ONE = 42 , MONOMIAL_VEC = 43 , RAVIART_THOMAS = 44 ,
  L2_RAVIART_THOMAS = 45 , L2_LAGRANGE_VEC = 46 , HIERARCHIC_VEC = 47 , L2_HIERARCHIC_VEC = 48 ,
  RATIONAL_BERNSTEIN = 61 , SIDE_HIERARCHIC = 71 , INVALID_FE = 99
}
 
enum  FEContinuity : int {
  DISCONTINUOUS , C_ZERO , C_ONE , H_CURL ,
  H_DIV , SIDE_DISCONTINUOUS
}
 
enum  FEFieldType : int { TYPE_SCALAR = 0 , TYPE_VECTOR }
 
enum  InfMapType : int { CARTESIAN =0 , SPHERICAL , ELLIPSOIDAL , INVALID_INF_MAP }
 
enum  IOPackage : int {
  TECPLOT , GMV , GMSH , VTK ,
  DIVA , TETGEN , UCD , LIBMESH ,
  INVALID_IO_PACKAGE
}
 libMesh interfaces with several different software packages for the purposes of creating, reading, and writing mesh files. More...
 
enum class  MatrixBuildType { AUTOMATIC , DIAGONAL }
 Defines an enum for matrix build types. More...
 
enum  FEMNormType : int {
  L2 = 0 , H1 = 1 , H2 = 2 , HCURL = 3 ,
  HDIV = 4 , L1 = 5 , L_INF = 6 , H1_SEMINORM = 10 ,
  H2_SEMINORM = 11 , HCURL_SEMINORM = 12 , HDIV_SEMINORM = 13 , W1_INF_SEMINORM = 15 ,
  W2_INF_SEMINORM = 16 , DISCRETE_L1 = 20 , DISCRETE_L2 = 21 , DISCRETE_L_INF = 22 ,
  H1_X_SEMINORM = 31 , H1_Y_SEMINORM = 32 , H1_Z_SEMINORM = 33 , INVALID_NORM = 42
}
 
enum  Order : int {
  CONSTANT = 0 , FIRST = 1 , SECOND = 2 , THIRD = 3 ,
  FOURTH = 4 , FIFTH = 5 , SIXTH = 6 , SEVENTH = 7 ,
  EIGHTH = 8 , NINTH = 9 , TENTH = 10 , ELEVENTH = 11 ,
  TWELFTH = 12 , THIRTEENTH = 13 , FOURTEENTH = 14 , FIFTEENTH = 15 ,
  SIXTEENTH = 16 , SEVENTEENTH = 17 , EIGHTTEENTH = 18 , EIGHTEENTH = 18 ,
  NINETEENTH = 19 , TWENTIETH = 20 , TWENTYFIRST = 21 , TWENTYSECOND = 22 ,
  TWENTYTHIRD = 23 , TWENTYFOURTH = 24 , TWENTYFIFTH = 25 , TWENTYSIXTH = 26 ,
  TWENTYSEVENTH = 27 , TWENTYEIGHTH = 28 , TWENTYNINTH = 29 , THIRTIETH = 30 ,
  THIRTYFIRST = 31 , THIRTYSECOND = 32 , THIRTYTHIRD = 33 , THIRTYFOURTH = 34 ,
  THIRTYFIFTH = 35 , THIRTYSIXTH = 36 , THIRTYSEVENTH = 37 , THIRTYEIGHTH = 38 ,
  THIRTYNINTH = 39 , FORTIETH = 40 , FORTYFIRST = 41 , FORTYSECOND = 42 ,
  FORTYTHIRD = 43 , MAXIMUM = 255 , INVALID_ORDER
}
 
enum  ParallelType : int {
  AUTOMATIC =0 , SERIAL , PARALLEL , GHOSTED ,
  INVALID_PARALLELIZATION
}
 Defines an enum for parallel data structure types. More...
 
enum  PartitionerType : int {
  CENTROID_PARTITIONER =0 , LINEAR_PARTITIONER , SFC_PARTITIONER , HILBERT_SFC_PARTITIONER ,
  MORTON_SFC_PARTITIONER , METIS_PARTITIONER , PARMETIS_PARTITIONER , SUBDOMAIN_PARTITIONER ,
  MAPPED_SUBDOMAIN_PARTITIONER , INVALID_PARTITIONER
}
 Defines an enum for mesh partitioner types. More...
 
enum  PointLocatorType : int {
  TREE = 0 , TREE_ELEMENTS , TREE_LOCAL_ELEMENTS , NANOFLANN ,
  INVALID_LOCATOR
}
 defines an enum for the types of point locators (given a point with global coordinates, locate the corresponding element in space) available in libMesh. More...
 
enum  PreconditionerType : int {
  IDENTITY_PRECOND =0 , JACOBI_PRECOND , BLOCK_JACOBI_PRECOND , SOR_PRECOND ,
  SSOR_PRECOND , EISENSTAT_PRECOND , ASM_PRECOND , CHOLESKY_PRECOND ,
  ICC_PRECOND , ILU_PRECOND , LU_PRECOND , USER_PRECOND ,
  SHELL_PRECOND , AMG_PRECOND , SVD_PRECOND , INVALID_PRECONDITIONER
}
 Defines an enum for preconditioner types. More...
 
enum  QuadratureType : int {
  QGAUSS = 0 , QJACOBI_1_0 = 1 , QJACOBI_2_0 = 2 , QSIMPSON = 3 ,
  QTRAP = 4 , QGRID = 5 , QGRUNDMANN_MOLLER = 6 , QMONOMIAL = 7 ,
  QCONICAL = 8 , QGAUSS_LOBATTO = 9 , QCLOUGH = 21 , QCOMPOSITE = 31 ,
  QNODAL = 32 , INVALID_Q_RULE = 127
}
 Defines an enum for currently available quadrature rules. More...
 
enum  SolverPackage : int {
  PETSC_SOLVERS =0 , TRILINOS_SOLVERS , LASPACK_SOLVERS , SLEPC_SOLVERS ,
  EIGEN_SOLVERS , NLOPT_SOLVERS , DIAGONAL_MATRIX , INVALID_SOLVER_PACKAGE
}
 Defines an enum for various linear solver packages. More...
 
enum  SolverType : int {
  CG =0 , CGN , CGS , CR ,
  QMR , TCQMR , TFQMR , BICG ,
  BICGSTAB , MINRES , GMRES , LSQR ,
  JACOBI , SOR_FORWARD , SOR_BACKWARD , SSOR ,
  RICHARDSON , CHEBYSHEV , SPARSELU , INVALID_SOLVER
}
 Defines an enum for iterative solver types. More...
 
enum  SubsetSolveMode : int { SUBSET_ZERO = 0 , SUBSET_COPY_RHS , SUBSET_DONT_TOUCH }
 defines an enum for the question what happens to the dofs outside the given subset when a system is solved on a subset. More...
 
enum  XdrMODE : int {
  UNKNOWN = -1 , ENCODE =0 , DECODE , WRITE ,
  READ
}
 Defines an enum for read/write mode in Xdr format. More...
 
enum  PetscMatrixType : int { AIJ =0 , HYPRE }
 

Functions

Number compute_error (const Point &p, const Parameters &params, const std::string &, const std::string &unknown_name)
 
template<typename SolnType , typename PhiType >
void compute_qp_soln (std::vector< SolnType > &qp_vec, const unsigned int n_qps, const std::vector< std::vector< PhiType > > &phi, const std::vector< Number > &dof_values)
 
bool initialized ()
 Checks that library initialization has been done.
 
bool closed ()
 Checks that the library has been closed.
 
bool on_command_line (std::string arg)
 
template<typename T >
command_line_value (const std::string &, T)
 
template<typename T >
command_line_value (const std::vector< std::string > &, T)
 
template<typename T >
command_line_next (std::string name, T default_value)
 Use GetPot's search()/next() functions to get following arguments from the command line.
 
template<typename T >
void command_line_vector (const std::string &, std::vector< T > &)
 
std::vector< std::string > command_line_names ()
 
void add_command_line_name (const std::string &name)
 Add a name to the set of queried command-line names.
 
void add_command_line_names (const GetPot &getpot)
 Merge a GetPot object's requested names into the set of queried command-line names.
 
SolverPackage default_solver_package ()
 
constexpr Real operator""_R (const char *r)
 The C++ standard doesn't support literals at higher than long double precision, so if we're in quadruple precision we need our own user-defined literal operator.
 
constexpr Real operator""_R (long double r)
 
constexpr Real operator""_R (unsigned long long r)
 
void libmesh_abort ()
 Abort as soon as possible.
 
processor_id_type global_n_processors ()
 
processor_id_type global_processor_id ()
 
unsigned int n_threads ()
 
unsigned int default_grainsize ()
 
template<typename T >
libmesh_real (T a)
 
template<typename T >
libmesh_imag (T)
 
template<typename T >
libmesh_conj (T a)
 
template<typename T >
libmesh_real (std::complex< T > a)
 
template<typename T >
libmesh_imag (std::complex< T > a)
 
template<typename T >
std::complex< T > libmesh_conj (std::complex< T > a)
 
template<typename T >
bool libmesh_isinf (T x)
 
template<typename T >
bool libmesh_isnan (T x)
 
template<typename T >
bool libmesh_isinf (std::complex< T > a)
 
template<typename T >
bool libmesh_isnan (std::complex< T > a)
 
template<typename T >
bool isfinite (std::complex< T > a)
 
template<typename T >
bool isinf (std::complex< T > a)
 
template<typename T >
bool isnan (std::complex< T > a)
 
template<class ... Args>
void libmesh_ignore (const Args &...)
 
template<typename T >
void libmesh_merge_move (T &target, T &source)
 
std::string demangle (const char *name)
 Mostly system independent demangler.
 
template<typename Tnew , typename Told >
Tnew cast_ref (Told &oldvar)
 
template<typename Tnew , typename Told >
Tnew cast_ptr (Told *oldvar)
 
template<typename Tnew , typename Told >
Tnew libmesh_cast_ptr (Told *oldvar)
 
template<typename Tnew , typename Told >
Tnew cast_int (Told oldvar)
 
template<typename Tnew , typename Told >
Tnew libmesh_cast_int (Told oldvar)
 
template<typename Tnew , typename Told >
Tnew restrict_int (Told oldvar)
 restrict_int checks that the value of the castee is within the bounds which are exactly representable by the output type, even in optimized modes.
 
void libmesh_terminate_handler ()
 A terminate handler.
 
void enableFPE (bool on)
 Toggle hardware trap floating point exceptions.
 
void enableSEGV (bool on)
 Toggle libMesh reporting of segmentation faults.
 
void enableSIGINT (bool on)
 Toggle libMesh handling of SIGINT (Ctrl+C) interrupts.
 
void libmesh_version_stdout ()
 
int get_libmesh_version ()
 
std::string get_io_compatibility_version ()
 Specifier for I/O file compatibility features.
 
void print_trace (std::ostream &out_stream=std::cerr)
 Print a stack trace (for code compiled with gcc)
 
void write_traceout ()
 Writes a stack trace to a uniquely named file if –enable-tracefiles has been set by configure, otherwise does nothing.
 
template<typename T >
Order operator+ (Order o, T p)
 
template<typename T >
Order operator- (Order o, T p)
 
template<typename T >
Order operator+ (T p, Order o)
 
template<typename T >
Orderoperator+= (Order &o, T p)
 
template<typename T >
Orderoperator-= (Order &o, T p)
 
template<typename OutputShape >
OutputShape fe_fdm_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level, OutputShape(*shape_func)(const Elem *, const Order, const unsigned int, const Point &, const bool))
 Helper functions for finite differenced derivatives in cases where analytical calculations haven't been done yet.
 
template<typename OutputShape >
OutputShape fe_fdm_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p, OutputShape(*shape_func)(const ElemType, const Order, const unsigned int, const Point &))
 
template<typename OutputShape >
OutputShape fe_fdm_deriv (const ElemType type, const Order order, const Elem *elem, const unsigned int i, const unsigned int j, const Point &p, OutputShape(*shape_func)(const ElemType type, const Order, const Elem *, const unsigned int, const Point &))
 
template<typename OutputShape >
OutputShape fe_fdm_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level, OutputShape(*deriv_func)(const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool))
 
template<typename OutputShape >
OutputShape fe_fdm_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p, OutputShape(*deriv_func)(const ElemType, const Order, const unsigned int, const unsigned int, const Point &))
 
template<typename OutputShape >
OutputShape fe_fdm_second_deriv (const ElemType type, const Order order, const Elem *elem, const unsigned int i, const unsigned int j, const Point &p, OutputShape(*deriv_func)(const ElemType, const Order, const Elem *, const unsigned int, const unsigned int, const Point &))
 
void lagrange_nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln, bool add_p_level=true)
 Helper functions for Lagrange-based basis functions.
 
unsigned int monomial_n_dofs (const ElemType t, const Order o)
 Helper functions for Discontinuous-Pn type basis functions.
 
unsigned int monomial_n_dofs (const Elem *e, const Order o)
 
void rational_fe_weighted_shapes (const Elem *elem, const FEType underlying_fe_type, std::vector< std::vector< Real > > &shapes, const std::vector< Point > &p, const bool add_p_level)
 Helper functions for rational basis functions.
 
void rational_fe_weighted_shapes_derivs (const Elem *elem, const FEType fe_type, std::vector< std::vector< Real > > &shapes, std::vector< std::vector< std::vector< Real > > > &derivs, const std::vector< Point > &p, const bool add_p_level)
 
Real rational_fe_shape (const Elem &elem, const FEType underlying_fe_type, const unsigned int i, const Point &p, const bool add_p_level)
 
Real rational_fe_shape_deriv (const Elem &elem, const FEType underlying_fe_type, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level)
 
Real rational_fe_shape_second_deriv (const Elem &elem, const FEType underlying_fe_type, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level)
 
void rational_all_shapes (const Elem &elem, const FEType underlying_fe_type, const std::vector< Point > &p, std::vector< std::vector< Real > > &v, const bool add_p_level)
 
template<typename OutputShape >
void rational_all_shape_derivs (const Elem &elem, const FEType underlying_fe_type, const std::vector< Point > &p, std::vector< std::vector< OutputShape > > *comps[3], const bool add_p_level)
 
Real fe_lagrange_1D_linear_shape (const unsigned int i, const Real xi)
 
Real fe_lagrange_1D_quadratic_shape (const unsigned int i, const Real xi)
 
Real fe_lagrange_1D_cubic_shape (const unsigned int i, const Real xi)
 
Real fe_lagrange_1D_shape (const Order order, const unsigned int i, const Real xi)
 
Real fe_lagrange_1D_linear_shape_deriv (const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
 
Real fe_lagrange_1D_quadratic_shape_deriv (const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
 
Real fe_lagrange_1D_cubic_shape_deriv (const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
 
Real fe_lagrange_1D_shape_deriv (const Order order, const unsigned int i, const unsigned int j, const Real xi)
 
Real fe_lagrange_1D_quadratic_shape_second_deriv (const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
 
Real fe_lagrange_1D_cubic_shape_second_deriv (const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
 
Real fe_lagrange_1D_shape_second_deriv (const Order order, const unsigned int i, const unsigned int j, const Real xi)
 
bool operator== (const OrderWrapper &lhs, const OrderWrapper &rhs)
 Overload comparison operators for OrderWrapper.
 
bool operator!= (const OrderWrapper &lhs, const OrderWrapper &rhs)
 
bool operator< (const OrderWrapper &lhs, const OrderWrapper &rhs)
 
bool operator> (const OrderWrapper &lhs, const OrderWrapper &rhs)
 
bool operator<= (const OrderWrapper &lhs, const OrderWrapper &rhs)
 
bool operator>= (const OrderWrapper &lhs, const OrderWrapper &rhs)
 
 OrderWrapperOperators (int) OrderWrapperOperators(unsigned int) OrderWrapperOperators(std
 
bool operator== (const OrderWrapper &lhs, int rhs)
 
bool operator== (Order lhs, const OrderWrapper &rhs)
 
bool operator== (const OrderWrapper &lhs, Order rhs)
 
bool operator!= (int lhs, const OrderWrapper &rhs)
 
bool operator!= (const OrderWrapper &lhs, int rhs)
 
bool operator!= (Order lhs, const OrderWrapper &rhs)
 
bool operator!= (const OrderWrapper &lhs, Order rhs)
 
bool operator< (int lhs, const OrderWrapper &rhs)
 
bool operator< (const OrderWrapper &lhs, int rhs)
 
bool operator< (Order lhs, const OrderWrapper &rhs)
 
bool operator< (const OrderWrapper &lhs, Order rhs)
 
bool operator> (int lhs, const OrderWrapper &rhs)
 
bool operator> (const OrderWrapper &lhs, int rhs)
 
bool operator> (Order lhs, const OrderWrapper &rhs)
 
bool operator> (const OrderWrapper &lhs, Order rhs)
 
bool operator<= (int lhs, const OrderWrapper &rhs)
 
bool operator<= (const OrderWrapper &lhs, int rhs)
 
bool operator<= (Order lhs, const OrderWrapper &rhs)
 
bool operator<= (const OrderWrapper &lhs, Order rhs)
 
bool operator>= (int lhs, const OrderWrapper &rhs)
 
bool operator>= (const OrderWrapper &lhs, int rhs)
 
bool operator>= (Order lhs, const OrderWrapper &rhs)
 
bool operator>= (const OrderWrapper &lhs, Order rhs)
 
std::ostream & operator<< (std::ostream &os, const OrderWrapper &order)
 Overload stream operators.
 
 INSTANTIATE_INF_FE (1, CARTESIAN)
 Collect all 1D explicit instantiations for class InfFE.
 
 INSTANTIATE_INF_FE (2, CARTESIAN)
 Collect all 2D explicit instantiations for class InfFE.
 
 INSTANTIATE_INF_FE (3, CARTESIAN)
 Collect all 3D explicit instantiations for class InfFE.
 
std::ostream & operator<< (std::ostream &os, const Elem &e)
 
std::ostream & operator<< (std::ostream &os, const Node &n)
 
std::unique_ptr< CheckpointIOsplit_mesh (MeshBase &mesh, processor_id_type nsplits)
 split_mesh takes the given initialized/opened mesh and partitions it into nsplits pieces or chunks.
 
void query_ghosting_functors (const MeshBase &mesh, processor_id_type pid, MeshBase::const_element_iterator elem_it, MeshBase::const_element_iterator elem_end, connected_elem_set_type &connected_elements)
 
void connect_children (const MeshBase &mesh, MeshBase::const_element_iterator elem_it, MeshBase::const_element_iterator elem_end, connected_elem_set_type &connected_elements)
 
void reconnect_nodes (connected_elem_set_type &connected_elements, connected_node_set_type &connected_nodes)
 
void connect_element_dependencies (const MeshBase &mesh, connected_elem_set_type &connected_elements, connected_node_set_type &connected_nodes)
 
std::pair< connected_elem_set_type, connected_node_set_typeconnect_element_dependencies (const MeshBase &mesh, const connected_elem_set_type &connected_elements, const connected_node_set_type &connected_nodes, const connected_elem_set_type &new_connected_elements, const connected_node_set_type &new_connected_nodes)
 
template<typename T >
bool isfinite (const DenseMatrix< T > &var)
 
template<typename T >
bool isinf (const DenseMatrix< T > &var)
 
template<typename T >
bool isnan (const DenseMatrix< T > &var)
 
template<typename T >
bool isfinite (const DenseSubMatrix< T > &var)
 
template<typename T >
bool isinf (const DenseSubMatrix< T > &var)
 
template<typename T >
bool isnan (const DenseSubMatrix< T > &var)
 
template<typename T >
bool isfinite (const DenseVector< T > &var)
 
template<typename T >
bool isinf (const DenseVector< T > &var)
 
template<typename T >
bool isnan (const DenseVector< T > &var)
 
template<typename T >
auto l1_norm (const NumericVector< T > &vec)
 
template<typename T >
auto l1_norm_diff (const NumericVector< T > &vec1, const NumericVector< T > &vec2)
 
template<typename T >
PetscScalar PS (T val)
 
template<typename T >
PetscScalar * pPS (T *ptr)
 
template<typename T >
const PetscScalar * pPS (const T *ptr)
 
template<typename T >
PetscReal * pPR (T *ptr)
 
template<typename T >
const PetscReal * pPR (const T *ptr)
 
template<typename Obj >
void init_shell_mat (Obj &obj, const numeric_index_type m, const numeric_index_type n, const numeric_index_type m_l, const numeric_index_type n_l, const numeric_index_type blocksize_in)
 Initialize a shell matrix object.
 
template<typename Obj >
void init_shell_mat (Obj &obj)
 Initialize a shell matrix object using information from the DofMap.
 
PetscInt * numeric_petsc_cast (const numeric_index_type *p)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const SparseMatrix< T > &m)
 
template<typename T >
auto l1_norm (const SparseMatrix< T > &mat)
 
template<typename T >
auto l1_norm_diff (const SparseMatrix< T > &mat1, const SparseMatrix< T > &mat2)
 
intnumeric_trilinos_cast (const numeric_index_type *p)
 
template<unsigned int N, typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeNTensor< N, typenameCompareTypes< Scalar, T >::supertype > >::type operator* (const Scalar &, const TypeNTensor< N, T > &)
 
template<unsigned int N, typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeNTensor< N, typenameCompareTypes< Scalar, T >::supertype > >::type operator/ (const Scalar &, const TypeNTensor< N, T > &)
 
template<typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeTensor< typenameCompareTypes< T, Scalar >::supertype > >::type operator* (const Scalar &factor, const TypeTensor< T > &t)
 
template<typename T , typename T2 >
TypeVector< typename CompareTypes< T, T2 >::supertype > operator* (const TypeVector< T > &a, const TypeTensor< T2 > &b)
 
template<typename T >
bool isfinite (const TypeTensor< T > &var)
 
template<typename T >
bool isinf (const TypeTensor< T > &var)
 
template<typename T >
bool isnan (const TypeTensor< T > &var)
 
template<typename T , typename T2 >
TypeTensor< typename CompareTypes< T, T2 >::supertype > outer_product (const TypeVector< T > &a, const TypeVector< T2 > &b)
 
template<typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeVector< typenameCompareTypes< T, Scalar >::supertype > >::type operator* (const Scalar &factor, const TypeVector< T > &v)
 
template<typename T >
triple_product (const TypeVector< T > &a, const TypeVector< T > &b, const TypeVector< T > &c)
 
template<typename T >
solid_angle (const TypeVector< T > &v01, const TypeVector< T > &v02, const TypeVector< T > &v03)
 
template<typename T >
TypeVector< T > circumcenter (const TypeVector< T > &p0, const TypeVector< T > &p1, const TypeVector< T > &p2)
 
template<typename T >
cross_norm_sq (const TypeVector< T > &b, const TypeVector< T > &c)
 Compute |b x c|^2 without creating the extra temporary produced by calling b.cross(c).norm_sq().
 
template<typename T >
cross_norm (const TypeVector< T > &b, const TypeVector< T > &c)
 Calls cross_norm_sq() and takes the square root of the result.
 
template<typename T >
bool isfinite (const TypeVector< T > &var)
 
template<typename T >
bool isinf (const TypeVector< T > &var)
 
template<typename T >
bool isnan (const TypeVector< T > &var)
 
template<typename T , typename T2 , typename std::enable_if< ScalarTraits< T >::value, int >::type = 0>
TypeVector< typename CompareTypes< T, T2 >::supertype > outer_product (const T &a, const TypeVector< T2 > &b)
 
template<typename T , typename T2 , typename std::enable_if< ScalarTraits< T2 >::value, int >::type = 0>
TypeVector< typename CompareTypes< T, T2 >::supertype > outer_product (const TypeVector< T > &a, const T2 &b)
 
template<typename T >
auto l1_norm (const TypeVector< T > &var)
 
template<typename T , typename T2 >
auto l1_norm_diff (const TypeVector< T > &vec1, const TypeVector< T2 > &vec2)
 
double __libmesh_nlopt_objective (unsigned n, const double *x, double *gradient, void *data)
 
void __libmesh_nlopt_equality_constraints (unsigned m, double *result, unsigned n, const double *x, double *gradient, void *data)
 
void __libmesh_nlopt_inequality_constraints (unsigned m, double *result, unsigned n, const double *x, double *gradient, void *data)
 
void petsc_auto_fieldsplit (PC my_pc, const System &sys)
 
PetscErrorCode libmesh_petsc_recalculate_monitor (SNES snes, PetscInt it, PetscReal norm, void *mctx)
 
PetscErrorCode libmesh_petsc_snes_monitor (SNES, PetscInt its, PetscReal fnorm, void *)
 
PetscErrorCode libmesh_petsc_snes_residual (SNES, Vec x, Vec r, void *ctx)
 
PetscErrorCode libmesh_petsc_snes_fd_residual (SNES, Vec x, Vec r, void *ctx)
 
PetscErrorCode libmesh_petsc_snes_mffd_residual (SNES snes, Vec x, Vec r, void *ctx)
 
PetscErrorCode libmesh_petsc_snes_mffd_interface (void *ctx, Vec x, Vec r)
 
PetscErrorCode libmesh_petsc_snes_jacobian (SNES, Vec x, Mat jac, Mat pc, void *ctx)
 
PetscErrorCode libmesh_petsc_snes_precheck (SNESLineSearch, Vec X, Vec Y, PetscBool *changed, void *context)
 
PetscErrorCode libmesh_petsc_snes_postcheck (SNESLineSearch, Vec x, Vec y, Vec w, PetscBool *changed_y, PetscBool *changed_w, void *context)
 
PetscErrorCode libmesh_petsc_linesearch_shellfunc (SNESLineSearch linesearch, void *ctx)
 
PetscErrorCode __libmesh_tao_objective (Tao tao, Vec x, PetscReal *objective, void *ctx)
 
PetscErrorCode __libmesh_tao_gradient (Tao tao, Vec x, Vec g, void *ctx)
 
PetscErrorCode __libmesh_tao_hessian (Tao tao, Vec x, Mat h, Mat pc, void *ctx)
 
PetscErrorCode __libmesh_tao_equality_constraints (Tao tao, Vec x, Vec ce, void *ctx)
 
PetscErrorCode __libmesh_tao_equality_constraints_jacobian (Tao tao, Vec x, Mat J, Mat Jpre, void *ctx)
 
PetscErrorCode __libmesh_tao_inequality_constraints (Tao tao, Vec x, Vec cineq, void *ctx)
 
PetscErrorCode __libmesh_tao_inequality_constraints_jacobian (Tao tao, Vec x, Mat J, Mat Jpre, void *ctx)
 
template<typename T >
const TypeToSend< T >::type convert_to_send (const T &in)
 
template<typename SendT , typename T >
void convert_from_receive (SendT &received, T &converted)
 
ConstraintVariant intersect_constraints (const ConstraintVariant &a, const ConstraintVariant &b)
 Dispatch intersection between two constraint variants.
 
 ScalarTraits_true (char)
 
 ScalarTraits_true (short)
 
 ScalarTraits_true (int)
 
 ScalarTraits_true (long)
 
 ScalarTraits_true (unsigned char)
 
 ScalarTraits_true (unsigned short)
 
 ScalarTraits_true (unsigned int)
 
 ScalarTraits_true (unsigned long)
 
 ScalarTraits_true (float)
 
 ScalarTraits_true (double)
 
 ScalarTraits_true (long double)
 
 ScalarTraits_true (Real)
 
 RealTraits_true (float)
 
 RealTraits_true (double)
 
 RealTraits_true (long double)
 
 SUPERTYPE (unsigned char, short)
 
 SUPERTYPE (unsigned char, int)
 
 SUPERTYPE (unsigned char, float)
 
 SUPERTYPE (unsigned char, double)
 
 SUPERTYPE (unsigned char, long double)
 
 SUPERTYPE (unsigned short, int)
 
 SUPERTYPE (unsigned short, float)
 
 SUPERTYPE (unsigned short, double)
 
 SUPERTYPE (unsigned short, long double)
 
 SUPERTYPE (unsigned int, float)
 
 SUPERTYPE (unsigned int, double)
 
 SUPERTYPE (unsigned int, long double)
 
 SUPERTYPE (char, short)
 
 SUPERTYPE (char, int)
 
 SUPERTYPE (char, float)
 
 SUPERTYPE (char, double)
 
 SUPERTYPE (char, long double)
 
 SUPERTYPE (short, int)
 
 SUPERTYPE (short, float)
 
 SUPERTYPE (short, double)
 
 SUPERTYPE (short, long double)
 
 SUPERTYPE (int, float)
 
 SUPERTYPE (int, double)
 
 SUPERTYPE (int, long double)
 
 SUPERTYPE (float, double)
 
 SUPERTYPE (float, long double)
 
 SUPERTYPE (double, long double)
 
 SUPERTYPE (unsigned char, Real)
 
 SUPERTYPE (unsigned short, Real)
 
 SUPERTYPE (unsigned int, Real)
 
 SUPERTYPE (char, Real)
 
 SUPERTYPE (short, Real)
 
 SUPERTYPE (int, Real)
 
 SUPERTYPE (float, Real)
 
 SUPERTYPE (double, Real)
 
 SUPERTYPE (long double, Real)
 
template<typename T , typename std::enable_if< ScalarTraits< T >::value, int >::type = 0>
auto l1_norm (const T &var)
 Computes the L1 norm.
 
template<typename T , typename T2 , typename std::enable_if< ScalarTraits< T >::value &&ScalarTraits< T2 >::value, int >::type = 0>
auto l1_norm_diff (const T &var1, const T2 &var2)
 Computes the L1 norm of the diff between var1 and var2.
 
template<typename T , typename T2 >
bool absolute_fuzzy_equals (const T &var1, const T2 &var2, const Real tol=TOLERANCE *TOLERANCE)
 Function to check whether two variables are equal within an absolute tolerance.
 
template<typename T , typename T2 >
bool relative_fuzzy_equals (const T &var1, const T2 &var2, const Real tol=TOLERANCE *TOLERANCE)
 Function to check whether two variables are equal within a relative tolerance.
 
template<typename T , typename T2 >
IntRange< T >::iterator operator+ (T2 n, typename IntRange< T >::iterator i)
 
template<typename T >
auto index_range (const T &sizable)
 Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in vector-like object (i.e.
 
template<typename T >
IntRange< numeric_index_typeindex_range (const NumericVector< T > &vec)
 Same thing but for NumericVector.
 
template<typename T >
IntRange< T > make_range (T beg, T end)
 The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of type T.
 
template<typename T >
IntRange< T > make_range (T end)
 The 1-parameter version of make_range() saves even more typing in the common case of a 0 starting point.
 
template<typename P >
void print_helper (std::ostream &os, const P *param)
 Helper functions for printing scalar, vector, vector<vector> and vector<vector<vector>> types.
 
template<typename P >
void print_helper (std::ostream &os, const std::vector< P > *param)
 
template<typename P >
void print_helper (std::ostream &os, const std::vector< std::vector< P > > *param)
 
template<typename P >
void print_helper (std::ostream &os, const std::vector< std::vector< std::vector< P > > > *param)
 
template<typename P1 , typename P2 , typename C , typename A >
void print_helper (std::ostream &os, const std::map< P1, P2, C, A > *param)
 
template<typename P , typename C , typename A >
void print_helper (std::ostream &os, const std::set< P, C, A > *param)
 
std::ostream & operator<< (std::ostream &os, const Parameters &p)
 
template<>
void print_helper (std::ostream &os, const char *param)
 
template<>
void print_helper (std::ostream &os, const unsigned char *param)
 
template<typename IndexType >
SimpleRange< IndexType > as_range (const std::pair< IndexType, IndexType > &p)
 Helper function that allows us to treat a homogenous pair as a range.
 
template<typename IndexType >
SimpleRange< IndexType > as_range (const IndexType &first, const IndexType &second)
 As above, but can be used in cases where a std::pair is not otherwise involved.
 
OStreamProxy out (std::cout)
 
OStreamProxy err (std::cerr)
 
void install_thread_buffered_sync ()
 
void uninstall_thread_buffered_sync ()
 
void cleanup_stream_buffers ()
 Helper to do cleanup from both destructor and terminate.
 
bool warned_about_auto_ptr (false)
 
PerfLog perflog ("libMesh", #ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING true #else false #endif)
 
const Number imaginary (0., 1.)
 
template LIBMESH_EXPORT unsigned char command_line_value< unsigned char > (const std::string &, unsigned char)
 
template LIBMESH_EXPORT unsigned short command_line_value< unsigned short > (const std::string &, unsigned short)
 
template LIBMESH_EXPORT unsigned int command_line_value< unsigned int > (const std::string &, unsigned int)
 
template LIBMESH_EXPORT char command_line_value< char > (const std::string &, char)
 
template LIBMESH_EXPORT short command_line_value< short > (const std::string &, short)
 
template LIBMESH_EXPORT int command_line_value< int > (const std::string &, int)
 
template LIBMESH_EXPORT float command_line_value< float > (const std::string &, float)
 
template LIBMESH_EXPORT double command_line_value< double > (const std::string &, double)
 
template LIBMESH_EXPORT long double command_line_value< long double > (const std::string &, long double)
 
template LIBMESH_EXPORT std::string command_line_value< std::string > (const std::string &, std::string)
 
template LIBMESH_EXPORT unsigned char command_line_value< unsigned char > (const std::vector< std::string > &, unsigned char)
 
template LIBMESH_EXPORT unsigned short command_line_value< unsigned short > (const std::vector< std::string > &, unsigned short)
 
template LIBMESH_EXPORT unsigned int command_line_value< unsigned int > (const std::vector< std::string > &, unsigned int)
 
template LIBMESH_EXPORT char command_line_value< char > (const std::vector< std::string > &, char)
 
template LIBMESH_EXPORT short command_line_value< short > (const std::vector< std::string > &, short)
 
template LIBMESH_EXPORT int command_line_value< int > (const std::vector< std::string > &, int)
 
template LIBMESH_EXPORT float command_line_value< float > (const std::vector< std::string > &, float)
 
template LIBMESH_EXPORT double command_line_value< double > (const std::vector< std::string > &, double)
 
template LIBMESH_EXPORT long double command_line_value< long double > (const std::vector< std::string > &, long double)
 
template LIBMESH_EXPORT std::string command_line_value< std::string > (const std::vector< std::string > &, std::string)
 
template LIBMESH_EXPORT unsigned char command_line_next< unsigned char > (std::string, unsigned char)
 
template LIBMESH_EXPORT unsigned short command_line_next< unsigned short > (std::string, unsigned short)
 
template LIBMESH_EXPORT unsigned int command_line_next< unsigned int > (std::string, unsigned int)
 
template LIBMESH_EXPORT char command_line_next< char > (std::string, char)
 
template LIBMESH_EXPORT short command_line_next< short > (std::string, short)
 
template LIBMESH_EXPORT int command_line_next< int > (std::string, int)
 
template LIBMESH_EXPORT float command_line_next< float > (std::string, float)
 
template LIBMESH_EXPORT double command_line_next< double > (std::string, double)
 
template LIBMESH_EXPORT long double command_line_next< long double > (std::string, long double)
 
template LIBMESH_EXPORT std::string command_line_next< std::string > (std::string, std::string)
 
template LIBMESH_EXPORT void command_line_vector< unsigned char > (const std::string &, std::vector< unsigned char > &)
 
template LIBMESH_EXPORT void command_line_vector< unsigned short > (const std::string &, std::vector< unsigned short > &)
 
template LIBMESH_EXPORT void command_line_vector< unsigned int > (const std::string &, std::vector< unsigned int > &)
 
template LIBMESH_EXPORT void command_line_vector< char > (const std::string &, std::vector< char > &)
 
template LIBMESH_EXPORT void command_line_vector< short > (const std::string &, std::vector< short > &)
 
template LIBMESH_EXPORT void command_line_vector< int > (const std::string &, std::vector< int > &)
 
template LIBMESH_EXPORT void command_line_vector< float > (const std::string &, std::vector< float > &)
 
template LIBMESH_EXPORT void command_line_vector< double > (const std::string &, std::vector< double > &)
 
template LIBMESH_EXPORT void command_line_vector< long double > (const std::string &, std::vector< long double > &)
 
template LIBMESH_EXPORT Real command_line_value< Real > (const std::string &, Real)
 
template LIBMESH_EXPORT Real command_line_value< Real > (const std::vector< std::string > &, Real)
 
template LIBMESH_EXPORT Real command_line_next< Real > (std::string, Real)
 
template LIBMESH_EXPORT void command_line_vector< Real > (const std::string &, std::vector< Real > &)
 
template<typename OutputShape >
OutputShape fe_fdm_deriv (const ElemType type, const Order order, const Elem *elem, const unsigned int i, const unsigned int j, const Point &p, OutputShape(*shape_func)(const ElemType, const Order, const Elem *, const unsigned int, const Point &))
 
template Real fe_fdm_deriv< Real > (const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool, Real(*shape_func)(const Elem *, const Order, const unsigned int, const Point &, const bool))
 
template Real fe_fdm_deriv< Real > (const ElemType, const Order, const unsigned int, const unsigned int, const Point &, Real(*shape_func)(const ElemType, const Order, const unsigned int, const Point &))
 
template Real fe_fdm_deriv< Real > (const ElemType, const Order, const Elem *, const unsigned int, const unsigned int, const Point &, Real(*shape_func)(const ElemType, const Order, const Elem *, const unsigned int, const Point &))
 
template RealGradient fe_fdm_deriv< RealGradient > (const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool, RealGradient(*shape_func)(const Elem *, const Order, const unsigned int, const Point &, const bool))
 
template Real fe_fdm_second_deriv< Real > (const ElemType, const Order, const unsigned int, const unsigned int, const Point &, Real(*shape_func)(const ElemType, const Order, const unsigned int, const unsigned int, const Point &))
 
template Real fe_fdm_second_deriv< Real > (const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool, Real(*shape_func)(const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool))
 
template Real fe_fdm_second_deriv< Real > (const ElemType, const Order, const Elem *, const unsigned int, const unsigned int, const Point &, Real(*shape_func)(const ElemType, const Order, const Elem *, const unsigned int, const unsigned int, const Point &))
 
template RealGradient fe_fdm_second_deriv< RealGradient > (const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool, RealGradient(*shape_func)(const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_FE (0)
 
 INSTANTIATE_FE (1)
 
 INSTANTIATE_FE (2)
 
 INSTANTIATE_FE (3)
 
template LIBMESH_EXPORT void rational_all_shape_derivs< Real > (const Elem &elem, const FEType underlying_fe_type, const std::vector< Point > &p, std::vector< std::vector< Real > > *comps[3], const bool add_p_level)
 
std::ostream & operator<< (std::ostream &os, const FEAbstract &fe)
 
 LIBMESH_FE_NODAL_SOLN (BERNSTEIN, bernstein_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, BERNSTEIN)
 
 LIBMESH_ERRORS_IN_LOW_D (CLOUGH)
 
 SIDEMAP_ERROR (1, NEDELEC_ONE, side_map)
 
 REINIT_ERROR (1, RAVIART_THOMAS, reinit)
 
 SIDEMAP_ERROR (1, RAVIART_THOMAS, side_map)
 
 REINIT_ERROR (1, L2_RAVIART_THOMAS, reinit)
 
 SIDEMAP_ERROR (1, L2_RAVIART_THOMAS, side_map)
 
 LIBMESH_FE_NODAL_SOLN (CLOUGH, clough_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, CLOUGH)
 
 LIBMESH_FE_NODAL_SOLN (HERMITE, hermite_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, HERMITE)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (1, HERMITE)
 
 LIBMESH_FE_NODAL_SOLN (HIERARCHIC, hierarchic_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (LIBMESH_DEFAULT_VECTORIZED_FE(0, HIERARCHIC)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (0, HIERARCHIC_VEC)
 
 LIBMESH_FE_NODAL_SOLN_DIM (LIBMESH_FE_NODAL_SOLN_DIM(HIERARCHIC_VEC,(FE< 0, HIERARCHIC >::nodal_soln), 0)
 
 LIBMESH_FE_SIDE_NODAL_SOLN (HIERARCHIC_VEC)
 
 LIBMESH_DEFAULT_VEC_NDOFS (HIERARCHIC)
 
 LIBMESH_FE_NODAL_SOLN (L2_HIERARCHIC, l2_hierarchic_nodal_soln)
 
 LIBMESH_FE_NODAL_SOLN (L2_LAGRANGE, lagrange_nodal_soln)
 
 LIBMESH_FE_NODAL_SOLN (LAGRANGE, lagrange_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (LIBMESH_DEFAULT_VECTORIZED_FE(0, LAGRANGE)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>void FE< 3, L2_LAGRANGE)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (0, LAGRANGE_VEC)
 
 LIBMESH_FE_NODAL_SOLN_DIM (LIBMESH_FE_NODAL_SOLN_DIM(LAGRANGE_VEC,(FE< 0, LAGRANGE >::nodal_soln), 0)
 
 LIBMESH_FE_SIDE_NODAL_SOLN (LAGRANGE_VEC)
 
 LIBMESH_FE_NODAL_SOLN (MONOMIAL, monomial_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, MONOMIAL)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (0, MONOMIAL_VEC)
 
 LIBMESH_FE_NODAL_SOLN_DIM (LIBMESH_FE_NODAL_SOLN_DIM(MONOMIAL_VEC,(FE< 0, MONOMIAL >::nodal_soln), 0)
 
 LIBMESH_FE_SIDE_NODAL_SOLN (MONOMIAL_VEC)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (0, NEDELEC_ONE)
 
 LIBMESH_FE_SIDE_NODAL_SOLN (NEDELEC_ONE)
 
 LIBMESH_FE_NODAL_SOLN (RATIONAL_BERNSTEIN, rational_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, RATIONAL_BERNSTEIN)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (0, RAVIART_THOMAS)
 
 LIBMESH_FE_SIDE_NODAL_SOLN (RAVIART_THOMAS)
 
 LIBMESH_FE_NODAL_SOLN (SCALAR, scalar_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, SCALAR)
 
 LIBMESH_FE_NODAL_SOLN (SIDE_HIERARCHIC, side_hierarchic_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (2, SUBDIVISION)
 
 LIBMESH_FE_NODAL_SOLN (SZABAB, szabab_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, SZABAB)
 
 LIBMESH_FE_NODAL_SOLN (XYZ, xyz_nodal_soln)
 
 LIBMESH_DEFAULT_VECTORIZED_FE (template<>Real FE< 0, XYZ)
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, edge_reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, edge_reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, edge_reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, init_face_shape_functions(const std::vector< Point > &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, init_face_shape_functions(const std::vector< Point > &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, init_face_shape_functions(const std::vector< Point > &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, compute_face_functions())
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, compute_face_functions())
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, compute_face_functions())
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, unsigned int, n_dofs_per_elem(const FEType &, const ElemType))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, unsigned int, n_dofs_per_elem(const FEType &, const ElemType))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, unsigned int, n_dofs_per_elem(const FEType &, const ElemType))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, unsigned int, n_dofs_at_node(const FEType &, const ElemType, const unsigned int))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, unsigned int, n_dofs_at_node(const FEType &, const ElemType, const unsigned int))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, unsigned int, n_dofs_at_node(const FEType &, const ElemType, const unsigned int))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, compute_shape_indices(const FEType &, const ElemType, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, compute_shape_indices(const FEType &, const ElemType, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, compute_shape_indices(const FEType &, const ElemType, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, compute_node_indices(const ElemType, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, compute_node_indices(const ElemType, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, compute_node_indices(const ElemType, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, Real, shape(const FEType &, const ElemType, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, Real, shape(const FEType &, const ElemType, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, Real, shape(const FEType &, const ElemType, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, Real, shape_deriv(const FEType &, const ElemType, const unsigned int, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, Real, shape_deriv(const FEType &, const ElemType, const unsigned int, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, Real, shape_deriv(const FEType &, const ElemType, const unsigned int, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, unsigned int, n_dofs(const FEType &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, unsigned int, n_dofs(const FEType &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, unsigned int, n_dofs(const FEType &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, unsigned int, n_dofs_per_elem(const FEType &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, unsigned int, n_dofs_per_elem(const FEType &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, unsigned int, n_dofs_per_elem(const FEType &, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, unsigned int, n_dofs_at_node(const FEType &, const Elem *, const unsigned int))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, unsigned int, n_dofs_at_node(const FEType &, const Elem *, const unsigned int))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, unsigned int, n_dofs_at_node(const FEType &, const Elem *, const unsigned int))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, compute_shape_indices(const FEType &, const Elem *, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, compute_shape_indices(const FEType &, const Elem *, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, compute_shape_indices(const FEType &, const Elem *, const unsigned int, unsigned int &, unsigned int &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, Real, shape(const FEType &, const Elem *, const unsigned int, const Point &p))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, Real, shape(const FEType &, const Elem *, const unsigned int, const Point &p))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, Real, shape(const FEType &, const Elem *, const unsigned int, const Point &p))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, Real, shape(const FEType, const Elem *, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, Real, shape(const FEType, const Elem *, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, Real, shape(const FEType, const Elem *, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, Real, shape_deriv(const FEType &, const Elem *, const unsigned int, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, Real, shape_deriv(const FEType &, const Elem *, const unsigned int, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, Real, shape_deriv(const FEType &, const Elem *, const unsigned int, const unsigned int, const Point &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, Real, shape_deriv(const FEType, const Elem *, const unsigned int, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, Real, shape_deriv(const FEType, const Elem *, const unsigned int, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, Real, shape_deriv(const FEType, const Elem *, const unsigned int, const unsigned int, const Point &, const bool))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, compute_data(const FEType &, const Elem *, FEComputeData &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, compute_data(const FEType &, const Elem *, FEComputeData &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, compute_data(const FEType &, const Elem *, FEComputeData &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, nodal_soln(const FEType &, const Elem *, const std::vector< Number > &, std::vector< Number > &))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, nodal_soln(const FEType &, const Elem *, const std::vector< Number > &, std::vector< Number > &))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, nodal_soln(const FEType &, const Elem *, const std::vector< Number > &, std::vector< Number > &))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, inf_compute_constraints(DofConstraints &, DofMap &, const unsigned int, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, inf_compute_constraints(DofConstraints &, DofMap &, const unsigned int, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, inf_compute_constraints(DofConstraints &, DofMap &, const unsigned int, const Elem *))
 
 INSTANTIATE_INF_FE_MBRF (1, CARTESIAN, void, inf_compute_node_constraints(NodeConstraints &constraints, const Elem *elem))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, void, inf_compute_node_constraints(NodeConstraints &constraints, const Elem *elem))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, void, inf_compute_node_constraints(NodeConstraints &constraints, const Elem *elem))
 
bool is_between (Real min, Real check, Real max)
 
std::ostream & operator<< (std::ostream &os, const MeshBase &m)
 
template LIBMESH_EXPORT void MeshCommunication::find_global_indices< MeshBase::const_node_iterator > (const Parallel::Communicator &, const libMesh::BoundingBox &, const MeshBase::const_node_iterator &, const MeshBase::const_node_iterator &, std::vector< dof_id_type > &) const
 
template LIBMESH_EXPORT void MeshCommunication::find_global_indices< MeshBase::const_element_iterator > (const Parallel::Communicator &, const libMesh::BoundingBox &, const MeshBase::const_element_iterator &, const MeshBase::const_element_iterator &, std::vector< dof_id_type > &) const
 
template LIBMESH_EXPORT void MeshCommunication::find_global_indices< MeshBase::node_iterator > (const Parallel::Communicator &, const libMesh::BoundingBox &, const MeshBase::node_iterator &, const MeshBase::node_iterator &, std::vector< dof_id_type > &) const
 
template LIBMESH_EXPORT void MeshCommunication::find_global_indices< MeshBase::element_iterator > (const Parallel::Communicator &, const libMesh::BoundingBox &, const MeshBase::element_iterator &, const MeshBase::element_iterator &, std::vector< dof_id_type > &) const
 
template LIBMESH_EXPORT void MeshCommunication::find_local_indices< MeshBase::const_element_iterator > (const libMesh::BoundingBox &, const MeshBase::const_element_iterator &, const MeshBase::const_element_iterator &, std::unordered_map< dof_id_type, dof_id_type > &) const
 
 LIBMESH_VMA_INSTANTIATE (Real, int, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, float, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, double, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, int, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, int, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, int, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, float, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, float, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, float, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, std::complex< float >, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, std::complex< float >, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, std::complex< float >, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, double, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, double, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, double, Real)
 
 LIBMESH_VMA_INSTANTIATE (Real, std::complex< double >, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, std::complex< double >, Complex)
 
 LIBMESH_VMA_INSTANTIATE (Complex, std::complex< double >, Real)
 
template void init_shell_mat (PetscShellMatrix< Number > &obj)
 
template void init_shell_mat (PetscMatrixShellMatrix< Number > &obj)
 
template void init_shell_mat (PetscShellMatrix< Number > &obj, const numeric_index_type m, const numeric_index_type n, const numeric_index_type m_l, const numeric_index_type n_l, const numeric_index_type blocksize_in)
 
template void init_shell_mat (PetscMatrixShellMatrix< Number > &obj, const numeric_index_type m, const numeric_index_type n, const numeric_index_type m_l, const numeric_index_type n_l, const numeric_index_type blocksize_in)
 
std::ostream & operator<< (std::ostream &os, const QBase &q)
 
std::ostream & operator<< (std::ostream &os, const MeshfreeInterpolation &mfi)
 
template<typename T >
SIGN (T a, T b)
 
PetscErrorCode __libmesh_petsc_diff_solver_monitor (SNES snes, PetscInt its, PetscReal fnorm, void *ctx)
 
PetscErrorCode __libmesh_petsc_diff_solver_residual (SNES, Vec x, Vec r, void *ctx)
 
PetscErrorCode __libmesh_petsc_diff_solver_jacobian (SNES, Vec x, Mat libmesh_dbg_var(j), Mat libmesh_dbg_var(pc), void *ctx)
 
DiffSolver::SolveResult convert_solve_result (SNESConvergedReason r)
 
PetscErrorCode libmesh_petsc_DMCreateSubDM (DM dm, PetscInt numFields, PetscInt fields[], IS *is, DM *subdm) PetscErrorCode libmesh_petsc_DMCreateSubDM(DM dm
 Help PETSc create a subDM given a global dm when using fieldsplit.
 
 LibmeshPetscCallQ (DMShellGetContext(dm, &ctx))
 
 libmesh_assert (ctx)
 
 if (subdm)
 
 PetscFunctionReturn (LIBMESH_PETSC_SUCCESS)
 
PetscErrorCode libmesh_petsc_DMRefine (DM dmc, MPI_Comm, DM *dmf)
 Help PETSc identify the finer DM given a dmc.
 
PetscErrorCode libmesh_petsc_DMCoarsen (DM dmf, MPI_Comm, DM *dmc)
 Help PETSc identify the coarser DM dmc given the fine DM dmf.
 
PetscErrorCode libmesh_petsc_DMCreateInterpolation (DM dmc, DM dmf, Mat *mat, Vec *vec)
 Function to give PETSc that sets the Interpolation Matrix between two DMs.
 
PetscErrorCode libmesh_petsc_DMCreateRestriction (DM dmc, DM dmf, Mat *mat)
 Function to give PETSc that sets the Restriction Matrix between two DMs.
 
PetscErrorCode libmesh_petsc_preconditioner_setup (PC pc)
 
PetscErrorCode libmesh_petsc_preconditioner_apply (PC pc, Vec x, Vec y)
 
ResidualContext libmesh_petsc_snes_residual_helper (SNES snes, Vec x, void *ctx)
 
std::ostream & operator<< (std::ostream &os, const EquationSystems &es)
 
template<typename T , typename IndexType >
const std::vector< std::pair< IndexType, T > > convert_to_send (MetaPhysicL::DynamicSparseNumberArray< T, IndexType > &in)
 
template<typename SendT , typename T , typename IndexType >
void convert_from_receive (SendT &received, MetaPhysicL::DynamicSparseNumberArray< T, IndexType > &converted)
 
std::ostream & operator<< (std::ostream &os, const ConstraintVariant &c)
 
void communicate_pair_min (std::pair< Real, dof_id_type > &pair, const Parallel::Communicator &comm)
 
void communicate_pair_max (std::pair< Real, dof_id_type > &pair, const Parallel::Communicator &comm)
 
Real chi_epsilon (const Real &x, const Real epsilon_squared)
 Function to prevent dividing by zero for degenerate elements.
 
RealTensor get_jacobian_at_qp (const FEMap &fe_map, const unsigned int &dim, const unsigned int &qp)
 Given an fe_map, element dimension, and quadrature point index, returns the Jacobian of the physical-to-reference mapping.
 
Real trace (const RealTensor &A, const unsigned int &dim)
 Compute the trace of a dim-dimensional matrix.
 
std::ostream & operator<< (std::ostream &os, const MeshQualityInfo &info)
 
template LIBMESH_EXPORT void Xdr::data< std::complex< float > > (std::complex< float > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::complex< double > > (std::complex< double > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::complex< long double > > (std::complex< long double > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::string > (std::string &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< int > > (std::vector< int > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< unsigned int > > (std::vector< unsigned int > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< short int > > (std::vector< short int > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< unsigned short int > > (std::vector< unsigned short int > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< long int > > (std::vector< long int > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< long long > > (std::vector< long long > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< unsigned long int > > (std::vector< unsigned long int > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< unsigned long long > > (std::vector< unsigned long long > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< char > > (std::vector< char > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< signed char > > (std::vector< signed char > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< unsigned char > > (std::vector< unsigned char > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< float > > (std::vector< float > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< double > > (std::vector< double > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< long double > > (std::vector< long double > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< std::complex< float > > > (std::vector< std::complex< float > > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< std::complex< double > > > (std::vector< std::complex< double > > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< std::complex< long double > > > (std::vector< std::complex< long double > > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< std::string > > (std::vector< std::string > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::complex< Real > > (std::complex< Real > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< Real > > (std::vector< Real > &, std::string_view)
 
template LIBMESH_EXPORT void Xdr::data< std::vector< std::complex< Real > > > (std::vector< std::complex< Real > > &, std::string_view)
 

Variables

DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
 
DIE A HORRIBLE DEATH HERE typedef float ErrorVectorReal
 
FactoryImp< ExampleOneFunction, FunctionBase< Number > > example_one_factory ("example_one")
 
const Number imaginary
 The imaginary unit, \( \sqrt{-1} \).
 
const Real pi = 3.1415926535897932384626433832795029_R
 \( \pi=3.14159... \).
 
const Number zero = 0.
 \( zero=0. \).
 
const unsigned int invalid_uint = static_cast<unsigned int>(-1)
 A number which is used quite often to represent an invalid or uninitialized value for an unsigned integer.
 
const int invalid_int = std::numeric_limits<int>::max()
 A number which is used quite often to represent an invalid or uninitialized value for an integer.
 
OStreamProxy out
 
OStreamProxy err
 
static constexpr Real TOLERANCE = 2.5e-3
 
MPI_Comm GLOBAL_COMM_WORLD = MPI_COMM_NULL
 MPI Communicator used to initialize libMesh.
 
bool warned_about_auto_ptr
 
template<class T >
constexpr std::false_type always_false {}
 This is a helper variable template for cases when we want to use a default compile-time error with constexpr-based if conditions.
 
static constexpr std::size_t libmesh_dim = LIBMESH_DIM
 
PerfLog perflog
 A PerfLog object to log performance.
 
const RemoteElemremote_elem = nullptr
 
const unsigned char triangular_number_row []
 
const unsigned char triangular_number_column []
 
const unsigned char square_number_row []
 
const unsigned char square_number_column []
 
const unsigned char cube_number_row []
 
const unsigned char cube_number_column []
 
const unsigned char cube_number_page []
 
const unsigned char tetrahedral_number_row []
 
const unsigned char tetrahedral_number_column []
 
const unsigned char tetrahedral_number_page []
 
const unsigned char prism_number_triangle []
 
const unsigned char prism_number_page []
 
std::unique_ptr< ThreadBufferedSyncbuf_out_syncd_thread_buffer
 
std::unique_ptr< ThreadBufferedSyncbuf_err_syncd_thread_buffer
 
std::streambuf * _out_prewrap_buf = nullptr
 
std::streambuf * _err_prewrap_buf = nullptr
 
MPI_Errhandler libmesh_errhandler
 
static const bool * caching = nullptr
 
libMesh::CachingSetup caching_setup
 
 INSTANTIATE_SUBDIVISION_FE
 
template class LIBMESH_EXPORT FEGenericBase< Real >
 
template class LIBMESH_EXPORT FEGenericBase< RealGradient >
 
 INSTANTIATE_SUBDIVISION_MAPS
 
template class LIBMESH_EXPORT FETransformationBase< Real >
 
template class LIBMESH_EXPORT FETransformationBase< RealGradient >
 
template class LIBMESH_EXPORT FEXYZ< 2 >
 
template class LIBMESH_EXPORT FEXYZ< 3 >
 
template class LIBMESH_EXPORT H1FETransformation< Real >
 
template class LIBMESH_EXPORT H1FETransformation< RealGradient >
 
template class LIBMESH_EXPORT HCurlFETransformation< RealGradient >
 
template class LIBMESH_EXPORT HDivFETransformation< RealGradient >
 
Threads::spin_mutex parent_indices_mutex
 
Threads::spin_mutex parent_bracketing_nodes_mutex
 
template class LIBMESH_EXPORT MeshOutput< MeshBase >
 
template class LIBMESH_EXPORT MeshOutput< UnstructuredMesh >
 
template class LIBMESH_EXPORT MeshOutput< DistributedMesh >
 
template class LIBMESH_EXPORT DenseMatrix< Real >
 
template class LIBMESH_EXPORT DenseMatrix< Complex >
 
template class LIBMESH_EXPORT DenseMatrixBase< Real >
 
template class LIBMESH_EXPORT DenseMatrixBase< Complex >
 
template class LIBMESH_EXPORT DenseSubMatrix< Real >
 
template class LIBMESH_EXPORT DenseSubMatrix< Complex >
 
template class LIBMESH_EXPORT DenseSubVector< Real >
 
template class LIBMESH_EXPORT DenseSubVector< Complex >
 
template class LIBMESH_EXPORT DenseVector< Real >
 
template class LIBMESH_EXPORT DenseVector< Complex >
 
template class LIBMESH_EXPORT DenseVectorBase< Real >
 
template class LIBMESH_EXPORT DenseVectorBase< Complex >
 
template class LIBMESH_EXPORT DiagonalMatrix< Number >
 
template class LIBMESH_EXPORT DistributedVector< Number >
 
template class LIBMESH_EXPORT EigenPreconditioner< Number >
 
template class LIBMESH_EXPORT EigenSparseMatrix< Number >
 
template class LIBMESH_EXPORT EigenSparseVector< Number >
 
template class LIBMESH_EXPORT LaspackMatrix< Number >
 
template class LIBMESH_EXPORT LaspackVector< Number >
 
template class LIBMESH_EXPORT LumpedMassMatrix< Number >
 
template class LIBMESH_EXPORT NumericVector< Number >
 
template class LIBMESH_EXPORT PetscMatrix< Number >
 
template class LIBMESH_EXPORT PetscMatrixBase< Number >
 
template class LIBMESH_EXPORT PetscMatrixShellMatrix< Number >
 
template class LIBMESH_EXPORT PetscPreconditioner< Number >
 
template class LIBMESH_EXPORT PetscShellMatrix< Number >
 
template class LIBMESH_EXPORT PetscVector< Number >
 
template class LIBMESH_EXPORT Preconditioner< Number >
 
template class LIBMESH_EXPORT ShellMatrix< Number >
 
template class LIBMESH_EXPORT SparseMatrix< Number >
 
template class LIBMESH_EXPORT SparseShellMatrix< Number >
 
template class LIBMESH_EXPORT SumShellMatrix< Number >
 
template class LIBMESH_EXPORT TensorShellMatrix< Number >
 
template class LIBMESH_EXPORT EpetraMatrix< Number >
 
template class LIBMESH_EXPORT EpetraVector< Number >
 
template class LIBMESH_EXPORT TrilinosPreconditioner< Number >
 
template class LIBMESH_EXPORT TypeTensor< Real >
 
template class LIBMESH_EXPORT TypeTensor< Complex >
 
template class LIBMESH_EXPORT TypeVector< Real >
 
template class LIBMESH_EXPORT TypeVector< Complex >
 
const unsigned int MIN_ELEM_PER_PROC = 4
 
template class LIBMESH_EXPORT QComposite< QGauss >
 
template class LIBMESH_EXPORT QComposite< QTrap >
 
template class LIBMESH_EXPORT QComposite< QSimpson >
 
template class LIBMESH_EXPORT RBConstructionBase< CondensedEigenSystem >
 
template class LIBMESH_EXPORT RBConstructionBase< LinearImplicitSystem >
 
template class LIBMESH_EXPORT RBConstructionBase< System >
 
template class LIBMESH_EXPORT InverseDistanceInterpolation< 1 >
 
template class LIBMESH_EXPORT InverseDistanceInterpolation< 2 >
 
template class LIBMESH_EXPORT InverseDistanceInterpolation< 3 >
 
template class LIBMESH_EXPORT RadialBasisInterpolation< 3, WendlandRBF< 3, 0 > >
 
template class LIBMESH_EXPORT RadialBasisInterpolation< 3, WendlandRBF< 3, 2 > >
 
template class LIBMESH_EXPORT RadialBasisInterpolation< 3, WendlandRBF< 3, 4 > >
 
template class LIBMESH_EXPORT RadialBasisInterpolation< 3, WendlandRBF< 3, 8 > >
 
template class LIBMESH_EXPORT EigenSolver< Number >
 
template class LIBMESH_EXPORT EigenSparseLinearSolver< Number >
 
template class LIBMESH_EXPORT LaspackLinearSolver< Number >
 
template class LIBMESH_EXPORT LinearSolver< Number >
 
template class LIBMESH_EXPORT NloptOptimizationSolver< Number >
 
template class LIBMESH_EXPORT NonlinearSolver< Number >
 
template class LIBMESH_EXPORT OptimizationSolver< Number >
 
PetscErrorCode PetscInt numFields
 
PetscErrorCode PetscInt const PetscInt fields []
 
PetscErrorCode PetscInt const PetscInt IS * is
 
PetscErrorCode PetscInt const PetscInt IS DM * subdm
 
void * ctx = nullptr
 
PetscDMContextp_ctx = static_cast<PetscDMContext * >(ctx)
 
template class LIBMESH_EXPORT PetscLinearSolver< Number >
 
template class LIBMESH_EXPORT PetscNonlinearSolver< Number >
 
template class LIBMESH_EXPORT SlepcEigenSolver< Number >
 
template class LIBMESH_EXPORT TaoOptimizationSolver< Number >
 
template class LIBMESH_EXPORT AztecLinearSolver< Number >
 
template class LIBMESH_EXPORT NoxNonlinearSolver< Number >
 
template class LIBMESH_EXPORT TransientSystem< LinearImplicitSystem >
 
template class LIBMESH_EXPORT TransientSystem< NonlinearImplicitSystem >
 
template class LIBMESH_EXPORT TransientSystem< ExplicitSystem >
 
template class LIBMESH_EXPORT TransientSystem< System >
 
template class LIBMESH_EXPORT TransientSystem< RBConstruction >
 
template class LIBMESH_EXPORT TransientSystem< EigenSystem >
 
auto get_positive_vector
 
template class LIBMESH_EXPORT LocationMap< Elem >
 
template class LIBMESH_EXPORT LocationMap< Node >
 
template class LIBMESH_EXPORT StatisticsVector< float >
 
template class LIBMESH_EXPORT StatisticsVector< double >
 
template class LIBMESH_EXPORT StatisticsVector< long double >
 
template class LIBMESH_EXPORT StatisticsVector< Real >
 
template class LIBMESH_EXPORT StatisticsVector< int >
 
template class LIBMESH_EXPORT StatisticsVector< unsigned int >
 
template class LIBMESH_EXPORT Tree< 2 >
 
template class LIBMESH_EXPORT Tree< 4 >
 
template class LIBMESH_EXPORT Tree< 8 >
 
template class LIBMESH_EXPORT TreeNode< 2 >
 
template class LIBMESH_EXPORT TreeNode< 4 >
 
template class LIBMESH_EXPORT TreeNode< 8 >
 

Detailed Description

The libMesh namespace provides an interface to certain functionality in the library.

Sanity check, without prior inclusion of libmesh_config.h.

Here, it provides a LibMeshInit class which uses the RAII (Resource Acquisition Is Initialization) idiom to ensure initialization of any other dependent libraries (e.g. MPI or PETSC), and to close those libraries when it goes out of scope. It also provides a centralized place for performance logging and other functionality.

This file is no typical header file. It is only to be included at the end of an implementation file, so that the proper variations of the InfFE class are instantiated.

Typedef Documentation

◆ boundary_id_type

typedef int16_t libMesh::boundary_id_type

Definition at line 51 of file id_types.h.

◆ Complex

typedef std::complex<Real> libMesh::Complex

Definition at line 180 of file libmesh_common.h.

◆ COMPLEX

typedef std::complex<Real> libMesh::COMPLEX

Definition at line 181 of file libmesh_common.h.

◆ connected_elem_set_type

Definition at line 261 of file mesh_communication.h.

◆ connected_node_set_type

typedef std::set<const Node *> libMesh::connected_node_set_type

Definition at line 260 of file mesh_communication.h.

◆ ConstElemRange

Definition at line 34 of file elem_range.h.

◆ ConstNodeRange

Definition at line 34 of file node_range.h.

◆ ConstraintVariant

Type used to store a constraint that may be a PlaneConstraint, LineConstraint, or PointConstraint.

std::variant is an alternative to using the classic polymorphic approach where these constraints inherit from an common base class.

Definition at line 43 of file variational_smoother_constraint.h.

◆ DefaultMesh

Definition at line 27 of file mesh.h.

◆ dof_id_signed_type

typedef int32_t libMesh::dof_id_signed_type

Definition at line 68 of file id_types.h.

◆ dof_id_type

typedef uint32_t libMesh::dof_id_type

Definition at line 67 of file id_types.h.

◆ DofConstraintRow

A row of the Dof constraint matrix.

Definition at line 100 of file dof_map.h.

◆ DSNAN

typedef DynamicSparseNumberArray<Real, dof_id_type> libMesh::DSNAN

Definition at line 131 of file system_projection.C.

◆ eigen_idx_type

typedef int32_t libMesh::eigen_idx_type

Definition at line 66 of file eigen_core_support.h.

◆ EigenMatrix

typedef Eigen::Matrix<Number, Eigen::Dynamic, Eigen::Dynamic> libMesh::EigenMatrix

Definition at line 63 of file static_condensation.h.

◆ EigenSM

typedef Eigen::SparseMatrix<Number, Eigen::RowMajor, eigen_idx_type> libMesh::EigenSM

Definition at line 78 of file eigen_core_support.h.

◆ EigenSV

typedef Eigen::Matrix<Number, Eigen::Dynamic, 1> libMesh::EigenSV

Definition at line 79 of file eigen_core_support.h.

◆ EigenVector

typedef Eigen::Matrix<Number, Eigen::Dynamic, 1> libMesh::EigenVector

Definition at line 64 of file static_condensation.h.

◆ ElemRange

Definition at line 33 of file elem_range.h.

◆ elemset_id_type

Definition at line 166 of file id_types.h.

◆ FEBase

Definition at line 40 of file exact_error_estimator.h.

◆ FEVectorBase

Definition at line 818 of file fe_base.h.

◆ Gradient

Definition at line 51 of file exact_solution.h.

◆ largest_id_type

typedef uint8_t libMesh::largest_id_type

Definition at line 148 of file id_types.h.

◆ NodeConstraintRow

typedef std::map<const Node *, Real, std::less<const Node *>, Threads::scalable_allocator<std::pair<const Node * const, Real> > > libMesh::NodeConstraintRow

A row of the Node constraint mapping.

Currently this just stores the topology of the constrained Nodes, but for forward compatibility we also include coefficients, so we could add Lagrange-positioned-node constraints later.

Definition at line 148 of file dof_map.h.

◆ NodeRange

Definition at line 33 of file node_range.h.

◆ Number

Definition at line 253 of file libmesh_common.h.

◆ NumberTensorValue

Definition at line 48 of file exact_solution.h.

◆ NumberVectorValue

Definition at line 50 of file exact_solution.h.

◆ numeric_index_type

Definition at line 99 of file id_types.h.

◆ OStreamProxy

Definition at line 243 of file ostream_proxy.h.

◆ processor_id_type

typedef uint64_t libMesh::processor_id_type

Definition at line 104 of file id_types.h.

◆ RBParameter

using libMesh::RBParameter = typedef std::vector<Real>

Typedef for an individual RB parameter.

Each parameter is now stored as a vector of values (different from the vector of samples).

Definition at line 39 of file rb_parameters.h.

◆ REAL

Definition at line 39 of file mesh_triangle_wrapper.h.

◆ RealGradient

Definition at line 49 of file hp_coarsentest.h.

◆ RealTensor

Definition at line 50 of file hp_coarsentest.h.

◆ RealTensorValue

Useful typedefs to allow transparent switching between Real and Complex data types.

Definition at line 48 of file hp_coarsentest.h.

◆ RealVectorValue

Useful typedefs to allow transparent switching between Real and Complex data types.

Definition at line 47 of file hp_coarsentest.h.

◆ SteadyLinearSystem

Definition at line 34 of file steady_system.h.

◆ subdomain_id_type

typedef uint16_t libMesh::subdomain_id_type

Based on the 4-byte comment warning above, this probably doesn't work with exodusII at all...

Note
subdomain_id_type should be a positive integer, but due to a limitation in the exodusII API, we are forced to use a signed integer here to represent subdomains. This gives us 2^31 possible unique blocks.

Definition at line 43 of file id_types.h.

◆ Tensor

Definition at line 49 of file exact_solution.h.

◆ TransientBaseSystem

Definition at line 161 of file transient_system.h.

◆ TransientEigenSystem

Definition at line 163 of file transient_system.h.

◆ TransientExplicitSystem

Definition at line 160 of file transient_system.h.

◆ TransientImplicitSystem

Definition at line 157 of file transient_system.h.

◆ TransientLinearImplicitSystem

Definition at line 158 of file transient_system.h.

◆ TransientNonlinearImplicitSystem

Definition at line 159 of file transient_system.h.

◆ tuple_of

template<std::size_t Index, typename T >
using libMesh::tuple_of = typedef typename tuple_n<Index,T>::template type<>

Definition at line 22 of file tuple_of.h.

◆ unique_id_type

typedef uint64_t libMesh::unique_id_type

Definition at line 86 of file id_types.h.

◆ unordered_multiset_elem

typedef std::unordered_multiset<Elem *, ElemHashUtils, ElemHashUtils> libMesh::unordered_multiset_elem

Definition at line 77 of file elem_hash.h.

Enumeration Type Documentation

◆ EigenProblemType

Defines an enum for eigenproblem types.

This can be Hermitian (HEP), generalized Hermitian (GHEP), non-Hermitian (NHEP), generalized non-Hermitian (GNHEP), or generalized indefinite Hermitian (GHIEP).

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum EigenProblemType : int; reducing header file dependencies.

Enumerator
NHEP 
HEP 
GNHEP 
GHEP 
GHIEP 
INVALID_EIGENPROBLEMTYPE 

Definition at line 54 of file enum_eigen_solver_type.h.

◆ EigenSolverType

Defines an enum for iterative eigenproblem solver types.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum EigenSolverType : int; reducing header file dependencies.

Enumerator
POWER 
LAPACK 
SUBSPACE 
ARNOLDI 
LANCZOS 
KRYLOVSCHUR 
INVALID_EIGENSOLVER 

Definition at line 33 of file enum_eigen_solver_type.h.

◆ ElemMappingType

enum libMesh::ElemMappingType : unsigned char

Enumeration of possible element master->physical mapping types.

We don't just directly store FEType for this because we want to be certain our options all pack into a single char in an Elem.

Enumerator
LAGRANGE_MAP 
RATIONAL_BERNSTEIN_MAP 
INVALID_MAP 

Definition at line 94 of file enum_elem_type.h.

94 : unsigned char {
95 LAGRANGE_MAP = 0,
@ RATIONAL_BERNSTEIN_MAP

◆ ElemQuality

Defines an enum for element quality metrics.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum ElemQuality : int; reducing header file dependencies.

Enumerator
ASPECT_RATIO 
SKEW 
SHEAR 
SHAPE 
MAX_ANGLE 
MIN_ANGLE 
CONDITION 
DISTORTION 
TAPER 
WARP 
STRETCH 
DIAGONAL 
ASPECT_RATIO_BETA 
ASPECT_RATIO_GAMMA 
SIZE 
JACOBIAN 
TWIST 
EDGE_LENGTH_RATIO 
MAX_DIHEDRAL_ANGLE 
MIN_DIHEDRAL_ANGLE 
SCALED_JACOBIAN 

Definition at line 34 of file enum_elem_quality.h.

34 : int {
36 SKEW,
37 SHEAR,
38 SHAPE,
43 TAPER,
44 WARP,
45 STRETCH,
49 SIZE,
51 TWIST,

◆ ElemType

Defines an enum for geometric element types.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum ElemType : int; reducing header file dependencies.

Enumerator
EDGE2 
EDGE3 
EDGE4 
TRI3 
TRI6 
QUAD4 
QUAD8 
QUAD9 
TET4 
TET10 
HEX8 
HEX20 
HEX27 
PRISM6 
PRISM15 
PRISM18 
PYRAMID5 
PYRAMID13 
PYRAMID14 
INFEDGE2 
INFQUAD4 
INFQUAD6 
INFHEX8 
INFHEX16 
INFHEX18 
INFPRISM6 
INFPRISM12 
NODEELEM 
REMOTEELEM 
TRI3SUBDIVISION 
TRISHELL3 
QUADSHELL4 
QUADSHELL8 
TRI7 
TET14 
PRISM20 
PRISM21 
PYRAMID18 
QUADSHELL9 
C0POLYGON 
C0POLYHEDRON 
INVALID_ELEM 

Definition at line 33 of file enum_elem_type.h.

33 : int {
34 // 1D
35 EDGE2 = 0,
36 EDGE3 = 1,
37 EDGE4 = 2,
38 // 2D
39 TRI3 = 3,
40 TRI6 = 4,
41 QUAD4 = 5,
42 QUAD8 = 6,
43 QUAD9 = 7,
44 // 3D
45 TET4 = 8,
46 TET10 = 9,
47 HEX8 = 10,
48 HEX20 = 11,
49 HEX27 = 12,
50 PRISM6 = 13,
51 PRISM15 = 14,
52 PRISM18 = 15,
53 PYRAMID5 = 16,
54 PYRAMID13 = 17,
55 PYRAMID14 = 18,
56 // Infinite Elems
57 INFEDGE2 = 19,
58 INFQUAD4 = 20,
59 INFQUAD6 = 21,
60 INFHEX8 = 22,
61 INFHEX16 = 23,
62 INFHEX18 = 24,
63 INFPRISM6 = 25,
64 INFPRISM12 = 26,
65 // 0D
66 NODEELEM = 27,
67 // Miscellaneous Elems
68 REMOTEELEM = 28,
69 TRI3SUBDIVISION = 29,
70 // Shell Elems
71 TRISHELL3 = 30,
72 QUADSHELL4 = 31,
73 QUADSHELL8 = 32,
74 // Elems with Tri7 (Tri with mid-face node) faces
75 TRI7 = 33,
76 TET14 = 34,
77 PRISM20 = 35,
78 PRISM21 = 36,
79 PYRAMID18 = 37,
80 // Another shell elem
81 QUADSHELL9 = 38,
82 // An arbitrary polygon with N EDGE2 sides
83 C0POLYGON = 39,
84 // An arbitrary polyhedron with C0POLYGON sides
85 C0POLYHEDRON = 40,
86 // Invalid
87 INVALID_ELEM}; // should always be last

◆ ErrorEstimatorType

Defines an enum for the different types of error estimators which are available.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum ErrorEstimatorType : int; reducing header file dependencies.

Enumerator
INVALID 
ADJOINT_REFINEMENT 
ADJOINT_RESIDUAL 
DISCONTINUITY_MEASURE 
EXACT 
KELLY 
LAPLACIAN 
PATCH_RECOVERY 
WEIGHTED_PATCH_RECOVERY 
UNIFORM_REFINEMENT 

Definition at line 33 of file enum_error_estimator_type.h.

◆ FEContinuity

Enumerator
DISCONTINUOUS 
C_ZERO 
C_ONE 
H_CURL 
H_DIV 
SIDE_DISCONTINUOUS 

Definition at line 84 of file enum_fe_family.h.

◆ FEFamily

Enumerator
LAGRANGE 
HIERARCHIC 
MONOMIAL 
L2_HIERARCHIC 
L2_LAGRANGE 
BERNSTEIN 
SZABAB 
XYZ 
INFINITE_MAP 
JACOBI_20_00 
JACOBI_30_00 
LEGENDRE 
CLOUGH 
HERMITE 
SUBDIVISION 
SCALAR 
LAGRANGE_VEC 
NEDELEC_ONE 
MONOMIAL_VEC 
RAVIART_THOMAS 
L2_RAVIART_THOMAS 
L2_LAGRANGE_VEC 
HIERARCHIC_VEC 
L2_HIERARCHIC_VEC 
RATIONAL_BERNSTEIN 
SIDE_HIERARCHIC 
INVALID_FE 

Definition at line 34 of file enum_fe_family.h.

34 : int {
35 // C0
36 LAGRANGE = 0,
37 HIERARCHIC = 1,
38 // discontinuous, in local coordinates
39 MONOMIAL = 2,
40 L2_HIERARCHIC = 6,
41 L2_LAGRANGE = 7,
42 // higher-order
43 BERNSTEIN = 3,
44 SZABAB = 4,
45 // discontinuous, in global coordinates
46 XYZ = 5,
47 // infinite element stuff
48 INFINITE_MAP = 11, // for 1/r-map
49 JACOBI_20_00 = 12, // i_max = 19
50 JACOBI_30_00 = 13, // i_max = 19
51 LEGENDRE = 14, // i_max = 19
52 // C1 elements
53 CLOUGH = 21,
54 HERMITE = 22,
55 SUBDIVISION = 23,
56 // A scalar variable that couples to
57 // all other DOFs in the system
58 SCALAR = 31,
59 // Vector-valued elements
60 LAGRANGE_VEC = 41,
61 NEDELEC_ONE = 42,
62 MONOMIAL_VEC = 43,
63 RAVIART_THOMAS = 44,
65 L2_LAGRANGE_VEC = 46,
66 HIERARCHIC_VEC = 47,
68 // Rational basis functions
70 // Side-supported basis functions
71 SIDE_HIERARCHIC = 71,
72 // Invalid
73 INVALID_FE = 99};
@ L2_RAVIART_THOMAS
@ L2_HIERARCHIC_VEC
@ RATIONAL_BERNSTEIN

◆ FEFieldType

Enumerator
TYPE_SCALAR 
TYPE_VECTOR 

Definition at line 101 of file enum_fe_family.h.

101 : int {
102 TYPE_SCALAR = 0,

◆ FEMNormType

Enumerator
L2 
H1 
H2 
HCURL 
HDIV 
L1 
L_INF 
H1_SEMINORM 
H2_SEMINORM 
HCURL_SEMINORM 
HDIV_SEMINORM 
W1_INF_SEMINORM 
W2_INF_SEMINORM 
DISCRETE_L1 
DISCRETE_L2 
DISCRETE_L_INF 
H1_X_SEMINORM 
H1_Y_SEMINORM 
H1_Z_SEMINORM 
INVALID_NORM 

Definition at line 34 of file enum_norm_type.h.

34 : int {
35 // Hilbert norms and seminorms in FE space
36 L2 = 0,
37 H1 = 1,
38 H2 = 2,
39 HCURL = 3,
40 HDIV = 4,
41 L1 = 5,
42 L_INF = 6,
43 H1_SEMINORM = 10,
44 H2_SEMINORM = 11,
45 // Vector FE norms
46 HCURL_SEMINORM = 12,
47 HDIV_SEMINORM = 13,
48 // Sobolev infinity seminorms
49 W1_INF_SEMINORM = 15,
50 W2_INF_SEMINORM = 16,
51 // discrete norms on coefficient vectors
52 DISCRETE_L1 = 20,
53 DISCRETE_L2 = 21,
54 DISCRETE_L_INF = 22,
55 // Seminorms based on only individual gradient
56 // directional components
57 H1_X_SEMINORM = 31,
58 H1_Y_SEMINORM = 32,
59 H1_Z_SEMINORM = 33,
60 // Invalid
61 INVALID_NORM = 42};

◆ InfMapType

Enumerator
CARTESIAN 
SPHERICAL 
ELLIPSOIDAL 
INVALID_INF_MAP 

Definition at line 34 of file enum_inf_map_type.h.

34 : int {
35 CARTESIAN=0,
38 // Invalid

◆ IOPackage

libMesh interfaces with several different software packages for the purposes of creating, reading, and writing mesh files.

These enumerations give an easy way of selecting one or the other.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum IOPackage : int; reducing header file dependencies.

Enumerator
TECPLOT 
GMV 
GMSH 
VTK 
DIVA 
TETGEN 
UCD 
LIBMESH 
INVALID_IO_PACKAGE 

Definition at line 37 of file enum_io_package.h.

38 {
39 TECPLOT,
40 GMV,
41 GMSH,
42 VTK,
43 DIVA,
44 TETGEN,
45 UCD,
46 LIBMESH,
47 // Invalid
49 };

◆ LinearConvergenceReason

Linear solver convergence flags (taken from the PETSc flags).

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum LinearConvergenceReason : int; reducing header file dependencies.

Enumerator
CONVERGED_RTOL_NORMAL 
CONVERGED_ATOL_NORMAL 
CONVERGED_RTOL 
CONVERGED_ATOL 
CONVERGED_ITS 
CONVERGED_CG_NEG_CURVE 
CONVERGED_CG_CONSTRAINED 
CONVERGED_STEP_LENGTH 
CONVERGED_HAPPY_BREAKDOWN 
DIVERGED_NULL 
DIVERGED_ITS 
DIVERGED_DTOL 
DIVERGED_BREAKDOWN 
DIVERGED_BREAKDOWN_BICG 
DIVERGED_NONSYMMETRIC 
DIVERGED_INDEFINITE_PC 
DIVERGED_NAN 
DIVERGED_INDEFINITE_MAT 
DIVERGED_PCSETUP_FAILED 
CONVERGED_ITERATING 
UNKNOWN_FLAG 

Definition at line 33 of file enum_convergence_flags.h.

33 : int {
34 // converged
39 CONVERGED_ITS = 4,
44 // diverged
45 DIVERGED_NULL = -2,
46 DIVERGED_ITS = -3,
47 DIVERGED_DTOL = -4,
52 DIVERGED_NAN = -9,
55 // still running
57 // Invalid
58 UNKNOWN_FLAG = -128};

◆ MatrixBuildType

enum class libMesh::MatrixBuildType
strong

Defines an enum for matrix build types.

This is useful for telling System derived objects what type of matrix to build

Enumerator
AUTOMATIC 
DIAGONAL 

Definition at line 29 of file enum_matrix_build_type.h.

30{
33};

◆ Order

Enumerator
CONSTANT 
FIRST 
SECOND 
THIRD 
FOURTH 
FIFTH 
SIXTH 
SEVENTH 
EIGHTH 
NINTH 
TENTH 
ELEVENTH 
TWELFTH 
THIRTEENTH 
FOURTEENTH 
FIFTEENTH 
SIXTEENTH 
SEVENTEENTH 
EIGHTTEENTH 
EIGHTEENTH 
NINETEENTH 
TWENTIETH 
TWENTYFIRST 
TWENTYSECOND 
TWENTYTHIRD 
TWENTYFOURTH 
TWENTYFIFTH 
TWENTYSIXTH 
TWENTYSEVENTH 
TWENTYEIGHTH 
TWENTYNINTH 
THIRTIETH 
THIRTYFIRST 
THIRTYSECOND 
THIRTYTHIRD 
THIRTYFOURTH 
THIRTYFIFTH 
THIRTYSIXTH 
THIRTYSEVENTH 
THIRTYEIGHTH 
THIRTYNINTH 
FORTIETH 
FORTYFIRST 
FORTYSECOND 
FORTYTHIRD 
MAXIMUM 
INVALID_ORDER 

Definition at line 40 of file enum_order.h.

40 : int {
41 CONSTANT = 0,
42 FIRST = 1,
43 SECOND = 2,
44 THIRD = 3,
45 FOURTH = 4,
46 FIFTH = 5,
47 SIXTH = 6,
48 SEVENTH = 7,
49 EIGHTH = 8,
50 NINTH = 9,
51 TENTH = 10,
52 ELEVENTH = 11,
53 TWELFTH = 12,
54 THIRTEENTH = 13,
55 FOURTEENTH = 14,
56 FIFTEENTH = 15,
57 SIXTEENTH = 16,
58 SEVENTEENTH = 17,
59 EIGHTTEENTH = 18, // misspelling, deprecated
60 EIGHTEENTH = 18,
61 NINETEENTH = 19,
62 TWENTIETH = 20,
63 TWENTYFIRST = 21,
64 TWENTYSECOND = 22,
65 TWENTYTHIRD = 23,
66 TWENTYFOURTH = 24,
67 TWENTYFIFTH = 25,
68 TWENTYSIXTH = 26,
69 TWENTYSEVENTH = 27,
70 TWENTYEIGHTH = 28,
71 TWENTYNINTH = 29,
72 THIRTIETH = 30,
73 THIRTYFIRST = 31,
74 THIRTYSECOND = 32,
75 THIRTYTHIRD = 33,
76 THIRTYFOURTH = 34,
77 THIRTYFIFTH = 35,
78 THIRTYSIXTH = 36,
79 THIRTYSEVENTH = 37,
80 THIRTYEIGHTH = 38,
81 THIRTYNINTH = 39,
82 FORTIETH = 40,
83 FORTYFIRST = 41,
84 FORTYSECOND = 42,
85 FORTYTHIRD = 43,
86 MAXIMUM = 255,
87 // Invalid
@ TWENTYSECOND
Definition enum_order.h:64
@ THIRTYFOURTH
Definition enum_order.h:76
@ TWENTYSIXTH
Definition enum_order.h:68
@ SEVENTEENTH
Definition enum_order.h:58
@ EIGHTEENTH
Definition enum_order.h:60
@ FORTYFIRST
Definition enum_order.h:83
@ TWENTYFIRST
Definition enum_order.h:63
@ FORTYSECOND
Definition enum_order.h:84
@ TWENTYEIGHTH
Definition enum_order.h:70
@ THIRTYFIRST
Definition enum_order.h:73
@ THIRTYSECOND
Definition enum_order.h:74
@ SIXTEENTH
Definition enum_order.h:57
@ FORTYTHIRD
Definition enum_order.h:85
@ THIRTYNINTH
Definition enum_order.h:81
@ THIRTYSEVENTH
Definition enum_order.h:79
@ THIRTYSIXTH
Definition enum_order.h:78
@ THIRTYEIGHTH
Definition enum_order.h:80
@ TWENTYSEVENTH
Definition enum_order.h:69
@ TWENTIETH
Definition enum_order.h:62
@ TWENTYNINTH
Definition enum_order.h:71
@ THIRTIETH
Definition enum_order.h:72
@ TWENTYTHIRD
Definition enum_order.h:65
@ INVALID_ORDER
Definition enum_order.h:88
@ TWENTYFIFTH
Definition enum_order.h:67
@ FIFTEENTH
Definition enum_order.h:56
@ FOURTEENTH
Definition enum_order.h:55
@ THIRTYFIFTH
Definition enum_order.h:77
@ EIGHTTEENTH
Definition enum_order.h:59
@ TWENTYFOURTH
Definition enum_order.h:66
@ NINETEENTH
Definition enum_order.h:61
@ THIRTYTHIRD
Definition enum_order.h:75
@ THIRTEENTH
Definition enum_order.h:54

◆ ParallelType

Defines an enum for parallel data structure types.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum ParallelType : int; reducing header file dependencies.

Enumerator
AUTOMATIC 
SERIAL 
PARALLEL 
GHOSTED 
INVALID_PARALLELIZATION 

Definition at line 33 of file enum_parallel_type.h.

33 : int {
34 AUTOMATIC=0,
35 SERIAL,
37 GHOSTED,
38 // Invalid

◆ PartitionerType

Defines an enum for mesh partitioner types.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum EigenSolverType : int; reducing header file dependencies.

Enumerator
CENTROID_PARTITIONER 
LINEAR_PARTITIONER 
SFC_PARTITIONER 
HILBERT_SFC_PARTITIONER 
MORTON_SFC_PARTITIONER 
METIS_PARTITIONER 
PARMETIS_PARTITIONER 
SUBDOMAIN_PARTITIONER 
MAPPED_SUBDOMAIN_PARTITIONER 
INVALID_PARTITIONER 

Definition at line 33 of file enum_partitioner_type.h.

◆ PetscMatrixType

Enumerator
AIJ 
HYPRE 

Definition at line 47 of file petsc_matrix.h.

47 : int {
48 AIJ=0,
49 HYPRE};

◆ PointLocatorType

defines an enum for the types of point locators (given a point with global coordinates, locate the corresponding element in space) available in libMesh.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum PointLocatorType : int; reducing header file dependencies.

Enumerator
TREE 
TREE_ELEMENTS 
TREE_LOCAL_ELEMENTS 
NANOFLANN 
INVALID_LOCATOR 

Definition at line 35 of file enum_point_locator_type.h.

◆ PositionOfSpectrum

Defines an enum for the position of the spectrum, i.e.

the eigenvalues to be computed.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum PositionOfSpectrum : int; reducing header file dependencies.

Enumerator
LARGEST_MAGNITUDE 
SMALLEST_MAGNITUDE 
TARGET_MAGNITUDE 
LARGEST_REAL 
SMALLEST_REAL 
TARGET_REAL 
LARGEST_IMAGINARY 
SMALLEST_IMAGINARY 
TARGET_IMAGINARY 
INVALID_Postion_of_Spectrum 
INVALID_POSITION_OF_SPECTRUM 

Definition at line 74 of file enum_eigen_solver_type.h.

◆ PreconditionerType

Defines an enum for preconditioner types.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum PreconditionerType : int; reducing header file dependencies.

Enumerator
IDENTITY_PRECOND 
JACOBI_PRECOND 
BLOCK_JACOBI_PRECOND 
SOR_PRECOND 
SSOR_PRECOND 
EISENSTAT_PRECOND 
ASM_PRECOND 
CHOLESKY_PRECOND 
ICC_PRECOND 
ILU_PRECOND 
LU_PRECOND 
USER_PRECOND 
SHELL_PRECOND 
AMG_PRECOND 
SVD_PRECOND 
INVALID_PRECONDITIONER 

Definition at line 33 of file enum_preconditioner_type.h.

33 : int {
49 // Invalid

◆ QuadratureType

Defines an enum for currently available quadrature rules.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum QuadratureType : int; reducing header file dependencies.

Enumerator
QGAUSS 
QJACOBI_1_0 
QJACOBI_2_0 
QSIMPSON 
QTRAP 
QGRID 
QGRUNDMANN_MOLLER 
QMONOMIAL 
QCONICAL 
QGAUSS_LOBATTO 
QCLOUGH 
QCOMPOSITE 
QNODAL 
INVALID_Q_RULE 

Definition at line 33 of file enum_quadrature_type.h.

◆ SolverPackage

Defines an enum for various linear solver packages.

This allows for run-time switching between solver packages

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum SolverPackage : int; reducing header file dependencies.

Enumerator
PETSC_SOLVERS 
TRILINOS_SOLVERS 
LASPACK_SOLVERS 
SLEPC_SOLVERS 
EIGEN_SOLVERS 
NLOPT_SOLVERS 
DIAGONAL_MATRIX 
INVALID_SOLVER_PACKAGE 

Definition at line 34 of file enum_solver_package.h.

◆ SolverType

Defines an enum for iterative solver types.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum SolverType : int; reducing header file dependencies.

Enumerator
CG 
CGN 
CGS 
CR 
QMR 
TCQMR 
TFQMR 
BICG 
BICGSTAB 
MINRES 
GMRES 
LSQR 
JACOBI 
SOR_FORWARD 
SOR_BACKWARD 
SSOR 
RICHARDSON 
CHEBYSHEV 
SPARSELU 
INVALID_SOLVER 

Definition at line 33 of file enum_solver_type.h.

◆ SubsetSolveMode

defines an enum for the question what happens to the dofs outside the given subset when a system is solved on a subset.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum SubsetSolveMode : int; reducing header file dependencies.

Enumerator
SUBSET_ZERO 
SUBSET_COPY_RHS 
SUBSET_DONT_TOUCH 

Definition at line 35 of file enum_subset_solve_mode.h.

35 : int {
36 // Set dofs outside the subset to zero.
37 SUBSET_ZERO = 0,
38 // Set dofs outside the subset to the value of the corresponding
39 // dofs of the right hand side.
41 // Leaves dofs outside the subset unchanged. This is fastest, but
42 // also most confusing because it abandons the property that the
43 // solution vector is (theoretically) independent of the initial
44 // guess.
46};

◆ VariableIndexing

Dirichlet functions may be indexed either by "system variable order" or "local variable order", depending on how the DirichletBoundary object is constructed.

For example, suppose a system has variables {a, b, c, d}, and a DirichletBoundary is set for variables {b, d} (i.e. variables_in is {1, 3}). If the boundary is constructed to use "system variable order", input function(s) will be queried for components 1 and 3; this is useful for reusing input functions as both exact solutions and Dirichlet boundaries in benchmark problems. If the boundary is constructed to use "local variable order", input function(s) will be queried for components 0 and 1; this is useful for flexibly constructing Dirichlet boundaries in multiphysics codes or from user input files.

Enumerator
SYSTEM_VARIABLE_ORDER 
LOCAL_VARIABLE_ORDER 

Definition at line 61 of file dirichlet_boundaries.h.

◆ XdrMODE

Defines an enum for read/write mode in Xdr format.

READ, WRITE perform reading and writing in ASCII format, and DECODE, ENCODE do the same in binary format.

The fixed type, i.e. ": int", enumeration syntax used here allows this enum to be forward declared as enum XdrMODE : int; reducing header file dependencies.

Enumerator
UNKNOWN 
ENCODE 
DECODE 
WRITE 
READ 

Definition at line 35 of file enum_xdr_mode.h.

36 {
37 UNKNOWN = -1,
38 ENCODE=0,
39 DECODE,
40 WRITE,
41 READ
42 };

Function Documentation

◆ __libmesh_nlopt_equality_constraints()

void libMesh::__libmesh_nlopt_equality_constraints ( unsigned  m,
double *  result,
unsigned  n,
const double *  x,
double *  gradient,
void *  data 
)

Definition at line 107 of file nlopt_optimization_solver.C.

113{
114 LOG_SCOPE("equality_constraints()", "NloptOptimizationSolver");
115
116 libmesh_assert(data);
117
118 // data should be a pointer to the solver (it was passed in as void *)
120 static_cast<NloptOptimizationSolver<Number> *> (data);
121
122 OptimizationSystem & sys = solver->system();
123
124 // We'll use current_local_solution below, so let's ensure that it's consistent
125 // with the vector x that was passed in.
126 libmesh_error_msg_if(sys.solution->size() != n,
127 "Error: Input vector x has different length than sys.solution!");
128
129 for (auto i : index_range(*sys.solution))
130 sys.solution->set(i, x[i]);
131 sys.solution->close();
132
133 // Impose constraints on the solution vector
134 sys.get_dof_map().enforce_constraints_exactly(sys);
135
136 // Update sys.current_local_solution based on the solution vector
137 sys.update();
138
139 // Call the user's equality constraints function if there is one.
141 if (eco)
142 {
143 eco->equality_constraints(*sys.current_local_solution,
144 *sys.C_eq,
145 sys);
146
147 sys.C_eq->close();
148
149 // Copy the values out of eq_constraints into 'result'.
150 // TODO: Even better would be if we could use 'result' directly
151 // as the storage of eq_constraints. Perhaps a serial-only
152 // NumericVector variant which supports this option?
153 for (unsigned int i = 0; i < m; ++i)
154 result[i] = (*sys.C_eq)(i);
155
156 // If gradient != nullptr, then the Jacobian matrix of the equality
157 // constraints has been requested. The incoming 'gradient'
158 // array is of length m*n and d(c_i)/d(x_j) = gradient[n*i+j].
159 if (gradient)
160 {
163
164 if (eco_jac)
165 {
166 eco_jac->equality_constraints_jacobian(*sys.current_local_solution,
167 *sys.C_eq_jac,
168 sys);
169
170 sys.C_eq_jac->close();
171
172 // copy the Jacobian data to the gradient array
173 for (numeric_index_type i=0; i<m; i++)
174 for (const auto & dof_index : sys.eq_constraint_jac_sparsity[i])
175 gradient[n*i+dof_index] = (*sys.C_eq_jac)(i,dof_index);
176 }
177 else
178 libmesh_error_msg("Jacobian function not defined in __libmesh_nlopt_equality_constraints");
179 }
180
181 }
182 else
183 libmesh_error_msg("Constraints function not defined in __libmesh_nlopt_equality_constraints");
184}
This class provides an interface to the NLopt optimization solvers.
OptimizationSystem::ComputeEqualityConstraintsJacobian * equality_constraints_jacobian_object
Object that computes the Jacobian of C_eq(X).
const sys_type & system() const
OptimizationSystem::ComputeEqualityConstraints * equality_constraints_object
Object that computes the equality constraints vector C_eq(X).
Abstract base class to be used to calculate the Jacobian of the equality constraints.
virtual void equality_constraints_jacobian(const NumericVector< Number > &X, SparseMatrix< Number > &C_eq_jac, sys_type &S)=0
This function will be called to evaluate the Jacobian of C_eq(X).
Abstract base class to be used to calculate the equality constraints.
virtual void equality_constraints(const NumericVector< Number > &X, NumericVector< Number > &C_eq, sys_type &S)=0
This function will be called to evaluate the equality constraints vector C_eq(X).
This System subclass enables us to assemble an objective function, gradient, Hessian and bounds for o...
auto index_range(const T &sizable)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...
Definition int_range.h:153
libmesh_assert(ctx)
dof_id_type numeric_index_type
Definition id_types.h:99

Referenced by libMesh::NloptOptimizationSolver< T >::solve().

◆ __libmesh_nlopt_inequality_constraints()

void libMesh::__libmesh_nlopt_inequality_constraints ( unsigned  m,
double *  result,
unsigned  n,
const double *  x,
double *  gradient,
void *  data 
)

Definition at line 187 of file nlopt_optimization_solver.C.

193{
194 LOG_SCOPE("inequality_constraints()", "NloptOptimizationSolver");
195
196 libmesh_assert(data);
197
198 // data should be a pointer to the solver (it was passed in as void *)
200 static_cast<NloptOptimizationSolver<Number> *> (data);
201
202 OptimizationSystem & sys = solver->system();
203
204 // We'll use current_local_solution below, so let's ensure that it's consistent
205 // with the vector x that was passed in.
206 libmesh_error_msg_if(sys.solution->size() != n, "Error: Input vector x has different length than sys.solution!");
207
208 for (auto i : index_range(*sys.solution))
209 sys.solution->set(i, x[i]);
210 sys.solution->close();
211
212 // Impose constraints on the solution vector
213 sys.get_dof_map().enforce_constraints_exactly(sys);
214
215 // Update sys.current_local_solution based on the solution vector
216 sys.update();
217
218 // Call the user's inequality constraints function if there is one.
220 if (ineco)
221 {
222 ineco->inequality_constraints(*sys.current_local_solution,
223 *sys.C_ineq,
224 sys);
225
226 sys.C_ineq->close();
227
228 // Copy the values out of ineq_constraints into 'result'.
229 // TODO: Even better would be if we could use 'result' directly
230 // as the storage of ineq_constraints. Perhaps a serial-only
231 // NumericVector variant which supports this option?
232 for (unsigned int i = 0; i < m; ++i)
233 result[i] = (*sys.C_ineq)(i);
234
235 // If gradient != nullptr, then the Jacobian matrix of the equality
236 // constraints has been requested. The incoming 'gradient'
237 // array is of length m*n and d(c_i)/d(x_j) = gradient[n*i+j].
238 if (gradient)
239 {
242
243 if (ineco_jac)
244 {
245 ineco_jac->inequality_constraints_jacobian(*sys.current_local_solution,
246 *sys.C_ineq_jac,
247 sys);
248
249 sys.C_ineq_jac->close();
250
251 // copy the Jacobian data to the gradient array
252 for (numeric_index_type i=0; i<m; i++)
253 for (const auto & dof_index : sys.ineq_constraint_jac_sparsity[i])
254 gradient[n*i+dof_index] = (*sys.C_ineq_jac)(i,dof_index);
255 }
256 else
257 libmesh_error_msg("Jacobian function not defined in __libmesh_nlopt_inequality_constraints");
258 }
259
260 }
261 else
262 libmesh_error_msg("Constraints function not defined in __libmesh_nlopt_inequality_constraints");
263}
OptimizationSystem::ComputeInequalityConstraints * inequality_constraints_object
Object that computes the inequality constraints vector C_ineq(X).
OptimizationSystem::ComputeInequalityConstraintsJacobian * inequality_constraints_jacobian_object
Object that computes the Jacobian of C_ineq(X).
Abstract base class to be used to calculate the Jacobian of the inequality constraints.
virtual void inequality_constraints_jacobian(const NumericVector< Number > &X, SparseMatrix< Number > &C_ineq_jac, sys_type &S)=0
This function will be called to evaluate the Jacobian of C_ineq(X).
Abstract base class to be used to calculate the inequality constraints.
virtual void inequality_constraints(const NumericVector< Number > &X, NumericVector< Number > &C_ineq, sys_type &S)=0
This function will be called to evaluate the equality constraints vector C_ineq(X).

Referenced by libMesh::NloptOptimizationSolver< T >::solve().

◆ __libmesh_nlopt_objective()

double libMesh::__libmesh_nlopt_objective ( unsigned  n,
const double *  x,
double *  gradient,
void *  data 
)

Definition at line 37 of file nlopt_optimization_solver.C.

41{
42 LOG_SCOPE("objective()", "NloptOptimizationSolver");
43
44 // ctx should be a pointer to the solver (it was passed in as void *)
46 static_cast<NloptOptimizationSolver<Number> *> (data);
47
48 OptimizationSystem & sys = solver->system();
49
50 // We'll use current_local_solution below, so let's ensure that it's consistent
51 // with the vector x that was passed in.
52 for (auto i : index_range(*sys.solution))
53 sys.solution->set(i, x[i]);
54
55 // Make sure the solution vector is parallel-consistent
56 sys.solution->close();
57
58 // Impose constraints on X
59 sys.get_dof_map().enforce_constraints_exactly(sys);
60
61 // Update sys.current_local_solution based on X
62 sys.update();
63
64 Real objective;
65 if (solver->objective_object != nullptr)
66 {
67 objective =
68 solver->objective_object->objective(*(sys.current_local_solution), sys);
69 }
70 else
71 {
72 libmesh_error_msg("Objective function not defined in __libmesh_nlopt_objective");
73 }
74
75 // If the gradient has been requested, fill it in
76 if (gradient)
77 {
78 if (solver->gradient_object != nullptr)
79 {
80 solver->gradient_object->gradient(*(sys.current_local_solution), *(sys.rhs), sys);
81
82 // we've filled up sys.rhs with the gradient data, now copy it
83 // to the nlopt data structure
84 libmesh_assert(sys.rhs->size() == n);
85
86 std::vector<double> grad;
87 sys.rhs->localize_to_one(grad);
88 for (unsigned int i = 0; i < n; ++i)
89 gradient[i] = grad[i];
90 }
91 else
92 libmesh_error_msg("Gradient function not defined in __libmesh_nlopt_objective");
93 }
94
95 // Increment the iteration count.
96 solver->get_iteration_count()++;
97
98 // Possibly print the current value of the objective function
99 if (solver->verbose)
100 libMesh::out << objective << std::endl;
101
102 return objective;
103}
OptimizationSystem::ComputeGradient * gradient_object
Object that computes the gradient grad_f(X) of the objective function at the input iterate X.
OptimizationSystem::ComputeObjective * objective_object
Object that computes the objective function f(X) at the input iterate X.
bool verbose
Control how much is output from the OptimizationSolver as it's running.
virtual void gradient(const NumericVector< Number > &X, NumericVector< Number > &grad_f, sys_type &S)=0
This function will be called to compute the gradient of the objective function, and must be implement...
virtual Number objective(const NumericVector< Number > &X, sys_type &S)=0
This function will be called to compute the objective function to be minimized, and must be implement...
OStreamProxy out
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

Referenced by libMesh::NloptOptimizationSolver< T >::solve().

◆ __libmesh_petsc_diff_solver_jacobian()

PetscErrorCode libMesh::__libmesh_petsc_diff_solver_jacobian ( SNES  ,
Vec  x,
Mat   libmesh_dbg_varj,
Mat   libmesh_dbg_varpc,
void *  ctx 
)

Definition at line 134 of file petsc_diff_solver.C.

139 {
140 PetscFunctionBegin;
141
144 // libmesh_assert_equal_to (pc, j); // We don't use separate preconditioners yet
145 libmesh_assert(ctx);
146
147 PetscDiffSolver & solver =
148 *(static_cast<PetscDiffSolver*> (ctx));
149 ImplicitSystem & sys = solver.system();
150
151 if (solver.verbose)
152 libMesh::out << "Assembling the Jacobian" << std::endl;
153
154 PetscVector<Number> & X_system =
155 *cast_ptr<PetscVector<Number> *>(sys.solution.get());
156 PetscVector<Number> X_input(x, sys.comm());
157
158 PetscMatrixBase<Number> & J_system =
159 *cast_ptr<PetscMatrixBase<Number> *>(sys.matrix);
160 libmesh_assert(J_system.mat() == pc);
161
162 // DiffSystem assembles from the solution and into the jacobian, so
163 // swap those with our input vectors before assembling. They'll
164 // probably already be references to the same vectors, but PETSc
165 // might do something tricky.
166 X_input.swap(X_system);
167
168 // We may need to localize a parallel solution
169 sys.update();
170
171 // We may need to correct a non-conforming solution
172 if (solver.exact_constraint_enforcement())
174
175 // Do DiffSystem assembly
176 sys.assembly(false, true, !solver.exact_constraint_enforcement());
177 J_system.close();
178
179 // Swap back
180 X_input.swap(X_system);
181
182 // No errors, we hope
183 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
184 }
bool exact_constraint_enforcement()
const sys_type & system() const
bool verbose
The DiffSolver may print a lot more to libMesh::out if verbose is set to true; default is false.
void enforce_constraints_exactly(const System &system, NumericVector< Number > *v=nullptr, bool homogeneous=false) const
Constrains the numeric vector v, which represents a solution defined on the mesh.
Definition dof_map.h:2518
Manages consistently variables, degrees of freedom, coefficient vectors, and matrices for implicit sy...
SparseMatrix< Number > * matrix
The system matrix.
virtual void assembly(bool, bool, bool=false, bool=false)
Assembles a residual in rhs and/or a jacobian in matrix, as requested.
const Parallel::Communicator & comm() const
This class defines a solver which uses a PETSc SNES context to handle a DifferentiableSystem.
This class provides a nice interface to the PETSc C-based data structures for parallel,...
virtual void close() override
Calls the SparseMatrix's internal assembly routines, ensuring that the values are consistent across p...
This class provides a nice interface to PETSc's Vec object.
std::unique_ptr< NumericVector< Number > > current_local_solution
All the values I need to compute my contribution to the simulation at hand.
Definition system.h:1667
std::unique_ptr< NumericVector< Number > > solution
Data structure to hold solution values.
Definition system.h:1655
virtual void update()
Update the local values to reflect the solution on neighboring processors.
Definition system.C:498
const DofMap & get_dof_map() const
Definition system.h:2417
PetscFunctionReturn(LIBMESH_PETSC_SUCCESS)

References libMesh::ImplicitSystem::assembly(), libMesh::PetscMatrixBase< T >::close(), libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::DiffSolver::exact_constraint_enforcement(), libMesh::System::get_dof_map(), libmesh_assert(), libMesh::PetscMatrixBase< T >::mat(), libMesh::ImplicitSystem::matrix, out, PetscFunctionReturn(), libMesh::System::solution, libMesh::DiffSolver::system(), libMesh::System::update(), and libMesh::DiffSolver::verbose.

Referenced by libMesh::PetscDiffSolver::solve().

◆ __libmesh_petsc_diff_solver_monitor()

PetscErrorCode libMesh::__libmesh_petsc_diff_solver_monitor ( SNES  snes,
PetscInt  its,
PetscReal  fnorm,
void *  ctx 
)

Definition at line 44 of file petsc_diff_solver.C.

48 {
49 PetscFunctionBegin;
50
51 PetscDiffSolver & solver =
52 *(static_cast<PetscDiffSolver *> (ctx));
53
54 if (solver.verbose)
55 libMesh::out << " PetscDiffSolver step " << its
56 << ", |residual|_2 = " << fnorm << std::endl;
57 if (solver.linear_solution_monitor.get())
58 {
59 Vec petsc_delta_u;
60 LibmeshPetscCall2(solver.comm(), SNESGetSolutionUpdate(snes, &petsc_delta_u));
61 PetscVector<Number> delta_u(petsc_delta_u, solver.comm());
62 delta_u.close();
63
64 Vec petsc_u;
65 LibmeshPetscCall2(solver.comm(), SNESGetSolution(snes, &petsc_u));
66 PetscVector<Number> u(petsc_u, solver.comm());
67 u.close();
68
69 Vec petsc_res;
70 LibmeshPetscCall2(solver.comm(), SNESGetFunction(snes, &petsc_res, nullptr, nullptr));
71 PetscVector<Number> res(petsc_res, solver.comm());
72 res.close();
73
75 delta_u, delta_u.l2_norm(),
76 u, u.l2_norm(),
77 res, res.l2_norm(), its);
78 }
79 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
80 }
std::unique_ptr< LinearSolutionMonitor > linear_solution_monitor
Pointer to functor which is called right after each linear solve.

References libMesh::PetscVector< T >::close(), libMesh::ParallelObject::comm(), ctx, libMesh::PetscVector< T >::l2_norm(), libMesh::DiffSolver::linear_solution_monitor, out, PetscFunctionReturn(), and libMesh::DiffSolver::verbose.

Referenced by libMesh::PetscDiffSolver::setup_petsc_data().

◆ __libmesh_petsc_diff_solver_residual()

PetscErrorCode libMesh::__libmesh_petsc_diff_solver_residual ( SNES  ,
Vec  x,
Vec  r,
void *  ctx 
)

Definition at line 85 of file petsc_diff_solver.C.

86 {
87 PetscFunctionBegin;
88
91 libmesh_assert(ctx);
92
93 PetscDiffSolver & solver =
94 *(static_cast<PetscDiffSolver*> (ctx));
95 ImplicitSystem & sys = solver.system();
96
97 if (solver.verbose)
98 libMesh::out << "Assembling the residual" << std::endl;
99
100 PetscVector<Number> & X_system =
101 *cast_ptr<PetscVector<Number> *>(sys.solution.get());
102 PetscVector<Number> & R_system =
103 *cast_ptr<PetscVector<Number> *>(sys.rhs);
104 PetscVector<Number> X_input(x, sys.comm()), R_input(r, sys.comm());
105
106 // DiffSystem assembles from the solution and into the rhs, so swap
107 // those with our input vectors before assembling. They'll probably
108 // already be references to the same vectors, but PETSc might do
109 // something tricky.
110 X_input.swap(X_system);
111 R_input.swap(R_system);
112
113 // We may need to localize a parallel solution
114 sys.update();
115
116 // We may need to correct a non-conforming solution
117 if (solver.exact_constraint_enforcement())
119
120 // Do DiffSystem assembly
121 sys.assembly(true, false, !solver.exact_constraint_enforcement());
122 R_system.close();
123
124 // Swap back
125 X_input.swap(X_system);
126 R_input.swap(R_system);
127
128 // No errors, we hope
129 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
130 }
NumericVector< Number > * rhs
The system matrix.

References libMesh::ImplicitSystem::assembly(), libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::DiffSolver::exact_constraint_enforcement(), libMesh::System::get_dof_map(), libmesh_assert(), out, PetscFunctionReturn(), libMesh::ExplicitSystem::rhs, libMesh::System::solution, libMesh::DiffSolver::system(), libMesh::System::update(), and libMesh::DiffSolver::verbose.

Referenced by libMesh::PetscDiffSolver::solve().

◆ __libmesh_tao_equality_constraints()

PetscErrorCode libMesh::__libmesh_tao_equality_constraints ( Tao  tao,
Vec  x,
Vec  ce,
void *  ctx 
)

Definition at line 206 of file tao_optimization_solver.C.

207 {
208 PetscFunctionBegin;
209
210 LOG_SCOPE("equality_constraints()", "TaoOptimizationSolver");
211
213 libmesh_assert(ce);
214 libmesh_assert(ctx);
215
216 // ctx should be a pointer to the solver (it was passed in as void *)
218 static_cast<TaoOptimizationSolver<Number> *> (ctx);
219
220 OptimizationSystem & sys = solver->system();
221
222 // We'll use current_local_solution below, so let's ensure that it's consistent
223 // with the vector x that was passed in.
224 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
225 PetscVector<Number> X(x, sys.comm());
226
227 // Perform a swap so that sys.solution points to the input vector
228 // "x", update sys.current_local_solution based on "x", then swap
229 // back.
230 X.swap(X_sys);
231 sys.update();
232 X.swap(X_sys);
233
234 // We'll also pass the constraints vector ce into the assembly routine
235 // so let's make a PETSc vector for that too.
236 PetscVector<Number> eq_constraints(ce, sys.comm());
237
238 // Clear the gradient prior to assembly
239 eq_constraints.zero();
240
241 // Enforce constraints exactly on the current_local_solution.
242 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
243
244 if (solver->equality_constraints_object != nullptr)
245 solver->equality_constraints_object->equality_constraints(*(sys.current_local_solution), eq_constraints, sys);
246 else
247 libmesh_error_msg("Constraints function not defined in __libmesh_tao_equality_constraints");
248
249 eq_constraints.close();
250
251 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
252 }
This class provides an interface to the Tao optimization solvers.

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ __libmesh_tao_equality_constraints_jacobian()

PetscErrorCode libMesh::__libmesh_tao_equality_constraints_jacobian ( Tao  tao,
Vec  x,
Mat  J,
Mat  Jpre,
void *  ctx 
)

Definition at line 258 of file tao_optimization_solver.C.

259 {
260 PetscFunctionBegin;
261
262 LOG_SCOPE("equality_constraints_jacobian()", "TaoOptimizationSolver");
263
266 libmesh_assert(Jpre);
267
268 // ctx should be a pointer to the solver (it was passed in as void *)
270 static_cast<TaoOptimizationSolver<Number> *> (ctx);
271
272 OptimizationSystem & sys = solver->system();
273
274 // We'll use current_local_solution below, so let's ensure that it's consistent
275 // with the vector x that was passed in.
276 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
277 PetscVector<Number> X(x, sys.comm());
278
279 // Perform a swap so that sys.solution points to the input vector
280 // "x", update sys.current_local_solution based on "x", then swap
281 // back.
282 X.swap(X_sys);
283 sys.update();
284 X.swap(X_sys);
285
286 // Let's also wrap J and Jpre in PetscMatrix objects for convenience
287 PetscMatrix<Number> J_petsc(J, sys.comm());
288 PetscMatrix<Number> Jpre_petsc(Jpre, sys.comm());
289
290 // Enforce constraints exactly on the current_local_solution.
291 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
292
293 if (solver->equality_constraints_jacobian_object != nullptr)
294 solver->equality_constraints_jacobian_object->equality_constraints_jacobian(*(sys.current_local_solution), J_petsc, sys);
295 else
296 libmesh_error_msg("Constraints function not defined in __libmesh_tao_equality_constraints_jacobian");
297
298 J_petsc.close();
299 Jpre_petsc.close();
300
301 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
302 }
This class provides a nice interface to the PETSc C-based AIJ data structures for parallel,...

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ __libmesh_tao_gradient()

PetscErrorCode libMesh::__libmesh_tao_gradient ( Tao  tao,
Vec  x,
Vec  g,
void *  ctx 
)

Definition at line 98 of file tao_optimization_solver.C.

99 {
100 PetscFunctionBegin;
101
102 LOG_SCOPE("gradient()", "TaoOptimizationSolver");
103
106 libmesh_assert(ctx);
107
108 // ctx should be a pointer to the solver (it was passed in as void *)
110 static_cast<TaoOptimizationSolver<Number> *> (ctx);
111
112 OptimizationSystem & sys = solver->system();
113
114 // We'll use current_local_solution below, so let's ensure that it's consistent
115 // with the vector x that was passed in.
116 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
117 PetscVector<Number> X(x, sys.comm());
118
119 // Perform a swap so that sys.solution points to the input vector
120 // "x", update sys.current_local_solution based on "x", then swap
121 // back.
122 X.swap(X_sys);
123 sys.update();
124 X.swap(X_sys);
125
126 // We'll also pass the gradient in to the assembly routine
127 // so let's make a PETSc vector for that too.
128 PetscVector<Number> gradient(g, sys.comm());
129
130 // Clear the gradient prior to assembly
131 gradient.zero();
132
133 // Enforce constraints exactly on the current_local_solution.
134 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
135
136 if (solver->gradient_object != nullptr)
137 solver->gradient_object->gradient(*(sys.current_local_solution), gradient, sys);
138 else
139 libmesh_error_msg("Gradient function not defined in __libmesh_tao_gradient");
140
141 gradient.close();
142
143 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
144 }

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ __libmesh_tao_hessian()

PetscErrorCode libMesh::__libmesh_tao_hessian ( Tao  tao,
Vec  x,
Mat  h,
Mat  pc,
void *  ctx 
)

Definition at line 149 of file tao_optimization_solver.C.

150 {
151 PetscFunctionBegin;
152
153 LOG_SCOPE("hessian()", "TaoOptimizationSolver");
154
157 libmesh_assert(pc);
158 libmesh_assert(ctx);
159
160 // ctx should be a pointer to the solver (it was passed in as void *)
162 static_cast<TaoOptimizationSolver<Number> *> (ctx);
163
164 OptimizationSystem & sys = solver->system();
165
166 // We'll use current_local_solution below, so let's ensure that it's consistent
167 // with the vector x that was passed in.
168 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
169 PetscVector<Number> X(x, sys.comm());
170
171 // Perform a swap so that sys.solution points to the input vector
172 // "x", update sys.current_local_solution based on "x", then swap
173 // back.
174 X.swap(X_sys);
175 sys.update();
176 X.swap(X_sys);
177
178 // Let's also wrap pc and h in PetscMatrix objects for convenience
179 PetscMatrix<Number> PC(pc, sys.comm());
180 PetscMatrix<Number> hessian(h, sys.comm());
181 PC.attach_dof_map(sys.get_dof_map());
182 hessian.attach_dof_map(sys.get_dof_map());
183
184 // Enforce constraints exactly on the current_local_solution.
185 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
186
187 if (solver->hessian_object != nullptr)
188 {
189 // Following PetscNonlinearSolver by passing in PC. It's not clear
190 // why we pass in PC and not hessian though?
191 solver->hessian_object->hessian(*(sys.current_local_solution), PC, sys);
192 }
193 else
194 libmesh_error_msg("Hessian function not defined in __libmesh_tao_hessian");
195
196 PC.close();
197 hessian.close();
198
199 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
200 }
OptimizationSystem::ComputeHessian * hessian_object
Object that computes the Hessian H_f(X) of the objective function at the input iterate X.
virtual void hessian(const NumericVector< Number > &X, SparseMatrix< Number > &H_f, sys_type &S)=0
This function will be called to compute the Hessian of the objective function, and must be implemente...

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ __libmesh_tao_inequality_constraints()

PetscErrorCode libMesh::__libmesh_tao_inequality_constraints ( Tao  tao,
Vec  x,
Vec  cineq,
void *  ctx 
)

Definition at line 307 of file tao_optimization_solver.C.

308 {
309 PetscFunctionBegin;
310
311 LOG_SCOPE("inequality_constraints()", "TaoOptimizationSolver");
312
314 libmesh_assert(cineq);
315 libmesh_assert(ctx);
316
317 // ctx should be a pointer to the solver (it was passed in as void *)
319 static_cast<TaoOptimizationSolver<Number> *> (ctx);
320
321 OptimizationSystem & sys = solver->system();
322
323 // We'll use current_local_solution below, so let's ensure that it's consistent
324 // with the vector x that was passed in.
325 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
326 PetscVector<Number> X(x, sys.comm());
327
328 // Perform a swap so that sys.solution points to the input vector
329 // "x", update sys.current_local_solution based on "x", then swap
330 // back.
331 X.swap(X_sys);
332 sys.update();
333 X.swap(X_sys);
334
335 // We'll also pass the constraints vector ce into the assembly routine
336 // so let's make a PETSc vector for that too.
337 PetscVector<Number> ineq_constraints(cineq, sys.comm());
338
339 // Clear the gradient prior to assembly
340 ineq_constraints.zero();
341
342 // Enforce constraints exactly on the current_local_solution.
343 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
344
345 if (solver->inequality_constraints_object != nullptr)
346 solver->inequality_constraints_object->inequality_constraints(*(sys.current_local_solution), ineq_constraints, sys);
347 else
348 libmesh_error_msg("Constraints function not defined in __libmesh_tao_inequality_constraints");
349
350 ineq_constraints.close();
351
352 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
353 }

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ __libmesh_tao_inequality_constraints_jacobian()

PetscErrorCode libMesh::__libmesh_tao_inequality_constraints_jacobian ( Tao  tao,
Vec  x,
Mat  J,
Mat  Jpre,
void *  ctx 
)

Definition at line 359 of file tao_optimization_solver.C.

360 {
361 PetscFunctionBegin;
362
363 LOG_SCOPE("inequality_constraints_jacobian()", "TaoOptimizationSolver");
364
367 libmesh_assert(Jpre);
368
369 // ctx should be a pointer to the solver (it was passed in as void *)
371 static_cast<TaoOptimizationSolver<Number> *> (ctx);
372
373 OptimizationSystem & sys = solver->system();
374
375 // We'll use current_local_solution below, so let's ensure that it's consistent
376 // with the vector x that was passed in.
377 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
378 PetscVector<Number> X(x, sys.comm());
379
380 // Perform a swap so that sys.solution points to the input vector
381 // "x", update sys.current_local_solution based on "x", then swap
382 // back.
383 X.swap(X_sys);
384 sys.update();
385 X.swap(X_sys);
386
387 // Let's also wrap J and Jpre in PetscMatrix objects for convenience
388 PetscMatrix<Number> J_petsc(J, sys.comm());
389 PetscMatrix<Number> Jpre_petsc(Jpre, sys.comm());
390
391 // Enforce constraints exactly on the current_local_solution.
392 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
393
394 if (solver->inequality_constraints_jacobian_object != nullptr)
395 solver->inequality_constraints_jacobian_object->inequality_constraints_jacobian(*(sys.current_local_solution), J_petsc, sys);
396 else
397 libmesh_error_msg("Constraints function not defined in __libmesh_tao_inequality_constraints_jacobian");
398
399 J_petsc.close();
400 Jpre_petsc.close();
401
402 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
403 }

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ __libmesh_tao_objective()

PetscErrorCode libMesh::__libmesh_tao_objective ( Tao  tao,
Vec  x,
PetscReal *  objective,
void *  ctx 
)

Definition at line 50 of file tao_optimization_solver.C.

51 {
52 PetscFunctionBegin;
53
54 LOG_SCOPE("objective()", "TaoOptimizationSolver");
55
57 libmesh_assert(objective);
58 libmesh_assert(ctx);
59
60 // ctx should be a pointer to the solver (it was passed in as void *)
62 static_cast<TaoOptimizationSolver<Number> *> (ctx);
63
64 OptimizationSystem & sys = solver->system();
65
66 // We'll use current_local_solution below, so let's ensure that it's consistent
67 // with the vector x that was passed in.
68 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
69 PetscVector<Number> X(x, sys.comm());
70
71 // Perform a swap so that sys.solution points to the input vector
72 // "x", update sys.current_local_solution based on "x", then swap
73 // back.
74 X.swap(X_sys);
75 sys.update();
76 X.swap(X_sys);
77
78 // Enforce constraints (if any) exactly on the
79 // current_local_solution. This is the solution vector that is
80 // actually used in the computation of the objective function
81 // below, and is not locked by debug-enabled PETSc the way that
82 // the solution vector is.
83 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
84
85 if (solver->objective_object != nullptr)
86 (*objective) = PS(solver->objective_object->objective(*(sys.current_local_solution), sys));
87 else
88 libmesh_error_msg("Objective function not defined in __libmesh_tao_objective");
89
90 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
91 }
PetscScalar PS(T val)

Referenced by libMesh::TaoOptimizationSolver< T >::solve().

◆ absolute_fuzzy_equals()

template<typename T , typename T2 >
bool libMesh::absolute_fuzzy_equals ( const T &  var1,
const T2 &  var2,
const Real  tol = TOLERANCE * TOLERANCE 
)

Function to check whether two variables are equal within an absolute tolerance.

Parameters
var1The first variable to be checked
var2The second variable to be checked
tolThe tolerance to be used
Returns
true if var1 and var2 are equal within tol

Definition at line 64 of file fuzzy_equals.h.

65{
66 return MetaPhysicL::raw_value(l1_norm_diff(var1, var2)) <= tol;
67}
auto l1_norm_diff(const NumericVector< T > &vec1, const NumericVector< T > &vec2)

References l1_norm_diff().

Referenced by libMesh::TypeVector< T >::absolute_fuzzy_equals(), relative_fuzzy_equals(), and MeshSmootherTest::testVariationalSmoother().

◆ add_command_line_name()

void libMesh::add_command_line_name ( const std::string &  name)

Add a name to the set of queried command-line names.

Definition at line 903 of file libmesh.C.

904{
905 // Users had better not be asking about an empty string
906 libmesh_assert(!name.empty());
907
908 static std::mutex command_line_names_mutex;
909 std::scoped_lock lock(command_line_names_mutex);
910
911 command_line_name_set.insert(name);
912}

References libmesh_assert().

Referenced by add_command_line_names(), command_line_next(), command_line_value(), command_line_value(), command_line_vector(), and on_command_line().

◆ add_command_line_names()

void libMesh::add_command_line_names ( const GetPot &  getpot)

Merge a GetPot object's requested names into the set of queried command-line names.

Definition at line 916 of file libmesh.C.

917{
918 for (auto & getter : {&GetPot::get_requested_arguments,
919 &GetPot::get_requested_variables,
920 &GetPot::get_requested_sections})
921 for (const std::string & name : (getpot.*getter)())
922 add_command_line_name(name);
923}

References add_command_line_name().

Referenced by main().

◆ as_range() [1/2]

template<typename IndexType >
SimpleRange< IndexType > libMesh::as_range ( const IndexType &  first,
const IndexType &  second 
)

As above, but can be used in cases where a std::pair is not otherwise involved.

Definition at line 69 of file simple_range.h.

71{
72 return {first, second};
73}

◆ as_range() [2/2]

template<typename IndexType >
SimpleRange< IndexType > libMesh::as_range ( const std::pair< IndexType, IndexType > &  p)

Helper function that allows us to treat a homogenous pair as a range.

Useful for writing range-based for loops over the pair returned by std::equal_range() and std::map::equal_range().

Definition at line 57 of file simple_range.h.

58{
59 return {p.first, p.second};
60}

Referenced by ContrivedPartitioner::_do_partition(), libMesh::MeshRefinement::_refine_elements(), libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_node(), libMesh::BoundaryInfo::add_node(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::BoundaryInfo::add_side(), libMesh::DofMap::allgather_recursive_constraints(), assemble_poisson(), libMesh::AbaqusIO::assign_sideset_ids(), libMesh::BoundaryInfo::boundary_ids(), libMesh::BoundaryInfo::boundary_ids(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_side_list_from_node_list(), libMesh::Singleton::cleanup(), libMesh::CentroidPartitioner::compute_vertex_avgs(), connect_children(), libMesh::UnstructuredMesh::contract(), libMesh::UnstructuredMesh::create_submesh(), libMesh::MeshCommunication::delete_remote_elements(), DMCreateFieldDecomposition_libMesh(), libMesh::DTKAdapter::DTKAdapter(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::LocationMap< T >::find(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DTKAdapter::get_semi_local_nodes(), libMesh::UNVIO::groups_in(), libMesh::BoundaryInfo::has_boundary_id(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::join(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_remote_elems(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::DofMap::merge_ghost_functor_outputs(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::MeshTools::n_active_levels(), libMesh::CheckpointIO::n_active_levels_in(), libMesh::MeshTools::n_levels(), libMesh::MeshTools::n_local_levels(), libMesh::MeshTools::n_non_subactive_elem_of_type_at_level(), libMesh::MeshTools::n_p_levels(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), AugmentSparsityOnInterface::operator()(), libMesh::DefaultCoupling::operator()(), libMesh::GhostPointNeighbors::operator()(), libMesh::NonManifoldGhostingFunctor::operator()(), libMesh::OverlapCoupling::operator()(), libMesh::PointNeighborCoupling::operator()(), libMesh::SiblingCoupling::operator()(), OverlappingCouplingFunctor::operator()(), AugmentSparsityOnNodes::operator()(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::LinearPartitioner::partition_range(), libMesh::MappedSubdomainPartitioner::partition_range(), libMesh::MetisPartitioner::partition_range(), libMesh::SFCPartitioner::partition_range(), libMesh::Partitioner::partition_unpartitioned_elements(), query_ghosting_functors(), libMesh::BoundaryInfo::raw_boundary_ids(), libMesh::BoundaryInfo::raw_edge_boundary_ids(), libMesh::BoundaryInfo::raw_shellface_boundary_ids(), libMesh::GmshIO::read_mesh(), libMesh::MeshBase::redistribute(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::Partitioner::set_node_processor_ids(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::BoundaryInfo::shellface_boundary_ids(), libMesh::BoundaryInfo::side_boundary_ids(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::BoundaryInfo::sides_with_boundary_id(), libMesh::Partitioner::single_partition_range(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::MeshTools::Modification::smooth(), libMesh::Parallel::sync_node_data_by_element_id_once(), RBParametersTest::testIteratorsWithSamples(), libMesh::BoundaryInfo::transfer_boundary_ids_from_children(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::MeshTools::volume(), libMesh::TecplotIO::write_binary(), libMesh::XdrIO::write_serialized_bcs_helper(), and libMesh::XdrIO::write_serialized_connectivity().

◆ cast_int()

template<typename Tnew , typename Told >
Tnew libMesh::cast_int ( Told  oldvar)
inline

Definition at line 670 of file libmesh_common.h.

671{
672 libmesh_assert_equal_to
673 (oldvar, static_cast<Told>(static_cast<Tnew>(oldvar)));
674
675 return(static_cast<Tnew>(oldvar));
676}

◆ cast_ptr()

template<typename Tnew , typename Told >
Tnew libMesh::cast_ptr ( Told *  oldvar)
inline

Definition at line 629 of file libmesh_common.h.

630{
631#if !defined(NDEBUG) && defined(LIBMESH_HAVE_RTTI)
632 Tnew newvar = dynamic_cast<Tnew>(oldvar);
633 if (!newvar)
634 {
635 libMesh::err << "Failed to convert " << demangle(typeid(Told).name())
636 << " pointer to " << demangle(typeid(Tnew).name())
637 << std::endl;
638 libMesh::err << "The " << demangle(typeid(Told).name())
639 << " appears to be a "
640 << demangle(typeid(*oldvar).name()) << std::endl;
641 libmesh_error();
642 }
643 return newvar;
644#else
645 return(static_cast<Tnew>(oldvar));
646#endif
647}
OStreamProxy err
std::string demangle(const char *name)
Mostly system independent demangler.

References demangle(), and err.

Referenced by libMesh::Parameters::have_parameter(), and main().

◆ cast_ref()

template<typename Tnew , typename Told >
Tnew libMesh::cast_ref ( Told &  oldvar)
inline

Definition at line 603 of file libmesh_common.h.

604{
605#if !defined(NDEBUG) && defined(LIBMESH_HAVE_RTTI) && defined(LIBMESH_ENABLE_EXCEPTIONS)
606 try
607 {
608 Tnew newvar = dynamic_cast<Tnew>(oldvar);
609 return newvar;
610 }
611 catch (std::bad_cast &)
612 {
613 libMesh::err << "Failed to convert " << demangle(typeid(Told).name())
614 << " reference to " << demangle(typeid(Tnew).name())
615 << std::endl;
616 libMesh::err << "The " << demangle(typeid(Told).name())
617 << " appears to be a "
618 << demangle(typeid(*(&oldvar)).name()) << std::endl;
619 libmesh_error();
620 }
621#else
622 return(static_cast<Tnew>(oldvar));
623#endif
624}

References demangle(), and err.

◆ chi_epsilon()

Real libMesh::chi_epsilon ( const Real x,
const Real  epsilon_squared 
)

Function to prevent dividing by zero for degenerate elements.

Definition at line 66 of file variational_smoother_system.C.

67{
68 return 0.5 * (x + std::sqrt(epsilon_squared + Utility::pow<2>(x)));
69}

Referenced by libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), and libMesh::VariationalSmootherSystem::element_time_derivative().

◆ circumcenter()

template<typename T >
TypeVector< T > libMesh::circumcenter ( const TypeVector< T > &  p0,
const TypeVector< T > &  p1,
const TypeVector< T > &  p2 
)
inline

Definition at line 1080 of file type_vector.h.

1083{
1084 // smallest subchords in Edge3 order, but this works for any order
1085 const TypeVector<T> e02 = p2 - p0;
1086 const TypeVector<T> e21 = p1 - p2;
1087
1088 const TypeVector<T> scaled_vec = e02.norm_sq()*e21 + e21.norm_sq()*e02;
1089#if LIBMESH_DIM == 3
1090 const TypeVector<T> numerator =
1091 (e02.cross(e21)).cross(scaled_vec);
1092#else
1093 const T e02_cross_e21_z = e02(0)*e21(1)-e02(1)*e21(0);
1094 const TypeVector<T> numerator {-e02_cross_e21_z*scaled_vec(1),
1095 e02_cross_e21_z*scaled_vec(0)};
1096#endif
1097 const TypeVector<T> e2C =
1098 numerator*T(0.5)/cross_norm_sq(e02,e21);
1099
1100 return p2 + e2C;
1101}
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition type_vector.h:63
auto norm_sq() const
TypeVector< typename CompareTypes< T, T2 >::supertype > cross(const TypeVector< T2 > &v) const

References libMesh::TypeVector< T >::cross(), cross_norm_sq(), and libMesh::TypeVector< T >::norm_sq().

Referenced by TypeVectorTestBase< DerivedClass >::testCircumcenter().

◆ cleanup_stream_buffers()

void libMesh::cleanup_stream_buffers ( )

Helper to do cleanup from both destructor and terminate.

Definition at line 244 of file libmesh.C.

245{
246 // Before resetting the stream buffers, let's remove our thread wrappers
247 if (!libMesh::on_command_line ("--disable-thread-safe-output"))
249
250 if (libMesh::on_command_line ("--redirect-stdout") ||
251 libMesh::on_command_line ("--redirect-output"))
252 {
253 // If stdout/stderr were redirected to files, reset them now.
254 libMesh::out.rdbuf (out_buf);
255 libMesh::err.rdbuf (err_buf);
256 }
257
258 // If we built our own output streams, we want to clean them up.
259 if (libMesh::on_command_line ("--separate-libmeshout"))
260 {
261 delete libMesh::out.get();
262 delete libMesh::err.get();
263
264 libMesh::out.reset(std::cout);
265 libMesh::err.reset(std::cerr);
266 }
267}
streambufT * rdbuf() const
Get the associated stream buffer.
streamT * get()
Rather than implement every ostream/ios/ios_base function, we'll be lazy and make esoteric uses go th...
void reset(streamT &target)
Reset the proxy to point to a different target.
void uninstall_thread_buffered_sync()
Definition libmesh.C:212
bool on_command_line(std::string arg)
Definition libmesh.C:934

References err, libMesh::BasicOStreamProxy< charT, traits >::get(), on_command_line(), out, libMesh::BasicOStreamProxy< charT, traits >::rdbuf(), libMesh::BasicOStreamProxy< charT, traits >::reset(), and uninstall_thread_buffered_sync().

Referenced by libMesh::LibMeshInit::~LibMeshInit().

◆ closed()

bool libMesh::closed ( )

Checks that the library has been closed.

This should always return false when called from a library object. It is useful to libmesh_assert(!libMeshclosed()) in library object destructors.

Definition at line 331 of file libmesh.C.

332{
333 return !libMeshPrivateData::_is_initialized;
334}

References libMesh::libMeshPrivateData::_is_initialized.

Referenced by libMesh::PetscMatrix< T >::_get_submatrix(), libMesh::PetscMatrix< T >::add_sparse_matrix(), libMesh::PetscMatrix< T >::clone(), libMesh::PetscMatrix< T >::copy_from_hash(), libMesh::PetscMatrix< T >::create_submatrix_nosort(), libMesh::PetscMatrix< T >::get_row(), libMesh::EigenSparseVector< T >::l1_norm(), libMesh::LaspackVector< T >::l1_norm(), libMesh::EpetraVector< T >::l1_norm(), libMesh::EigenSparseVector< T >::l2_norm(), libMesh::LaspackVector< T >::l2_norm(), libMesh::EpetraVector< T >::l2_norm(), libMesh::EigenSparseVector< T >::linfty_norm(), libMesh::LaspackVector< T >::linfty_norm(), libMesh::EpetraVector< T >::linfty_norm(), libMesh::DistributedVector< T >::max(), libMesh::DistributedVector< T >::min(), libMesh::PetscMatrix< T >::norm(), libMesh::PetscVector< T >::norm(), libMesh::PetscMatrix< T >::operator()(), libMesh::EpetraVector< T >::operator*=(), libMesh::EigenSparseVector< T >::operator*=(), libMesh::DistributedVector< T >::operator+=(), libMesh::EigenSparseVector< T >::operator+=(), libMesh::LaspackVector< T >::operator+=(), libMesh::PetscVector< T >::operator+=(), libMesh::EpetraVector< T >::operator+=(), libMesh::DistributedVector< T >::operator-=(), libMesh::EigenSparseVector< T >::operator-=(), libMesh::LaspackVector< T >::operator-=(), libMesh::PetscVector< T >::operator-=(), libMesh::EpetraVector< T >::operator-=(), libMesh::EpetraVector< T >::operator/=(), libMesh::EigenSparseVector< T >::operator/=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::PetscVector< T >::operator=(), libMesh::PetscMatrix< T >::print_matlab(), libMesh::PetscVector< T >::print_matlab(), libMesh::PetscMatrix< T >::print_personal(), libMesh::NumericVector< T >::readable(), libMesh::SparseMatrix< T >::scale(), libMesh::PetscMatrix< T >::scale(), libMesh::EigenSparseVector< T >::sum(), libMesh::LaspackVector< T >::sum(), libMesh::PetscVector< T >::sum(), libMesh::EpetraVector< T >::sum(), libMesh::DistributedVector< T >::zero(), libMesh::EigenSparseVector< T >::zero(), libMesh::LaspackVector< T >::zero(), libMesh::PetscVector< T >::zero(), libMesh::EpetraVector< T >::zero(), libMesh::PetscMatrix< T >::zero_clone(), libMesh::LibMeshInit::~LibMeshInit(), libMesh::MeshBase::~MeshBase(), libMesh::System::~System(), and libMesh::UnstructuredMesh::~UnstructuredMesh().

◆ command_line_names()

std::vector< std::string > libMesh::command_line_names ( )
Returns
The set of names which this program has queried or expected to query via the libMesh command line interface.

This is useful for detecting any future conflicts with other packages (such as PETSc) which manage command line values, and for avoiding UFO warnings from such packages.

Definition at line 926 of file libmesh.C.

927{
928 return std::vector<std::string>(command_line_name_set.begin(),
929 command_line_name_set.end());
930}

Referenced by libMesh::LibMeshInit::~LibMeshInit().

◆ command_line_next()

template<typename T >
T libMesh::command_line_next ( std::string  name,
default_value 
)

Use GetPot's search()/next() functions to get following arguments from the command line.

For backwards compatibility with past option naming conventions, libMesh searches for the given argument first in its original form, then with all underscores changed to dashes, then with all dashes (except any leading dashes) changed to underscores, and returns true if any of the above finds a match.

This routine manipulates the command_line cursor and should not be called concurrently with similar utilities in multiple threads.

Definition at line 1025 of file libmesh.C.

1026{
1027 // Make sure the command line parser is ready for use
1028 libmesh_assert(command_line.get());
1029
1030 // Keep track of runtime queries, for later
1032
1033 // on_command_line also puts the command_line cursor in the spot we
1034 // need
1035 if (on_command_line(name))
1036 return command_line->next(value);
1037
1038 return value;
1039}
void add_command_line_name(const std::string &name)
Add a name to the set of queried command-line names.
Definition libmesh.C:903
static const bool value
Definition xdr_io.C:55

References add_command_line_name(), libmesh_assert(), on_command_line(), and value.

Referenced by assert_argument(), libMesh::NloptOptimizationSolver< T >::init(), libMesh::PetscDMWrapper::init_petscdm(), main(), GetPotTest::testCommandLine(), and libMesh::DofMap::use_coupled_neighbor_dofs().

◆ command_line_next< char >()

template LIBMESH_EXPORT char libMesh::command_line_next< char > ( std::string  ,
char   
)

◆ command_line_next< double >()

template LIBMESH_EXPORT double libMesh::command_line_next< double > ( std::string  ,
double   
)

◆ command_line_next< float >()

template LIBMESH_EXPORT float libMesh::command_line_next< float > ( std::string  ,
float   
)

◆ command_line_next< int >()

template LIBMESH_EXPORT int libMesh::command_line_next< int > ( std::string  ,
int   
)

◆ command_line_next< long double >()

template LIBMESH_EXPORT long double libMesh::command_line_next< long double > ( std::string  ,
long double   
)

◆ command_line_next< Real >()

template LIBMESH_EXPORT Real libMesh::command_line_next< Real > ( std::string  ,
Real   
)

◆ command_line_next< short >()

template LIBMESH_EXPORT short libMesh::command_line_next< short > ( std::string  ,
short   
)

◆ command_line_next< std::string >()

template LIBMESH_EXPORT std::string libMesh::command_line_next< std::string > ( std::string  ,
std::string   
)

◆ command_line_next< unsigned char >()

template LIBMESH_EXPORT unsigned char libMesh::command_line_next< unsigned char > ( std::string  ,
unsigned char   
)

◆ command_line_next< unsigned int >()

template LIBMESH_EXPORT unsigned int libMesh::command_line_next< unsigned int > ( std::string  ,
unsigned int   
)

◆ command_line_next< unsigned short >()

template LIBMESH_EXPORT unsigned short libMesh::command_line_next< unsigned short > ( std::string  ,
unsigned short   
)

◆ command_line_value() [1/2]

template<typename T >
T libMesh::command_line_value ( const std::string &  name,
value 
)
Returns
The value associated with name on the command line if it is specified, otherwise return the default, provided value. A second template function is provided to support recognizing multiple variations of a given option

This routine manipulates the command_line cursor and should not be called concurrently with similar utilities in multiple threads.

Definition at line 971 of file libmesh.C.

972{
973 // Make sure the command line parser is ready for use
974 libmesh_assert(command_line.get());
975
976 // only if the variable exists in the file
977 if (command_line->have_variable(name))
978 {
979 value = (*command_line)(name, value);
980
981 // Keep track of runtime queries, for later. GetPot splits
982 // foo=bar into a separate name=value, so we can query for the
983 // name, but as far as PETSc is concerned that's one CLI
984 // argument. We'll store it that way.
985 const std::string stringvalue =
986 (*command_line)(name, std::string());
987 add_command_line_name(name+"="+stringvalue);
988 }
989
990 return value;
991}

References add_command_line_name(), libmesh_assert(), and value.

Referenced by Biharmonic::Biharmonic(), libMesh::DistributedMesh::DistributedMesh(), main(), petsc_auto_fieldsplit(), and libMesh::ReplicatedMesh::ReplicatedMesh().

◆ command_line_value() [2/2]

template<typename T >
T libMesh::command_line_value ( const std::vector< std::string > &  names,
value 
)

Definition at line 994 of file libmesh.C.

995{
996 // Make sure the command line parser is ready for use
997 libmesh_assert(command_line.get());
998
999 // Keep track of runtime queries, for later
1000 for (const auto & entry : names)
1001 {
1002 // Keep track of runtime queries, for later. GetPot splits
1003 // foo=bar into a separate name=value, so we can query for the
1004 // name, but as far as PETSc is concerned that's one CLI
1005 // argument. We'll store it that way.
1006 const std::string stringvalue =
1007 (*command_line)(entry, std::string());
1008 add_command_line_name(entry+"="+stringvalue);
1009 }
1010
1011 // Check for multiple options (return the first that matches)
1012 for (const auto & entry : names)
1013 if (command_line->have_variable(entry))
1014 {
1015 value = (*command_line)(entry, value);
1016 break;
1017 }
1018
1019 return value;
1020}

References add_command_line_name(), libmesh_assert(), and value.

◆ command_line_value< char >() [1/2]

template LIBMESH_EXPORT char libMesh::command_line_value< char > ( const std::string &  ,
char   
)

◆ command_line_value< char >() [2/2]

template LIBMESH_EXPORT char libMesh::command_line_value< char > ( const std::vector< std::string > &  ,
char   
)

◆ command_line_value< double >() [1/2]

template LIBMESH_EXPORT double libMesh::command_line_value< double > ( const std::string &  ,
double   
)

◆ command_line_value< double >() [2/2]

template LIBMESH_EXPORT double libMesh::command_line_value< double > ( const std::vector< std::string > &  ,
double   
)

◆ command_line_value< float >() [1/2]

template LIBMESH_EXPORT float libMesh::command_line_value< float > ( const std::string &  ,
float   
)

◆ command_line_value< float >() [2/2]

template LIBMESH_EXPORT float libMesh::command_line_value< float > ( const std::vector< std::string > &  ,
float   
)

◆ command_line_value< int >() [1/2]

template LIBMESH_EXPORT int libMesh::command_line_value< int > ( const std::string &  ,
int   
)

◆ command_line_value< int >() [2/2]

template LIBMESH_EXPORT int libMesh::command_line_value< int > ( const std::vector< std::string > &  ,
int   
)

◆ command_line_value< long double >() [1/2]

template LIBMESH_EXPORT long double libMesh::command_line_value< long double > ( const std::string &  ,
long double   
)

◆ command_line_value< long double >() [2/2]

template LIBMESH_EXPORT long double libMesh::command_line_value< long double > ( const std::vector< std::string > &  ,
long double   
)

◆ command_line_value< Real >() [1/2]

template LIBMESH_EXPORT Real libMesh::command_line_value< Real > ( const std::string &  ,
Real   
)

◆ command_line_value< Real >() [2/2]

template LIBMESH_EXPORT Real libMesh::command_line_value< Real > ( const std::vector< std::string > &  ,
Real   
)

◆ command_line_value< short >() [1/2]

template LIBMESH_EXPORT short libMesh::command_line_value< short > ( const std::string &  ,
short   
)

◆ command_line_value< short >() [2/2]

template LIBMESH_EXPORT short libMesh::command_line_value< short > ( const std::vector< std::string > &  ,
short   
)

◆ command_line_value< std::string >() [1/2]

template LIBMESH_EXPORT std::string libMesh::command_line_value< std::string > ( const std::string &  ,
std::string   
)

◆ command_line_value< std::string >() [2/2]

template LIBMESH_EXPORT std::string libMesh::command_line_value< std::string > ( const std::vector< std::string > &  ,
std::string   
)

◆ command_line_value< unsigned char >() [1/2]

template LIBMESH_EXPORT unsigned char libMesh::command_line_value< unsigned char > ( const std::string &  ,
unsigned char   
)

◆ command_line_value< unsigned char >() [2/2]

template LIBMESH_EXPORT unsigned char libMesh::command_line_value< unsigned char > ( const std::vector< std::string > &  ,
unsigned char   
)

◆ command_line_value< unsigned int >() [1/2]

template LIBMESH_EXPORT unsigned int libMesh::command_line_value< unsigned int > ( const std::string &  ,
unsigned int   
)

◆ command_line_value< unsigned int >() [2/2]

template LIBMESH_EXPORT unsigned int libMesh::command_line_value< unsigned int > ( const std::vector< std::string > &  ,
unsigned int   
)

◆ command_line_value< unsigned short >() [1/2]

template LIBMESH_EXPORT unsigned short libMesh::command_line_value< unsigned short > ( const std::string &  ,
unsigned short   
)

◆ command_line_value< unsigned short >() [2/2]

template LIBMESH_EXPORT unsigned short libMesh::command_line_value< unsigned short > ( const std::vector< std::string > &  ,
unsigned short   
)

◆ command_line_vector()

template<typename T >
void libMesh::command_line_vector ( const std::string &  name,
std::vector< T > &  vec 
)
Returns
The array of values associated with name on the command line if it is specified, otherwise return the default, provided array.

This routine manipulates the command_line cursor and should not be called concurrently with similar utilities in multiple threads.

Definition at line 1044 of file libmesh.C.

1045{
1046 // Make sure the command line parser is ready for use
1047 libmesh_assert(command_line.get());
1048
1049 // Keep track of runtime queries, for later
1051
1052 // only if the variable exists on the command line
1053 if (command_line->have_variable(name))
1054 {
1055 unsigned size = command_line->vector_variable_size(name);
1056 vec.resize(size);
1057
1058 for (unsigned i=0; i<size; ++i)
1059 vec[i] = (*command_line)(name, vec[i], i);
1060 }
1061}

References add_command_line_name(), and libmesh_assert().

Referenced by Biharmonic::Biharmonic(), and main().

◆ command_line_vector< char >()

template LIBMESH_EXPORT void libMesh::command_line_vector< char > ( const std::string &  ,
std::vector< char > &   
)

◆ command_line_vector< double >()

template LIBMESH_EXPORT void libMesh::command_line_vector< double > ( const std::string &  ,
std::vector< double > &   
)

◆ command_line_vector< float >()

template LIBMESH_EXPORT void libMesh::command_line_vector< float > ( const std::string &  ,
std::vector< float > &   
)

◆ command_line_vector< int >()

template LIBMESH_EXPORT void libMesh::command_line_vector< int > ( const std::string &  ,
std::vector< int > &   
)

◆ command_line_vector< long double >()

template LIBMESH_EXPORT void libMesh::command_line_vector< long double > ( const std::string &  ,
std::vector< long double > &   
)

◆ command_line_vector< Real >()

template LIBMESH_EXPORT void libMesh::command_line_vector< Real > ( const std::string &  ,
std::vector< Real > &   
)

◆ command_line_vector< short >()

template LIBMESH_EXPORT void libMesh::command_line_vector< short > ( const std::string &  ,
std::vector< short > &   
)

◆ command_line_vector< unsigned char >()

template LIBMESH_EXPORT void libMesh::command_line_vector< unsigned char > ( const std::string &  ,
std::vector< unsigned char > &   
)

◆ command_line_vector< unsigned int >()

template LIBMESH_EXPORT void libMesh::command_line_vector< unsigned int > ( const std::string &  ,
std::vector< unsigned int > &   
)

◆ command_line_vector< unsigned short >()

template LIBMESH_EXPORT void libMesh::command_line_vector< unsigned short > ( const std::string &  ,
std::vector< unsigned short > &   
)

◆ communicate_pair_max()

void libMesh::communicate_pair_max ( std::pair< Real, dof_id_type > &  pair,
const Parallel::Communicator comm 
)

Definition at line 55 of file variational_smoother_system.C.

56{
57 // Get rank where minimum occurs
58 unsigned int rank;
59 comm.maxloc(pair.first, rank);
60 comm.broadcast(pair.second, rank);
61}
void maxloc(T &r, unsigned int &max_id) const
void broadcast(T &data, const unsigned int root_id=0, const bool identical_sizes=false) const

References libMesh::Parallel::Communicator::broadcast(), and libMesh::Parallel::Communicator::maxloc().

Referenced by libMesh::VariationalSmootherSystem::compute_mesh_quality_info().

◆ communicate_pair_min()

void libMesh::communicate_pair_min ( std::pair< Real, dof_id_type > &  pair,
const Parallel::Communicator comm 
)

Definition at line 44 of file variational_smoother_system.C.

45{
46 // Get rank where minimum occurs
47 unsigned int rank;
48 comm.minloc(pair.first, rank);
49 comm.broadcast(pair.second, rank);
50}
void minloc(T &r, unsigned int &min_id) const

References libMesh::Parallel::Communicator::broadcast(), and libMesh::Parallel::Communicator::minloc().

Referenced by libMesh::VariationalSmootherSystem::compute_mesh_quality_info().

◆ compute_error()

Number libMesh::compute_error ( const Point p,
const Parameters params,
const std::string &  ,
const std::string &  unknown_name 
)
inline

Definition at line 36 of file exact_soln.h.

40{
41 const auto * const error_obj = params.get<const ExactSoln *>(unknown_name + "_exact_sol");
42 return (*error_obj)(p);
43}
const T & get(std::string_view) const
Definition parameters.h:451

References libMesh::Parameters::get().

Referenced by main().

◆ compute_qp_soln()

template<typename SolnType , typename PhiType >
void libMesh::compute_qp_soln ( std::vector< SolnType > &  qp_vec,
const unsigned int  n_qps,
const std::vector< std::vector< PhiType > > &  phi,
const std::vector< Number > &  dof_values 
)

Definition at line 34 of file hdg_problem.C.

38{
39 libmesh_assert(dof_values.size() == phi.size());
40 qp_vec.resize(n_qps);
41 for (auto & val : qp_vec)
42 val = {};
43 for (const auto i : index_range(phi))
44 {
45 const auto & qp_phis = phi[i];
46 libmesh_assert(qp_phis.size() == n_qps);
47 const auto sol = dof_values[i];
48 for (const auto qp : make_range(n_qps))
49 qp_vec[qp] += qp_phis[qp] * sol;
50 }
51}

References index_range(), libmesh_assert(), and make_range().

Referenced by libMesh::HDGProblem::jacobian(), and libMesh::HDGProblem::residual().

◆ connect_children()

void libMesh::connect_children ( const MeshBase mesh,
MeshBase::const_element_iterator  elem_it,
MeshBase::const_element_iterator  elem_end,
connected_elem_set_type connected_elements 
)

Definition at line 329 of file mesh_communication.C.

333{
334 // None of these parameters are used when !LIBMESH_ENABLE_AMR.
335 libmesh_ignore(mesh, elem_it, elem_end, connected_elements);
336
337#ifdef LIBMESH_ENABLE_AMR
338 // Our XdrIO output needs inactive local elements to not have any
339 // remote_elem children. Let's make sure that doesn't happen.
340 //
341 for (const auto & elem : as_range(elem_it, elem_end))
342 {
343 if (elem->has_children())
344 for (auto & child : elem->child_ref_range())
345 if (&child != remote_elem)
346 connected_elements.insert(&child);
347 }
348#endif // LIBMESH_ENABLE_AMR
349}
MeshBase & mesh
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
Helper function that allows us to treat a homogenous pair as a range.
void libmesh_ignore(const Args &...)
const RemoteElem * remote_elem
Definition remote_elem.C:57

References as_range(), libMesh::Elem::child_ref_range(), libMesh::Elem::has_children(), libmesh_ignore(), mesh, and remote_elem.

Referenced by libMesh::MeshCommunication::delete_remote_elements(), and libMesh::CheckpointIO::write().

◆ connect_element_dependencies() [1/2]

void libMesh::connect_element_dependencies ( const MeshBase mesh,
connected_elem_set_type connected_elements,
connected_node_set_type connected_nodes 
)

Definition at line 365 of file mesh_communication.C.

368{
369 // We haven't examined any of these inputs for dependencies yet, so
370 // let's mark them all as to be examined now.
371 connected_elem_set_type new_connected_elements;
372 connected_node_set_type new_connected_nodes;
373 new_connected_elements.swap(connected_elements);
374 new_connected_nodes.swap(connected_nodes);
375
376 while (!new_connected_elements.empty() ||
377 !new_connected_nodes.empty())
378 {
379 auto [newer_connected_elements,
380 newer_connected_nodes] =
382 (mesh, connected_elements, connected_nodes,
383 new_connected_elements, new_connected_nodes);
384
385 // These have now been examined
386 connected_elements.merge(new_connected_elements);
387 connected_nodes.merge(new_connected_nodes);
388
389 // merge() doesn't guarantee empty() unless there are no
390 // duplicates, which there shouldn't be
391 libmesh_assert(new_connected_elements.empty());
392 libmesh_assert(new_connected_nodes.empty());
393
394 // These now need to be examined
395 new_connected_elements.swap(newer_connected_elements);
396 new_connected_nodes.swap(newer_connected_nodes);
397 }
398}
std::set< const Elem *, CompareElemIdsByLevel > connected_elem_set_type
std::set< const Node * > connected_node_set_type
void connect_element_dependencies(const MeshBase &mesh, connected_elem_set_type &connected_elements, connected_node_set_type &connected_nodes)

References connect_element_dependencies(), libmesh_assert(), and mesh.

Referenced by connect_element_dependencies(), libMesh::MeshCommunication::delete_remote_elements(), and libMesh::CheckpointIO::write().

◆ connect_element_dependencies() [2/2]

std::pair< connected_elem_set_type, connected_node_set_type > libMesh::connect_element_dependencies ( const MeshBase mesh,
const connected_elem_set_type connected_elements,
const connected_node_set_type connected_nodes,
const connected_elem_set_type new_connected_elements,
const connected_node_set_type new_connected_nodes 
)

Definition at line 402 of file mesh_communication.C.

407{
408 std::pair<connected_elem_set_type, connected_node_set_type> returnval;
409 auto & [newer_connected_elements, newer_connected_nodes] = returnval;
410 connect_element_families(connected_elements, new_connected_elements,
411 newer_connected_elements, &mesh);
412
413 connect_nodes(new_connected_elements, connected_nodes,
414 new_connected_nodes, newer_connected_nodes);
415
416 return returnval;
417}

References mesh.

◆ convert_from_receive() [1/2]

template<typename SendT , typename T , typename IndexType >
void libMesh::convert_from_receive ( SendT &  received,
MetaPhysicL::DynamicSparseNumberArray< T, IndexType > &  converted 
)

Definition at line 83 of file system_projection.C.

85{
86 const std::size_t received_size = received.size();
87 converted.resize(received_size);
88 for (std::size_t i=0; i != received_size; ++i)
89 {
90 converted.raw_index(i) = received[i].first;
91 converted.raw_at(i) = received[i].second;
92 }
93}

◆ convert_from_receive() [2/2]

template<typename SendT , typename T >
void libMesh::convert_from_receive ( SendT &  received,
T &  converted 
)

◆ convert_solve_result()

DiffSolver::SolveResult libMesh::convert_solve_result ( SNESConvergedReason  r)

Definition at line 242 of file petsc_diff_solver.C.

243{
244 switch (r)
245 {
246 case SNES_CONVERGED_FNORM_ABS:
247 return DiffSolver::CONVERGED_ABSOLUTE_RESIDUAL;
248 case SNES_CONVERGED_FNORM_RELATIVE:
249 return DiffSolver::CONVERGED_RELATIVE_RESIDUAL;
250 case SNES_CONVERGED_SNORM_RELATIVE:
251 return DiffSolver::CONVERGED_RELATIVE_STEP;
252 case SNES_CONVERGED_ITS:
253 // SNES_CONVERGED_TR_DELTA was changed to a diverged condition,
254 // SNES_DIVERGED_TR_DELTA, in PETSc 1c6b2ff8df. This change will
255 // likely be in 3.12 and later releases.
256#if PETSC_VERSION_LESS_THAN(3,12,0)
257 case SNES_CONVERGED_TR_DELTA:
258#endif
259 return DiffSolver::CONVERGED_NO_REASON;
260 case SNES_DIVERGED_FUNCTION_DOMAIN:
261 case SNES_DIVERGED_FUNCTION_COUNT:
262#if PETSC_VERSION_LESS_THAN(3,25,0)
263 case SNES_DIVERGED_FNORM_NAN:
264#else
265 case SNES_DIVERGED_FUNCTION_NANORINF:
266#endif
267#if !PETSC_VERSION_LESS_THAN(3,12,0)
268 case SNES_DIVERGED_TR_DELTA:
269#endif
270 case SNES_DIVERGED_INNER:
271 case SNES_DIVERGED_LINEAR_SOLVE:
272 case SNES_DIVERGED_LOCAL_MIN:
273 return DiffSolver::DIVERGED_NO_REASON;
274 case SNES_DIVERGED_MAX_IT:
275 return DiffSolver::DIVERGED_MAX_NONLINEAR_ITERATIONS;
276 case SNES_DIVERGED_LINE_SEARCH:
277 return DiffSolver::DIVERGED_BACKTRACKING_FAILURE;
278 // In PETSc, SNES_CONVERGED_ITERATING means
279 // the solve is still iterating, but by the
280 // time we get here, we must have either
281 // converged or diverged, so
282 // SNES_CONVERGED_ITERATING is invalid.
283 case SNES_CONVERGED_ITERATING:
284 return DiffSolver::INVALID_SOLVE_RESULT;
285 default:
286 break;
287 }
288 return DiffSolver::INVALID_SOLVE_RESULT;
289}

References libMesh::DiffSolver::CONVERGED_ABSOLUTE_RESIDUAL, libMesh::DiffSolver::CONVERGED_NO_REASON, libMesh::DiffSolver::CONVERGED_RELATIVE_RESIDUAL, libMesh::DiffSolver::CONVERGED_RELATIVE_STEP, libMesh::DiffSolver::DIVERGED_BACKTRACKING_FAILURE, libMesh::DiffSolver::DIVERGED_MAX_NONLINEAR_ITERATIONS, libMesh::DiffSolver::DIVERGED_NO_REASON, and libMesh::DiffSolver::INVALID_SOLVE_RESULT.

Referenced by libMesh::PetscDiffSolver::solve().

◆ convert_to_send() [1/2]

template<typename T >
const TypeToSend< T >::type libMesh::convert_to_send ( const T &  in)

◆ convert_to_send() [2/2]

template<typename T , typename IndexType >
const std::vector< std::pair< IndexType, T > > libMesh::convert_to_send ( MetaPhysicL::DynamicSparseNumberArray< T, IndexType > &  in)

Definition at line 69 of file system_projection.C.

70{
71 const std::size_t in_size = in.size();
72 std::vector<std::pair<IndexType,T>> returnval(in_size);
73
74 for (std::size_t i=0; i != in_size; ++i)
75 {
76 returnval[i].first = in.raw_index(i);
77 returnval[i].second = in.raw_at(i);
78 }
79 return returnval;
80}

◆ cross_norm()

template<typename T >
T libMesh::cross_norm ( const TypeVector< T > &  b,
const TypeVector< T > &  c 
)
inline

Calls cross_norm_sq() and takes the square root of the result.

Definition at line 1132 of file type_vector.h.

1134{
1135 using std::sqrt;
1136 return sqrt(cross_norm_sq(b,c));
1137}
static const Real b
T cross_norm_sq(const TypeVector< T > &b, const TypeVector< T > &c)
Compute |b x c|^2 without creating the extra temporary produced by calling b.cross(c)....

References b, and cross_norm_sq().

Referenced by libMesh::Elem::quality(), libMesh::Quad::quality(), libMesh::Tri::quality(), libMesh::Quad4::true_centroid(), libMesh::TriangulatorInterface::verify_quadratic_elements(), libMesh::Quad4::volume(), libMesh::Quad8::volume(), libMesh::Quad9::volume(), libMesh::Tri3::volume(), and libMesh::Tri6::volume().

◆ cross_norm_sq()

template<typename T >
T libMesh::cross_norm_sq ( const TypeVector< T > &  b,
const TypeVector< T > &  c 
)
inline

Compute |b x c|^2 without creating the extra temporary produced by calling b.cross(c).norm_sq().

Definition at line 1111 of file type_vector.h.

1113{
1114 T z = b(0)*c(1) - b(1)*c(0);
1115
1116#if LIBMESH_DIM == 3
1117 T x = b(1)*c(2) - b(2)*c(1),
1118 y = b(0)*c(2) - b(2)*c(0);
1119 return x*x + y*y + z*z;
1120#else
1121 return z*z;
1122#endif
1123}

References b.

Referenced by circumcenter(), cross_norm(), libMesh::C0Polygon::true_centroid(), and libMesh::C0Polygon::volume().

◆ default_grainsize()

unsigned int libMesh::default_grainsize ( )
inline
Returns
The default grain size (work unit, chunk size), typically measured in nodes or elements or vector indices, below which work will not be split between additional threads.

Definition at line 117 of file libmesh_base.h.

118{
120}
unsigned int _default_grainsize
Minimum number of elements/nodes/indices per thread above which we can split work onto more threads.
Definition libmesh.C:304

References libMesh::libMeshPrivateData::_default_grainsize.

Referenced by libMesh::IntRange< T >::grainsize().

◆ default_solver_package()

SolverPackage libMesh::default_solver_package ( )
Returns
The default solver interface to use. The value depends on which solver packages were available when the library was configured. The command-line is also checked, allowing the user to override the compiled default. For example, --use-petsc will force the use of PETSc solvers, and --use-laspack will force the use of LASPACK solvers.

Definition at line 1064 of file libmesh.C.

1065{
1067
1068 static bool called = false;
1069
1070 // Check the command line. Since the command line is
1071 // unchanging it is sufficient to do this only once.
1072 if (!called)
1073 {
1074 called = true;
1075
1076#ifdef LIBMESH_HAVE_PETSC
1077 if (libMesh::on_command_line ("--use-petsc"))
1078 libMeshPrivateData::_solver_package = PETSC_SOLVERS;
1079#endif
1080
1081#ifdef LIBMESH_TRILINOS_HAVE_AZTECOO
1082 if (libMesh::on_command_line ("--use-trilinos") ||
1083 libMesh::on_command_line ("--disable-petsc"))
1084 libMeshPrivateData::_solver_package = TRILINOS_SOLVERS;
1085#endif
1086
1087#ifdef LIBMESH_HAVE_EIGEN
1088 if (libMesh::on_command_line ("--use-eigen" ) ||
1089#if defined(LIBMESH_HAVE_MPI)
1090 // If the user bypassed MPI, we disable PETSc and Trilinos
1091 // too
1092 libMesh::on_command_line ("--disable-mpi") ||
1093#endif
1094 libMesh::on_command_line ("--disable-petsc"))
1095 libMeshPrivateData::_solver_package = EIGEN_SOLVERS;
1096#endif
1097
1098#ifdef LIBMESH_HAVE_LASPACK
1099 if (libMesh::on_command_line ("--use-laspack" ) ||
1100#if defined(LIBMESH_HAVE_MPI)
1101 // If the user bypassed MPI, we disable PETSc and Trilinos
1102 // too
1103 libMesh::on_command_line ("--disable-mpi") ||
1104#endif
1105 libMesh::on_command_line ("--disable-petsc"))
1106 libMeshPrivateData::_solver_package = LASPACK_SOLVERS;
1107#endif
1108
1109 if (libMesh::on_command_line ("--disable-laspack") &&
1110 libMesh::on_command_line ("--disable-trilinos") &&
1111 libMesh::on_command_line ("--disable-eigen") &&
1112 (
1113#if defined(LIBMESH_HAVE_MPI)
1114 // If the user bypassed MPI, we disable PETSc too
1115 libMesh::on_command_line ("--disable-mpi") ||
1116#endif
1117 libMesh::on_command_line ("--disable-petsc")))
1118 libMeshPrivateData::_solver_package = INVALID_SOLVER_PACKAGE;
1119 }
1120
1121
1122 return libMeshPrivateData::_solver_package;
1123}
bool initialized()
Checks that library initialization has been done.
Definition libmesh.C:324

References libMesh::libMeshPrivateData::_solver_package, EIGEN_SOLVERS, initialized(), INVALID_SOLVER_PACKAGE, LASPACK_SOLVERS, libmesh_assert(), on_command_line(), PETSC_SOLVERS, and TRILINOS_SOLVERS.

Referenced by libMesh::System::add_matrix(), libMesh::System::add_vector(), main(), and libMesh::StaticCondensation::solver_package().

◆ demangle()

std::string libMesh::demangle ( const char *  name)

Mostly system independent demangler.

Definition at line 112 of file libmesh_common.C.

113{
114 int status = 0;
115 std::string ret = name;
116
117 // Actually do the demangling
118 char * demangled_name = abi::__cxa_demangle(name, 0, 0, &status);
119
120 // If demangling returns non-nullptr, save the result in a string.
121 if (demangled_name)
122 ret = demangled_name;
123
124 // According to cxxabi.h docs, the caller is responsible for
125 // deallocating memory.
126 std::free(demangled_name);
127
128 return ret;
129}

Referenced by cast_ptr(), cast_ref(), libMesh::Parameters::get(), and libMesh::Parameters::Parameter< T >::type().

◆ enableFPE()

void libMesh::enableFPE ( bool  on)

Toggle hardware trap floating point exceptions.

Toggle floating point exceptions – courtesy of Cody Permann & MOOSE team.

Definition at line 194 of file libmesh_exceptions.C.

195{
196#if !defined(LIBMESH_HAVE_FEENABLEEXCEPT) && defined(LIBMESH_HAVE_XMMINTRIN_H)
197 static int flags = 0;
198#endif
199
200 if (on)
201 {
202#ifdef LIBMESH_HAVE_FEENABLEEXCEPT
203 feenableexcept(FE_DIVBYZERO | FE_INVALID);
204#elif LIBMESH_HAVE_XMMINTRIN_H
205 flags = _MM_GET_EXCEPTION_MASK(); // store the flags
206 _MM_SET_EXCEPTION_MASK(flags & ~_MM_MASK_INVALID);
207#endif
208
209#if LIBMESH_HAVE_DECL_SIGACTION
210 struct sigaction new_action, old_action;
211
212 // Set up the structure to specify the new action.
213 new_action.sa_sigaction = libmesh_handleFPE;
214 sigemptyset (&new_action.sa_mask);
215 new_action.sa_flags = SA_SIGINFO;
216
217 sigaction (SIGFPE, nullptr, &old_action);
218 if (old_action.sa_handler != SIG_IGN)
219 sigaction (SIGFPE, &new_action, nullptr);
220#endif
221 }
222 else
223 {
224#ifdef LIBMESH_HAVE_FEDISABLEEXCEPT
225 fedisableexcept(FE_DIVBYZERO | FE_INVALID);
226#elif LIBMESH_HAVE_XMMINTRIN_H
227 _MM_SET_EXCEPTION_MASK(flags);
228#endif
229 signal(SIGFPE, SIG_DFL);
230 }
231}

Referenced by libMesh::LibMeshInit::~LibMeshInit().

◆ enableSEGV()

void libMesh::enableSEGV ( bool  on)

Toggle libMesh reporting of segmentation faults.

Definition at line 236 of file libmesh_exceptions.C.

237{
238#if LIBMESH_HAVE_DECL_SIGACTION
239 static struct sigaction old_action;
240 static bool was_on = false;
241
242 if (on)
243 {
244 struct sigaction new_action;
245 was_on = true;
246
247 // Set up the structure to specify the new action.
248 new_action.sa_sigaction = libmesh_handleSEGV;
249 sigemptyset (&new_action.sa_mask);
250 new_action.sa_flags = SA_SIGINFO;
251
252 sigaction (SIGSEGV, &new_action, &old_action);
253 }
254 else if (was_on)
255 {
256 was_on = false;
257 sigaction (SIGSEGV, &old_action, nullptr);
258 }
259#else
260 libmesh_error_msg("System call sigaction not supported.");
261#endif
262}

◆ enableSIGINT()

void libMesh::enableSIGINT ( bool  on)

Toggle libMesh handling of SIGINT (Ctrl+C) interrupts.

Definition at line 266 of file libmesh_exceptions.C.

267{
268#if LIBMESH_HAVE_DECL_SIGACTION
269 static struct sigaction old_action;
270 static bool was_on = false;
271
272 if (on)
273 {
274 struct sigaction new_action;
275 was_on = true;
276
277 // Set up the structure to specify the new action.
278 new_action.sa_sigaction = libmesh_handleSIGINT;
279 sigemptyset (&new_action.sa_mask);
280 new_action.sa_flags = SA_SIGINFO;
281
282 sigaction (SIGINT, &new_action, &old_action);
283 }
284 else if (was_on)
285 {
286 was_on = false;
287 sigaction (SIGINT, &old_action, nullptr);
288 }
289#else
290 libmesh_error_msg("System call sigaction not supported.");
291#endif
292}

◆ err()

OStreamProxy libMesh::err ( std::cerr  )

◆ fe_fdm_deriv() [1/4]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_deriv ( const Elem elem,
const Order  order,
const unsigned int  i,
const unsigned int  j,
const Point p,
const bool  add_p_level,
OutputShape(*)(const Elem *, const Order, const unsigned int, const Point &, const bool)  shape_func 
)

Helper functions for finite differenced derivatives in cases where analytical calculations haven't been done yet.

Definition at line 911 of file fe.C.

921{
922 libmesh_assert(elem);
923
924 auto [pp, pm, eps] = fdm_points(j, p);
925
926 return (shape_func(elem, order, i, pp, add_p_level) -
927 shape_func(elem, order, i, pm, add_p_level))/2./eps;
928}

References libmesh_assert().

Referenced by libMesh::FE< Dim, T >::shape_deriv().

◆ fe_fdm_deriv() [2/4]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_deriv ( const ElemType  type,
const Order  order,
const Elem elem,
const unsigned int  i,
const unsigned int  j,
const Point p,
OutputShape(*)(const ElemType type, const Order, const Elem *, const unsigned int, const Point &)  shape_func 
)

◆ fe_fdm_deriv() [3/4]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_deriv ( const ElemType  type,
const Order  order,
const Elem elem,
const unsigned int  i,
const unsigned int  j,
const Point p,
OutputShape(*)(const ElemType, const Order, const Elem *, const unsigned int, const Point &)  shape_func 
)

Definition at line 949 of file fe.C.

959{
960 auto [pp, pm, eps] = fdm_points(j, p);
961
962 return (shape_func(type, order, elem, i, pp) -
963 shape_func(type, order, elem, i, pm))/2./eps;
964}

◆ fe_fdm_deriv() [4/4]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_deriv ( const ElemType  type,
const Order  order,
const unsigned int  i,
const unsigned int  j,
const Point p,
OutputShape(*)(const ElemType, const Order, const unsigned int, const Point &)  shape_func 
)

Definition at line 932 of file fe.C.

940{
941 auto [pp, pm, eps] = fdm_points(j, p);
942
943 return (shape_func(type, order, i, pp) -
944 shape_func(type, order, i, pm))/2./eps;
945}

◆ fe_fdm_deriv< Real >() [1/3]

template Real libMesh::fe_fdm_deriv< Real > ( const Elem ,
const Order  ,
const unsigned int  ,
const unsigned int  ,
const Point ,
const bool  ,
Real(*)(const Elem *, const Order, const unsigned int, const Point &, const bool)  shape_func 
)

◆ fe_fdm_deriv< Real >() [2/3]

template Real libMesh::fe_fdm_deriv< Real > ( const ElemType  ,
const Order  ,
const Elem ,
const unsigned int  ,
const unsigned int  ,
const Point ,
Real(*)(const ElemType, const Order, const Elem *, const unsigned int, const Point &)  shape_func 
)

◆ fe_fdm_deriv< Real >() [3/3]

template Real libMesh::fe_fdm_deriv< Real > ( const ElemType  ,
const Order  ,
const unsigned int  ,
const unsigned int  ,
const Point ,
Real(*)(const ElemType, const Order, const unsigned int, const Point &)  shape_func 
)

◆ fe_fdm_deriv< RealGradient >()

template RealGradient libMesh::fe_fdm_deriv< RealGradient > ( const Elem ,
const Order  ,
const unsigned int  ,
const unsigned int  ,
const Point ,
const bool  ,
RealGradient(*)(const Elem *, const Order, const unsigned int, const Point &, const bool)  shape_func 
)

◆ fe_fdm_second_deriv() [1/3]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_second_deriv ( const Elem elem,
const Order  order,
const unsigned int  i,
const unsigned int  j,
const Point p,
const bool  add_p_level,
OutputShape(*)(const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool)  deriv_func 
)

Definition at line 969 of file fe.C.

979{
980 auto [pp, pm, eps, deriv_j] = fdm_second_points(j, p);
981
982 return (deriv_func(elem, order, i, deriv_j, pp, add_p_level) -
983 deriv_func(elem, order, i, deriv_j, pm, add_p_level))/2./eps;
984}

Referenced by libMesh::FE< Dim, T >::shape_second_deriv().

◆ fe_fdm_second_deriv() [2/3]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_second_deriv ( const ElemType  type,
const Order  order,
const Elem elem,
const unsigned int  i,
const unsigned int  j,
const Point p,
OutputShape(*)(const ElemType, const Order, const Elem *, const unsigned int, const unsigned int, const Point &)  deriv_func 
)

Definition at line 1008 of file fe.C.

1019{
1020 auto [pp, pm, eps, deriv_j] = fdm_second_points(j, p);
1021
1022 return (deriv_func(type, order, elem, i, deriv_j, pp) -
1023 deriv_func(type, order, elem, i, deriv_j, pm))/2./eps;
1024}

◆ fe_fdm_second_deriv() [3/3]

template<typename OutputShape >
OutputShape libMesh::fe_fdm_second_deriv ( const ElemType  type,
const Order  order,
const unsigned int  i,
const unsigned int  j,
const Point p,
OutputShape(*)(const ElemType, const Order, const unsigned int, const unsigned int, const Point &)  deriv_func 
)

Definition at line 989 of file fe.C.

998{
999 auto [pp, pm, eps, deriv_j] = fdm_second_points(j, p);
1000
1001 return (deriv_func(type, order, i, deriv_j, pp) -
1002 deriv_func(type, order, i, deriv_j, pm))/2./eps;
1003}

◆ fe_fdm_second_deriv< Real >() [1/3]

template Real libMesh::fe_fdm_second_deriv< Real > ( const Elem ,
const Order  ,
const unsigned int  ,
const unsigned int  ,
const Point ,
const bool  ,
Real(*)(const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool)  shape_func 
)

◆ fe_fdm_second_deriv< Real >() [2/3]

template Real libMesh::fe_fdm_second_deriv< Real > ( const ElemType  ,
const Order  ,
const Elem ,
const unsigned int  ,
const unsigned int  ,
const Point ,
Real(*)(const ElemType, const Order, const Elem *, const unsigned int, const unsigned int, const Point &)  shape_func 
)

◆ fe_fdm_second_deriv< Real >() [3/3]

template Real libMesh::fe_fdm_second_deriv< Real > ( const ElemType  ,
const Order  ,
const unsigned int  ,
const unsigned int  ,
const Point ,
Real(*)(const ElemType, const Order, const unsigned int, const unsigned int, const Point &)  shape_func 
)

◆ fe_fdm_second_deriv< RealGradient >()

template RealGradient libMesh::fe_fdm_second_deriv< RealGradient > ( const Elem ,
const Order  ,
const unsigned int  ,
const unsigned int  ,
const Point ,
const bool  ,
RealGradient(*)(const Elem *, const Order, const unsigned int, const unsigned int, const Point &, const bool)  shape_func 
)

◆ fe_lagrange_1D_cubic_shape()

Real libMesh::fe_lagrange_1D_cubic_shape ( const unsigned int  i,
const Real  xi 
)
inline

Definition at line 73 of file fe_lagrange_shape_1D.h.

75{
76 libmesh_assert_less (i, 4);
77
78 switch (i)
79 {
80 case 0:
81 return 9./16.*(1./9.-xi*xi)*(xi-1.);
82
83 case 1:
84 return -9./16.*(1./9.-xi*xi)*(xi+1.);
85
86 case 2:
87 return 27./16.*(1.-xi*xi)*(1./3.-xi);
88
89 // case 3
90 default:
91 return 27./16.*(1.-xi*xi)*(1./3.+xi);
92 }
93}

Referenced by fe_lagrange_1D_shape().

◆ fe_lagrange_1D_cubic_shape_deriv()

Real libMesh::fe_lagrange_1D_cubic_shape_deriv ( const unsigned int  i,
const unsigned int   libmesh_dbg_varj,
const Real  xi 
)
inline

Definition at line 171 of file fe_lagrange_shape_1D.h.

174{
175 // only d()/dxi in 1D!
176 libmesh_assert_equal_to (j, 0);
177
178 libmesh_assert_less (i, 4);
179
180 switch (i)
181 {
182 case 0:
183 return -9./16.*(3.*xi*xi-2.*xi-1./9.);
184
185 case 1:
186 return -9./16.*(-3.*xi*xi-2.*xi+1./9.);
187
188 case 2:
189 return 27./16.*(3.*xi*xi-2./3.*xi-1.);
190
191 // case 3
192 default:
193 return 27./16.*(-3.*xi*xi-2./3.*xi+1.);
194 }
195}

Referenced by fe_lagrange_1D_shape_deriv().

◆ fe_lagrange_1D_cubic_shape_second_deriv()

Real libMesh::fe_lagrange_1D_cubic_shape_second_deriv ( const unsigned int  i,
const unsigned int   libmesh_dbg_varj,
const Real  xi 
)
inline

Definition at line 253 of file fe_lagrange_shape_1D.h.

256{
257 // Don't need to switch on j. 1D shape functions
258 // depend on xi only!
259 libmesh_assert_equal_to (j, 0);
260 libmesh_assert_less(i, 4);
261
262 switch (i)
263 {
264 case 0:
265 return -9./16.*(6.*xi-2);
266
267 case 1:
268 return -9./16.*(-6*xi-2.);
269
270 case 2:
271 return 27./16.*(6*xi-2./3.);
272
273 // case 2
274 default:
275 return 27./16.*(-6*xi-2./3.);
276 }
277}

Referenced by fe_lagrange_1D_shape_second_deriv().

◆ fe_lagrange_1D_linear_shape()

Real libMesh::fe_lagrange_1D_linear_shape ( const unsigned int  i,
const Real  xi 
)
inline

Definition at line 32 of file fe_lagrange_shape_1D.h.

34{
35 libmesh_assert_less (i, 2);
36
37 switch (i)
38 {
39 case 0:
40 return .5*(1. - xi);
41
42 // case 1
43 default:
44 return .5*(1. + xi);
45 }
46}

Referenced by libMesh::FE< Dim, T >::all_shape_derivs(), libMesh::Hex8::centroid_from_points(), fe_lagrange_1D_shape(), and LIBMESH_DEFAULT_VECTORIZED_FE().

◆ fe_lagrange_1D_linear_shape_deriv()

Real libMesh::fe_lagrange_1D_linear_shape_deriv ( const unsigned int  i,
const unsigned int   libmesh_dbg_varj,
const Real   
)
inline

Definition at line 124 of file fe_lagrange_shape_1D.h.

127{
128 // only d()/dxi in 1D!
129 libmesh_assert_equal_to (j, 0);
130
131 libmesh_assert_less (i, 2);
132
133 switch (i)
134 {
135 case 0:
136 return -.5;
137
138 // case 1
139 default:
140 return .5;
141 }
142}

Referenced by libMesh::FE< Dim, T >::all_shape_derivs(), and fe_lagrange_1D_shape_deriv().

◆ fe_lagrange_1D_quadratic_shape()

Real libMesh::fe_lagrange_1D_quadratic_shape ( const unsigned int  i,
const Real  xi 
)
inline

Definition at line 51 of file fe_lagrange_shape_1D.h.

53{
54 libmesh_assert_less (i, 3);
55
56 switch (i)
57 {
58 case 0:
59 return .5*xi*(xi - 1.);
60
61 case 1:
62 return .5*xi*(xi + 1);
63
64 // case 2
65 default:
66 return (1. - xi*xi);
67 }
68}

Referenced by libMesh::FE< Dim, T >::all_shape_derivs(), fe_lagrange_1D_shape(), and LIBMESH_DEFAULT_VECTORIZED_FE().

◆ fe_lagrange_1D_quadratic_shape_deriv()

Real libMesh::fe_lagrange_1D_quadratic_shape_deriv ( const unsigned int  i,
const unsigned int   libmesh_dbg_varj,
const Real  xi 
)
inline

Definition at line 146 of file fe_lagrange_shape_1D.h.

149{
150 // only d()/dxi in 1D!
151 libmesh_assert_equal_to (j, 0);
152
153 libmesh_assert_less (i, 3);
154
155 switch (i)
156 {
157 case 0:
158 return xi-.5;
159
160 case 1:
161 return xi+.5;
162
163 // case 2
164 default:
165 return -2.*xi;
166 }
167}

Referenced by libMesh::FE< Dim, T >::all_shape_derivs(), and fe_lagrange_1D_shape_deriv().

◆ fe_lagrange_1D_quadratic_shape_second_deriv()

Real libMesh::fe_lagrange_1D_quadratic_shape_second_deriv ( const unsigned int  i,
const unsigned int   libmesh_dbg_varj,
const Real   
)
inline

Definition at line 228 of file fe_lagrange_shape_1D.h.

231{
232 // Don't need to switch on j. 1D shape functions
233 // depend on xi only!
234 libmesh_assert_equal_to (j, 0);
235 libmesh_assert_less(i, 3);
236
237 switch (i)
238 {
239 case 0:
240 return 1.;
241
242 case 1:
243 return 1.;
244
245 // case 2
246 default:
247 return -2.;
248 }
249}

Referenced by fe_lagrange_1D_shape_second_deriv().

◆ fe_lagrange_1D_shape()

Real libMesh::fe_lagrange_1D_shape ( const Order  order,
const unsigned int  i,
const Real  xi 
)
inline

Definition at line 98 of file fe_lagrange_shape_1D.h.

101{
102 libmesh_assert_less_equal(order, THIRD);
103
104 switch (order)
105 {
106 // Lagrange linears
107 case FIRST:
108 return fe_lagrange_1D_linear_shape(i, xi);
109
110 // Lagrange quadratics
111 case SECOND:
112 return fe_lagrange_1D_quadratic_shape(i, xi);
113
114 // Lagrange cubics
115 // case THIRD
116 default:
117 return fe_lagrange_1D_cubic_shape(i, xi);
118 }
119}
Real fe_lagrange_1D_quadratic_shape(const unsigned int i, const Real xi)
Real fe_lagrange_1D_linear_shape(const unsigned int i, const Real xi)
Real fe_lagrange_1D_cubic_shape(const unsigned int i, const Real xi)

References fe_lagrange_1D_cubic_shape(), fe_lagrange_1D_linear_shape(), fe_lagrange_1D_quadratic_shape(), FIRST, SECOND, and THIRD.

Referenced by libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape(), and libMesh::FE< Dim, T >::shape().

◆ fe_lagrange_1D_shape_deriv()

Real libMesh::fe_lagrange_1D_shape_deriv ( const Order  order,
const unsigned int  i,
const unsigned int  j,
const Real  xi 
)
inline

Definition at line 200 of file fe_lagrange_shape_1D.h.

204{
205 libmesh_assert_less_equal(order, THIRD);
206
207 switch (order)
208 {
209 case FIRST:
210 return fe_lagrange_1D_linear_shape_deriv(i, j, xi);
211
212 case SECOND:
214
215 // case THIRD
216 default:
217 return fe_lagrange_1D_cubic_shape_deriv(i, j, xi);
218 }
219}
Real fe_lagrange_1D_cubic_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Real fe_lagrange_1D_quadratic_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Real fe_lagrange_1D_linear_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)

References fe_lagrange_1D_cubic_shape_deriv(), fe_lagrange_1D_linear_shape_deriv(), fe_lagrange_1D_quadratic_shape_deriv(), FIRST, SECOND, and THIRD.

Referenced by libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), and libMesh::FE< Dim, T >::shape_deriv().

◆ fe_lagrange_1D_shape_second_deriv()

Real libMesh::fe_lagrange_1D_shape_second_deriv ( const Order  order,
const unsigned int  i,
const unsigned int  j,
const Real  xi 
)
inline

Definition at line 282 of file fe_lagrange_shape_1D.h.

286{
287 libmesh_assert_less_equal(order, THIRD);
288
289 switch (order)
290 {
291 // All second derivatives of linears are zero....
292 case FIRST:
293 return 0.;
294
295 case SECOND:
297
298 // case THIRD
299 default:
301 } // end switch (order)
302}
Real fe_lagrange_1D_quadratic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
Real fe_lagrange_1D_cubic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)

References fe_lagrange_1D_cubic_shape_second_deriv(), fe_lagrange_1D_quadratic_shape_second_deriv(), FIRST, SECOND, and THIRD.

Referenced by libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), and libMesh::FE< Dim, T >::shape_second_deriv().

◆ get_io_compatibility_version()

std::string libMesh::get_io_compatibility_version ( )

Specifier for I/O file compatibility features.

This only needs to be changed when new restart file functionality is added.

Definition at line 80 of file libmesh_version.C.

81{
82 std::string retval(LIBMESH_IO_COMPATIBILITY_VERSION);
83 return retval;
84}

Referenced by libMesh::EquationSystems::write(), and libMesh::RBEvaluation::write_out_vectors().

◆ get_jacobian_at_qp()

RealTensor libMesh::get_jacobian_at_qp ( const FEMap fe_map,
const unsigned int dim,
const unsigned int qp 
)

Given an fe_map, element dimension, and quadrature point index, returns the Jacobian of the physical-to-reference mapping.

Definition at line 75 of file variational_smoother_system.C.

78{
79 libmesh_error_msg_if(dim > 3, "Unsupported dimension.");
80
81 // RealTensors are always 3x3, so we will fill any dimensions above dim
82 // with 1s on the diagonal. This indicates a 1 to 1 relationship between
83 // the physical and reference elements in these extra dimensions.
84
85 const auto & dxyzdxi = dim >= 1 ? fe_map.get_dxyzdxi()[qp] : RealGradient(1, 0, 0);
86 const auto & dxyzdeta = dim >= 2 ? fe_map.get_dxyzdeta()[qp] : RealGradient(0, 1, 0);
87 const auto & dxyzdzeta = dim >= 3 ? fe_map.get_dxyzdzeta()[qp] : RealGradient(0, 0, 1);
88
89 return RealTensor(dxyzdxi, dxyzdeta, dxyzdzeta).transpose(); // Note the transposition!
90}
unsigned int dim
const std::vector< RealGradient > & get_dxyzdeta() const
Definition fe_map.h:247
const std::vector< RealGradient > & get_dxyzdzeta() const
Definition fe_map.h:255
const std::vector< RealGradient > & get_dxyzdxi() const
Definition fe_map.h:239
This class defines a tensor in LIBMESH_DIM dimensional Real or Complex space.
TypeTensor< T > transpose() const

References dim, libMesh::FEMap::get_dxyzdeta(), libMesh::FEMap::get_dxyzdxi(), libMesh::FEMap::get_dxyzdzeta(), and libMesh::TypeTensor< T >::transpose().

Referenced by libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), libMesh::VariationalSmootherSystem::element_time_derivative(), and libMesh::VariationalSmootherSystem::get_target_to_reference_jacobian().

◆ get_libmesh_version()

int libMesh::get_libmesh_version ( )

Definition at line 46 of file libmesh_version.C.

47{
48 /* Note: return format follows the versioning convention xx.yy.zz where
49
50 xx = major version number
51 yy = minor version number
52 zz = micro version number
53
54 For example:
55 v. 0.23 -> 002300 = 2300
56 v 0.23.1 -> 002301 = 2301
57 v. 10.23.2 -> 102302 */
58
59 int major_version = 0;
60 int minor_version = 0;
61 int micro_version = 0;
62
63#ifdef LIBMESH_MAJOR_VERSION
64 major_version = LIBMESH_MAJOR_VERSION;
65#endif
66
67#ifdef LIBMESH_MINOR_VERSION
68 minor_version = LIBMESH_MINOR_VERSION;
69#endif
70
71#ifdef LIBMESH_MICRO_VERSION
72 micro_version = LIBMESH_MICRO_VERSION;
73#endif
74
75 return major_version*10000 + minor_version*100 + micro_version;
76}

Referenced by libmesh_version_stdout().

◆ global_n_processors()

libMesh::processor_id_type libMesh::global_n_processors ( )
inline
Returns
The number of processors libMesh was initialized with.

Definition at line 88 of file libmesh_base.h.

89{
90#ifdef LIBMESH_HAVE_MPI
92#else
93 return 1;
94#endif
95}
processor_id_type _n_processors
Total number of processors used.
Definition libmesh.C:300

References libMesh::libMeshPrivateData::_n_processors.

Referenced by libMesh::PerfLog::get_info_header(), libMesh::MacroFunctions::report_error(), and libMesh::MacroFunctions::stop().

◆ global_processor_id()

libMesh::processor_id_type libMesh::global_processor_id ( )
inline

◆ if()

libMesh::if ( subdm  )

Definition at line 79 of file petsc_dm_wrapper.C.

80 {
81 LibmeshPetscCallQ(DMShellCreate(PetscObjectComm((PetscObject) dm), subdm));
82
83 // Set the DM embedding dimension to help PetscDS (Discrete System)
84 LibmeshPetscCallQ(DMSetCoordinateDim(*subdm, p_ctx->mesh_dim));
85
86 // Now set the function pointers for the subDM
87 // Some DMShellGet* functions only exist with PETSc >= 3.12.0.
88
89 // Set Coarsen function pointer
90#if PETSC_VERSION_LESS_THAN(3,12,0)
91 if (dm->ops->coarsen)
92 LibmeshPetscCallQ(DMShellSetCoarsen(*subdm, dm->ops->coarsen));
93#else
94 PetscErrorCode (*coarsen)(DM,MPI_Comm,DM*) = nullptr;
95 LibmeshPetscCallQ(DMShellGetCoarsen(dm, &coarsen));
96 if (coarsen)
97 LibmeshPetscCallQ(DMShellSetCoarsen(*subdm, coarsen));
98#endif
99
100 // Set Refine function pointer
101#if PETSC_VERSION_LESS_THAN(3,12,0)
102 if (dm->ops->refine)
103 LibmeshPetscCallQ(DMShellSetRefine(*subdm, dm->ops->refine));
104#else
105 PetscErrorCode (*refine)(DM,MPI_Comm,DM*) = nullptr;
106 LibmeshPetscCallQ(DMShellGetRefine(dm, &refine));
107
108 if (refine)
109 LibmeshPetscCallQ(DMShellSetRefine(*subdm, refine));
110#endif
111
112 // Set Interpolation function pointer
113#if PETSC_VERSION_LESS_THAN(3,12,0)
114 if (dm->ops->createinterpolation)
115 LibmeshPetscCallQ(DMShellSetCreateInterpolation(*subdm, dm->ops->createinterpolation));
116#else
117 PetscErrorCode (*interp)(DM,DM,Mat*,Vec*) = nullptr;
118 LibmeshPetscCallQ(DMShellGetCreateInterpolation(dm, &interp));
119 if (interp)
120 LibmeshPetscCallQ(DMShellSetCreateInterpolation(*subdm, interp));
121#endif
122
123 // Set Restriction function pointer
124#if PETSC_VERSION_LESS_THAN(3,12,0)
125 if (dm->ops->createrestriction)
126 LibmeshPetscCallQ(DMShellSetCreateRestriction(*subdm, dm->ops->createrestriction));
127#else
128 PetscErrorCode (*createrestriction)(DM,DM,Mat*) = nullptr;
129 LibmeshPetscCallQ(DMShellGetCreateRestriction(dm, &createrestriction));
130 if (createrestriction)
131 LibmeshPetscCallQ(DMShellSetCreateRestriction(*subdm, createrestriction));
132#endif
133
134 // Set CreateSubDM function pointer
135#if PETSC_VERSION_LESS_THAN(3,12,0)
136 if (dm->ops->createsubdm)
137 LibmeshPetscCallQ(DMShellSetCreateSubDM(*subdm, dm->ops->createsubdm));
138#else
139 PetscErrorCode (*createsubdm)(DM,PetscInt,const PetscInt[],IS*,DM*) = nullptr;
140 LibmeshPetscCallQ(DMShellGetCreateSubDM(dm, &createsubdm));
141 if (createsubdm)
142 LibmeshPetscCallQ(DMShellSetCreateSubDM(*subdm, createsubdm));
143#endif
144 // Set Context pointer
145 if (ctx)
146 LibmeshPetscCallQ(DMShellSetContext(*subdm, ctx));
147#if PETSC_VERSION_LESS_THAN(3,11,0)
148 // Lastly, Compute the subsection for the subDM
149 LibmeshPetscCallQ(DMCreateSubDM_Section_Private(dm, numFields, fields, is, subdm));
150#elif PETSC_RELEASE_LESS_THAN(3, 21, 0)
151 LibmeshPetscCallQ(DMCreateSectionSubDM(dm, numFields, fields, is, subdm));
152#else
153 LibmeshPetscCallQ(DMCreateSectionSubDM(dm, numFields, fields, NULL, NULL, is, subdm));
154#endif
155 }
PetscDMContext * p_ctx
LibmeshPetscCallQ(DMShellGetContext(dm, &ctx))

References ctx, fields, is, LibmeshPetscCallQ(), libMesh::PetscDMContext::mesh_dim, numFields, p_ctx, and subdm.

◆ imaginary()

const Number libMesh::imaginary ( 0.  ,
1.   
)

◆ index_range() [1/2]

template<typename T >
IntRange< numeric_index_type > libMesh::index_range ( const NumericVector< T > &  vec)

Same thing but for NumericVector.

Returns a range (first_local_index, last_local_index).

Definition at line 163 of file int_range.h.

164{
165 return {vec.first_local_index(), vec.last_local_index()};
166}
virtual numeric_index_type last_local_index() const =0
virtual numeric_index_type first_local_index() const =0

References libMesh::NumericVector< T >::first_local_index(), and libMesh::NumericVector< T >::last_local_index().

◆ index_range() [2/2]

template<typename T >
auto libMesh::index_range ( const T &  sizable)

Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in vector-like object (i.e.

any type that has a size() member).

Definition at line 153 of file int_range.h.

154{
155 return IntRange<decltype(sizable.size())>(0, sizable.size());
156}
The IntRange templated class is intended to make it easy to loop over integers which are indices of a...
Definition int_range.h:54

Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::MeshFunction::_gradient_on_elem(), libMesh::SyncNodalPositions::act_on_data(), libMesh::SyncSubdomainIds::act_on_data(), libMesh::SyncElementIntegers::act_on_data(), libMesh::SyncRefinementFlags::act_on_data(), libMesh::SyncLocalIDs::act_on_data(), libMesh::DistributedVector< T >::add(), libMesh::MeshBase::add_elem_data(), libMesh::MeshBase::add_elem_integer(), libMesh::MeshBase::add_elem_integers(), libMesh::MeshfreeInterpolation::add_field_data(), libMesh::MeshBase::add_node_data(), libMesh::MeshBase::add_node_integer(), libMesh::MeshBase::add_node_integers(), libMesh::HPCoarsenTest::add_projection(), libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::RBDataSerialization::add_rb_scm_evaluation_data_to_builder(), libMesh::PetscMatrix< T >::add_sparse_matrix(), libMesh::NumericVector< T >::add_vector(), libMesh::FE< Dim, T >::all_shape_derivs(), libMesh::FEInterface::all_shape_derivs(), libMesh::FEInterface::all_shapes(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::AdvectionSystem::assemble_claw_rhs(), libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFunction< Output >::attach_subfunction(), libMesh::NumericVector< Number >::build(), ExodusC0PolyhedronTest::build_c0polyhedron(), libMesh::MeshTools::Generation::build_cube(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Partitioner::build_graph(), libMesh::ParmetisPartitioner::build_graph(), libMesh::Parallel::Histogram< KeyType, IdxType >::build_histogram(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), ExodusC0PolygonTest::build_pentagon(), libMesh::PetscDMWrapper::build_sf(), libMesh::CompositeFEMFunction< Output >::clone(), libMesh::CompositeFunction< Output >::clone(), libMesh::FEMap::compute_affine_map(), libMesh::FEGenericBase< OutputType >::compute_dual_shape_coeffs(), libMesh::FEGenericBase< OutputType >::compute_dual_shape_functions(), libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), compute_qp_soln(), compute_qp_soln(), libMesh::FEXYZ< Dim >::compute_shape_functions(), libMesh::FEMap::compute_single_point_map(), libMesh::Hex8::connectivity(), libMesh::Prism18::connectivity(), libMesh::Tet10::connectivity(), libMesh::Tet14::connectivity(), libMesh::Quad8::connectivity(), libMesh::Quad9::connectivity(), libMesh::Tri6::connectivity(), libMesh::Tri7::connectivity(), libMesh::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::DofMap::create_dof_constraints(), libMesh::PetscMatrix< T >::create_submatrix_nosort(), libMesh::RBEIMEvaluation::decrement_vector(), libMesh::FE< Dim, T >::default_all_shape_derivs(), libMesh::FE< Dim, T >::default_all_shapes(), libMesh::FE< Dim, T >::default_shape_derivs(), libMesh::FE< Dim, T >::default_shapes(), libMesh::VariationalSmootherConstraint::determine_constraint(), libMesh::MeshFunction::discontinuous_value(), libMesh::RBEIMEvaluation::distribute_bfs(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMView_libMesh(), libMesh::DistributedVector< T >::dot(), libMesh::FE< Dim, T >::edge_map(), libMesh::Polyhedron::edges_adjacent_to_node(), libMesh::VariationalSmootherSystem::element_time_derivative(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ParsedFunction< Output, OutputGradient >::eval(), libMesh::ParsedFEMFunction< Output >::eval(), libMesh::ParsedFEMFunction< Output >::eval_args(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), libMesh::OldSolutionCoefs< Output, point_output >::eval_mixed_derivatives(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::DTKEvaluator::evaluate(), fe_assembly(), libMesh::TreeNode< N >::find_element_in_children(), libMesh::EquationSystems::find_variable_numbers_by_predicate(), libMesh::ReplicatedMesh::fix_broken_node_and_element_numbering(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshTools::Modification::flatten(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::SyncNodalPositions::gather_data(), libMesh::SyncRefinementFlags::gather_data(), libMesh::SyncLocalIDs::gather_data(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::GaussLobattoRedistributionFunction(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::PetscLinearSolver< Number >::get_converged_reason(), libMesh::SumShellMatrix< T >::get_diagonal(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::MeshBase::get_elem_integer_index(), libMesh::RBEIMEvaluation::get_interior_basis_function_as_vec_helper(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::MeshBase::get_node_integer_index(), libMesh::RBEIMConstruction::get_node_max_abs_value(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::RBEIMConstruction::get_random_point(), libMesh::RBEIMEvaluation::get_rb_eim_solutions_entries(), libMesh::PetscMatrix< T >::get_row(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::RBParameters::get_string(), libMesh::QGrundmann_Moller::gm_rule(), libMesh::Elem::has_invertible_map(), libMesh::MeshFunction::hessian(), libMesh::PetscVector< T >::init(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::Nemesis_IO_Helper::initialize_element_variables(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBConstructionBase< Base >::initialize_training_parameters(), libMesh::RBEIMConstruction::inner_product(), libMesh::NumericVector< T >::insert(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), libMesh::FEMContext::interior_gradients(), libMesh::FEMContext::interior_hessians(), libMesh::FEMContext::interior_values(), libMesh::InverseDistanceInterpolation< KDDim >::interpolate_field_data(), libMesh::RadialBasisInterpolation< KDDim, RBF >::interpolate_field_data(), isfinite(), isinf(), isnan(), libMesh::DenseSubVector< T >::l1_norm(), libMesh::NumericVector< T >::l1_norm_diff(), libMesh::DenseSubVector< T >::l2_norm(), libMesh::NumericVector< T >::l2_norm_diff(), lagrange_nodal_soln(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), LIBMESH_DEFAULT_VECTORIZED_FE(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), libMesh::EigenSparseVector< T >::localize(), libMesh::LaspackVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::EigenSparseVector< T >::localize(), libMesh::LaspackVector< T >::localize(), libMesh::EpetraVector< T >::localize(), libMesh::MeshBase::locally_equals(), libMesh::SumShellMatrix< T >::m(), main(), libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::HDivFETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), libMesh::HCurlFETransformation< OutputShape >::map_phi(), libMesh::HDivFETransformation< OutputShape >::map_phi(), libMesh::ExodusII_IO_Helper::MappedOutputVector::MappedOutputVector(), libMesh::SumShellMatrix< T >::n(), libMesh::FE< Dim, CLOUGH >::n_shape_functions(), libMesh::RBEIMEvaluation::node_decrement_vector(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::VTKIO::node_values_to_vtk(), libMesh::RBParametrizedFunction::node_vectorized_evaluate(), libMesh::C0Polyhedron::nodes_on_edge(), libMesh::DenseMatrix< T >::operator!=(), Integrate::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::ConstFEMFunction< Output >::operator()(), libMesh::CompositeFEMFunction< Output >::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::MeshFunction::operator()(), libMesh::CompositeFunction< Output >::operator()(), libMesh::DistributedVector< T >::operator*=(), libMesh::DenseMatrix< T >::operator+=(), libMesh::DenseMatrix< T >::operator-=(), libMesh::DistributedVector< T >::operator/=(), libMesh::DistributedVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::BoundaryInfo::operator==(), libMesh::DenseMatrix< T >::operator==(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::CentroidPartitioner::partition_range(), libMesh::StatisticsVector< T >::plot_histogram(), libMesh::PostscriptIO::plot_quadratic_elem(), libMesh::Polyhedron::Polyhedron(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh(), libMesh::RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_sides(), libMesh::RBConstruction::preevaluate_thetas(), libMesh::VariationalSmootherSystem::prepare_for_smoothing(), libMesh::NumericVector< T >::print(), libMesh::NumericVector< T >::print(), libMesh::FEGenericBase< OutputType >::print_d2phi(), libMesh::FEGenericBase< OutputType >::print_dphi(), libMesh::FEGenericBase< OutputType >::print_dual_d2phi(), libMesh::FEGenericBase< OutputType >::print_dual_dphi(), libMesh::FEGenericBase< OutputType >::print_dual_phi(), libMesh::LaplaceMeshSmoother::print_graph(), libMesh::QBase::print_info(), libMesh::FEMap::print_JxW(), libMesh::RBEIMEvaluation::print_local_eim_basis_functions(), libMesh::FEGenericBase< OutputType >::print_phi(), libMesh::FEMap::print_xyz(), libMesh::System::project_vector(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Elem::quality(), rational_all_shape_derivs(), rational_all_shapes(), libMesh::RBEIMEvaluation::rb_eim_solves(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read_bc_names(), libMesh::CheckpointIO::read_bcs(), libMesh::CheckpointIO::read_connectivity(), libMesh::SparseMatrix< T >::read_coreform_hdf5(), libMesh::ExodusII_IO_Helper::read_face_blocks(), libMesh::XdrIO::read_header(), libMesh::RBEIMEvaluation::read_in_interior_basis_functions(), libMesh::RBEIMEvaluation::read_in_node_basis_functions(), libMesh::RBEIMEvaluation::read_in_side_basis_functions(), libMesh::GmshIO::read_mesh(), libMesh::ExodusII_IO_Helper::read_nodes(), libMesh::CheckpointIO::read_nodesets(), libMesh::CheckpointIO::read_remote_elem(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::CheckpointIO::read_subdomain_names(), libMesh::StaticCondensationDofMap::reinit(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::ParsedFEMFunction< Output >::reparse(), libMesh::ParsedFunction< Output, OutputGradient >::reparse(), libMesh::FEMap::resize_quadrature_map_vectors(), libMesh::C0Polyhedron::retriangulate(), libMesh::C0Polygon::retriangulate(), libMesh::QBase::scale(), libMesh::RBEIMConstruction::scale_parametrized_function(), libMesh::DofMap::scatter_constraints(), libMesh::HPCoarsenTest::select_refinement(), libMesh::FrequencySystem::set_frequencies(), libMesh::ParsedFEMFunction< Output >::set_inline_value(), libMesh::StaticCondensation::set_local_vectors(), libMesh::DofMap::set_nonlocal_dof_objects(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), PerElemTest< elem_type >::setUp(), libMesh::FE< Dim, T >::shape_derivs(), libMesh::FE< Dim, T >::shapes(), libMesh::FEInterface::shapes(), libMesh::RBEIMEvaluation::side_decrement_vector(), libMesh::RBEIMEvaluation::side_distribute_bfs(), libMesh::RBEIMEvaluation::side_gather_bfs(), libMesh::FEMContext::side_gradients(), libMesh::FEMContext::side_hessians(), libMesh::RBEIMConstruction::side_inner_product(), libMesh::FE< Dim, T >::side_map(), libMesh::FEMContext::side_values(), libMesh::RBParametrizedFunction::side_vectorized_evaluate(), libMesh::SystemNorm::SystemNorm(), libMesh::SystemNorm::SystemNorm(), AllTriTest::test_helper_c0polyhedron(), ExodusC0PolyhedronTest::test_write_and_read_hexagonal_prism(), CheckpointIOTest::testC0PolygonCheckpoint(), SideVertexAverageNormalTest::testC0Polyhedron(), CheckpointIOTest::testC0PolyhedronCheckpoint(), VolumeTest::testC0PolyhedronCube(), VolumeTest::testC0PolyhedronHexagonalPrism(), XdrTest::testDataStream(), XdrTest::testDataVec(), PackingTypesTest::testDynamicEigenMatrix(), PackingTypesTest::testDynamicEigenVector(), DualShapeTest::testEdge2Lagrange(), MeshInputTest::testExodusSetNodeUniqueIdsFromMaps_implementation(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshTriangulationTest::testFoundCenters(), QuadratureTest::testMonomialQuadrature(), RBParametersTest::testMultiValued(), QuadratureTest::testNodalQuadrature(), PackingTypesTest::testNonFixedScalar(), ParallelSyncTest::testPullImpl(), ParallelSyncTest::testPullVecVecImpl(), SparseMatrixTest< DerivedClass >::testValues(), WriteElemsetData::testWriteImpl(), libMesh::DifferentiableQoI::thread_join(), libMesh::Elem::true_centroid(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::AdvectionSystem::update_Fh(), libMesh::EpetraMatrix< T >::update_sparsity_pattern(), libMesh::DofMap::use_coupled_neighbor_dofs(), libMesh::SumShellMatrix< T >::vector_mult_add(), libMesh::RBParametrizedFunction::vectorized_evaluate(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::TecplotIO::write_binary(), libMesh::ExodusII_IO::write_element_data_from_discontinuous_nodal_data(), libMesh::Nemesis_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO_Helper::write_elemset_data(), libMesh::EnsightIO::write_geometry_ascii(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::Nemesis_IO_Helper::write_nodal_solution(), libMesh::ExodusII_IO_Helper::write_nodeset_data(), libMesh::ClawSystem::write_out_discretization_matrices(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::EnsightIO::write_scalar_ascii(), libMesh::XdrIO::write_serialized_nodes(), libMesh::ExodusII_IO_Helper::write_sideset_data(), libMesh::EnsightIO::write_vector_ascii(), and libMesh::DenseSubVector< T >::zero().

◆ init_shell_mat() [1/6]

template<typename Obj >
void libMesh::init_shell_mat ( Obj &  obj)

Initialize a shell matrix object using information from the DofMap.

Definition at line 104 of file petsc_shell_matrix.C.

105{
106 libmesh_assert(obj._dof_map);
107
108 numeric_index_type my_m = obj._dof_map->n_dofs();
109 numeric_index_type m_l = obj._dof_map->n_local_dofs();
110 if (obj._omit_constrained_dofs)
111 {
112 my_m -= obj._dof_map->n_constrained_dofs();
113 m_l -= obj._dof_map->n_local_constrained_dofs();
114 }
115
116 const numeric_index_type my_n = my_m;
117 const numeric_index_type n_l = m_l;
118
119 init_shell_mat(obj, my_m, my_n, m_l, n_l, obj._dof_map->block_size());
120}

References init_shell_mat(), and libmesh_assert().

◆ init_shell_mat() [2/6]

template<typename Obj >
void libMesh::init_shell_mat ( Obj &  obj,
const numeric_index_type  m,
const numeric_index_type  n,
const numeric_index_type  m_l,
const numeric_index_type  n_l,
const numeric_index_type  blocksize_in 
)

Initialize a shell matrix object.

Definition at line 72 of file petsc_shell_matrix.C.

78{
79 // Clear initialized matrices
80 if (obj.initialized())
81 obj.clear();
82
83 PetscInt m_global = static_cast<PetscInt>(m);
84 PetscInt n_global = static_cast<PetscInt>(n);
85 PetscInt m_local = static_cast<PetscInt>(m_l);
86 PetscInt n_local = static_cast<PetscInt>(n_l);
87 PetscInt blocksize = static_cast<PetscInt>(blocksize_in);
88
89 LibmeshPetscCall2(obj.comm(), MatCreate(obj.comm().get(), &obj._mat));
90 LibmeshPetscCall2(obj.comm(), MatSetSizes(obj._mat, m_local, n_local, m_global, n_global));
91 LibmeshPetscCall2(obj.comm(), MatSetBlockSize(obj._mat, blocksize));
92 LibmeshPetscCall2(obj.comm(), MatSetType(obj._mat, MATSHELL));
93
94 // Is prefix information available somewhere? Perhaps pass in the system name?
95 LibmeshPetscCall2(obj.comm(), MatSetOptionsPrefix(obj._mat, ""));
96 LibmeshPetscCall2(obj.comm(), MatSetFromOptions(obj._mat));
97 LibmeshPetscCall2(obj.comm(), MatSetUp(obj._mat));
98 LibmeshPetscCall2(obj.comm(), MatShellSetContext(obj._mat, &obj));
99
100 obj._is_initialized = true;
101}

Referenced by libMesh::PetscShellMatrix< T >::init(), libMesh::PetscMatrixShellMatrix< Number >::init(), libMesh::PetscMatrixShellMatrix< T >::init(), and init_shell_mat().

◆ init_shell_mat() [3/6]

template void libMesh::init_shell_mat ( PetscMatrixShellMatrix< Number > &  obj)

◆ init_shell_mat() [4/6]

template void libMesh::init_shell_mat ( PetscMatrixShellMatrix< Number > &  obj,
const numeric_index_type  m,
const numeric_index_type  n,
const numeric_index_type  m_l,
const numeric_index_type  n_l,
const numeric_index_type  blocksize_in 
)

◆ init_shell_mat() [5/6]

template void libMesh::init_shell_mat ( PetscShellMatrix< Number > &  obj)

◆ init_shell_mat() [6/6]

template void libMesh::init_shell_mat ( PetscShellMatrix< Number > &  obj,
const numeric_index_type  m,
const numeric_index_type  n,
const numeric_index_type  m_l,
const numeric_index_type  n_l,
const numeric_index_type  blocksize_in 
)

◆ initialized()

bool libMesh::initialized ( )

Checks that library initialization has been done.

If it hasn't an error message is printed and the code aborts. It is useful to libmesh_assert(libMesh::initialized()) in library object constructors.

Definition at line 324 of file libmesh.C.

325{
326 return libMeshPrivateData::_is_initialized;
327}

References libMesh::libMeshPrivateData::_is_initialized.

Referenced by libMesh::PetscVector< T >::_get_array(), libMesh::PetscMatrix< T >::_petsc_viewer(), libMesh::PetscVector< T >::_restore_array(), libMesh::DistributedVector< T >::abs(), libMesh::EigenSparseVector< T >::abs(), libMesh::LaspackVector< T >::abs(), libMesh::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::PetscMatrix< T >::add(), libMesh::EpetraMatrix< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::LaspackVector< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::PetscMatrix< T >::add(), libMesh::EpetraMatrix< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::PetscMatrix< T >::add_block_matrix(), libMesh::EigenSparseMatrix< T >::add_matrix(), libMesh::LaspackMatrix< T >::add_matrix(), libMesh::PetscMatrix< T >::add_matrix(), libMesh::EpetraMatrix< T >::add_matrix(), libMesh::PetscMatrixBase< T >::clear(), libMesh::PetscVector< T >::clear(), libMesh::EpetraVector< T >::clear(), libMesh::SlepcEigenSolver< T >::clear(), libMesh::TaoOptimizationSolver< T >::clear(), libMesh::LaspackMatrix< T >::clear(), libMesh::LaspackVector< T >::clear(), libMesh::PetscShellMatrix< T >::clear(), libMesh::EigenSparseLinearSolver< T >::clear(), libMesh::LaspackLinearSolver< T >::clear(), libMesh::NloptOptimizationSolver< T >::clear(), libMesh::PetscLinearSolver< T >::clear(), libMesh::PetscNonlinearSolver< T >::clear(), libMesh::AztecLinearSolver< T >::clear(), libMesh::DistributedVector< T >::close(), libMesh::EigenSparseVector< T >::close(), libMesh::LaspackMatrix< T >::close(), libMesh::LaspackVector< T >::close(), libMesh::EpetraVector< T >::close(), libMesh::PetscMatrixBase< T >::closed(), libMesh::EpetraMatrix< T >::closed(), libMesh::PetscMatrixBase< Number >::col_start(), libMesh::PetscMatrixBase< T >::col_start(), libMesh::EpetraMatrix< T >::col_start(), libMesh::PetscMatrixBase< T >::col_stop(), libMesh::EpetraMatrix< T >::col_stop(), libMesh::PetscMatrix< T >::copy_from_hash(), default_solver_package(), libMesh::EigenSparseVector< T >::dot(), libMesh::LaspackVector< T >::dot(), libMesh::DistributedVector< T >::first_local_index(), libMesh::EigenSparseVector< T >::first_local_index(), libMesh::LaspackVector< T >::first_local_index(), libMesh::PetscVector< T >::first_local_index(), libMesh::EpetraVector< T >::first_local_index(), libMesh::PetscNonlinearSolver< T >::get_converged_reason(), libMesh::TaoOptimizationSolver< T >::get_converged_reason(), libMesh::PetscMatrix< T >::get_row(), libMesh::EpetraMatrix< T >::get_row(), libMesh::NloptOptimizationSolver< T >::init(), libMesh::SlepcEigenSolver< T >::init(), libMesh::TaoOptimizationSolver< T >::init(), libMesh::EigenSparseLinearSolver< T >::init(), libMesh::LaspackLinearSolver< T >::init(), libMesh::PetscLinearSolver< T >::init(), libMesh::PetscNonlinearSolver< T >::init(), libMesh::AztecLinearSolver< T >::init(), libMesh::NoxNonlinearSolver< T >::init(), libMesh::DistributedVector< T >::init(), libMesh::EigenSparseVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::EigenSparseMatrix< T >::init(), libMesh::LaspackMatrix< T >::init(), libMesh::EpetraMatrix< T >::init(), libMesh::PetscLinearSolver< T >::init(), libMesh::PetscMatrix< T >::init_without_preallocation(), libMesh::DistributedVector< T >::l1_norm(), libMesh::EigenSparseVector< T >::l1_norm(), libMesh::EpetraMatrix< T >::l1_norm(), libMesh::DistributedVector< T >::l2_norm(), libMesh::EigenSparseVector< T >::l2_norm(), libMesh::DistributedVector< T >::last_local_index(), libMesh::EigenSparseVector< T >::last_local_index(), libMesh::LaspackVector< T >::last_local_index(), libMesh::PetscVector< T >::last_local_index(), libMesh::EpetraVector< T >::last_local_index(), libMesh::DistributedVector< T >::linfty_norm(), libMesh::EigenSparseVector< T >::linfty_norm(), libMesh::EpetraMatrix< T >::linfty_norm(), libMesh::PetscMatrixBase< T >::local_m(), libMesh::DistributedVector< T >::local_size(), libMesh::EigenSparseVector< T >::local_size(), libMesh::LaspackVector< T >::local_size(), libMesh::PetscVector< T >::local_size(), libMesh::EpetraVector< T >::local_size(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::localize_to_one(), libMesh::EigenSparseMatrix< T >::m(), libMesh::LaspackMatrix< T >::m(), libMesh::EpetraMatrix< T >::m(), libMesh::PetscVector< T >::map_global_to_local_index(), libMesh::PetscMatrix< T >::matrix_matrix_mult(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::EpetraVector< T >::max(), libMesh::MeshBase::MeshBase(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), libMesh::EpetraVector< T >::min(), libMesh::EigenSparseMatrix< T >::n(), libMesh::LaspackMatrix< T >::n(), libMesh::EpetraMatrix< T >::n(), libMesh::PetscMatrix< T >::norm(), libMesh::DistributedVector< T >::operator()(), libMesh::EigenSparseVector< T >::operator()(), libMesh::LaspackVector< T >::operator()(), libMesh::EpetraVector< T >::operator()(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::LaspackMatrix< T >::operator()(), libMesh::PetscMatrix< T >::operator()(), libMesh::EpetraMatrix< T >::operator()(), libMesh::AnalyticFunction< Output >::operator()(), libMesh::AnalyticFunction< Output >::operator()(), libMesh::DistributedVector< T >::operator+=(), libMesh::DistributedVector< T >::operator-=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::DistributedVector< T >::operator=(), libMesh::DistributedVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::NumericVector< T >::print(), libMesh::NumericVector< T >::print(), libMesh::SparseMatrix< T >::print(), libMesh::NumericVector< T >::print_global(), libMesh::NumericVector< T >::print_global(), libMesh::SparseMatrix< T >::print_matlab(), libMesh::NumericVector< T >::print_matlab(), libMesh::PetscMatrix< T >::print_matlab(), libMesh::PetscMatrix< T >::print_personal(), libMesh::EpetraMatrix< T >::print_personal(), libMesh::PetscMatrix< T >::print_petsc_binary(), libMesh::PetscMatrix< T >::print_petsc_hdf5(), libMesh::SparseMatrix< T >::read_coreform_hdf5(), libMesh::SparseMatrix< T >::read_matlab(), libMesh::NumericVector< T >::readable(), libMesh::PetscMatrix< T >::reset_preallocation(), libMesh::PetscMatrixBase< T >::row_start(), libMesh::EpetraMatrix< T >::row_start(), libMesh::PetscMatrixBase< T >::row_stop(), libMesh::EpetraMatrix< T >::row_stop(), libMesh::DistributedVector< T >::scale(), libMesh::EigenSparseVector< T >::scale(), libMesh::LaspackVector< T >::scale(), libMesh::EigenSparseMatrix< T >::set(), libMesh::LaspackMatrix< T >::set(), libMesh::PetscMatrix< T >::set(), libMesh::EpetraMatrix< T >::set(), libMesh::DistributedVector< T >::set(), libMesh::EigenSparseVector< T >::set(), libMesh::LaspackVector< T >::set(), libMesh::NumericVector< T >::set_type(), libMesh::DistributedVector< T >::size(), libMesh::EigenSparseVector< T >::size(), libMesh::LaspackVector< T >::size(), libMesh::PetscVector< T >::size(), libMesh::EpetraVector< T >::size(), libMesh::DistributedVector< T >::sum(), libMesh::EigenSparseVector< T >::sum(), libMesh::UnstructuredMesh::UnstructuredMesh(), libMesh::UnstructuredMesh::UnstructuredMesh(), libMesh::LaspackMatrix< T >::update_sparsity_pattern(), libMesh::EpetraMatrix< T >::update_sparsity_pattern(), libMesh::DistributedVector< T >::zero(), libMesh::EigenSparseVector< T >::zero(), libMesh::LaspackVector< T >::zero(), libMesh::PetscMatrix< T >::zero(), libMesh::EpetraMatrix< T >::zero(), libMesh::EpetraVector< T >::zero(), and libMesh::PetscMatrix< T >::zero_rows().

◆ install_thread_buffered_sync()

void libMesh::install_thread_buffered_sync ( )

Definition at line 181 of file libmesh.C.

182{
183 auto check_stored_buffer = [](const auto * const libmesh_dbg_var(stored_buffer)) {
184 libmesh_assert_msg(!stored_buffer,
185 "Oops, we've already stored a prewrapped buffer. We must be calling this "
186 "function a second time in which case we're going to lose the already "
187 "stored prewrapped buffer forever");
188 };
189
190 // libMesh::out
191 if (auto * ob = libMesh::out.rdbuf(); ob)
192 {
193 check_stored_buffer(_out_prewrap_buf);
194 _out_prewrap_buf = ob;
195 _out_syncd_thread_buffer =
196 std::make_unique<ThreadBufferedSyncbuf>(*ob, /*flush_on_newline=*/true);
197 libMesh::out.rdbuf(_out_syncd_thread_buffer.get());
198 }
199
200 // libMesh::err
201 if (auto * eb = libMesh::err.rdbuf(); eb)
202 {
203 check_stored_buffer(_err_prewrap_buf);
204 _err_prewrap_buf = eb;
206 std::make_unique<ThreadBufferedSyncbuf>(*eb, /*flush_on_newline=*/true);
208 }
209}
std::streambuf * _err_prewrap_buf
Definition libmesh.C:178
std::unique_ptr< ThreadBufferedSyncbuf > _err_syncd_thread_buffer
Definition libmesh.C:176

References _err_prewrap_buf, _err_syncd_thread_buffer, _out_prewrap_buf, _out_syncd_thread_buffer, err, out, and libMesh::BasicOStreamProxy< charT, traits >::rdbuf().

◆ INSTANTIATE_FE() [1/4]

libMesh::INSTANTIATE_FE ( )

◆ INSTANTIATE_FE() [2/4]

libMesh::INSTANTIATE_FE ( )

◆ INSTANTIATE_FE() [3/4]

libMesh::INSTANTIATE_FE ( )

◆ INSTANTIATE_FE() [4/4]

libMesh::INSTANTIATE_FE ( )

◆ INSTANTIATE_INF_FE() [1/3]

libMesh::INSTANTIATE_INF_FE ( ,
CARTESIAN   
)

Collect all 1D explicit instantiations for class InfFE.

◆ INSTANTIATE_INF_FE() [2/3]

libMesh::INSTANTIATE_INF_FE ( ,
CARTESIAN   
)

Collect all 2D explicit instantiations for class InfFE.

◆ INSTANTIATE_INF_FE() [3/3]

libMesh::INSTANTIATE_INF_FE ( ,
CARTESIAN   
)

Collect all 3D explicit instantiations for class InfFE.

◆ INSTANTIATE_INF_FE_MBRF() [1/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType &, const Elem *, const unsigned int, const Point &p)   
)

◆ INSTANTIATE_INF_FE_MBRF() [2/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType &, const ElemType, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [3/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType, const Elem *, const unsigned int, const Point &, const bool)   
)

◆ INSTANTIATE_INF_FE_MBRF() [4/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType &, const Elem *, const unsigned int, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [5/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType &, const ElemType, const unsigned int, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [6/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType, const Elem *, const unsigned int, const unsigned int, const Point &, const bool)   
)

◆ INSTANTIATE_INF_FE_MBRF() [7/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs(const FEType &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [8/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_at_node(const FEType &, const Elem *, const unsigned int  
)

◆ INSTANTIATE_INF_FE_MBRF() [9/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_at_node(const FEType &, const ElemType, const unsigned int  
)

◆ INSTANTIATE_INF_FE_MBRF() [10/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_per_elem(const FEType &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [11/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_per_elem(const FEType &, const ElemType  
)

◆ INSTANTIATE_INF_FE_MBRF() [12/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_data(const FEType &, const Elem *, FEComputeData &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [13/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_face_functions()   
)

◆ INSTANTIATE_INF_FE_MBRF() [14/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_node_indices(const ElemType, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [15/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_shape_indices(const FEType &, const Elem *, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [16/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_shape_indices(const FEType &, const ElemType, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [17/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
edge_reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const)   
)

◆ INSTANTIATE_INF_FE_MBRF() [18/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
inf_compute_constraints(DofConstraints &, DofMap &, const unsigned int, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [19/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
inf_compute_node_constraints(NodeConstraints &constraints, const Elem *elem)   
)

◆ INSTANTIATE_INF_FE_MBRF() [20/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
init_face_shape_functions(const std::vector< Point > &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [21/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
nodal_soln(const FEType &, const Elem *, const std::vector< Number > &, std::vector< Number > &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [22/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const)   
)

◆ INSTANTIATE_INF_FE_MBRF() [23/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType &, const Elem *, const unsigned int, const Point &p)   
)

◆ INSTANTIATE_INF_FE_MBRF() [24/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType &, const ElemType, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [25/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType, const Elem *, const unsigned int, const Point &, const bool)   
)

◆ INSTANTIATE_INF_FE_MBRF() [26/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType &, const Elem *, const unsigned int, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [27/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType &, const ElemType, const unsigned int, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [28/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType, const Elem *, const unsigned int, const unsigned int, const Point &, const bool)   
)

◆ INSTANTIATE_INF_FE_MBRF() [29/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs(const FEType &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [30/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_at_node(const FEType &, const Elem *, const unsigned int  
)

◆ INSTANTIATE_INF_FE_MBRF() [31/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_at_node(const FEType &, const ElemType, const unsigned int  
)

◆ INSTANTIATE_INF_FE_MBRF() [32/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_per_elem(const FEType &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [33/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_per_elem(const FEType &, const ElemType  
)

◆ INSTANTIATE_INF_FE_MBRF() [34/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_data(const FEType &, const Elem *, FEComputeData &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [35/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_face_functions()   
)

◆ INSTANTIATE_INF_FE_MBRF() [36/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_node_indices(const ElemType, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [37/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_shape_indices(const FEType &, const Elem *, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [38/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_shape_indices(const FEType &, const ElemType, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [39/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
edge_reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const)   
)

◆ INSTANTIATE_INF_FE_MBRF() [40/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
inf_compute_constraints(DofConstraints &, DofMap &, const unsigned int, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [41/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
inf_compute_node_constraints(NodeConstraints &constraints, const Elem *elem)   
)

◆ INSTANTIATE_INF_FE_MBRF() [42/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
init_face_shape_functions(const std::vector< Point > &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [43/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
nodal_soln(const FEType &, const Elem *, const std::vector< Number > &, std::vector< Number > &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [44/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const)   
)

◆ INSTANTIATE_INF_FE_MBRF() [45/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType &, const Elem *, const unsigned int, const Point &p)   
)

◆ INSTANTIATE_INF_FE_MBRF() [46/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType &, const ElemType, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [47/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape(const FEType, const Elem *, const unsigned int, const Point &, const bool)   
)

◆ INSTANTIATE_INF_FE_MBRF() [48/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType &, const Elem *, const unsigned int, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [49/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType &, const ElemType, const unsigned int, const unsigned int, const Point &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [50/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
Real  ,
shape_deriv(const FEType, const Elem *, const unsigned int, const unsigned int, const Point &, const bool)   
)

◆ INSTANTIATE_INF_FE_MBRF() [51/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs(const FEType &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [52/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_at_node(const FEType &, const Elem *, const unsigned int  
)

◆ INSTANTIATE_INF_FE_MBRF() [53/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_at_node(const FEType &, const ElemType, const unsigned int  
)

◆ INSTANTIATE_INF_FE_MBRF() [54/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_per_elem(const FEType &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [55/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
unsigned int  ,
n_dofs_per_elem(const FEType &, const ElemType  
)

◆ INSTANTIATE_INF_FE_MBRF() [56/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_data(const FEType &, const Elem *, FEComputeData &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [57/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_face_functions()   
)

◆ INSTANTIATE_INF_FE_MBRF() [58/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_node_indices(const ElemType, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [59/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_shape_indices(const FEType &, const Elem *, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [60/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
compute_shape_indices(const FEType &, const ElemType, const unsigned int, unsigned int &, unsigned int &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [61/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
edge_reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const)   
)

◆ INSTANTIATE_INF_FE_MBRF() [62/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
inf_compute_constraints(DofConstraints &, DofMap &, const unsigned int, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [63/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
inf_compute_node_constraints(NodeConstraints &constraints, const Elem *elem)   
)

◆ INSTANTIATE_INF_FE_MBRF() [64/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
init_face_shape_functions(const std::vector< Point > &, const Elem *)   
)

◆ INSTANTIATE_INF_FE_MBRF() [65/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
nodal_soln(const FEType &, const Elem *, const std::vector< Number > &, std::vector< Number > &)   
)

◆ INSTANTIATE_INF_FE_MBRF() [66/66]

libMesh::INSTANTIATE_INF_FE_MBRF ( ,
CARTESIAN  ,
void  ,
reinit(const Elem *, const unsigned int, const Real, const std::vector< Point > *const, const std::vector< Real > *const)   
)

◆ intersect_constraints()

ConstraintVariant libMesh::intersect_constraints ( const ConstraintVariant a,
const ConstraintVariant b 
)
inline

Dispatch intersection between two constraint variants.

Resolves to the appropriate method based on the type of the first operand.

Parameters
aFirst constraint.
bConstraint to combine with a.
Returns
Combination (intersection) of constraint a and b.

Definition at line 368 of file variational_smoother_constraint.h.

369 {
370 // std::visit applies the visitor v (a Callable that can be called with any
371 // combination of types from Variants) to the active value inside a
372 // std::Variant. This circumvents the issue that the literal ConstraintVariant
373 // type does not have a method called 'intersect' (but the types defining
374 // ConstraintVariant do)
375 return std::visit(
376 [](const auto &lhs, const auto &rhs) -> ConstraintVariant {
377 return lhs.intersect(rhs);
378 },
379 a, b);
380}
std::variant< PointConstraint, LineConstraint, PlaneConstraint, InvalidConstraint > ConstraintVariant
Type used to store a constraint that may be a PlaneConstraint, LineConstraint, or PointConstraint.

References b.

Referenced by libMesh::VariationalSmootherConstraint::constrain(), and libMesh::VariationalSmootherConstraint::determine_constraint().

◆ is_between()

bool libMesh::is_between ( Real  min,
Real  check,
Real  max 
)
inline

Definition at line 30 of file bounding_box.C.

31{
32 return min <= check && check <= max;
33}

Referenced by libMesh::BoundingBox::contains_point(), and libMesh::BoundingBox::contains_point().

◆ isfinite() [1/6]

template<typename T >
bool libMesh::isfinite ( const DenseMatrix< T > &  var)

Definition at line 1223 of file dense_matrix.h.

1224{
1225 using std::isfinite;
1226 using libMesh::isfinite; // for T==complex
1227 const auto m = var.m(), n = var.n();
1228 for (auto i : make_range(m))
1229 for (auto j : make_range(n))
1230 if (!isfinite(var(i,j)))
1231 return false;
1232 return true;
1233}
bool isfinite(std::complex< T > a)
IntRange< T > make_range(T beg, T end)
The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of...
Definition int_range.h:176

References isfinite(), libMesh::DenseMatrixBase< T >::m(), make_range(), and libMesh::DenseMatrixBase< T >::n().

◆ isfinite() [2/6]

template<typename T >
bool libMesh::isfinite ( const DenseSubMatrix< T > &  var)

Definition at line 234 of file dense_submatrix.h.

235{
236 using std::isfinite;
237 using libMesh::isfinite; // for T==complex
238 const auto m = var.m(), n = var.n();
239 for (auto i : make_range(m))
240 for (auto j : make_range(n))
241 if (!isfinite(var(i,j)))
242 return false;
243 return true;
244}

References isfinite(), libMesh::DenseMatrixBase< T >::m(), make_range(), and libMesh::DenseMatrixBase< T >::n().

◆ isfinite() [3/6]

template<typename T >
bool libMesh::isfinite ( const DenseVector< T > &  var)

Definition at line 727 of file dense_vector.h.

728{
729 using std::isfinite;
730 using libMesh::isfinite; // for T==complex
731 for (auto i : index_range(var))
732 if (!isfinite(var(i)))
733 return false;
734 return true;
735}

References index_range(), and isfinite().

◆ isfinite() [4/6]

template<typename T >
bool libMesh::isfinite ( const TypeTensor< T > &  var)

Definition at line 1441 of file type_tensor.h.

1442{
1443 using std::isfinite;
1444 using libMesh::isfinite; // for T==complex
1445 for (auto i : make_range(LIBMESH_DIM))
1446 for (auto j : make_range(LIBMESH_DIM))
1447 if (!isfinite(var(i,j)))
1448 return false;
1449 return true;
1450}

References isfinite(), and make_range().

◆ isfinite() [5/6]

template<typename T >
bool libMesh::isfinite ( const TypeVector< T > &  var)

Definition at line 1192 of file type_vector.h.

1193{
1194 using std::isfinite;
1195 using libMesh::isfinite; // for T==complex
1196 for (auto i : make_range(LIBMESH_DIM))
1197 if (!isfinite(var(i)))
1198 return false;
1199 return true;
1200}

References isfinite(), and make_range().

◆ isfinite() [6/6]

template<typename T >
bool libMesh::isfinite ( std::complex< T >  a)
inline

Definition at line 231 of file libmesh_common.h.

232{
233 return (std::isfinite(std::real(a)) && std::isfinite(std::imag(a)));
234}
boost::multiprecision::float128 real(const boost::multiprecision::float128 in)
boost::multiprecision::float128 imag(const boost::multiprecision::float128)

References std::imag(), and std::real().

Referenced by isfinite(), isfinite(), isfinite(), isfinite(), isfinite(), DenseMatrixTest::testClassifiers(), TypeTensorTest::testClassifiers(), and TypeVectorTestBase< DerivedClass >::testClassifiers().

◆ isinf() [1/6]

template<typename T >
bool libMesh::isinf ( const DenseMatrix< T > &  var)

Definition at line 1244 of file dense_matrix.h.

1245{
1246 using std::isinf;
1247 using libMesh::isinf; // for T==complex
1248 using std::isnan;
1249 using libMesh::isnan;
1250 const auto m = var.m(), n = var.n();
1251 bool has_inf = false;
1252 for (auto i : make_range(m))
1253 for (auto j : make_range(n))
1254 {
1255 // NaN anywhere makes us NaN, not inf
1256 if (isnan(var(i,j)))
1257 return false;
1258 has_inf = has_inf || isinf(var(i,j));
1259 }
1260 return has_inf;
1261}
bool isnan(std::complex< T > a)
bool isinf(std::complex< T > a)

References isinf(), isnan(), libMesh::DenseMatrixBase< T >::m(), make_range(), and libMesh::DenseMatrixBase< T >::n().

◆ isinf() [2/6]

template<typename T >
bool libMesh::isinf ( const DenseSubMatrix< T > &  var)

Definition at line 255 of file dense_submatrix.h.

256{
257 using std::isinf;
258 using libMesh::isinf; // for T==complex
259 using std::isnan;
260 using libMesh::isnan;
261 const auto m = var.m(), n = var.n();
262 bool has_inf = false;
263 for (auto i : make_range(m))
264 for (auto j : make_range(n))
265 {
266 // NaN anywhere makes us NaN, not inf
267 if (isnan(var(i,j)))
268 return false;
269 has_inf = has_inf || isinf(var(i,j));
270 }
271 return has_inf;
272}

References isinf(), isnan(), libMesh::DenseMatrixBase< T >::m(), make_range(), and libMesh::DenseMatrixBase< T >::n().

◆ isinf() [3/6]

template<typename T >
bool libMesh::isinf ( const DenseVector< T > &  var)

Definition at line 746 of file dense_vector.h.

747{
748 using std::isinf;
749 using libMesh::isinf; // for T==complex
750 using std::isnan;
751 using libMesh::isnan;
752 bool has_inf = false;
753 for (auto i : index_range(var))
754 {
755 // NaN anywhere makes us NaN, not inf
756 if (isnan(var(i)))
757 return false;
758 has_inf = has_inf || isinf(var(i));
759 }
760 return has_inf;
761}

References index_range(), isinf(), and isnan().

◆ isinf() [4/6]

template<typename T >
bool libMesh::isinf ( const TypeTensor< T > &  var)

Definition at line 1461 of file type_tensor.h.

1462{
1463 using std::isinf;
1464 using libMesh::isinf; // for T==complex
1465 using std::isnan;
1466 using libMesh::isnan;
1467 bool has_inf = false;
1468 for (auto i : make_range(LIBMESH_DIM))
1469 for (auto j : make_range(LIBMESH_DIM))
1470 {
1471 // NaN anywhere makes us NaN, not inf
1472 if (isnan(var(i,j)))
1473 return false;
1474 has_inf = has_inf || isinf(var(i,j));
1475 }
1476 return has_inf;
1477}

References isinf(), isnan(), and make_range().

◆ isinf() [5/6]

template<typename T >
bool libMesh::isinf ( const TypeVector< T > &  var)

Definition at line 1211 of file type_vector.h.

1212{
1213 using std::isinf;
1214 using libMesh::isinf; // for T==complex
1215 using std::isnan;
1216 using libMesh::isnan;
1217 bool has_inf = false;
1218 for (auto i : make_range(LIBMESH_DIM))
1219 {
1220 // NaN anywhere makes us NaN, not inf
1221 if (isnan(var(i)))
1222 return false;
1223 has_inf = has_inf || isinf(var(i));
1224 }
1225 return has_inf;
1226}

References isinf(), isnan(), and make_range().

◆ isinf() [6/6]

template<typename T >
bool libMesh::isinf ( std::complex< T >  a)
inline

◆ isnan() [1/6]

template<typename T >
bool libMesh::isnan ( const DenseMatrix< T > &  var)

Definition at line 1272 of file dense_matrix.h.

1273{
1274 using std::isnan;
1275 using libMesh::isnan; // for T==complex
1276 const auto m = var.m(), n = var.n();
1277 for (auto i : make_range(m))
1278 for (auto j : make_range(n))
1279 if (isnan(var(i,j)))
1280 return true;
1281 return false;
1282}

References isnan(), libMesh::DenseMatrixBase< T >::m(), make_range(), and libMesh::DenseMatrixBase< T >::n().

◆ isnan() [2/6]

template<typename T >
bool libMesh::isnan ( const DenseSubMatrix< T > &  var)

Definition at line 283 of file dense_submatrix.h.

284{
285 using std::isnan;
286 using libMesh::isnan; // for T==complex
287 const auto m = var.m(), n = var.n();
288 for (auto i : make_range(m))
289 for (auto j : make_range(n))
290 if (isnan(var(i,j)))
291 return true;
292 return false;
293}

References isnan(), libMesh::DenseMatrixBase< T >::m(), make_range(), and libMesh::DenseMatrixBase< T >::n().

◆ isnan() [3/6]

template<typename T >
bool libMesh::isnan ( const DenseVector< T > &  var)

Definition at line 771 of file dense_vector.h.

772{
773 using std::isnan;
774 using libMesh::isnan; // for T==complex
775 for (auto i : index_range(var))
776 if (isnan(var(i)))
777 return true;
778 return false;
779}

References index_range(), and isnan().

◆ isnan() [4/6]

template<typename T >
bool libMesh::isnan ( const TypeTensor< T > &  var)

Definition at line 1488 of file type_tensor.h.

1489{
1490 using std::isnan;
1491 using libMesh::isnan; // for T==complex
1492 for (auto i : make_range(LIBMESH_DIM))
1493 for (auto j : make_range(LIBMESH_DIM))
1494 if (isnan(var(i,j)))
1495 return true;
1496 return false;
1497}

References isnan(), and make_range().

◆ isnan() [5/6]

template<typename T >
bool libMesh::isnan ( const TypeVector< T > &  var)

Definition at line 1236 of file type_vector.h.

1237{
1238 using std::isnan;
1239 using libMesh::isnan; // for T==complex
1240 for (auto i : make_range(LIBMESH_DIM))
1241 if (isnan(var(i)))
1242 return true;
1243 return false;
1244}

References isnan(), and make_range().

◆ isnan() [6/6]

template<typename T >
bool libMesh::isnan ( std::complex< T >  a)
inline

◆ l1_norm() [1/4]

template<typename T >
auto libMesh::l1_norm ( const NumericVector< T > &  vec)

Definition at line 1144 of file numeric_vector.h.

1145{
1146 return vec.l1_norm();
1147}
virtual Real l1_norm() const =0

References libMesh::NumericVector< T >::l1_norm().

Referenced by libMesh::C0Polygon::has_affine_map(), l1_norm_diff(), l1_norm_diff(), and relative_fuzzy_equals().

◆ l1_norm() [2/4]

template<typename T >
auto libMesh::l1_norm ( const SparseMatrix< T > &  mat)

Definition at line 713 of file sparse_matrix.h.

714{
715 return mat.l1_norm();
716}
virtual Real l1_norm() const =0

References libMesh::SparseMatrix< T >::l1_norm().

◆ l1_norm() [3/4]

template<typename T , typename std::enable_if< ScalarTraits< T >::value, int >::type = 0>
auto libMesh::l1_norm ( const T &  var)

Computes the L1 norm.

Definition at line 37 of file fuzzy_equals.h.

38{
39 return std::abs(var);
40}

◆ l1_norm() [4/4]

template<typename T >
auto libMesh::l1_norm ( const TypeVector< T > &  var)

Definition at line 1284 of file type_vector.h.

1285{
1286 return var.l1_norm();
1287}
auto l1_norm() const

References libMesh::TypeVector< T >::l1_norm().

◆ l1_norm_diff() [1/4]

template<typename T >
auto libMesh::l1_norm_diff ( const NumericVector< T > &  vec1,
const NumericVector< T > &  vec2 
)

Definition at line 1151 of file numeric_vector.h.

1152{
1153 return vec1.l1_norm_diff(vec2);
1154}
Real l1_norm_diff(const NumericVector< T > &other_vec) const

References libMesh::NumericVector< T >::l1_norm_diff().

Referenced by absolute_fuzzy_equals(), and libMesh::NumericVector< T >::l1_norm_diff().

◆ l1_norm_diff() [2/4]

template<typename T >
auto libMesh::l1_norm_diff ( const SparseMatrix< T > &  mat1,
const SparseMatrix< T > &  mat2 
)

Definition at line 720 of file sparse_matrix.h.

721{
722 return mat1.l1_norm_diff(mat2);
723}
Real l1_norm_diff(const SparseMatrix< T > &other_mat) const

References libMesh::SparseMatrix< T >::l1_norm_diff().

◆ l1_norm_diff() [3/4]

template<typename T , typename T2 , typename std::enable_if< ScalarTraits< T >::value &&ScalarTraits< T2 >::value, int >::type = 0>
auto libMesh::l1_norm_diff ( const T &  var1,
const T2 &  var2 
)

Computes the L1 norm of the diff between var1 and var2.

Definition at line 49 of file fuzzy_equals.h.

50{
51 return l1_norm(var1 - var2);
52}
auto l1_norm(const NumericVector< T > &vec)

References l1_norm().

◆ l1_norm_diff() [4/4]

template<typename T , typename T2 >
auto libMesh::l1_norm_diff ( const TypeVector< T > &  vec1,
const TypeVector< T2 > &  vec2 
)

Definition at line 1291 of file type_vector.h.

1292{
1293 return l1_norm(vec1 - vec2);
1294}

References l1_norm().

◆ lagrange_nodal_soln()

void libMesh::lagrange_nodal_soln ( const Elem elem,
const Order  order,
const std::vector< Number > &  elem_soln,
std::vector< Number > &  nodal_soln,
bool  add_p_level = true 
)

Helper functions for Lagrange-based basis functions.

Definition at line 43 of file fe_lagrange.C.

48{
49 const unsigned int n_nodes = elem->n_nodes();
50 const ElemType type = elem->type();
51
52 const Order totalorder = order + add_p_level*elem->p_level();
53
54 nodal_soln.resize(n_nodes);
55
56
57
58 switch (totalorder)
59 {
60 // linear Lagrange shape functions
61 case FIRST:
62 {
63 switch (type)
64 {
65 case EDGE3:
66 {
67 libmesh_assert_equal_to (elem_soln.size(), 2);
68 libmesh_assert_equal_to (nodal_soln.size(), 3);
69
70 nodal_soln[0] = elem_soln[0];
71 nodal_soln[1] = elem_soln[1];
72 nodal_soln[2] = .5*(elem_soln[0] + elem_soln[1]);
73
74 return;
75 }
76
77 case EDGE4:
78 {
79 libmesh_assert_equal_to (elem_soln.size(), 2);
80 libmesh_assert_equal_to (nodal_soln.size(), 4);
81
82 nodal_soln[0] = elem_soln[0];
83 nodal_soln[1] = elem_soln[1];
84 nodal_soln[2] = (2.*elem_soln[0] + elem_soln[1])/3.;
85 nodal_soln[3] = (elem_soln[0] + 2.*elem_soln[1])/3.;
86
87 return;
88 }
89
90
91 case TRI7:
92 libmesh_assert_equal_to (nodal_soln.size(), 7);
93 nodal_soln[6] = (elem_soln[0] + elem_soln[1] + elem_soln[2])/3.;
94 libmesh_fallthrough();
95 case TRI6:
96 {
97 libmesh_assert (type == TRI7 || nodal_soln.size() == 6);
98 libmesh_assert_equal_to (elem_soln.size(), 3);
99
100 nodal_soln[0] = elem_soln[0];
101 nodal_soln[1] = elem_soln[1];
102 nodal_soln[2] = elem_soln[2];
103 nodal_soln[3] = .5*(elem_soln[0] + elem_soln[1]);
104 nodal_soln[4] = .5*(elem_soln[1] + elem_soln[2]);
105 nodal_soln[5] = .5*(elem_soln[2] + elem_soln[0]);
106
107 return;
108 }
109
110
111 case QUAD8:
112 case QUAD9:
113 {
114 libmesh_assert_equal_to (elem_soln.size(), 4);
115
116 if (type == QUAD8)
117 libmesh_assert_equal_to (nodal_soln.size(), 8);
118 else
119 libmesh_assert_equal_to (nodal_soln.size(), 9);
120
121
122 nodal_soln[0] = elem_soln[0];
123 nodal_soln[1] = elem_soln[1];
124 nodal_soln[2] = elem_soln[2];
125 nodal_soln[3] = elem_soln[3];
126 nodal_soln[4] = .5*(elem_soln[0] + elem_soln[1]);
127 nodal_soln[5] = .5*(elem_soln[1] + elem_soln[2]);
128 nodal_soln[6] = .5*(elem_soln[2] + elem_soln[3]);
129 nodal_soln[7] = .5*(elem_soln[3] + elem_soln[0]);
130
131 if (type == QUAD9)
132 nodal_soln[8] = .25*(elem_soln[0] + elem_soln[1] + elem_soln[2] + elem_soln[3]);
133
134 return;
135 }
136
137
138 case TET14:
139 libmesh_assert_equal_to (nodal_soln.size(), 14);
140 nodal_soln[10] = (elem_soln[0] + elem_soln[1] + elem_soln[2])/3.;
141 nodal_soln[11] = (elem_soln[0] + elem_soln[1] + elem_soln[3])/3.;
142 nodal_soln[12] = (elem_soln[1] + elem_soln[2] + elem_soln[3])/3.;
143 nodal_soln[13] = (elem_soln[0] + elem_soln[2] + elem_soln[3])/3.;
144 libmesh_fallthrough();
145 case TET10:
146 {
147 libmesh_assert_equal_to (elem_soln.size(), 4);
148 libmesh_assert (type == TET14 || nodal_soln.size() == 10);
149
150 nodal_soln[0] = elem_soln[0];
151 nodal_soln[1] = elem_soln[1];
152 nodal_soln[2] = elem_soln[2];
153 nodal_soln[3] = elem_soln[3];
154 nodal_soln[4] = .5*(elem_soln[0] + elem_soln[1]);
155 nodal_soln[5] = .5*(elem_soln[1] + elem_soln[2]);
156 nodal_soln[6] = .5*(elem_soln[2] + elem_soln[0]);
157 nodal_soln[7] = .5*(elem_soln[3] + elem_soln[0]);
158 nodal_soln[8] = .5*(elem_soln[3] + elem_soln[1]);
159 nodal_soln[9] = .5*(elem_soln[3] + elem_soln[2]);
160
161 return;
162 }
163
164
165 case HEX20:
166 case HEX27:
167 {
168 libmesh_assert_equal_to (elem_soln.size(), 8);
169
170 if (type == HEX20)
171 libmesh_assert_equal_to (nodal_soln.size(), 20);
172 else
173 libmesh_assert_equal_to (nodal_soln.size(), 27);
174
175 nodal_soln[0] = elem_soln[0];
176 nodal_soln[1] = elem_soln[1];
177 nodal_soln[2] = elem_soln[2];
178 nodal_soln[3] = elem_soln[3];
179 nodal_soln[4] = elem_soln[4];
180 nodal_soln[5] = elem_soln[5];
181 nodal_soln[6] = elem_soln[6];
182 nodal_soln[7] = elem_soln[7];
183 nodal_soln[8] = .5*(elem_soln[0] + elem_soln[1]);
184 nodal_soln[9] = .5*(elem_soln[1] + elem_soln[2]);
185 nodal_soln[10] = .5*(elem_soln[2] + elem_soln[3]);
186 nodal_soln[11] = .5*(elem_soln[3] + elem_soln[0]);
187 nodal_soln[12] = .5*(elem_soln[0] + elem_soln[4]);
188 nodal_soln[13] = .5*(elem_soln[1] + elem_soln[5]);
189 nodal_soln[14] = .5*(elem_soln[2] + elem_soln[6]);
190 nodal_soln[15] = .5*(elem_soln[3] + elem_soln[7]);
191 nodal_soln[16] = .5*(elem_soln[4] + elem_soln[5]);
192 nodal_soln[17] = .5*(elem_soln[5] + elem_soln[6]);
193 nodal_soln[18] = .5*(elem_soln[6] + elem_soln[7]);
194 nodal_soln[19] = .5*(elem_soln[4] + elem_soln[7]);
195
196 if (type == HEX27)
197 {
198 nodal_soln[20] = .25*(elem_soln[0] + elem_soln[1] + elem_soln[2] + elem_soln[3]);
199 nodal_soln[21] = .25*(elem_soln[0] + elem_soln[1] + elem_soln[4] + elem_soln[5]);
200 nodal_soln[22] = .25*(elem_soln[1] + elem_soln[2] + elem_soln[5] + elem_soln[6]);
201 nodal_soln[23] = .25*(elem_soln[2] + elem_soln[3] + elem_soln[6] + elem_soln[7]);
202 nodal_soln[24] = .25*(elem_soln[3] + elem_soln[0] + elem_soln[7] + elem_soln[4]);
203 nodal_soln[25] = .25*(elem_soln[4] + elem_soln[5] + elem_soln[6] + elem_soln[7]);
204
205 nodal_soln[26] = .125*(elem_soln[0] + elem_soln[1] + elem_soln[2] + elem_soln[3] +
206 elem_soln[4] + elem_soln[5] + elem_soln[6] + elem_soln[7]);
207 }
208
209 return;
210 }
211
212
213 case PRISM21:
214 nodal_soln[20] = (elem_soln[9] + elem_soln[10] + elem_soln[11])/Real(3);
215 libmesh_fallthrough();
216 case PRISM20:
217 if (type == PRISM20)
218 libmesh_assert_equal_to (nodal_soln.size(), 20);
219 nodal_soln[18] = (elem_soln[0] + elem_soln[1] + elem_soln[2])/Real(3);
220 nodal_soln[19] = (elem_soln[3] + elem_soln[4] + elem_soln[5])/Real(3);
221 libmesh_fallthrough();
222 case PRISM18:
223 if (type == PRISM18)
224 libmesh_assert_equal_to (nodal_soln.size(), 18);
225 nodal_soln[15] = .25*(elem_soln[0] + elem_soln[1] + elem_soln[4] + elem_soln[3]);
226 nodal_soln[16] = .25*(elem_soln[1] + elem_soln[2] + elem_soln[5] + elem_soln[4]);
227 nodal_soln[17] = .25*(elem_soln[2] + elem_soln[0] + elem_soln[3] + elem_soln[5]);
228 libmesh_fallthrough();
229 case PRISM15:
230 {
231 libmesh_assert_equal_to (elem_soln.size(), 6);
232
233 if (type == PRISM15)
234 libmesh_assert_equal_to (nodal_soln.size(), 15);
235
236 nodal_soln[0] = elem_soln[0];
237 nodal_soln[1] = elem_soln[1];
238 nodal_soln[2] = elem_soln[2];
239 nodal_soln[3] = elem_soln[3];
240 nodal_soln[4] = elem_soln[4];
241 nodal_soln[5] = elem_soln[5];
242 nodal_soln[6] = .5*(elem_soln[0] + elem_soln[1]);
243 nodal_soln[7] = .5*(elem_soln[1] + elem_soln[2]);
244 nodal_soln[8] = .5*(elem_soln[0] + elem_soln[2]);
245 nodal_soln[9] = .5*(elem_soln[0] + elem_soln[3]);
246 nodal_soln[10] = .5*(elem_soln[1] + elem_soln[4]);
247 nodal_soln[11] = .5*(elem_soln[2] + elem_soln[5]);
248 nodal_soln[12] = .5*(elem_soln[3] + elem_soln[4]);
249 nodal_soln[13] = .5*(elem_soln[4] + elem_soln[5]);
250 nodal_soln[14] = .5*(elem_soln[3] + elem_soln[5]);
251
252 return;
253 }
254
255 case PYRAMID18:
256 {
257 libmesh_assert_equal_to (nodal_soln.size(), 18);
258
259 nodal_soln[14] = (elem_soln[0] + elem_soln[1] + elem_soln[4])/Real(3);
260 nodal_soln[15] = (elem_soln[1] + elem_soln[2] + elem_soln[4])/Real(3);
261 nodal_soln[16] = (elem_soln[2] + elem_soln[3] + elem_soln[4])/Real(3);
262 nodal_soln[17] = (elem_soln[0] + elem_soln[3] + elem_soln[4])/Real(3);
263
264 libmesh_fallthrough();
265 }
266
267 case PYRAMID14:
268 {
269 if (type == PYRAMID14)
270 libmesh_assert_equal_to (nodal_soln.size(), 14);
271
272 nodal_soln[13] = .25*(elem_soln[0] + elem_soln[1] + elem_soln[2] + elem_soln[3]);
273
274 libmesh_fallthrough();
275 }
276
277 case PYRAMID13:
278 {
279 libmesh_assert_equal_to (elem_soln.size(), 5);
280
281 if (type == PYRAMID13)
282 libmesh_assert_equal_to (nodal_soln.size(), 13);
283
284 nodal_soln[0] = elem_soln[0];
285 nodal_soln[1] = elem_soln[1];
286 nodal_soln[2] = elem_soln[2];
287 nodal_soln[3] = elem_soln[3];
288 nodal_soln[4] = elem_soln[4];
289 nodal_soln[5] = .5*(elem_soln[0] + elem_soln[1]);
290 nodal_soln[6] = .5*(elem_soln[1] + elem_soln[2]);
291 nodal_soln[7] = .5*(elem_soln[2] + elem_soln[3]);
292 nodal_soln[8] = .5*(elem_soln[3] + elem_soln[0]);
293 nodal_soln[9] = .5*(elem_soln[0] + elem_soln[4]);
294 nodal_soln[10] = .5*(elem_soln[1] + elem_soln[4]);
295 nodal_soln[11] = .5*(elem_soln[2] + elem_soln[4]);
296 nodal_soln[12] = .5*(elem_soln[3] + elem_soln[4]);
297
298 return;
299 }
300 default:
301 {
302 // By default the element solution _is_ nodal,
303 // so just copy it.
304 nodal_soln = elem_soln;
305
306 return;
307 }
308 }
309 }
310
311 case SECOND:
312 {
313 switch (type)
314 {
315 case EDGE4:
316 {
317 libmesh_assert_equal_to (elem_soln.size(), 3);
318 libmesh_assert_equal_to (nodal_soln.size(), 4);
319
320 // Project quadratic solution onto cubic element nodes
321 nodal_soln[0] = elem_soln[0];
322 nodal_soln[1] = elem_soln[1];
323 nodal_soln[2] = (2.*elem_soln[0] - elem_soln[1] +
324 8.*elem_soln[2])/9.;
325 nodal_soln[3] = (-elem_soln[0] + 2.*elem_soln[1] +
326 8.*elem_soln[2])/9.;
327 return;
328 }
329
330 case TRI7:
331 {
332 libmesh_assert_equal_to (elem_soln.size(), 6);
333 libmesh_assert_equal_to (nodal_soln.size(), 7);
334
335 for (int i=0; i != 6; ++i)
336 nodal_soln[i] = elem_soln[i];
337
338 nodal_soln[6] = -1./9. * (elem_soln[0] + elem_soln[1] + elem_soln[2])
339 +4./9. * (elem_soln[3] + elem_soln[4] + elem_soln[5]);
340
341 return;
342 }
343
344 case TET14:
345 {
346 libmesh_assert_equal_to (elem_soln.size(), 10);
347 libmesh_assert_equal_to (nodal_soln.size(), 14);
348
349 for (int i=0; i != 10; ++i)
350 nodal_soln[i] = elem_soln[i];
351
352 nodal_soln[10] = -1./9. * (elem_soln[0] + elem_soln[1] + elem_soln[2])
353 +4./9. * (elem_soln[4] + elem_soln[5] + elem_soln[6]);
354 nodal_soln[11] = -1./9. * (elem_soln[0] + elem_soln[1] + elem_soln[3])
355 +4./9. * (elem_soln[4] + elem_soln[7] + elem_soln[8]);
356 nodal_soln[12] = -1./9. * (elem_soln[1] + elem_soln[2] + elem_soln[3])
357 +4./9. * (elem_soln[5] + elem_soln[8] + elem_soln[9]);
358 nodal_soln[13] = -1./9. * (elem_soln[0] + elem_soln[2] + elem_soln[3])
359 +4./9. * (elem_soln[6] + elem_soln[7] + elem_soln[9]);
360
361 return;
362 }
363
364 case PRISM21:
365 {
366 nodal_soln[20] = (elem_soln[9] + elem_soln[10] + elem_soln[11])/Real(3);
367 libmesh_fallthrough();
368 }
369 case PRISM20:
370 {
371 if (type == PRISM20)
372 libmesh_assert_equal_to (nodal_soln.size(), 20);
373
374 for (int i=0; i != 18; ++i)
375 nodal_soln[i] = elem_soln[i];
376
377 nodal_soln[18] = (elem_soln[0] + elem_soln[1] + elem_soln[2])/Real(3);
378 nodal_soln[19] = (elem_soln[3] + elem_soln[4] + elem_soln[5])/Real(3);
379 return;
380 }
381
382 case PYRAMID18:
383 {
384 libmesh_assert_equal_to (nodal_soln.size(), 18);
385
386 for (int i=0; i != 14; ++i)
387 nodal_soln[i] = elem_soln[i];
388
389 nodal_soln[14] = (elem_soln[0] + elem_soln[1] + elem_soln[4])/Real(3);
390 nodal_soln[15] = (elem_soln[1] + elem_soln[2] + elem_soln[4])/Real(3);
391 nodal_soln[16] = (elem_soln[2] + elem_soln[3] + elem_soln[4])/Real(3);
392 nodal_soln[17] = (elem_soln[0] + elem_soln[3] + elem_soln[4])/Real(3);
393
394 libmesh_fallthrough();
395 }
396
397 default:
398 {
399 // By default the element solution _is_ nodal, so just
400 // copy the portion relevant to the nodal solution.
401 // (this is the whole nodal solution for true Lagrange
402 // elements, but a smaller part for "L2 Lagrange"
403 libmesh_assert_less_equal(nodal_soln.size(), elem_soln.size());
404 for (const auto i : index_range(nodal_soln))
405 nodal_soln[i] = elem_soln[i];
406
407 return;
408 }
409 }
410 }
411
412
413
414
415 default:
416 {
417 // By default the element solution _is_ nodal, so just copy
418 // the portion relevant to the nodal solution. (this is the
419 // whole nodal solution for true Lagrange elements, but a
420 // smaller part for "L2 Lagrange"
421 libmesh_assert_less_equal(nodal_soln.size(), elem_soln.size());
422 for (const auto i : index_range(nodal_soln))
423 nodal_soln[i] = elem_soln[i];
424
425 return;
426 }
427 }
428}
virtual unsigned int n_nodes() const =0
virtual ElemType type() const =0
unsigned int p_level() const
Definition elem.h:3125
ElemType
Defines an enum for geometric element types.
const dof_id_type n_nodes
Definition tecplot_io.C:67

References EDGE3, EDGE4, FIRST, HEX20, HEX27, index_range(), libmesh_assert(), libMesh::Elem::n_nodes(), n_nodes, libMesh::Elem::p_level(), PRISM15, PRISM18, PRISM20, PRISM21, PYRAMID13, PYRAMID14, PYRAMID18, QUAD8, QUAD9, Real, SECOND, TET10, TET14, TRI6, TRI7, and libMesh::Elem::type().

◆ libmesh_abort()

void libMesh::libmesh_abort ( )

Abort as soon as possible.

This cleans up stream buffers, aborts with MPI_Abort (if MPI is initialized), and falls back on std::abort afterward.

Definition at line 338 of file libmesh.C.

339{
341
342 // Now that we're done with output we should clean up our stream
343 // buffers; if we fail to uninstall_thread_buffered_sync() when
344 // needed we can end up seeing a segfault in iostreams destructors
346
347 // If we have MPI and it has been initialized, we need to be sure
348 // and call MPI_Abort instead of std::abort, so that the parallel
349 // job can die nicely.
350#if defined(LIBMESH_HAVE_MPI)
351 int mpi_initialized;
352 MPI_Initialized (&mpi_initialized);
353
354 if (mpi_initialized)
355 MPI_Abort(libMesh::GLOBAL_COMM_WORLD, 1);
356#endif
357
358#ifdef LIBMESH_ENABLE_EXCEPTIONS
359 // The system terminate_handler may do useful things, or the user
360 // may have set their own terminate handler that we want to call.
361 LibMeshInit::_old_terminate_handler();
362#endif
363
364 // The last attempt to die if nothing else has killed us
365 std::abort();
366}
void clear()
Clears all the internal data and restores the data structures to a pristine state.
Definition perf_log.C:78
PerfLog perflog
A PerfLog object to log performance.
MPI_Comm GLOBAL_COMM_WORLD
MPI Communicator used to initialize libMesh.
void cleanup_stream_buffers()
Helper to do cleanup from both destructor and terminate.
Definition libmesh.C:244

◆ libmesh_assert()

libMesh::libmesh_assert ( ctx  )

Referenced by __libmesh_petsc_diff_solver_jacobian(), __libmesh_petsc_diff_solver_residual(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::Xdr::_complex_data_stream(), libMesh::ExactSolution::_compute_error(), libMesh::FEMContext::_do_elem_position_set(), ContrivedPartitioner::_do_partition(), libMesh::DofMap::_dof_indices(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::SteadySolver::_general_residual(), libMesh::PetscVector< T >::_get_array(), libMesh::MeshFunction::_gradient_on_elem(), libMesh::DofMap::_node_dof_indices(), libMesh::GMVIO::_read_one_cell(), libMesh::MeshRefinement::_refine_elements(), libMesh::PetscVector< T >::_restore_array(), libMesh::MeshRefinement::_smooth_flags(), libMesh::Xdr::_xfp_data_stream(), libMesh::DistributedVector< T >::abs(), libMesh::EigenSparseVector< T >::abs(), libMesh::LaspackVector< T >::abs(), libMesh::PetscVector< T >::abs(), libMesh::ElemInternal::active_family_tree(), libMesh::ElemInternal::active_family_tree_by_neighbor(), libMesh::ElemInternal::active_family_tree_by_side(), libMesh::ElemInternal::active_family_tree_by_topological_neighbor(), libMesh::MeshBase::active_local_element_stored_range(), libMesh::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::PetscMatrix< T >::add(), libMesh::EpetraMatrix< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::LaspackVector< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::LaspackVector< T >::add(), libMesh::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::PetscMatrix< T >::add(), libMesh::EpetraMatrix< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::DofMap::add_algebraic_ghosting_functor(), libMesh::PetscMatrix< T >::add_block_matrix(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::GMVIO::add_cell_centered_data(), libMesh::Elem::add_child(), add_command_line_name(), libMesh::DofMap::add_coupling_functor(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DifferentiableSystem::add_dot_var_dirichlet_bcs(), libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_edge(), libMesh::DistributedMesh::add_elem(), libMesh::ReplicatedMesh::add_elem(), libMesh::MeshRefinement::add_elem(), libMesh::MeshRefinement::add_elem(), libMesh::MeshBase::add_elem_data(), libMesh::MeshBase::add_elem_integers(), libMesh::BoundaryInfo::add_elements(), libMesh::MeshBase::add_ghosting_functor(), libMesh::ImplicitSystem::add_matrices(), libMesh::StaticCondensation::add_matrix(), libMesh::EigenSparseMatrix< T >::add_matrix(), libMesh::LaspackMatrix< T >::add_matrix(), libMesh::PetscMatrix< T >::add_matrix(), libMesh::EpetraMatrix< T >::add_matrix(), libMesh::System::add_matrix(), libMesh::System::add_matrix(), libMesh::BoundaryInfo::add_node(), libMesh::MeshRefinement::add_node(), libMesh::DistributedMesh::add_node(), libMesh::ReplicatedMesh::add_node(), libMesh::MeshBase::add_node_data(), libMesh::MeshBase::add_node_integers(), libMesh::DofMap::add_periodic_boundary(), libMesh::ReplicatedMesh::add_point(), libMesh::HPCoarsenTest::add_projection(), libMesh::EnsightIO::add_scalar(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::BoundaryInfo::add_side(), libMesh::ExplicitSystem::add_system_rhs(), libMesh::DofMap::add_variable(), libMesh::DofMap::add_variables(), libMesh::NumericVector< T >::add_vector(), libMesh::NumericVector< T >::add_vector(), libMesh::EigenSparseVector< T >::add_vector(), libMesh::LaspackVector< T >::add_vector(), libMesh::EnsightIO::add_vector(), libMesh::EnsightIO::add_vector(), libMesh::NumericVector< T >::add_vector(), libMesh::NumericVector< T >::add_vector(), libMesh::System::add_vector(), libMesh::EigenSparseVector< T >::add_vector_transpose(), libMesh::ExodusII_IO_Helper::added_node_offset_on(), libMesh::TimeSolver::adjoint_solve(), libMesh::EquationSystems::adjoint_solve(), libMesh::UnstructuredMesh::all_first_order(), libMesh::FE< Dim, T >::all_shape_derivs(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::AnalyticFunction< Output >::AnalyticFunction(), libMesh::AnalyticFunction< Output >::AnalyticFunction(), libMesh::Elem::ancestor(), libMesh::Utility::do_pow< N, T >::apply(), libMesh::DofMap::array_dof_indices(), libMesh::FrequencySystem::assemble(), libMesh::ImplicitSystem::assemble(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_temperature_jump(), libMesh::FEMSystem::assembly(), libMesh::NonlinearImplicitSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::MeshCommunication::assign_global_indices(), libMesh::Partitioner::assign_partitioning(), libMesh::RBThetaExpansion::attach_A_theta(), libMesh::System::attach_assemble_function(), libMesh::System::attach_constraint_function(), libMesh::ExactErrorEstimator::attach_exact_deriv(), libMesh::ExactSolution::attach_exact_deriv(), libMesh::ExactErrorEstimator::attach_exact_hessian(), libMesh::ExactSolution::attach_exact_hessian(), libMesh::ExactErrorEstimator::attach_exact_value(), libMesh::ExactSolution::attach_exact_value(), libMesh::RBThetaExpansion::attach_F_theta(), libMesh::System::attach_init_function(), libMesh::TransientRBThetaExpansion::attach_M_theta(), libMesh::DofMap::attach_matrix(), libMesh::RBThetaExpansion::attach_multiple_A_theta(), libMesh::RBThetaExpansion::attach_multiple_F_theta(), libMesh::RBThetaExpansion::attach_output_theta(), libMesh::System::attach_QOI_derivative(), libMesh::System::attach_QOI_function(), libMesh::FE< Dim, T >::attach_quadrature_rule(), libMesh::FESubdivision::attach_quadrature_rule(), libMesh::InfFE< Dim, T_radial, T_map >::attach_quadrature_rule(), libMesh::ExactSolution::attach_reference_solution(), libMesh::ExactErrorEstimator::attach_reference_solution(), libMesh::FrequencySystem::attach_solve_function(), libMesh::StaticCondensation::backwards_substitution(), InfFERadialTest::base_point(), libMesh::Parallel::BinSorter< KeyType, IdxType >::BinSorter(), libMesh::BoundaryInfo::boundary_ids(), libMesh::BoundaryProjectSolution::BoundaryProjectSolution(), libMesh::BoundaryProjectSolution::BoundaryProjectSolution(), libMesh::TreeNode< N >::bounds_node(), libMesh::Elem::bracketing_nodes(), libMesh::NumericVector< Number >::build(), libMesh::Patch::build_around_element(), libMesh::DofMap::build_constraint_matrix(), libMesh::DofMap::build_constraint_matrix_and_vector(), libMesh::FEMSystem::build_context(), libMesh::MeshTools::Generation::build_cube(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::FEMContext::build_new_fe(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::DofMap::build_sparsity(), VolumeTest::buildC0Polyhedron(), libMesh::System::calculate_norm(), libMesh::VTKIO::cells_to_vtk(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::DofMap::check_for_constraint_loops(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::Elem::child_ptr(), libMesh::Elem::child_ptr(), libMesh::Elem::child_ref_range(), libMesh::Elem::child_ref_range(), libMesh::Singleton::cleanup(), libMesh::DofMap::clear(), libMesh::MeshTools::clear_spline_nodes(), libMesh::DistributedMesh::clone(), libMesh::ReplicatedMesh::clone(), libMesh::DistributedVector< T >::close(), libMesh::EigenSparseVector< T >::close(), libMesh::LaspackMatrix< T >::close(), libMesh::LaspackVector< T >::close(), libMesh::EpetraMatrix< T >::close(), libMesh::EpetraVector< T >::close(), libMesh::PetscMatrixBase< T >::closed(), libMesh::EpetraMatrix< T >::closed(), libMesh::Elem::coarsen(), libMesh::MeshRefinement::coarsen_elements(), libMesh::FEGenericBase< OutputType >::coarsened_dof_values(), libMesh::PetscMatrixBase< Number >::col_start(), libMesh::PetscMatrixBase< T >::col_start(), libMesh::EpetraMatrix< T >::col_start(), libMesh::PetscMatrixBase< T >::col_stop(), libMesh::EpetraMatrix< T >::col_stop(), command_line_next(), command_line_value(), command_line_value(), command_line_vector(), libMesh::Xdr::comment(), libMesh::NumericVector< T >::compare(), libMesh::System::compare(), libMesh::MeshBase::complete_preparation(), libMesh::WrappedFunction< Output >::component(), libMesh::FEMap::compute_affine_map(), libMesh::FEInterface::compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEGenericBase< OutputType >::compute_dual_shape_functions(), libMesh::FEMap::compute_edge_map(), libMesh::ExactSolution::compute_error(), libMesh::FEMap::compute_face_map(), libMesh::FEXYZ< Dim >::compute_face_values(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::FEMap::compute_map(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< OutputType >::compute_proj_constraints(), compute_qp_soln(), compute_qp_soln(), libMesh::FirstOrderUnsteadySolver::compute_second_order_eqns(), libMesh::FEXYZ< Dim >::compute_shape_functions(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_functions(), libMesh::FEMap::compute_single_point_map(), connect_element_dependencies(), libMesh::Hex20::connectivity(), libMesh::Hex27::connectivity(), libMesh::Hex8::connectivity(), libMesh::InfHex16::connectivity(), libMesh::InfHex18::connectivity(), libMesh::InfHex8::connectivity(), libMesh::InfPrism12::connectivity(), libMesh::InfPrism6::connectivity(), libMesh::Prism15::connectivity(), libMesh::Prism18::connectivity(), libMesh::Prism6::connectivity(), libMesh::Pyramid13::connectivity(), libMesh::Pyramid14::connectivity(), libMesh::Pyramid18::connectivity(), libMesh::Pyramid5::connectivity(), libMesh::Tet10::connectivity(), libMesh::Tet14::connectivity(), libMesh::Tet4::connectivity(), libMesh::DofMap::constrain_element_residual(), libMesh::VariationalSmootherConstraint::constrain_node_to_line(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), libMesh::InverseDistanceInterpolation< KDDim >::construct_kd_tree(), libMesh::Elem::contract(), libMesh::UnstructuredMesh::contract(), libMesh::MeshBase::copy_constraint_rows(), libMesh::Nemesis_IO::copy_elemental_solution(), libMesh::PetscMatrix< T >::copy_from_hash(), libMesh::GMVIO::copy_nodal_solution(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::vectormap< Key, Tp >::count(), libMesh::PetscLinearSolver< T >::create_complement_is(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::UnstructuredMesh::create_submesh(), libMesh::PetscVector< T >::create_subvector(), libMesh::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::Xdr::data(), libMesh::Xdr::data_stream(), libMesh::InfFERadial::decay_deriv(), libMesh::ParameterVector::deep_resize(), default_solver_package(), libMesh::DistributedMesh::delete_elem(), libMesh::ReplicatedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::ReplicatedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), designed_for_side_elems(), libMesh::VariationalSmootherConstraint::determine_constraint(), libMesh::DGFEMContext::DGFEMContext(), libMesh::DirichletBoundary::DirichletBoundary(), libMesh::DirichletBoundary::DirichletBoundary(), libMesh::DirichletBoundary::DirichletBoundary(), libMesh::MeshFunction::disable_out_of_mesh_mode(), libMesh::C0Polyhedron::disconnected_clone(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_value(), libMesh::MeshFunction::discontinuous_value(), libMesh::MeshTools::Modification::distort(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), libMesh::Xdr::do_read(), libMesh::Xdr::do_read(), libMesh::Xdr::do_write(), libMesh::Xdr::do_write(), libMesh::DofMap::dof_indices(), libMesh::DofMap::dof_owner(), libMesh::FE< Dim, T >::dofs_on_edge(), libMesh::FE< Dim, T >::dofs_on_side(), libMesh::EigenSparseVector< T >::dot(), libMesh::LaspackVector< T >::dot(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::FE< Dim, T >::edge_reinit(), libMesh::Hex::edges_adjacent_to_node(), libMesh::InfHex::edges_adjacent_to_node(), libMesh::InfPrism::edges_adjacent_to_node(), libMesh::Prism::edges_adjacent_to_node(), libMesh::Pyramid::edges_adjacent_to_node(), libMesh::Tet::edges_adjacent_to_node(), libMesh::Quad::edges_adjacent_to_node(), libMesh::Tri::edges_adjacent_to_node(), libMesh::FEMContext::elem_fe_reinit(), libMesh::FEMContext::elem_position_get(), libMesh::DistributedMesh::elem_ptr(), libMesh::ReplicatedMesh::elem_ptr(), libMesh::DistributedMesh::elem_ptr(), libMesh::ReplicatedMesh::elem_ptr(), CoupledSystem::element_constraint(), libMesh::TetGenIO::element_in(), libMesh::AdaptiveTimeSolver::element_residual(), libMesh::EigenTimeSolver::element_residual(), libMesh::MeshBase::element_stored_range(), CoupledSystem::element_time_derivative(), SolidSystem::element_time_derivative(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::MeshFunction::enable_out_of_mesh_mode(), libMesh::DofObject::end_idx_ints(), libMesh::SolutionHistory::erase(), libMesh::ExactSolution::error_norm(), libMesh::AdaptiveTimeSolver::error_order(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::FEMPhysics::eulerian_residual(), libMesh::InfFEMap::eval(), libMesh::RBThetaExpansion::eval_A_theta(), libMesh::RBThetaExpansion::eval_A_theta(), libMesh::ParsedFEMFunction< Output >::eval_args(), libMesh::InfFEMap::eval_deriv(), libMesh::RBThetaExpansion::eval_F_theta(), libMesh::RBThetaExpansion::eval_F_theta(), libMesh::TransientRBThetaExpansion::eval_M_theta(), libMesh::RBThetaExpansion::eval_output_theta(), libMesh::RBThetaExpansion::eval_output_theta(), libMesh::DofMap::extract_local_vector(), libMesh::Factory< Base >::Factory(), libMesh::ElemInternal::family_tree(), libMesh::ElemInternal::family_tree_by_neighbor(), libMesh::ElemInternal::family_tree_by_side(), libMesh::ElemInternal::family_tree_by_subneighbor(), fe_assembly(), fe_fdm_deriv(), libMesh::FEMContext::FEMContext(), libMesh::vectormap< Key, Tp >::find(), libMesh::vectormap< Key, Tp >::find(), libMesh::DofMap::find_connected_dofs(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::Elem::find_edge_neighbors(), libMesh::TreeNode< N >::find_element_in_children(), libMesh::TreeNode< N >::find_elements_in_children(), libMesh::MeshCommunication::find_global_indices(), libMesh::ElemInternal::find_interior_neighbors(), libMesh::ElemCutter::find_intersection_points(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::find_nodal_or_face_neighbors(), libMesh::MeshTools::Subdivision::find_one_ring(), libMesh::Elem::find_point_neighbors(), libMesh::ElemInternal::find_point_neighbors(), libMesh::DTKAdapter::find_sys(), libMesh::EquationSystems::find_variable_numbers_by_predicate(), libMesh::DistributedVector< T >::first_local_index(), libMesh::EigenSparseVector< T >::first_local_index(), libMesh::LaspackVector< T >::first_local_index(), libMesh::PetscVector< T >::first_local_index(), libMesh::EpetraVector< T >::first_local_index(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshTools::Modification::flatten(), libMesh::Hex20::flip(), libMesh::Hex27::flip(), libMesh::Hex8::flip(), libMesh::InfHex16::flip(), libMesh::InfHex18::flip(), libMesh::InfHex8::flip(), libMesh::InfPrism12::flip(), libMesh::InfPrism6::flip(), libMesh::Prism15::flip(), libMesh::Prism18::flip(), libMesh::Prism20::flip(), libMesh::Prism21::flip(), libMesh::Prism6::flip(), libMesh::Pyramid13::flip(), libMesh::Pyramid14::flip(), libMesh::Pyramid18::flip(), libMesh::Pyramid5::flip(), libMesh::Tet10::flip(), libMesh::Tet14::flip(), libMesh::Tet4::flip(), libMesh::Edge2::flip(), libMesh::Edge3::flip(), libMesh::Edge4::flip(), libMesh::C0Polygon::flip(), libMesh::InfQuad4::flip(), libMesh::InfQuad6::flip(), libMesh::Quad4::flip(), libMesh::Quad8::flip(), libMesh::Quad9::flip(), libMesh::Tri3::flip(), libMesh::Tri6::flip(), libMesh::Tri7::flip(), form_matrixA(), libMesh::StaticCondensation::forward_elimination(), fptr(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::DofMap::gather_constraints(), libMesh::ParameterMultiAccessor< T >::get(), libMesh::ParameterMultiPointer< T >::get(), libMesh::ParameterPointer< T >::get(), libMesh::Parameters::get(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::StaticCondensation::get_condensed_mat(), libMesh::CondensedEigenSystem::get_condensed_matrix_A(), libMesh::CondensedEigenSystem::get_condensed_matrix_B(), libMesh::CondensedEigenSystem::get_condensed_precond_matrix(), libMesh::PetscMatrixBase< T >::get_context(), libMesh::FEGenericBase< OutputType >::get_curl_phi(), libMesh::FEMap::get_curvatures(), libMesh::FEMap::get_d2etadxyz2(), libMesh::FEGenericBase< OutputType >::get_d2phi(), libMesh::FEGenericBase< OutputType >::get_d2phideta2(), libMesh::FEMap::get_d2phideta2_map(), libMesh::FEGenericBase< OutputType >::get_d2phidetadzeta(), libMesh::FEMap::get_d2phidetadzeta_map(), libMesh::FEGenericBase< OutputType >::get_d2phidx2(), libMesh::FEGenericBase< OutputType >::get_d2phidxdy(), libMesh::FEGenericBase< OutputType >::get_d2phidxdz(), libMesh::FEGenericBase< OutputType >::get_d2phidxi2(), libMesh::FEMap::get_d2phidxi2_map(), libMesh::FEGenericBase< OutputType >::get_d2phidxideta(), libMesh::FEMap::get_d2phidxideta_map(), libMesh::FEGenericBase< OutputType >::get_d2phidxidzeta(), libMesh::FEMap::get_d2phidxidzeta_map(), libMesh::FEGenericBase< OutputType >::get_d2phidy2(), libMesh::FEGenericBase< OutputType >::get_d2phidydz(), libMesh::FEGenericBase< OutputType >::get_d2phidz2(), libMesh::FEGenericBase< OutputType >::get_d2phidzeta2(), libMesh::FEMap::get_d2phidzeta2_map(), libMesh::FEMap::get_d2psideta2(), libMesh::FEMap::get_d2psideta2(), libMesh::FEMap::get_d2psidxi2(), libMesh::FEMap::get_d2psidxi2(), libMesh::FEMap::get_d2psidxideta(), libMesh::FEMap::get_d2psidxideta(), libMesh::FEMap::get_d2xidxyz2(), libMesh::FEMap::get_d2xyzdeta2(), libMesh::FEMap::get_d2xyzdetadzeta(), libMesh::FEMap::get_d2xyzdxi2(), libMesh::FEMap::get_d2xyzdxideta(), libMesh::FEMap::get_d2xyzdxidzeta(), libMesh::FEMap::get_d2xyzdzeta2(), libMesh::FEMap::get_d2zetadxyz2(), libMesh::DiffContext::get_deltat_value(), libMesh::FEMap::get_detadx(), libMesh::InfFE< Dim, T_radial, T_map >::get_detadx(), libMesh::FEMap::get_detady(), libMesh::InfFE< Dim, T_radial, T_map >::get_detady(), libMesh::FEMap::get_detadz(), libMesh::InfFE< Dim, T_radial, T_map >::get_detadz(), libMesh::HDGProblem::get_dirichlet_velocity(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::FEGenericBase< OutputType >::get_div_phi(), libMesh::FEGenericBase< OutputType >::get_dphi(), libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decay(), libMesh::InfFE< Dim, T_radial, T_map >::get_dphi_over_decayxR(), libMesh::FEGenericBase< OutputType >::get_dphideta(), libMesh::FEMap::get_dphideta_map(), libMesh::FEMap::get_dphideta_map(), libMesh::FEGenericBase< OutputType >::get_dphidx(), libMesh::FEGenericBase< OutputType >::get_dphidxi(), libMesh::FEMap::get_dphidxi_map(), libMesh::FEMap::get_dphidxi_map(), libMesh::FEGenericBase< OutputType >::get_dphidy(), libMesh::FEGenericBase< OutputType >::get_dphidz(), libMesh::FEGenericBase< OutputType >::get_dphidzeta(), libMesh::FEMap::get_dphidzeta_map(), libMesh::FEMap::get_dphidzeta_map(), libMesh::FEMap::get_dpsideta(), libMesh::FEMap::get_dpsideta(), libMesh::FEMap::get_dpsidxi(), libMesh::FEMap::get_dpsidxi(), libMesh::FEGenericBase< OutputType >::get_dual_d2phi(), libMesh::FEGenericBase< OutputType >::get_dual_dphi(), libMesh::FEGenericBase< OutputType >::get_dual_phi(), libMesh::FEMap::get_dxidx(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidx(), libMesh::FEMap::get_dxidy(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidy(), libMesh::FEMap::get_dxidz(), libMesh::InfFE< Dim, T_radial, T_map >::get_dxidz(), libMesh::FEMap::get_dxyzdeta(), libMesh::FEMap::get_dxyzdxi(), libMesh::FEMap::get_dxyzdzeta(), libMesh::FEMap::get_dzetadx(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::InfFE< Dim, T_radial, T_map >::get_dzetadz(), libMesh::EigenSystem::get_eigen_solver(), libMesh::EigenSystem::get_eigen_solver(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::FEMContext::get_elem(), libMesh::FEMContext::get_elem(), libMesh::DiffContext::get_elem_jacobian(), libMesh::DiffContext::get_elem_jacobian(), libMesh::DiffContext::get_elem_jacobian(), libMesh::DiffContext::get_elem_jacobian(), libMesh::TetGenWrapper::get_element_attribute(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_qrule(), libMesh::RBConstruction::get_evaluated_thetas(), libMesh::BoundaryInfo::get_global_boundary_ids(), libMesh::MeshBase::get_info(), libMesh::ParsedFEMFunction< Output >::get_inline_value(), libMesh::ParsedFunction< Output, OutputGradient >::get_inline_value(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::FEMap::get_jacobian(), libMesh::FEMap::get_JxW(), libMesh::FEMap::get_JxW(), libMesh::InfFE< Dim, T_radial, T_map >::get_JxW(), libMesh::InfFE< Dim, T_radial, T_map >::get_JxWxdecay_sq(), libMesh::DifferentiableSystem::get_linear_solve_parameters(), libMesh::NewtonSolver::get_linear_solver(), libMesh::NewtonSolver::get_linear_solver(), libMesh::DifferentiableSystem::get_linear_solver(), libMesh::DiffContext::get_localized_subvector(), libMesh::DiffContext::get_localized_vector(), AugmentSparsityOnInterface::get_lower_to_upper(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::get_matrix_A(), libMesh::EigenSystem::get_matrix_B(), libMesh::EigenSystem::get_matrix_B(), libMesh::GhostingFunctor::get_mesh(), libMesh::MeshBase::get_mesh_subdomains(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::DofMap::get_n_nz(), libMesh::DofMap::get_n_oz(), libMesh::FEMap::get_normals(), libMesh::InfFE< Dim, T_radial, T_map >::get_normals(), libMesh::DofObject::get_old_dof_object_ref(), libMesh::DofObject::get_old_dof_object_ref(), libMesh::Tri3Subdivision::get_ordered_node(), libMesh::Tri3Subdivision::get_ordered_valence(), libMesh::PerfLog::get_perf_data(), libMesh::FEGenericBase< OutputType >::get_phi(), libMesh::FEMap::get_phi_map(), libMesh::FEMap::get_phi_map(), libMesh::InfFE< Dim, T_radial, T_map >::get_phi_over_decayxR(), libMesh::MeshFunction::get_point_locator(), libMesh::MeshFunction::get_point_locator(), libMesh::EigenSystem::get_precond_matrix(), libMesh::EigenSystem::get_precond_matrix(), libMesh::DenseMatrix< T >::get_principal_submatrix(), libMesh::System::get_qoi_error_estimate_value(), libMesh::System::get_qoi_value(), libMesh::PetscMatrix< T >::get_row(), libMesh::EpetraMatrix< T >::get_row(), libMesh::EigenSystem::get_shell_matrix_A(), libMesh::EigenSystem::get_shell_matrix_A(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::get_shell_matrix_B(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::EigenSystem::get_shell_precond_matrix(), libMesh::FEMContext::get_side_fe(), libMesh::FEMContext::get_side_fe(), libMesh::FEMContext::get_side_fe(), libMesh::FEMContext::get_side_qrule(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweight(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_dweightxR_sq(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weight(), libMesh::InfFE< Dim, T_radial, T_map >::get_Sobolev_weightxR_sq(), libMesh::DofMap::get_static_condensation(), libMesh::ImplicitSystem::get_static_condensation(), libMesh::DofMap::get_static_condensation(), libMesh::ImplicitSystem::get_system_matrix(), libMesh::ImplicitSystem::get_system_matrix(), libMesh::FEMap::get_tangents(), libMesh::InfFE< Dim, T_radial, T_map >::get_tangents(), libMesh::VariationalSmootherSystem::get_target_elem(), libMesh::DifferentiableSystem::get_time_solver(), libMesh::DifferentiableSystem::get_time_solver(), libMesh::LaspackMatrix< T >::get_transpose(), libMesh::FEMap::get_xyz(), libMesh::InfFE< Dim, T_radial, T_map >::get_xyz(), libMesh::NumericVector< T >::global_relative_compare(), libMesh::QGrundmann_Moller::gm_rule(), gptr(), libMesh::MeshFunction::gradient(), libMesh::MeshFunction::gradient(), libMesh::MeshRefinement::has_topological_neighbor(), libMesh::CondensedEigenSystem::have_condensed_dofs(), libMesh::MeshFunction::hessian(), libMesh::MeshFunction::hessian(), libMesh::DofMap::heterogeneously_constrain_element_jacobian_and_residual(), libMesh::DofMap::heterogeneously_constrain_element_residual(), libMesh::Parallel::Histogram< KeyType, IdxType >::Histogram(), libMesh::StatisticsVector< ErrorVectorReal >::histogram(), libMesh::MeshTetInterface::improve_hull_integrity(), libMesh::TriangulatorInterface::increase_triangle_order(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_node_constraints(), libMesh::HDGProblem::init(), libMesh::StaticCondensation::init(), libMesh::EquationSystems::init(), libMesh::System::init(), libMesh::MeshFunction::init(), libMesh::AnalyticFunction< Output >::init(), libMesh::AdaptiveTimeSolver::init(), libMesh::PetscNonlinearSolver< T >::init(), libMesh::QComposite< QSubCell >::init(), libMesh::LaspackMatrix< T >::init(), libMesh::PetscMatrixShellMatrix< Number >::init(), libMesh::DistributedVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::DiagonalMatrix< T >::init(), libMesh::EigenSparseMatrix< T >::init(), libMesh::LaspackMatrix< T >::init(), libMesh::EpetraMatrix< T >::init(), libMesh::PointLocatorTree::init(), libMesh::QGauss::init_2D(), libMesh::QNodal::init_2D(), libMesh::QGauss::init_3D(), libMesh::QNodal::init_3D(), HilbertSystem::init_context(), CoupledSystem::init_data(), NavierSystem::init_data(), libMesh::DifferentiableSystem::init_data(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::FEMap::init_face_shape_functions(), libMesh::FEMContext::init_internal_data(), libMesh::System::init_matrices(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::InfFE< Dim, T_radial, T_map >::init_radial_shape_functions(), libMesh::FEXYZ< Dim >::init_shape_functions(), libMesh::FESubdivision::init_shape_functions(), libMesh::InfFE< Dim, T_radial, T_map >::init_shape_functions(), init_shell_mat(), LinearElasticityWithContact::initialize_contact_load_paths(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::EpetraVector< T >::inputValues(), libMesh::EpetraVector< T >::inputValues(), libMesh::NumericVector< T >::insert(), libMesh::NumericVector< T >::insert(), libMesh::TreeNode< N >::insert(), libMesh::TreeNode< N >::insert(), libMesh::NumericVector< T >::insert(), libMesh::NumericVector< T >::insert(), libMesh::TriangulatorInterface::insert_any_extra_boundary_points(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Elem::interior_parent(), libMesh::Elem::interior_parent(), libMesh::PlaneConstraint::intersect(), libMesh::BoundingBox::intersects(), libMesh::InfFEMap::inverse_map(), libMesh::FEMap::inverse_map(), libMesh::SystemNorm::is_discrete(), libMesh::C0Polygon::is_edge(), libMesh::Xdr::is_eof(), libMesh::C0Polygon::is_face(), libMesh::Elem::is_mid_infinite_edge_node(), libMesh::Poly2TriTriangulator::is_refine_boundary_allowed(), libMesh::DifferentiablePhysics::is_time_evolving(), libMesh::C0Polygon::is_vertex(), libMesh::HDGProblem::jacobian(), libMesh::SparsityPattern::Build::join(), libMesh::DenseMatrix< T >::l1_norm(), libMesh::DistributedVector< T >::l1_norm(), libMesh::EigenSparseVector< T >::l1_norm(), libMesh::LaspackVector< T >::l1_norm(), libMesh::EpetraMatrix< T >::l1_norm(), libMesh::EpetraVector< T >::l1_norm(), libMesh::NumericVector< T >::l1_norm_diff(), libMesh::DistributedVector< T >::l2_norm(), libMesh::EigenSparseVector< T >::l2_norm(), libMesh::LaspackVector< T >::l2_norm(), libMesh::EpetraVector< T >::l2_norm(), libMesh::NumericVector< T >::l2_norm_diff(), lagrange_nodal_soln(), libMesh::DistributedVector< T >::last_local_index(), libMesh::EigenSparseVector< T >::last_local_index(), libMesh::LaspackVector< T >::last_local_index(), libMesh::PetscVector< T >::last_local_index(), libMesh::EpetraVector< T >::last_local_index(), libMesh::MeshTools::libmesh_assert_connected_nodes(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_equal_connectivity(), libMesh::MeshTools::libmesh_assert_equal_points(), libMesh::MeshTools::libmesh_assert_no_links_to_elem(), libMesh::MeshTools::libmesh_assert_old_dof_objects(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_constraint_rows(), libMesh::MeshTools::libmesh_assert_valid_elem_ids(), libMesh::BoundaryInfo::libmesh_assert_valid_multimaps(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Elem::libmesh_assert_valid_node_pointers(), libMesh::MeshTools::libmesh_assert_valid_node_pointers(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::PointLocatorBase::libmesh_assert_valid_point_locator(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_refinement_tree(), libMesh::MeshTools::libmesh_assert_valid_remote_elems(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), LIBMESH_DEFAULT_VECTORIZED_FE(), LIBMESH_DEFAULT_VECTORIZED_FE(), LIBMESH_DEFAULT_VECTORIZED_FE(), LIBMESH_DEFAULT_VECTORIZED_FE(), libmesh_petsc_DMCoarsen(), libmesh_petsc_DMCreateInterpolation(), libmesh_petsc_DMCreateRestriction(), libmesh_petsc_DMRefine(), libmesh_petsc_snes_postcheck(), libMesh::DenseMatrix< T >::linfty_norm(), libMesh::DistributedVector< T >::linfty_norm(), libMesh::EigenSparseVector< T >::linfty_norm(), libMesh::LaspackVector< T >::linfty_norm(), libMesh::EpetraMatrix< T >::linfty_norm(), libMesh::EpetraVector< T >::linfty_norm(), libMesh::RBConstructionBase< Base >::load_training_set(), libMesh::System::local_dof_indices(), libMesh::InfHex16::local_edge_node(), libMesh::InfHex18::local_edge_node(), libMesh::InfPrism12::local_edge_node(), libMesh::PetscMatrixBase< T >::local_m(), libMesh::NumericVector< T >::local_relative_compare(), libMesh::InfHex16::local_side_node(), libMesh::InfHex18::local_side_node(), libMesh::InfPrism::local_side_node(), libMesh::Prism::local_side_node(), libMesh::Prism15::local_side_node(), libMesh::Prism18::local_side_node(), libMesh::Prism20::local_side_node(), libMesh::Prism21::local_side_node(), libMesh::Pyramid13::local_side_node(), libMesh::Pyramid14::local_side_node(), libMesh::Pyramid18::local_side_node(), libMesh::InfQuad6::local_side_node(), libMesh::DistributedVector< T >::local_size(), libMesh::EigenSparseVector< T >::local_size(), libMesh::LaspackVector< T >::local_size(), libMesh::PetscVector< T >::local_size(), libMesh::EpetraVector< T >::local_size(), libMesh::DofMap::local_variable_indices(), libMesh::DistributedVector< T >::localize(), libMesh::EigenSparseVector< T >::localize(), libMesh::LaspackVector< T >::localize(), libMesh::PetscVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::EpetraVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::localize_to_one(), libMesh::EpetraVector< T >::localize_to_one(), libMesh::MeshBase::locally_equals(), libMesh::EigenSparseMatrix< T >::m(), libMesh::LaspackMatrix< T >::m(), libMesh::SumShellMatrix< T >::m(), libMesh::EpetraMatrix< T >::m(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::make_links_to_me_remote(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::FEMap::map(), libMesh::InfFEMap::map(), libMesh::FEMap::map_deriv(), libMesh::PetscVector< T >::map_global_to_local_index(), libMesh::PetscMatrixBase< T >::mat(), libMesh::EpetraMatrix< T >::mat(), libMesh::PetscMatrixBase< T >::mat(), libMesh::EpetraMatrix< T >::mat(), libMesh::PetscMatrix< T >::matrix_matrix_mult(), libMesh::DenseSubVector< T >::max(), libMesh::DenseVector< T >::max(), libMesh::DenseMatrix< T >::max(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::EpetraVector< T >::max(), libMesh::DofMap::max_constraint_error(), libMesh::Elem::max_descendant_p_level(), libMesh::DofMap::merge_ghost_functor_outputs(), libMesh::MeshOutput< MT >::mesh(), libMesh::FEMSystem::mesh_position_set(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::DefaultCoupling::mesh_reinit(), libMesh::OverlapCoupling::mesh_reinit(), libMesh::PointNeighborCoupling::mesh_reinit(), libMesh::MeshBase::MeshBase(), libMesh::DenseSubVector< T >::min(), libMesh::DenseVector< T >::min(), libMesh::DenseMatrix< T >::min(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), libMesh::EpetraVector< T >::min(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), monomial_n_dofs(), libMesh::EigenSparseMatrix< T >::n(), libMesh::LaspackMatrix< T >::n(), libMesh::SumShellMatrix< T >::n(), libMesh::EpetraMatrix< T >::n(), libMesh::MeshTools::n_connected_components(), libMesh::MeshBase::n_elem_on_proc(), libMesh::FrequencySystem::n_frequencies(), libMesh::TriangulatorInterface::MeshedHole::n_midpoints(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::QBase::n_points(), libMesh::ParallelObject::n_processors(), libMesh::FEAbstract::n_quadrature_points(), libMesh::InfFE< Dim, T_radial, T_map >::n_quadrature_points(), libMesh::PeriodicBoundaries::neighbor(), libMesh::FE< Dim, T >::nodal_soln(), libMesh::InfFE< Dim, T_radial, T_map >::nodal_soln(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::Elem::node_id(), libMesh::ExodusII_IO_Helper::node_id_to_vec_id(), libMesh::TetGenIO::node_in(), libMesh::DistributedMesh::node_ptr(), libMesh::ReplicatedMesh::node_ptr(), libMesh::DistributedMesh::node_ptr(), libMesh::ReplicatedMesh::node_ptr(), libMesh::Elem::node_ptr(), libMesh::Elem::node_ptr(), libMesh::C0Polygon::nodes_on_side(), libMesh::AdaptiveTimeSolver::nonlocal_residual(), libMesh::EigenTimeSolver::nonlocal_residual(), libMesh::PetscMatrix< T >::norm(), libMesh::PetscVector< T >::norm(), libMesh::DofMap::old_dof_indices(), libMesh::Xdr::open(), libMesh::STLIO::open_file(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::BuildProjectionList::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::CompareDofObjectsByID::operator()(), libMesh::CompareDofObjectsByPIDAndThenID::operator()(), libMesh::ElemCutter::operator()(), libMesh::CompareElemIdsByLevel::operator()(), AugmentSparsityOnInterface::operator()(), libMesh::DefaultCoupling::operator()(), libMesh::GhostPointNeighbors::operator()(), libMesh::OverlapCoupling::operator()(), libMesh::PointNeighborCoupling::operator()(), libMesh::SiblingCoupling::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::DistributedVector< T >::operator()(), libMesh::EigenSparseVector< T >::operator()(), libMesh::LaspackVector< T >::operator()(), libMesh::EpetraVector< T >::operator()(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::LaspackMatrix< T >::operator()(), libMesh::PetscMatrix< T >::operator()(), libMesh::EpetraMatrix< T >::operator()(), libMesh::MeshFunction::operator()(), libMesh::AnalyticFunction< Output >::operator()(), libMesh::WrappedFunction< Output >::operator()(), libMesh::MeshFunction::operator()(), libMesh::AnalyticFunction< Output >::operator()(), libMesh::WrappedFunction< Output >::operator()(), libMesh::AutoAreaFunction::operator()(), SolutionFunction< dim >::operator()(), libMesh::PointLocatorNanoflann::operator()(), libMesh::PointLocatorTree::operator()(), libMesh::PointLocatorNanoflann::operator()(), libMesh::PointLocatorTree::operator()(), libMesh::Predicates::abstract_multi_predicate< T >::operator()(), libMesh::Predicates::multi_evaluable< T >::operator()(), libMesh::EpetraVector< T >::operator*=(), libMesh::EigenSparseVector< T >::operator*=(), libMesh::ConstCouplingRowConstIterator::operator++(), libMesh::DistributedVector< T >::operator+=(), libMesh::EigenSparseVector< T >::operator+=(), libMesh::LaspackVector< T >::operator+=(), libMesh::PetscVector< T >::operator+=(), libMesh::EpetraVector< T >::operator+=(), libMesh::PerfData::operator+=(), libMesh::DistributedVector< T >::operator-=(), libMesh::EigenSparseVector< T >::operator-=(), libMesh::LaspackVector< T >::operator-=(), libMesh::PetscVector< T >::operator-=(), libMesh::EpetraVector< T >::operator-=(), libMesh::EpetraVector< T >::operator/=(), libMesh::EigenSparseVector< T >::operator/=(), libMesh::Xdr::operator<<(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::ParsedFEMFunction< Output >::operator=(), libMesh::PetscMatrix< T >::operator=(), libMesh::PetscVector< T >::operator=(), libMesh::DistributedVector< T >::operator=(), libMesh::DistributedVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::PetscVector< T >::operator=(), libMesh::ConstCouplingRow::operator==(), libMesh::ConstCouplingRowConstIterator::operator==(), libMesh::Xdr::operator>>(), libMesh::vectormap< Key, Tp >::operator[](), libMesh::Hex::opposite_node(), libMesh::Edge::opposite_node(), libMesh::C0Polygon::opposite_node(), libMesh::Quad::opposite_node(), libMesh::DistributedMesh::own_node(), libMesh::XdrIO::pack_element(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::Elem::parent_bracketing_nodes(), libMesh::MeshBase::partition(), libMesh::MetisPartitioner::partition_range(), libMesh::RBAssemblyExpansion::perform_A_boundary_assembly(), libMesh::RBAssemblyExpansion::perform_A_interior_assembly(), libMesh::RBAssemblyExpansion::perform_F_boundary_assembly(), libMesh::RBAssemblyExpansion::perform_F_interior_assembly(), libMesh::TransientRBAssemblyExpansion::perform_M_boundary_assembly(), libMesh::TransientRBAssemblyExpansion::perform_M_interior_assembly(), libMesh::RBAssemblyExpansion::perform_output_boundary_assembly(), libMesh::RBAssemblyExpansion::perform_output_interior_assembly(), libMesh::Elem::point(), libMesh::System::point_gradient(), libMesh::System::point_gradient(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_hessian(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::System::point_value(), libMesh::System::point_value(), libMesh::PetscVector< T >::pointwise_divide(), libMesh::PetscVector< T >::pointwise_mult(), libMesh::Polyhedron::Polyhedron(), libMesh::PerfLog::pop(), libMesh::DifferentiableSystem::pop_physics(), libMesh::LaspackMatrix< T >::pos(), libMesh::METIS_CSR_Graph< IndexType >::prepare_for_use(), libMesh::DofMap::prepare_send_list(), libMesh::MeshTools::Subdivision::prepare_subdivision_mesh(), libMesh::HDGProblem::pressure_volume_jacobian(), libMesh::NumericVector< T >::print(), libMesh::NumericVector< T >::print(), libMesh::SparseMatrix< T >::print(), libMesh::NumericVector< T >::print_global(), libMesh::NumericVector< T >::print_global(), libMesh::QBase::print_info(), libMesh::SparseMatrix< T >::print_matlab(), libMesh::NumericVector< T >::print_matlab(), libMesh::PetscMatrix< T >::print_matlab(), libMesh::PetscVector< T >::print_matlab(), libMesh::PetscMatrix< T >::print_personal(), libMesh::EpetraMatrix< T >::print_personal(), libMesh::PetscMatrix< T >::print_petsc_binary(), libMesh::PetscMatrix< T >::print_petsc_hdf5(), libMesh::DofMap::process_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::System::project_vector(), libMesh::System::project_vector(), libMesh::System::project_vector(), libMesh::ParameterVector::push_back(), libMesh::QComposite< QSubCell >::QComposite(), libMesh::DistributedMesh::query_elem_ptr(), libMesh::ReplicatedMesh::query_elem_ptr(), libMesh::DistributedMesh::query_elem_ptr(), libMesh::ReplicatedMesh::query_elem_ptr(), query_ghosting_functors(), libMesh::DistributedMesh::query_node_ptr(), libMesh::ReplicatedMesh::query_node_ptr(), libMesh::DistributedMesh::query_node_ptr(), libMesh::ReplicatedMesh::query_node_ptr(), libMesh::Threads::RAIIAcquire< T, new_x_default, assert_change >::RAIIAcquire(), libMesh::BoundaryInfo::raw_boundary_ids(), libMesh::BoundaryInfo::raw_edge_boundary_ids(), libMesh::BoundaryInfo::raw_shellface_boundary_ids(), libMesh::TransientRBEvaluation::rb_solve_again(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::AbaqusIO::read(), libMesh::DynaIO::read(), libMesh::ExodusII_IO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_bex_cv_blocks(), libMesh::PltLoader::read_block_data(), libMesh::CheckpointIO::read_connectivity(), libMesh::PltLoader::read_data(), libMesh::ExodusII_IO_Helper::read_elem_in_block(), libMesh::PltLoader::read_feblock_data(), libMesh::PltLoader::read_fepoint_data(), libMesh::PltLoader::read_header(), libMesh::System::read_header(), libMesh::UCDIO::read_implementation(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::SparseMatrix< T >::read_matlab(), libMesh::GmshIO::read_mesh(), libMesh::System::read_parallel_data(), libMesh::PltLoader::read_point_data(), libMesh::CheckpointIO::read_remote_elem(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::MatlabIO::read_stream(), libMesh::OFFIO::read_stream(), libMesh::Nemesis_IO_Helper::read_var_names_impl(), libMesh::MeshTools::Modification::redistribute(), libMesh::StaticCondensationDofMap::reduced_system(), libMesh::EquationSystems::redundant_added_side(), libMesh::TreeNode< N >::refine(), libMesh::Elem::refine(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::MeshRefinement::refine_elements(), libMesh::BoundaryInfo::regenerate_id_sets(), libMesh::StaticCondensationDofMap::reinit(), libMesh::TimeSolver::reinit(), libMesh::AdaptiveTimeSolver::reinit(), libMesh::DifferentiableSystem::reinit(), libMesh::FE< Dim, T >::reinit(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::FE< Dim, T >::reinit(), libMesh::FEXYZ< Dim >::reinit(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::DofMap::reinit(), libMesh::FE< Dim, T >::reinit_default_dual_shape_coeffs(), libMesh::MeshBase::reinit_ghosting_functors(), libMesh::Elem::relative_edge_face_order(), libMesh::BoundaryInfo::remove(), libMesh::BoundaryInfo::remove(), libMesh::DofMap::remove_adjoint_dirichlet_boundary(), libMesh::DofMap::remove_algebraic_ghosting_functor(), libMesh::DofMap::remove_coupling_functor(), libMesh::DofMap::remove_dirichlet_boundary(), libMesh::BoundaryInfo::remove_edge(), libMesh::BoundaryInfo::remove_edge(), libMesh::MeshBase::remove_ghosting_functor(), libMesh::Elem::remove_links_to_me(), libMesh::BoundaryInfo::remove_node(), libMesh::BoundaryInfo::remove_shellface(), libMesh::BoundaryInfo::remove_shellface(), libMesh::BoundaryInfo::remove_side(), libMesh::BoundaryInfo::remove_side(), libMesh::System::remove_vector(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_elem(), libMesh::ReplicatedMesh::renumber_elem(), libMesh::DistributedMesh::renumber_node(), libMesh::ReplicatedMesh::renumber_node(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::Elem::replace_child(), libMesh::StoredRange< iterator_type, object_type >::reset(), libMesh::StoredRange< iterator_type, object_type >::reset(), libMesh::PetscMatrix< T >::reset_preallocation(), libMesh::HDGProblem::residual(), libMesh::PetscLinearSolver< T >::restrict_solve_to_is_local_size(), libMesh::C0Polyhedron::retriangulate(), libMesh::C0Polygon::retriangulate(), libMesh::MemoryHistoryData::retrieve_vectors(), libMesh::FileHistoryData::rewrite_stored_solution(), libMesh::MemoryHistoryData::rewrite_stored_solution(), libMesh::PetscMatrixBase< T >::row_start(), libMesh::EpetraMatrix< T >::row_start(), libMesh::PetscMatrixBase< T >::row_stop(), libMesh::EpetraMatrix< T >::row_stop(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::DofMap::SCALAR_dof_indices(), libMesh::DistributedVector< T >::scale(), libMesh::EigenSparseVector< T >::scale(), libMesh::LaspackVector< T >::scale(), libMesh::PetscVector< T >::scale(), libMesh::SparseMatrix< T >::scale(), libMesh::PetscMatrix< T >::scale(), libMesh::Tet14::second_order_adjacent_vertex(), libMesh::HPCoarsenTest::select_refinement(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::EquationSystems::sensitivity_solve(), libMesh::EigenSparseMatrix< T >::set(), libMesh::LaspackMatrix< T >::set(), libMesh::PetscMatrix< T >::set(), libMesh::EpetraMatrix< T >::set(), libMesh::DistributedVector< T >::set(), libMesh::EigenSparseVector< T >::set(), libMesh::LaspackVector< T >::set(), libMesh::ParameterMultiAccessor< T >::set(), libMesh::ParameterMultiPointer< T >::set(), libMesh::ParameterPointer< T >::set(), libMesh::Elem::set_child(), libMesh::PetscMatrixBase< T >::set_context(), libMesh::StaticCondensation::set_current_elem(), libMesh::DofObject::set_dof_number(), libMesh::RBTemporalDiscretization::set_euler_theta(), libMesh::FrequencySystem::set_frequencies(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::ParsedFEMFunction< Output >::set_inline_value(), libMesh::ParsedFunction< Output, OutputGradient >::set_inline_value(), libMesh::Elem::set_interior_parent(), libMesh::TriangulatorInterface::set_interpolate_boundary_points(), libMesh::ExodusII_IO_Helper::set_max_name_length(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::SystemNorm::set_off_diagonal_weight(), libMesh::DofObject::set_old_dof_object(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::System::set_qoi(), libMesh::System::set_qoi_error_estimate(), libMesh::OverlapCoupling::set_quadrature_rule(), libMesh::SFCPartitioner::set_sfc_type(), libMesh::SystemNorm::set_type(), libMesh::SystemNorm::set_weight(), libMesh::Singleton::setup(), libMesh::StaticCondensation::setup(), setup(), libMesh::ImplicitSystem::setup_static_condensation_preconditioner(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::BoundaryInfo::shellface_boundary_ids(), libMesh::Poly2TriTriangulator::should_refine_elem(), libMesh::SimplexRefiner::should_refine_elem(), libMesh::BoundaryInfo::side_boundary_ids(), libMesh::FEMContext::side_fe_reinit(), libMesh::RBEIMEvaluation::side_gather_bfs(), libMesh::AdaptiveTimeSolver::side_residual(), libMesh::EigenTimeSolver::side_residual(), libMesh::DistributedVector< T >::size(), libMesh::EigenSparseVector< T >::size(), libMesh::LaspackVector< T >::size(), libMesh::PetscVector< T >::size(), libMesh::EpetraVector< T >::size(), libMesh::TimeSolver::solve(), libMesh::EquationSystems::solve(), libMesh::NewtonSolver::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::PetscDiffSolver::solve(), libMesh::TaoOptimizationSolver< T >::solve(), libMesh::TwostepTimeSolver::solve(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), libMesh::FrequencySystem::solve(), libMesh::EigenSystem::solve_helper(), libMesh::ContinuationSystem::solve_tangent(), libMesh::DofObject::start_idx_ints(), libMesh::DofMap::stash_dof_constraints(), libMesh::FileSolutionHistory::store(), libMesh::MemorySolutionHistory::store(), libMesh::FileHistoryData::store_initial_solution(), libMesh::MemoryHistoryData::store_initial_solution(), libMesh::MeshBase::sub_point_locator(), libMesh::DistributedMesh::subclass_locally_equals(), libMesh::C0Polyhedron::subelement_sides_to_poly_sides(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::SubProjector(), libMesh::NumericVector< Number >::subset_l1_norm(), libMesh::NumericVector< T >::subset_l1_norm(), libMesh::NumericVector< T >::subset_l2_norm(), libMesh::NumericVector< T >::subset_linfty_norm(), libMesh::DistributedVector< T >::sum(), libMesh::EigenSparseVector< T >::sum(), libMesh::LaspackVector< T >::sum(), libMesh::PetscVector< T >::sum(), libMesh::EpetraVector< T >::sum(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_dofobject_data_by_xyz(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id_once(), libMesh::BoundaryInfo::synchronize_global_id_set(), libMesh::VariationalMeshSmoother::system(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), PointNeighborCouplingTest::testCoupling(), MeshTriangulationTest::testEdgesMesh(), MeshTriangulationTest::testHalfDomain(), InfFERadialTest::testSides(), DisjointNeighborTest::testTempJump(), MeshSmootherTest::testVariationalSmoother(), libMesh::Elem::top_parent(), libMesh::MeshRefinement::topological_neighbor(), libMesh::ElemInternal::total_family_tree_by_neighbor(), libMesh::ElemInternal::total_family_tree_by_subneighbor(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::DirectSolutionTransfer::transfer(), libMesh::DTKSolutionTransfer::transfer(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::Tree< N >::Tree(), libMesh::TreeNode< N >::TreeNode(), libMesh::NetGenMeshInterface::triangulate(), libMesh::Poly2TriTriangulator::triangulate_current_points(), libMesh::SystemNorm::type(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DofObject::unique_id(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::DofObject::unpack_indexing(), libMesh::DofMap::unstash_dof_constraints(), libMesh::UnstructuredMesh::UnstructuredMesh(), libMesh::UnstructuredMesh::UnstructuredMesh(), libMesh::System::update(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::ContinuationSystem::update_solution(), libMesh::LaspackMatrix< T >::update_sparsity_pattern(), libMesh::EpetraMatrix< T >::update_sparsity_pattern(), libMesh::DofMap::update_sparsity_pattern(), libMesh::DofMap::var_group_from_var_number(), libMesh::PetscVector< T >::vec(), libMesh::EpetraVector< T >::vec(), libMesh::PetscVector< T >::vec(), libMesh::System::vector_is_adjoint(), libMesh::System::vector_name(), libMesh::MeshTetInterface::volume_to_surface_mesh(), libMesh::SystemNorm::weight(), libMesh::SystemNorm::weight_sq(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::Elem::which_child_am_i(), libMesh::Elem::which_neighbor_am_i(), libMesh::Elem::which_side_am_i(), libMesh::FroIO::write(), libMesh::ExodusII_IO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::CheckpointIO::write_bcs(), libMesh::GMVIO::write_binary(), libMesh::Elem::write_connectivity(), libMesh::CheckpointIO::write_connectivity(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::MeshOutput< MT >::write_equation_systems(), libMesh::UCDIO::write_header(), libMesh::System::write_header(), libMesh::UCDIO::write_implementation(), libMesh::UCDIO::write_interior_elems(), libMesh::GmshIO::write_mesh(), libMesh::UCDIO::write_nodal_data(), libMesh::UCDIO::write_nodes(), libMesh::CheckpointIO::write_nodesets(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), libMesh::XdrIO::write_parallel(), libMesh::System::write_parallel_data(), libMesh::CheckpointIO::write_remote_elem(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::UCDIO::write_soln(), libMesh::GnuPlotIO::write_solution(), libMesh::TypeTensor< T >::write_unformatted(), libMesh::DistributedVector< T >::zero(), libMesh::EigenSparseVector< T >::zero(), libMesh::LaspackVector< T >::zero(), libMesh::PetscMatrix< T >::zero(), libMesh::PetscVector< T >::zero(), libMesh::EpetraMatrix< T >::zero(), libMesh::EpetraVector< T >::zero(), and libMesh::PetscMatrix< T >::zero_rows().

◆ libmesh_cast_int()

template<typename Tnew , typename Told >
Tnew libMesh::libmesh_cast_int ( Told  oldvar)
inline

Definition at line 680 of file libmesh_common.h.

681{
682 // we use the less redundantly named libMesh::cast_int now
683 return cast_int<Tnew>(oldvar);
684}

◆ libmesh_cast_ptr()

template<typename Tnew , typename Told >
Tnew libMesh::libmesh_cast_ptr ( Told *  oldvar)
inline

Definition at line 652 of file libmesh_common.h.

653{
654 libmesh_deprecated();
655
656 // we use the less redundantly named libMesh::cast_ptr now
657 return cast_ptr<Tnew>(oldvar);
658}

◆ libmesh_conj() [1/2]

template<typename T >
std::complex< T > libMesh::libmesh_conj ( std::complex< T >  a)
inline

Definition at line 200 of file libmesh_common.h.

200{ return std::conj(a); }

◆ libmesh_conj() [2/2]

template<typename T >
T libMesh::libmesh_conj ( a)
inline

◆ LIBMESH_DEFAULT_VEC_NDOFS()

libMesh::LIBMESH_DEFAULT_VEC_NDOFS ( HIERARCHIC  )

Definition at line 738 of file fe_hierarchic_vec.C.

742 { return FE<0,L2_HIERARCHIC>::n_dofs(t,o); }
A specific instantiation of the FEBase class.
Definition fe.h:128

References libMesh::FE< Dim, T >::n_dofs().

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [1/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
HIERARCHIC_VEC   
)

Definition at line 34 of file fe_hierarchic_vec.C.

49 {
50void hierarchic_vec_nodal_soln(const Elem * elem,
51 const Order order,
52 const std::vector<Number> & elem_soln,
53 const int dim,
54 std::vector<Number> & nodal_soln,
55 const bool add_p_level)
56{
57 const unsigned int n_nodes = elem->n_nodes();
58
59 // Constant shape functions can't be supported, even for
60 // L2_HIERARCHIC*, without breaking the "HIERARCHIC is
61 // hierarchic" guarantee
62 libmesh_assert(order != CONSTANT);
63
64 nodal_soln.resize(dim*n_nodes);
65
66 // Do interpolation at the nodes explicitly.
67 FEType fe_type(order, HIERARCHIC);
68
69 const unsigned int n_sf =
70 FEInterface::n_shape_functions(fe_type, elem, add_p_level);
71
72 std::vector<Point> refspace_nodes;
73 FEBase::get_refspace_nodes(elem->type(),refspace_nodes);
74 libmesh_assert_equal_to (refspace_nodes.size(), n_nodes);
75 libmesh_assert_equal_to (elem_soln.size(), n_sf*dim);
76
77 // Zero before summation
78 std::fill(nodal_soln.begin(), nodal_soln.end(), 0);
79
80 for (unsigned int n=0; n<n_nodes; n++)
81 for (int d=0; d != dim; ++d)
82 // u_i = Sum (alpha_i phi_i); we're here only looking
83 // at vector components in direction d
84 for (unsigned int i=0; i<n_sf; i++)
85 nodal_soln[n*dim+d] += elem_soln[i*dim+d] *
86 FEInterface::shape(fe_type, elem, i, refspace_nodes[n]);
87
88}// void hierarchic_vec_nodal_soln
89
90} // anonymous namespace
This is the base class from which all geometric element types are derived.
Definition elem.h:96
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
Definition fe_type.h:197

References CONSTANT, dim, libMesh::FEAbstract::get_refspace_nodes(), HIERARCHIC, libmesh_assert(), libMesh::Elem::n_nodes(), n_nodes, libMesh::FEInterface::n_shape_functions(), libMesh::FEInterface::shape(), and libMesh::Elem::type().

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [2/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
LAGRANGE_VEC   
)

Definition at line 34 of file fe_lagrange_vec.C.

49 {
50void lagrange_vec_nodal_soln(const Elem * elem,
51 const Order order,
52 const std::vector<Number> & elem_soln,
53 const int dim,
54 std::vector<Number> & nodal_soln,
55 const bool add_p_level)
56{
57 const unsigned int n_nodes = elem->n_nodes();
58 const ElemType type = elem->type();
59
60 const Order totalorder = order + add_p_level*elem->p_level();
61
62 nodal_soln.resize(dim*n_nodes);
63
64 switch (totalorder)
65 {
66 // linear Lagrange shape functions
67 case FIRST:
68 {
69 switch (type)
70 {
71 case TRI7:
72 libmesh_assert_equal_to (nodal_soln.size(), 14);
73 nodal_soln[12] = (elem_soln[0] + elem_soln[2] + elem_soln[4])/3.;
74 nodal_soln[13] = (elem_soln[1] + elem_soln[3] + elem_soln[5])/3.;
75 libmesh_fallthrough();
76 case TRI6:
77 {
78 libmesh_assert (type == TRI7 || nodal_soln.size() == 12);
79 libmesh_assert_equal_to (elem_soln.size(), 2*3);
80
81 // node 0 components
82 nodal_soln[0] = elem_soln[0];
83 nodal_soln[1] = elem_soln[1];
84
85 // node 1 components
86 nodal_soln[2] = elem_soln[2];
87 nodal_soln[3] = elem_soln[3];
88
89 // node 2 components
90 nodal_soln[4] = elem_soln[4];
91 nodal_soln[5] = elem_soln[5];
92
93 // node 3 components
94 nodal_soln[6] = .5*(elem_soln[0] + elem_soln[2]);
95 nodal_soln[7] = .5*(elem_soln[1] + elem_soln[3]);
96
97 // node 4 components
98 nodal_soln[8] = .5*(elem_soln[2] + elem_soln[4]);
99 nodal_soln[9] = .5*(elem_soln[3] + elem_soln[5]);
100
101 // node 5 components
102 nodal_soln[10] = .5*(elem_soln[0] + elem_soln[4]);
103 nodal_soln[11] = .5*(elem_soln[1] + elem_soln[5]);
104
105 return;
106 }
107
108
109 case QUAD8:
110 case QUAD9:
111 {
112 libmesh_assert_equal_to (elem_soln.size(), 2*4);
113
114 if (type == QUAD8)
115 libmesh_assert_equal_to (nodal_soln.size(), 2*8);
116 else
117 libmesh_assert_equal_to (nodal_soln.size(), 2*9);
118
119 // node 0 components
120 nodal_soln[0] = elem_soln[0];
121 nodal_soln[1] = elem_soln[1];
122
123 // node 1 components
124 nodal_soln[2] = elem_soln[2];
125 nodal_soln[3] = elem_soln[3];
126
127 // node 2 components
128 nodal_soln[4] = elem_soln[4];
129 nodal_soln[5] = elem_soln[5];
130
131 // node 3 components
132 nodal_soln[6] = elem_soln[6];
133 nodal_soln[7] = elem_soln[7];
134
135 // node 4 components
136 nodal_soln[8] = .5*(elem_soln[0] + elem_soln[2]);
137 nodal_soln[9] = .5*(elem_soln[1] + elem_soln[3]);
138
139 // node 5 components
140 nodal_soln[10] = .5*(elem_soln[2] + elem_soln[4]);
141 nodal_soln[11] = .5*(elem_soln[3] + elem_soln[5]);
142
143 // node 6 components
144 nodal_soln[12] = .5*(elem_soln[4] + elem_soln[6]);
145 nodal_soln[13] = .5*(elem_soln[5] + elem_soln[7]);
146
147 // node 7 components
148 nodal_soln[14] = .5*(elem_soln[6] + elem_soln[0]);
149 nodal_soln[15] = .5*(elem_soln[7] + elem_soln[1]);
150
151 if (type == QUAD9)
152 {
153 // node 8 components
154 nodal_soln[16] = .25*(elem_soln[0] + elem_soln[2] + elem_soln[4] + elem_soln[6]);
155 nodal_soln[17] = .25*(elem_soln[1] + elem_soln[3] + elem_soln[5] + elem_soln[7]);
156 }
157
158 return;
159 }
160
161
162 case TET14:
163 libmesh_assert_equal_to (nodal_soln.size(), 3*14);
164
165 // node 10 components
166 nodal_soln[30] = 1./3. * (elem_soln[0] + elem_soln[3] + elem_soln[6]);
167 nodal_soln[31] = 1./3. * (elem_soln[1] + elem_soln[4] + elem_soln[7]);
168 nodal_soln[32] = 1./3. * (elem_soln[2] + elem_soln[5] + elem_soln[8]);
169
170 // node 11 components
171 nodal_soln[33] = 1./3. * (elem_soln[0] + elem_soln[3] + elem_soln[9]);
172 nodal_soln[34] = 1./3. * (elem_soln[1] + elem_soln[4] + elem_soln[10]);
173 nodal_soln[35] = 1./3. * (elem_soln[2] + elem_soln[5] + elem_soln[11]);
174
175 // node 12 components
176 nodal_soln[36] = 1./3. * (elem_soln[3] + elem_soln[6] + elem_soln[9]);
177 nodal_soln[37] = 1./3. * (elem_soln[4] + elem_soln[7] + elem_soln[10]);
178 nodal_soln[38] = 1./3. * (elem_soln[5] + elem_soln[8] + elem_soln[11]);
179
180 // node 13 components
181 nodal_soln[39] = 1./3. * (elem_soln[0] + elem_soln[6] + elem_soln[9]);
182 nodal_soln[40] = 1./3. * (elem_soln[1] + elem_soln[7] + elem_soln[10]);
183 nodal_soln[41] = 1./3. * (elem_soln[2] + elem_soln[8] + elem_soln[11]);
184
185 libmesh_fallthrough();
186 case TET10:
187 {
188 libmesh_assert (type == TET14 || nodal_soln.size() == 3*10);
189 libmesh_assert_equal_to (elem_soln.size(), 3*4);
190
191 // node 0 components
192 nodal_soln[0] = elem_soln[0];
193 nodal_soln[1] = elem_soln[1];
194 nodal_soln[2] = elem_soln[2];
195
196 // node 1 components
197 nodal_soln[3] = elem_soln[3];
198 nodal_soln[4] = elem_soln[4];
199 nodal_soln[5] = elem_soln[5];
200
201 // node 2 components
202 nodal_soln[6] = elem_soln[6];
203 nodal_soln[7] = elem_soln[7];
204 nodal_soln[8] = elem_soln[8];
205
206 // node 3 components
207 nodal_soln[9] = elem_soln[9];
208 nodal_soln[10] = elem_soln[10];
209 nodal_soln[11] = elem_soln[11];
210
211 // node 4 components
212 nodal_soln[12] = .5*(elem_soln[0] + elem_soln[3]);
213 nodal_soln[13] = .5*(elem_soln[1] + elem_soln[4]);
214 nodal_soln[14] = .5*(elem_soln[2] + elem_soln[5]);
215
216 // node 5 components
217 nodal_soln[15] = .5*(elem_soln[3] + elem_soln[6]);
218 nodal_soln[16] = .5*(elem_soln[4] + elem_soln[7]);
219 nodal_soln[17] = .5*(elem_soln[5] + elem_soln[8]);
220
221 // node 6 components
222 nodal_soln[18] = .5*(elem_soln[6] + elem_soln[0]);
223 nodal_soln[19] = .5*(elem_soln[7] + elem_soln[1]);
224 nodal_soln[20] = .5*(elem_soln[8] + elem_soln[2]);
225
226 // node 7 components
227 nodal_soln[21] = .5*(elem_soln[9] + elem_soln[0]);
228 nodal_soln[22] = .5*(elem_soln[10] + elem_soln[1]);
229 nodal_soln[23] = .5*(elem_soln[11] + elem_soln[2]);
230
231 // node 8 components
232 nodal_soln[24] = .5*(elem_soln[9] + elem_soln[3]);
233 nodal_soln[25] = .5*(elem_soln[10] + elem_soln[4]);
234 nodal_soln[26] = .5*(elem_soln[11] + elem_soln[5]);
235
236 // node 9 components
237 nodal_soln[27] = .5*(elem_soln[9] + elem_soln[6]);
238 nodal_soln[28] = .5*(elem_soln[10] + elem_soln[7]);
239 nodal_soln[29] = .5*(elem_soln[11] + elem_soln[8]);
240
241 return;
242 }
243
244
245 case HEX20:
246 case HEX27:
247 {
248 libmesh_assert_equal_to (elem_soln.size(), 3*8);
249
250 if (type == HEX20)
251 libmesh_assert_equal_to (nodal_soln.size(), 3*20);
252 else
253 libmesh_assert_equal_to (nodal_soln.size(), 3*27);
254
255 // node 0 components
256 nodal_soln[0] = elem_soln[0];
257 nodal_soln[1] = elem_soln[1];
258 nodal_soln[2] = elem_soln[2];
259
260 // node 1 components
261 nodal_soln[3] = elem_soln[3];
262 nodal_soln[4] = elem_soln[4];
263 nodal_soln[5] = elem_soln[5];
264
265 // node 2 components
266 nodal_soln[6] = elem_soln[6];
267 nodal_soln[7] = elem_soln[7];
268 nodal_soln[8] = elem_soln[8];
269
270 // node 3 components
271 nodal_soln[9] = elem_soln[9];
272 nodal_soln[10] = elem_soln[10];
273 nodal_soln[11] = elem_soln[11];
274
275 // node 4 components
276 nodal_soln[12] = elem_soln[12];
277 nodal_soln[13] = elem_soln[13];
278 nodal_soln[14] = elem_soln[14];
279
280 // node 5 components
281 nodal_soln[15] = elem_soln[15];
282 nodal_soln[16] = elem_soln[16];
283 nodal_soln[17] = elem_soln[17];
284
285 // node 6 components
286 nodal_soln[18] = elem_soln[18];
287 nodal_soln[19] = elem_soln[19];
288 nodal_soln[20] = elem_soln[20];
289
290 // node 7 components
291 nodal_soln[21] = elem_soln[21];
292 nodal_soln[22] = elem_soln[22];
293 nodal_soln[23] = elem_soln[23];
294
295 // node 8 components
296 nodal_soln[24] = .5*(elem_soln[0] + elem_soln[3]);
297 nodal_soln[25] = .5*(elem_soln[1] + elem_soln[4]);
298 nodal_soln[26] = .5*(elem_soln[2] + elem_soln[5]);
299
300 // node 9 components
301 nodal_soln[27] = .5*(elem_soln[3] + elem_soln[6]);
302 nodal_soln[28] = .5*(elem_soln[4] + elem_soln[7]);
303 nodal_soln[29] = .5*(elem_soln[5] + elem_soln[8]);
304
305 // node 10 components
306 nodal_soln[30] = .5*(elem_soln[6] + elem_soln[9]);
307 nodal_soln[31] = .5*(elem_soln[7] + elem_soln[10]);
308 nodal_soln[32] = .5*(elem_soln[8] + elem_soln[11]);
309
310 // node 11 components
311 nodal_soln[33] = .5*(elem_soln[9] + elem_soln[0]);
312 nodal_soln[34] = .5*(elem_soln[10] + elem_soln[1]);
313 nodal_soln[35] = .5*(elem_soln[11] + elem_soln[2]);
314
315 // node 12 components
316 nodal_soln[36] = .5*(elem_soln[0] + elem_soln[12]);
317 nodal_soln[37] = .5*(elem_soln[1] + elem_soln[13]);
318 nodal_soln[38] = .5*(elem_soln[2] + elem_soln[14]);
319
320 // node 13 components
321 nodal_soln[39] = .5*(elem_soln[3] + elem_soln[15]);
322 nodal_soln[40] = .5*(elem_soln[4] + elem_soln[16]);
323 nodal_soln[41] = .5*(elem_soln[5] + elem_soln[17]);
324
325 // node 14 components
326 nodal_soln[42] = .5*(elem_soln[6] + elem_soln[18]);
327 nodal_soln[43] = .5*(elem_soln[7] + elem_soln[19]);
328 nodal_soln[44] = .5*(elem_soln[8] + elem_soln[20]);
329
330 // node 15 components
331 nodal_soln[45] = .5*(elem_soln[9] + elem_soln[21]);
332 nodal_soln[46] = .5*(elem_soln[10] + elem_soln[22]);
333 nodal_soln[47] = .5*(elem_soln[11] + elem_soln[23]);
334
335 // node 16 components
336 nodal_soln[48] = .5*(elem_soln[12] + elem_soln[15]);
337 nodal_soln[49] = .5*(elem_soln[13] + elem_soln[16]);
338 nodal_soln[50] = .5*(elem_soln[14] + elem_soln[17]);
339
340 // node 17 components
341 nodal_soln[51] = .5*(elem_soln[15] + elem_soln[18]);
342 nodal_soln[52] = .5*(elem_soln[16] + elem_soln[19]);
343 nodal_soln[53] = .5*(elem_soln[17] + elem_soln[20]);
344
345 // node 18 components
346 nodal_soln[54] = .5*(elem_soln[18] + elem_soln[21]);
347 nodal_soln[55] = .5*(elem_soln[19] + elem_soln[22]);
348 nodal_soln[56] = .5*(elem_soln[20] + elem_soln[23]);
349
350 // node 19 components
351 nodal_soln[57] = .5*(elem_soln[12] + elem_soln[21]);
352 nodal_soln[58] = .5*(elem_soln[13] + elem_soln[22]);
353 nodal_soln[59] = .5*(elem_soln[14] + elem_soln[23]);
354
355 if (type == HEX27)
356 {
357 // node 20 components
358 nodal_soln[60] = .25*(elem_soln[0] + elem_soln[3] + elem_soln[6] + elem_soln[9]);
359 nodal_soln[61] = .25*(elem_soln[1] + elem_soln[4] + elem_soln[7] + elem_soln[10]);
360 nodal_soln[62] = .25*(elem_soln[2] + elem_soln[5] + elem_soln[8] + elem_soln[11]);
361
362 // node 21 components
363 nodal_soln[63] = .25*(elem_soln[0] + elem_soln[3] + elem_soln[12] + elem_soln[15]);
364 nodal_soln[64] = .25*(elem_soln[1] + elem_soln[4] + elem_soln[13] + elem_soln[16]);
365 nodal_soln[65] = .25*(elem_soln[2] + elem_soln[5] + elem_soln[14] + elem_soln[17]);
366
367 // node 22 components
368 nodal_soln[66] = .25*(elem_soln[3] + elem_soln[6] + elem_soln[15] + elem_soln[18]);
369 nodal_soln[67] = .25*(elem_soln[4] + elem_soln[7] + elem_soln[16] + elem_soln[19]);
370 nodal_soln[68] = .25*(elem_soln[5] + elem_soln[8] + elem_soln[17] + elem_soln[20]);
371
372 // node 23 components
373 nodal_soln[69] = .25*(elem_soln[6] + elem_soln[9] + elem_soln[18] + elem_soln[21]);
374 nodal_soln[70] = .25*(elem_soln[7] + elem_soln[10] + elem_soln[19] + elem_soln[22]);
375 nodal_soln[71] = .25*(elem_soln[8] + elem_soln[11] + elem_soln[20] + elem_soln[23]);
376
377 // node 24 components
378 nodal_soln[72] = .25*(elem_soln[9] + elem_soln[0] + elem_soln[21] + elem_soln[12]);
379 nodal_soln[73] = .25*(elem_soln[10] + elem_soln[1] + elem_soln[22] + elem_soln[13]);
380 nodal_soln[74] = .25*(elem_soln[11] + elem_soln[2] + elem_soln[23] + elem_soln[14]);
381
382 // node 25 components
383 nodal_soln[75] = .25*(elem_soln[12] + elem_soln[15] + elem_soln[18] + elem_soln[21]);
384 nodal_soln[76] = .25*(elem_soln[13] + elem_soln[16] + elem_soln[19] + elem_soln[22]);
385 nodal_soln[77] = .25*(elem_soln[14] + elem_soln[17] + elem_soln[20] + elem_soln[23]);
386
387 // node 26 components
388 nodal_soln[78] = .125*(elem_soln[0] + elem_soln[3] + elem_soln[6] + elem_soln[9] +
389 elem_soln[12] + elem_soln[15] + elem_soln[18] + elem_soln[21]);
390
391 nodal_soln[79] = .125*(elem_soln[1] + elem_soln[4] + elem_soln[7] + elem_soln[10] +
392 elem_soln[13] + elem_soln[16] + elem_soln[19] + elem_soln[22]);
393
394 nodal_soln[80] = .125*(elem_soln[2] + elem_soln[5] + elem_soln[8] + elem_soln[11] +
395 elem_soln[14] + elem_soln[17] + elem_soln[20] + elem_soln[23]);
396 }
397
398 return;
399 }
400
401
402 case PRISM21:
403 libmesh_assert_equal_to (nodal_soln.size(), 3*21);
404
405 // node 20 components
406 nodal_soln[60] = (elem_soln[27] + elem_soln[30] + elem_soln[33])/Real(3);
407 nodal_soln[61] = (elem_soln[28] + elem_soln[31] + elem_soln[34])/Real(3);
408 nodal_soln[62] = (elem_soln[29] + elem_soln[32] + elem_soln[35])/Real(3);
409 libmesh_fallthrough();
410 case PRISM20:
411 if (type == PRISM20)
412 libmesh_assert_equal_to (nodal_soln.size(), 3*20);
413
414 // node 18 components
415 nodal_soln[54] = (elem_soln[0] + elem_soln[3] + elem_soln[6])/Real(3);
416 nodal_soln[55] = (elem_soln[1] + elem_soln[4] + elem_soln[7])/Real(3);
417 nodal_soln[56] = (elem_soln[2] + elem_soln[5] + elem_soln[8])/Real(3);
418
419 // node 19 components
420 nodal_soln[57] = (elem_soln[9] + elem_soln[12] + elem_soln[15])/Real(3);
421 nodal_soln[58] = (elem_soln[10] + elem_soln[13] + elem_soln[16])/Real(3);
422 nodal_soln[59] = (elem_soln[11] + elem_soln[14] + elem_soln[17])/Real(3);
423
424 libmesh_fallthrough();
425 case PRISM18:
426 if (type == PRISM18)
427 libmesh_assert_equal_to (nodal_soln.size(), 3*18);
428
429 // node 15 components
430 nodal_soln[45] = .25*(elem_soln[0] + elem_soln[3] + elem_soln[12] + elem_soln[9]);
431 nodal_soln[46] = .25*(elem_soln[1] + elem_soln[4] + elem_soln[13] + elem_soln[10]);
432 nodal_soln[47] = .25*(elem_soln[2] + elem_soln[5] + elem_soln[14] + elem_soln[11]);
433
434 // node 16 components
435 nodal_soln[48] = .25*(elem_soln[3] + elem_soln[6] + elem_soln[15] + elem_soln[12]);
436 nodal_soln[49] = .25*(elem_soln[4] + elem_soln[7] + elem_soln[16] + elem_soln[13]);
437 nodal_soln[50] = .25*(elem_soln[5] + elem_soln[8] + elem_soln[17] + elem_soln[14]);
438
439 // node 17 components
440 nodal_soln[51] = .25*(elem_soln[6] + elem_soln[0] + elem_soln[9] + elem_soln[15]);
441 nodal_soln[52] = .25*(elem_soln[7] + elem_soln[1] + elem_soln[10] + elem_soln[16]);
442 nodal_soln[53] = .25*(elem_soln[8] + elem_soln[2] + elem_soln[11] + elem_soln[17]);
443
444 libmesh_fallthrough();
445 case PRISM15:
446 {
447 libmesh_assert_equal_to (elem_soln.size(), 3*6);
448
449 if (type == PRISM15)
450 libmesh_assert_equal_to (nodal_soln.size(), 3*15);
451
452 // node 0 components
453 nodal_soln[0] = elem_soln[0];
454 nodal_soln[1] = elem_soln[1];
455 nodal_soln[2] = elem_soln[2];
456
457 // node 1 components
458 nodal_soln[3] = elem_soln[3];
459 nodal_soln[4] = elem_soln[4];
460 nodal_soln[5] = elem_soln[5];
461
462 // node 2 components
463 nodal_soln[6] = elem_soln[6];
464 nodal_soln[7] = elem_soln[7];
465 nodal_soln[8] = elem_soln[8];
466
467 // node 3 components
468 nodal_soln[9] = elem_soln[9];
469 nodal_soln[10] = elem_soln[10];
470 nodal_soln[11] = elem_soln[11];
471
472 // node 4 components
473 nodal_soln[12] = elem_soln[12];
474 nodal_soln[13] = elem_soln[13];
475 nodal_soln[14] = elem_soln[14];
476
477 // node 5 components
478 nodal_soln[15] = elem_soln[15];
479 nodal_soln[16] = elem_soln[16];
480 nodal_soln[17] = elem_soln[17];
481
482 // node 6 components
483 nodal_soln[18] = .5*(elem_soln[0] + elem_soln[3]);
484 nodal_soln[19] = .5*(elem_soln[1] + elem_soln[4]);
485 nodal_soln[20] = .5*(elem_soln[2] + elem_soln[5]);
486
487 // node 7 components
488 nodal_soln[21] = .5*(elem_soln[3] + elem_soln[6]);
489 nodal_soln[22] = .5*(elem_soln[4] + elem_soln[7]);
490 nodal_soln[23] = .5*(elem_soln[5] + elem_soln[8]);
491
492 // node 8 components
493 nodal_soln[24] = .5*(elem_soln[0] + elem_soln[6]);
494 nodal_soln[25] = .5*(elem_soln[1] + elem_soln[7]);
495 nodal_soln[26] = .5*(elem_soln[2] + elem_soln[8]);
496
497 // node 9 components
498 nodal_soln[27] = .5*(elem_soln[0] + elem_soln[9]);
499 nodal_soln[28] = .5*(elem_soln[1] + elem_soln[10]);
500 nodal_soln[29] = .5*(elem_soln[2] + elem_soln[11]);
501
502 // node 10 components
503 nodal_soln[30] = .5*(elem_soln[3] + elem_soln[12]);
504 nodal_soln[31] = .5*(elem_soln[4] + elem_soln[13]);
505 nodal_soln[32] = .5*(elem_soln[5] + elem_soln[14]);
506
507 // node 11 components
508 nodal_soln[33] = .5*(elem_soln[6] + elem_soln[15]);
509 nodal_soln[34] = .5*(elem_soln[7] + elem_soln[16]);
510 nodal_soln[35] = .5*(elem_soln[8] + elem_soln[17]);
511
512 // node 12 components
513 nodal_soln[36] = .5*(elem_soln[9] + elem_soln[12]);
514 nodal_soln[37] = .5*(elem_soln[10] + elem_soln[13]);
515 nodal_soln[38] = .5*(elem_soln[11] + elem_soln[14]);
516
517 // node 13 components
518 nodal_soln[39] = .5*(elem_soln[12] + elem_soln[15]);
519 nodal_soln[40] = .5*(elem_soln[13] + elem_soln[16]);
520 nodal_soln[41] = .5*(elem_soln[14] + elem_soln[17]);
521
522 // node 14 components
523 nodal_soln[42] = .5*(elem_soln[12] + elem_soln[15]);
524 nodal_soln[43] = .5*(elem_soln[13] + elem_soln[16]);
525 nodal_soln[44] = .5*(elem_soln[14] + elem_soln[17]);
526
527 return;
528 }
529
530 default:
531 {
532 // By default the element solution _is_ nodal,
533 // so just copy it.
534 nodal_soln = elem_soln;
535
536 return;
537 }
538 }
539 }
540
541 case SECOND:
542 {
543 switch (type)
544 {
545 case TRI7:
546 {
547 libmesh_assert_equal_to (elem_soln.size(), 12);
548 libmesh_assert_equal_to (nodal_soln.size(), 14);
549
550 for (int i=0; i != 12; ++i)
551 nodal_soln[i] = elem_soln[i];
552
553 nodal_soln[12] = -1./9. * (elem_soln[0] + elem_soln[2] + elem_soln[4])
554 +4./9. * (elem_soln[6] + elem_soln[8] + elem_soln[10]);
555 nodal_soln[13] = -1./9. * (elem_soln[1] + elem_soln[3] + elem_soln[5])
556 +4./9. * (elem_soln[7] + elem_soln[9] + elem_soln[11]);
557
558 return;
559 }
560
561 case TET14:
562 {
563 libmesh_assert_equal_to (elem_soln.size(), 10*3);
564 libmesh_assert_equal_to (nodal_soln.size(), 14*3);
565
566 for (int i=0; i != 10*3; ++i)
567 nodal_soln[i] = elem_soln[i];
568
569 // node 10 components
570 nodal_soln[30] = -1./9. * (elem_soln[0] + elem_soln[3] + elem_soln[6])
571 +4./9. * (elem_soln[12] + elem_soln[15] + elem_soln[18]);
572 nodal_soln[31] = -1./9. * (elem_soln[1] + elem_soln[4] + elem_soln[7])
573 +4./9. * (elem_soln[13] + elem_soln[16] + elem_soln[19]);
574 nodal_soln[32] = -1./9. * (elem_soln[2] + elem_soln[5] + elem_soln[8])
575 +4./9. * (elem_soln[14] + elem_soln[17] + elem_soln[20]);
576
577 // node 11 components
578 nodal_soln[33] = -1./9. * (elem_soln[0] + elem_soln[3] + elem_soln[9])
579 +4./9. * (elem_soln[12] + elem_soln[21] + elem_soln[24]);
580 nodal_soln[34] = -1./9. * (elem_soln[1] + elem_soln[4] + elem_soln[10])
581 +4./9. * (elem_soln[13] + elem_soln[22] + elem_soln[25]);
582 nodal_soln[35] = -1./9. * (elem_soln[2] + elem_soln[5] + elem_soln[11])
583 +4./9. * (elem_soln[14] + elem_soln[23] + elem_soln[26]);
584
585 // node 12 components
586 nodal_soln[36] = -1./9. * (elem_soln[3] + elem_soln[6] + elem_soln[9])
587 +4./9. * (elem_soln[15] + elem_soln[24] + elem_soln[27]);
588 nodal_soln[37] = -1./9. * (elem_soln[4] + elem_soln[7] + elem_soln[10])
589 +4./9. * (elem_soln[16] + elem_soln[25] + elem_soln[28]);
590 nodal_soln[38] = -1./9. * (elem_soln[5] + elem_soln[8] + elem_soln[11])
591 +4./9. * (elem_soln[17] + elem_soln[26] + elem_soln[29]);
592
593 // node 13 components
594 nodal_soln[39] = -1./9. * (elem_soln[0] + elem_soln[6] + elem_soln[9])
595 +4./9. * (elem_soln[12] + elem_soln[21] + elem_soln[27]);
596 nodal_soln[40] = -1./9. * (elem_soln[1] + elem_soln[7] + elem_soln[10])
597 +4./9. * (elem_soln[13] + elem_soln[22] + elem_soln[28]);
598 nodal_soln[41] = -1./9. * (elem_soln[2] + elem_soln[8] + elem_soln[11])
599 +4./9. * (elem_soln[14] + elem_soln[23] + elem_soln[29]);
600
601 return;
602 }
603
604 default:
605 {
606 // By default the element solution _is_ nodal,
607 // so just copy it.
608 nodal_soln = elem_soln;
609
610 return;
611 }
612 }
613 }
614
615 case THIRD:
616 {
617 // By default the element solution _is_ nodal,
618 // so just copy it.
619 nodal_soln = elem_soln;
620
621 return;
622 }
623
624 default:
625 libmesh_error_msg("ERROR: Invalid Order " << Utility::enum_to_string(totalorder) << " selected for LAGRANGE FE family!");
626 } // switch(totalorder)
627
628}// void lagrange_vec_nodal_soln
629
630} // anonymous namespace

References dim, libMesh::Utility::enum_to_string(), FIRST, HEX20, HEX27, libmesh_assert(), libMesh::Elem::n_nodes(), n_nodes, libMesh::Elem::p_level(), PRISM15, PRISM18, PRISM20, PRISM21, QUAD8, QUAD9, Real, SECOND, TET10, TET14, THIRD, TRI6, TRI7, and libMesh::Elem::type().

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [3/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
MONOMIAL_VEC   
)

Definition at line 31 of file fe_monomial_vec.C.

42{
43void
44monomial_vec_nodal_soln(const Elem * elem,
45 const Order order,
46 const std::vector<Number> & elem_soln,
47 const int dim,
48 std::vector<Number> & nodal_soln,
49 const bool add_p_level)
50{
51 const unsigned int n_nodes = elem->n_nodes();
52
53 const ElemType elem_type = elem->type();
54
55 nodal_soln.resize(dim * n_nodes);
56
57 const Order totalorder = order + add_p_level*elem->p_level();
58
59 switch (totalorder)
60 {
61 // Constant shape functions
62 case CONSTANT:
63 {
64 libmesh_assert_equal_to(elem_soln.size(), static_cast<unsigned int>(dim));
65 switch (dim)
66 {
67 case 2:
68 case 3:
69 {
70 for (unsigned int n = 0; n < n_nodes; n++)
71 std::copy(elem_soln.begin(), elem_soln.end(), nodal_soln.begin() + dim*n);
72 return;
73 }
74 default:
75 libmesh_error_msg(
76 "The monomial_vec_nodal_soln helper should only be called for 2 and 3 dimensions");
77 }
78 }
79
80 // For other orders, do interpolation at the nodes
81 // explicitly.
82 default:
83 {
84 // FEType object to be passed to various FEInterface functions below.
85 FEType fe_type(order, MONOMIAL);
86
87 const unsigned int n_sf = FEInterface::n_shape_functions(fe_type, elem);
88
89 std::vector<Point> refspace_nodes;
90 FEBase::get_refspace_nodes(elem_type, refspace_nodes);
91 libmesh_assert_equal_to(refspace_nodes.size(), n_nodes);
92 libmesh_assert_equal_to(elem_soln.size(), n_sf * dim);
93
94 // Zero before summation
95 std::fill(nodal_soln.begin(), nodal_soln.end(), 0);
96
97 for (unsigned int d = 0; d < static_cast<unsigned int>(dim); d++)
98 for (unsigned int n = 0; n < n_nodes; n++)
99 // u_i = Sum (alpha_i phi_i)
100 for (unsigned int i = 0; i < n_sf; i++)
101 nodal_soln[d + dim * n] += elem_soln[d + dim * i] *
102 FEInterface::shape(fe_type, elem, i, refspace_nodes[n]);
103
104 return;
105 } // default
106 } // switch
107}
108} // anonymous namespace

References CONSTANT, dim, libMesh::FEAbstract::get_refspace_nodes(), MONOMIAL, libMesh::Elem::n_nodes(), n_nodes, libMesh::FEInterface::n_shape_functions(), libMesh::Elem::p_level(), libMesh::FEInterface::shape(), and libMesh::Elem::type().

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [4/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
NEDELEC_ONE   
)

Definition at line 34 of file fe_nedelec_one.C.

41 {
42void nedelec_one_nodal_soln(const Elem * elem,
43 const Order order,
44 const std::vector<Number> & elem_soln,
45 const int dim,
46 const int vdim,
47 std::vector<Number> & nodal_soln,
48 const bool add_p_level)
49{
50 const unsigned int n_nodes = elem->n_nodes();
51 const ElemType elem_type = elem->type();
52
53 const Order totalorder = order + add_p_level*elem->p_level();
54
55 nodal_soln.resize(n_nodes*vdim);
56
57 FEType p_refined_fe_type(totalorder, NEDELEC_ONE);
58
59 if (elem_type != TRI6 && elem_type != TRI7 &&
60 elem_type != QUAD8 && elem_type != QUAD9 &&
61 elem_type != TET10 && elem_type != TET14 &&
62 elem_type != HEX20 && elem_type != HEX27)
63 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(elem_type) << " selected for NEDELEC_ONE FE family!");
64
65 const unsigned int n_sf = FEInterface::n_shape_functions(p_refined_fe_type, elem, false);
66
67 std::vector<Point> refspace_nodes;
68 FEVectorBase::get_refspace_nodes(elem_type,refspace_nodes);
69 libmesh_assert_equal_to (refspace_nodes.size(), n_nodes);
70 libmesh_assert_equal_to (elem_soln.size(), n_sf);
71
72 // Need to create new fe object so the shape function has the FETransformation
73 // applied to it.
74 std::unique_ptr<FEVectorBase> vis_fe = FEVectorBase::build(dim, p_refined_fe_type);
75
76 const std::vector<std::vector<RealGradient>> & vis_phi = vis_fe->get_phi();
77
78 vis_fe->reinit(elem,&refspace_nodes);
79
80 // Zero before summation
81 std::fill(nodal_soln.begin(), nodal_soln.end(), 0);
82
83 for (unsigned int n = 0; n < n_nodes; n++)
84 // u = Sum (u_i phi_i)
85 for (unsigned int i=0; i<n_sf; i++)
86 for (int d = 0; d < vdim; d++)
87 nodal_soln[vdim*n+d] += elem_soln[i]*(vis_phi[i][n](d));
88
89 return;
90} // nedelec_one_nodal_soln
91
92
93
94unsigned int nedelec_one_n_dofs(const ElemType t, const Order o)
95{
96 libmesh_assert_greater (o, 0);
97 switch (t)
98 {
99 case TRI6:
100 case TRI7:
101 return o*(o+2);
102 case QUAD8:
103 case QUAD9:
104 return 2*o*(o+1);
105 case TET10:
106 libmesh_assert_less (o, 2);
107 libmesh_fallthrough();
108 case TET14:
109 return o*(o+2)*(o+3)/2;
110 case HEX20:
111 libmesh_assert_less (o, 2);
112 libmesh_fallthrough();
113 case HEX27:
114 return 3*o*(o+1)*(o+1);
115 case INVALID_ELEM:
116 return 0;
117 default:
118 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(t) << " selected for NEDELEC_ONE FE family!");
119 }
120}
121
122
123
124unsigned int nedelec_one_n_dofs(const Elem * e, const Order o)
125{
127 return nedelec_one_n_dofs(e->type(), o);
128}
129
130
131
132unsigned int nedelec_one_n_dofs_at_node(const ElemType t,
133 const Order o,
134 const unsigned int n)
135{
136 libmesh_assert_greater (o, 0);
137 switch (t)
138 {
139 case TRI6:
140 case TRI7:
141 {
142 switch (n)
143 {
144 case 0:
145 case 1:
146 case 2:
147 return 0;
148 case 3:
149 case 4:
150 case 5:
151 return o;
152 case 6:
153 libmesh_assert_equal_to(t, TRI7);
154 return 0;
155 default:
156 libmesh_error_msg("ERROR: Invalid node ID " << n);
157 }
158 }
159 case QUAD8:
160 case QUAD9:
161 {
162 switch (n)
163 {
164 case 0:
165 case 1:
166 case 2:
167 case 3:
168 return 0;
169 case 4:
170 case 5:
171 case 6:
172 case 7:
173 return o;
174 case 8:
175 libmesh_assert_equal_to(t, QUAD9);
176 return 0;
177 default:
178 libmesh_error_msg("ERROR: Invalid node ID " << n);
179 }
180 }
181 case TET10:
182 libmesh_assert_less (o, 2);
183 libmesh_fallthrough();
184 case TET14:
185 {
186 switch (n)
187 {
188 case 0:
189 case 1:
190 case 2:
191 case 3:
192 return 0;
193 case 4:
194 case 5:
195 case 6:
196 case 7:
197 case 8:
198 case 9:
199 return o;
200 case 10:
201 case 11:
202 case 12:
203 case 13:
204 libmesh_assert_equal_to(t, TET14);
205 return o*(o-1);
206 default:
207 libmesh_error_msg("ERROR: Invalid node ID " << n);
208 }
209 }
210 case HEX20:
211 libmesh_assert_less (o, 2);
212 libmesh_fallthrough();
213 case HEX27:
214 {
215 switch (n)
216 {
217 case 0:
218 case 1:
219 case 2:
220 case 3:
221 case 4:
222 case 5:
223 case 6:
224 case 7:
225 return 0;
226 case 8:
227 case 9:
228 case 10:
229 case 11:
230 case 12:
231 case 13:
232 case 14:
233 case 15:
234 case 16:
235 case 17:
236 case 18:
237 case 19:
238 return o;
239 case 20:
240 case 21:
241 case 22:
242 case 23:
243 case 24:
244 case 25:
245 libmesh_assert_equal_to(t, HEX27);
246 return 2*o*(o-1);
247 case 26:
248 libmesh_assert_equal_to(t, HEX27);
249 return 0;
250 default:
251 libmesh_error_msg("ERROR: Invalid node ID " << n);
252 }
253 }
254 case INVALID_ELEM:
255 return 0;
256 default:
257 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(t) << " selected for NEDELEC_ONE FE family!");
258 }
259}
260
261
262
263unsigned int nedelec_one_n_dofs_at_node(const Elem & e,
264 const Order o,
265 const unsigned int n)
266{
267 return nedelec_one_n_dofs_at_node(e.type(), o, n);
268}
269
270
271
272unsigned int nedelec_one_n_dofs_per_elem(const ElemType t,
273 const Order o)
274{
275 libmesh_assert_greater (o, 0);
276 switch (t)
277 {
278 case TRI6:
279 case TRI7:
280 return o*(o-1);
281 case QUAD8:
282 case QUAD9:
283 return 2*o*(o-1);
284 case TET10:
285 libmesh_assert_less (o, 2);
286 libmesh_fallthrough();
287 case TET14:
288 return o*(o-1)*(o-2)/2;
289 case HEX20:
290 libmesh_assert_less (o, 2);
291 libmesh_fallthrough();
292 case HEX27:
293 return 3*o*(o-1)*(o-1);
294 case INVALID_ELEM:
295 return 0;
296 default:
297 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(t) << " selected for NEDELEC_ONE FE family!");
298 }
299}
300
301
302
303unsigned int nedelec_one_n_dofs_per_elem(const Elem & e,
304 const Order o)
305{
306 return nedelec_one_n_dofs_per_elem(e.type(), o);
307}
308
309
310
311#ifdef LIBMESH_ENABLE_AMR
312void nedelec_one_compute_constraints (DofConstraints & /*constraints*/,
313 DofMap & /*dof_map*/,
314 const unsigned int /*variable_number*/,
315 const Elem * libmesh_dbg_var(elem),
316 const unsigned Dim)
317{
318 // Only constrain elements in 2,3D.
319 if (Dim == 1)
320 return;
321
322 libmesh_assert(elem);
323
324 libmesh_not_implemented();
325} // nedelec_one_compute_constraints()
326#endif // #ifdef LIBMESH_ENABLE_AMR
327
328} // anonymous namespace

References libMesh::FEGenericBase< OutputType >::build(), dim, libMesh::Utility::enum_to_string(), libMesh::FEAbstract::get_refspace_nodes(), HEX20, HEX27, INVALID_ELEM, libmesh_assert(), libMesh::Elem::n_nodes(), n_nodes, libMesh::FEInterface::n_shape_functions(), NEDELEC_ONE, libMesh::Elem::p_level(), QUAD8, QUAD9, TET10, TET14, TRI6, TRI7, and libMesh::Elem::type().

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [5/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
RAVIART_THOMAS   
)

Definition at line 34 of file fe_raviart.C.

45 {
46void raviart_thomas_nodal_soln(const Elem * elem,
47 const Order order,
48 const std::vector<Number> & elem_soln,
49 const int dim,
50 const int vdim,
51 std::vector<Number> & nodal_soln,
52 const bool add_p_level)
53{
54 const unsigned int n_nodes = elem->n_nodes();
55 const ElemType elem_type = elem->type();
56
57 const Order totalorder = order + add_p_level*elem->p_level();
58
59 nodal_soln.resize(n_nodes*vdim);
60
61 FEType p_refined_fe_type(totalorder, RAVIART_THOMAS);
62
63 if (elem_type != TRI6 && elem_type != TRI7 &&
64 elem_type != QUAD8 && elem_type != QUAD9 &&
65 elem_type != TET14 && elem_type != HEX27)
66 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(elem_type) << " selected for RAVIART_THOMAS FE family!");
67
68 const unsigned int n_sf = FEInterface::n_shape_functions(p_refined_fe_type, elem, false);
69
70 std::vector<Point> refspace_nodes;
71 FEVectorBase::get_refspace_nodes(elem_type,refspace_nodes);
72 libmesh_assert_equal_to (refspace_nodes.size(), n_nodes);
73 libmesh_assert_equal_to (elem_soln.size(), n_sf);
74
75 // Need to create new fe object so the shape function has the FETransformation
76 // applied to it.
77 std::unique_ptr<FEVectorBase> vis_fe = FEVectorBase::build(dim, p_refined_fe_type);
78
79 const std::vector<std::vector<RealGradient>> & vis_phi = vis_fe->get_phi();
80
81 vis_fe->reinit(elem,&refspace_nodes);
82
83 // Zero before summation
84 std::fill(nodal_soln.begin(), nodal_soln.end(), 0);
85
86 for (unsigned int n = 0; n < n_nodes; n++)
87 // u = Sum (u_i phi_i)
88 for (unsigned int i=0; i<n_sf; i++)
89 for (int d = 0; d < vdim; d++)
90 nodal_soln[vdim*n+d] += elem_soln[i]*(vis_phi[i][n](d));
91
92 return;
93} // raviart_thomas_nodal_soln
94
95
96
97unsigned int raviart_thomas_n_dofs(const ElemType t, const Order o)
98{
99 libmesh_assert_greater (o, 0);
100 switch (t)
101 {
102 case TRI6:
103 case TRI7:
104 return o*(o+2);
105 case QUAD8:
106 case QUAD9:
107 return 2*o*(o+1);
108 case TET14:
109 return o*(o+1)*(o+3)/2;
110 case HEX27:
111 return 3*o*o*(o+1);
112 case INVALID_ELEM:
113 return 0;
114 default:
115 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(t) << " selected for RAVIART_THOMAS FE family!");
116 }
117}
118
119
120
121unsigned int raviart_thomas_n_dofs(const Elem * e, const Order o)
122{
124 return raviart_thomas_n_dofs(e->type(), o);
125}
126
127
128
129unsigned int raviart_thomas_n_dofs_at_node(const ElemType t,
130 const Order o,
131 const unsigned int n)
132{
133 libmesh_assert_greater (o, 0);
134 switch (t)
135 {
136 case TRI6:
137 case TRI7:
138 {
139 switch (n)
140 {
141 case 0:
142 case 1:
143 case 2:
144 return 0;
145 case 3:
146 case 4:
147 case 5:
148 return o;
149 case 6:
150 libmesh_assert_equal_to(t, TRI7);
151 return 0;
152 default:
153 libmesh_error_msg("ERROR: Invalid node ID " << n);
154 }
155 }
156 case QUAD8:
157 case QUAD9:
158 {
159 switch (n)
160 {
161 case 0:
162 case 1:
163 case 2:
164 case 3:
165 return 0;
166 case 4:
167 case 5:
168 case 6:
169 case 7:
170 return o;
171 case 8:
172 libmesh_assert_equal_to(t, QUAD9);
173 return 0;
174 default:
175 libmesh_error_msg("ERROR: Invalid node ID " << n);
176 }
177 }
178 case TET14:
179 {
180 switch (n)
181 {
182 case 0:
183 case 1:
184 case 2:
185 case 3:
186 case 4:
187 case 5:
188 case 6:
189 case 7:
190 case 8:
191 case 9:
192 return 0;
193 case 10:
194 case 11:
195 case 12:
196 case 13:
197 return o*(o+1)/2;
198 default:
199 libmesh_error_msg("ERROR: Invalid node ID " << n);
200 }
201 }
202 case HEX27:
203 {
204 switch (n)
205 {
206 case 0:
207 case 1:
208 case 2:
209 case 3:
210 case 4:
211 case 5:
212 case 6:
213 case 7:
214 case 8:
215 case 9:
216 case 10:
217 case 11:
218 case 12:
219 case 13:
220 case 14:
221 case 15:
222 case 16:
223 case 17:
224 case 18:
225 case 19:
226 return 0;
227 case 20:
228 case 21:
229 case 22:
230 case 23:
231 case 24:
232 case 25:
233 return o*o;
234 case 26:
235 return 0;
236 default:
237 libmesh_error_msg("ERROR: Invalid node ID " << n);
238 }
239 }
240 case INVALID_ELEM:
241 return 0;
242 default:
243 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(t) << " selected for RAVIART_THOMAS FE family!");
244 }
245}
246
247
248
249unsigned int raviart_thomas_n_dofs_at_node(const Elem & e,
250 const Order o,
251 const unsigned int n)
252{
253 return raviart_thomas_n_dofs_at_node(e.type(), o, n);
254}
255
256
257
258unsigned int raviart_thomas_n_dofs_per_elem(const ElemType t,
259 const Order o)
260{
261 libmesh_assert_greater (o, 0);
262 switch (t)
263 {
264 case TRI6:
265 case TRI7:
266 return o*(o-1);
267 case QUAD8:
268 case QUAD9:
269 return 2*o*(o-1);
270 case TET14:
271 return (o+1)*o*(o-1)/2;
272 case HEX27:
273 return 3*o*o*(o-1);
274 case INVALID_ELEM:
275 return 0;
276 default:
277 libmesh_error_msg("ERROR: Invalid ElemType " << Utility::enum_to_string(t) << " selected for RAVIART_THOMAS FE family!");
278 }
279}
280
281
282
283unsigned int raviart_thomas_n_dofs_per_elem(const Elem & e,
284 const Order o)
285{
286 return raviart_thomas_n_dofs_per_elem(e.type(), o);
287}
288
289
290#ifdef LIBMESH_ENABLE_AMR
291void raviart_thomas_compute_constraints (DofConstraints & /*constraints*/,
292 DofMap & /*dof_map*/,
293 const unsigned int /*variable_number*/,
294 const Elem * libmesh_dbg_var(elem),
295 const unsigned Dim)
296{
297 // Only constrain elements in 2,3D.
298 if (Dim == 1)
299 return;
300
301 libmesh_assert(elem);
302
303 libmesh_not_implemented();
304} // raviart_thomas_compute_constraints()
305#endif // #ifdef LIBMESH_ENABLE_AMR
306
307} // anonymous namespace

References libMesh::FEGenericBase< OutputType >::build(), dim, libMesh::Utility::enum_to_string(), libMesh::FEAbstract::get_refspace_nodes(), HEX27, INVALID_ELEM, libmesh_assert(), libMesh::Elem::n_nodes(), n_nodes, libMesh::FEInterface::n_shape_functions(), libMesh::Elem::p_level(), QUAD8, QUAD9, RAVIART_THOMAS, TET14, TRI6, TRI7, and libMesh::Elem::type().

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [6/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
HERMITE   
)

Definition at line 74 of file fe_hermite_shape_1D.C.

81{
82 using Utility::pow;
83
84 switch (i)
85 {
86 case 0:
87 return 1.5 * xi;
88 case 1:
89 return -1.5 * xi;
90 case 2:
91 return 0.5 * (-1. + 3.*xi);
92 case 3:
93 return 0.5 * (1. + 3.*xi);
94 case 4:
95 return (8.*xi*xi + 4.*(xi*xi-1.))/24.;
96 case 5:
97 return (8.*xi*xi*xi + 12.*xi*(xi*xi-1.))/120.;
98 // case 6:
99 // return (8.*pow<4>(xi) + 20.*xi*xi*(xi*xi-1.) +
100 // 2.*(xi*xi-1)*(xi*xi-1))/720.;
101 default:
102 Real denominator = 720., xipower = 1.;
103 for (unsigned n=6; n != i; ++n)
104 {
105 xipower *= xi;
106 denominator *= (n+1);
107 }
108 return (8.*pow<4>(xi)*xipower +
109 (8.*(i-4)+4.)*xi*xi*xipower*(xi*xi-1.) +
110 (i-4)*(i-5)*xipower*(xi*xi-1.)*(xi*xi-1.))/denominator;
111 }
112}
T pow(const T &x)
Definition utility.h:296

References libMesh::Utility::pow(), and Real.

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [7/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( ,
SUBDIVISION   
)

Definition at line 34 of file fe_subdivision_2D.C.

37 :
39{
40 // Only 2D meshes in 3D space are supported
41 libmesh_assert_equal_to(LIBMESH_DIM, 3);
42}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [8/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( LIBMESH_DEFAULT_VECTORIZED_FE(  0,
HIERARCHIC   
)

Definition at line 28 of file fe_hierarchic_shape_0D.C.

39{
40 libmesh_assert_less (i, 1);
41 return 1.;
42}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [9/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( LIBMESH_DEFAULT_VECTORIZED_FE(  0,
LAGRANGE   
)

Definition at line 28 of file fe_lagrange_shape_0D.C.

37{
38 libmesh_assert_less (i, 1);
39 return 1.;
40}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [10/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
BERNSTEIN   
)

Definition at line 30 of file fe_bernstein_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [11/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
CLOUGH   
)

Definition at line 30 of file fe_clough_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [12/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
HERMITE   
)

Definition at line 30 of file fe_hermite_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [13/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
MONOMIAL   
)

Definition at line 30 of file fe_monomial_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [14/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
RATIONAL_BERNSTEIN   
)

Definition at line 30 of file fe_rational_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [15/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
SCALAR   
)

Definition at line 30 of file fe_scalar_shape_0D.C.

38{
39 return 1.;
40}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [16/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
SZABAB   
)

Definition at line 30 of file fe_szabab_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [17/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template <>Real FE 0,
XYZ   
)

Definition at line 30 of file fe_xyz_shape_0D.C.

38{
39 libmesh_assert_less (i, 1);
40 return 1.;
41}

◆ LIBMESH_DEFAULT_VECTORIZED_FE() [18/18]

libMesh::LIBMESH_DEFAULT_VECTORIZED_FE ( template<>void FE 3,
L2_LAGRANGE   
)

Definition at line 69 of file fe_lagrange_shape_3D.C.

79{
80 const ElemType type = elem->type();
81
82 // Just loop on the harder-to-optimize cases
83 if (type != HEX8 && type != HEX27)
84 {
86 (elem,o,p,v,add_p_level);
87 return;
88 }
89
90#if LIBMESH_DIM == 3
91
92 const unsigned int n_sf = v.size();
93
94 switch (o)
95 {
96 // linear Lagrange shape functions
97 case FIRST:
98 {
99 switch (type)
100 {
101 // trilinear hexahedral shape functions
102 case HEX8:
103 case HEX20:
104 case HEX27:
105 {
106 libmesh_assert_less_equal (n_sf, 8);
107
108 // 0 1 2 3 4 5 6 7
109 static const unsigned int i0[] = {0, 1, 1, 0, 0, 1, 1, 0};
110 static const unsigned int i1[] = {0, 0, 1, 1, 0, 0, 1, 1};
111 static const unsigned int i2[] = {0, 0, 0, 0, 1, 1, 1, 1};
112
113 for (auto qp : index_range(p))
114 {
115 const Point & q_point = p[qp];
116 // Compute hex shape functions as a tensor-product
117 const Real xi = q_point(0);
118 const Real eta = q_point(1);
119 const Real zeta = q_point(2);
120
121 // one_d_shapes[dim][i] = phi_i(p(dim))
122 Real one_d_shapes[3][2] = {
129
130 for (unsigned int i : make_range(n_sf))
131 v[i][qp] = one_d_shapes[0][i0[i]] *
132 one_d_shapes[1][i1[i]] *
133 one_d_shapes[2][i2[i]];
134 }
135 return;
136 }
137
138 default:
139 libmesh_error(); // How did we get here?
140 }
141 }
142
143
144 // quadratic Lagrange shape functions
145 case SECOND:
146 {
147 switch (type)
148 {
149 // triquadratic hexahedral shape functions
150 case HEX8:
151// TODO: refactor to optimize this
152// libmesh_assert_msg(T == L2_LAGRANGE,
153// "High order on first order elements only supported for L2 families");
154 libmesh_fallthrough();
155 case HEX27:
156 {
157 libmesh_assert_less_equal (n_sf, 27);
158
159 // The only way to make any sense of this
160 // is to look at the mgflo/mg2/mgf documentation
161 // and make the cut-out cube!
162 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
163 static const unsigned int i0[] = {0, 1, 1, 0, 0, 1, 1, 0, 2, 1, 2, 0, 0, 1, 1, 0, 2, 1, 2, 0, 2, 2, 1, 2, 0, 2, 2};
164 static const unsigned int i1[] = {0, 0, 1, 1, 0, 0, 1, 1, 0, 2, 1, 2, 0, 0, 1, 1, 0, 2, 1, 2, 2, 0, 2, 1, 2, 2, 2};
165 static const unsigned int i2[] = {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 0, 2, 2, 2, 2, 1, 2};
166
167 for (auto qp : index_range(p))
168 {
169 const Point & q_point = p[qp];
170 // Compute hex shape functions as a tensor-product
171 const Real xi = q_point(0);
172 const Real eta = q_point(1);
173 const Real zeta = q_point(2);
174
175 // linear_shapes[dim][i] = phi_i(p(dim))
176 Real one_d_shapes[3][3] = {
186
187 for (unsigned int i : make_range(n_sf))
188 v[i][qp] = one_d_shapes[0][i0[i]] *
189 one_d_shapes[1][i1[i]] *
190 one_d_shapes[2][i2[i]];
191 }
192 return;
193 }
194
195 default:
196 libmesh_error(); // How did we get here?
197 }
198 }
199
200 // unsupported order
201 default:
202 libmesh_error_msg("ERROR: Unsupported 3D FE order on HEX!: " << o);
203 }
204#else // LIBMESH_DIM != 3
205 libmesh_ignore(elem, o, p, v, add_p_level);
206 libmesh_not_implemented();
207#endif // LIBMESH_DIM == 3
208}
static void default_all_shapes(const Elem *elem, const Order o, const std::vector< Point > &p, std::vector< std::vector< OutputShape > > &v, const bool add_p_level=true)
A default implementation for all_shapes.
Definition fe.h:753
A Point defines a location in LIBMESH_DIM dimensional Real space.
Definition point.h:40

References libMesh::FE< Dim, T >::default_all_shapes(), fe_lagrange_1D_linear_shape(), fe_lagrange_1D_quadratic_shape(), FIRST, HEX20, HEX27, HEX8, index_range(), libmesh_ignore(), make_range(), Real, SECOND, and libMesh::Elem::type().

◆ LIBMESH_ERRORS_IN_LOW_D()

libMesh::LIBMESH_ERRORS_IN_LOW_D ( CLOUGH  )

Definition at line 73 of file fe_boundary.C.

99 { libmesh_error_msg("ERROR: Cannot reinit 1D NEDELEC_ONE elements!"); }

◆ LIBMESH_FE_NODAL_SOLN() [1/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( BERNSTEIN  ,
bernstein_nodal_soln   
)

Definition at line 415 of file fe_bernstein.C.

422 { return C_ZERO; }

References C_ZERO.

◆ LIBMESH_FE_NODAL_SOLN() [2/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( CLOUGH  ,
clough_nodal_soln   
)

Definition at line 261 of file fe_clough.C.

270 { return C_ONE; }

References C_ONE.

◆ LIBMESH_FE_NODAL_SOLN() [3/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( HERMITE  ,
hermite_nodal_soln   
)

Definition at line 303 of file fe_hermite.C.

312 { return C_ONE; }

◆ LIBMESH_FE_NODAL_SOLN() [4/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( HIERARCHIC  ,
hierarchic_nodal_soln   
)

Definition at line 467 of file fe_hierarchic.C.

476 { return C_ZERO; }

References C_ZERO.

◆ LIBMESH_FE_NODAL_SOLN() [5/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( L2_HIERARCHIC  ,
l2_hierarchic_nodal_soln   
)

Definition at line 149 of file fe_l2_hierarchic.C.

154 { return l2_hierarchic_n_dofs(t, o); }

◆ LIBMESH_FE_NODAL_SOLN() [6/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( L2_LAGRANGE  ,
lagrange_nodal_soln   
)

Definition at line 216 of file fe_l2_lagrange.C.

223 { return l2_lagrange_n_dofs(t, o); }

◆ LIBMESH_FE_NODAL_SOLN() [7/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( LAGRANGE  ,
lagrange_nodal_soln   
)

Definition at line 1070 of file fe_lagrange.C.

1077 { return lagrange_n_dofs(t, nullptr, o); }

◆ LIBMESH_FE_NODAL_SOLN() [8/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( MONOMIAL  ,
monomial_nodal_soln   
)

Definition at line 381 of file fe_monomial.C.

386 { return monomial_n_dofs(t, o); }
unsigned int monomial_n_dofs(const ElemType t, const Order o)
Helper functions for Discontinuous-Pn type basis functions.
Definition fe_monomial.C:37

References monomial_n_dofs().

◆ LIBMESH_FE_NODAL_SOLN() [9/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( RATIONAL_BERNSTEIN  ,
rational_nodal_soln   
)

Definition at line 122 of file fe_rational.C.

static unsigned int n_dofs(const ElemType t, const Order o)

References libMesh::FE< Dim, T >::n_dofs().

◆ LIBMESH_FE_NODAL_SOLN() [10/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( SCALAR  ,
scalar_nodal_soln   
)

Definition at line 54 of file fe_scalar.C.

60 { return o; }

◆ LIBMESH_FE_NODAL_SOLN() [11/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( SIDE_HIERARCHIC  ,
side_hierarchic_nodal_soln   
)

Definition at line 229 of file fe_side_hierarchic.C.

241{
242 libmesh_error_msg("No side variables in 0D!");
243}

◆ LIBMESH_FE_NODAL_SOLN() [12/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( SZABAB  ,
szabab_nodal_soln   
)

Definition at line 1287 of file fe_szabab.C.

1292 { return szabab_n_dofs(t, o); }

◆ LIBMESH_FE_NODAL_SOLN() [13/13]

libMesh::LIBMESH_FE_NODAL_SOLN ( XYZ  ,
xyz_nodal_soln   
)

Definition at line 367 of file fe_xyz.C.

372 { return monomial_n_dofs(t, o); }

References monomial_n_dofs().

◆ LIBMESH_FE_NODAL_SOLN_DIM() [1/3]

libMesh::LIBMESH_FE_NODAL_SOLN_DIM ( LIBMESH_FE_NODAL_SOLN_DIM(  HIERARCHIC_VEC,
(FE< 0, HIERARCHIC >::nodal_soln)  ,
 
)

Definition at line 96 of file fe_hierarchic_vec.C.

106{ hierarchic_vec_nodal_soln(elem, order, elem_soln, 2 /*dim*/, nodal_soln, add_p_level); }

◆ LIBMESH_FE_NODAL_SOLN_DIM() [2/3]

libMesh::LIBMESH_FE_NODAL_SOLN_DIM ( LIBMESH_FE_NODAL_SOLN_DIM(  LAGRANGE_VEC,
(FE< 0, LAGRANGE >::nodal_soln)  ,
 
)

Definition at line 636 of file fe_lagrange_vec.C.

646{ lagrange_vec_nodal_soln(elem, order, elem_soln, 2 /*dim*/, nodal_soln, add_p_level); }

◆ LIBMESH_FE_NODAL_SOLN_DIM() [3/3]

libMesh::LIBMESH_FE_NODAL_SOLN_DIM ( LIBMESH_FE_NODAL_SOLN_DIM(  MONOMIAL_VEC,
(FE< 0, MONOMIAL >::nodal_soln)  ,
 
)

Definition at line 113 of file fe_monomial_vec.C.

124{
125 monomial_vec_nodal_soln(elem, order, elem_soln, 2 /*dim*/, nodal_soln, add_p_level);
126}

◆ LIBMESH_FE_SIDE_NODAL_SOLN() [1/5]

libMesh::LIBMESH_FE_SIDE_NODAL_SOLN ( HIERARCHIC_VEC  )

Definition at line 117 of file fe_hierarchic_vec.C.

132{
133 Real value = FE<0,HIERARCHIC>::shape( type, order, i, p );
135}
RealVectorValue RealGradient

References Real, libMesh::FE< Dim, T >::shape(), and value.

◆ LIBMESH_FE_SIDE_NODAL_SOLN() [2/5]

libMesh::LIBMESH_FE_SIDE_NODAL_SOLN ( LAGRANGE_VEC  )

Definition at line 657 of file fe_lagrange_vec.C.

672{
673 Real value = FE<0,LAGRANGE>::shape( type, order, i, p );
675}

References Real, libMesh::FE< Dim, T >::shape(), and value.

◆ LIBMESH_FE_SIDE_NODAL_SOLN() [3/5]

libMesh::LIBMESH_FE_SIDE_NODAL_SOLN ( MONOMIAL_VEC  )

Definition at line 140 of file fe_monomial_vec.C.

152{
153 Real value = FE<0, MONOMIAL>::shape(type, order, i, p);
155}
VectorValue< Real > RealVectorValue
Useful typedefs to allow transparent switching between Real and Complex data types.

References Real, libMesh::FE< Dim, T >::shape(), and value.

◆ LIBMESH_FE_SIDE_NODAL_SOLN() [4/5]

libMesh::LIBMESH_FE_SIDE_NODAL_SOLN ( NEDELEC_ONE  )

Definition at line 372 of file fe_nedelec_one.C.

377 { NEDELEC_LOW_D_ERROR_MESSAGE }

◆ LIBMESH_FE_SIDE_NODAL_SOLN() [5/5]

libMesh::LIBMESH_FE_SIDE_NODAL_SOLN ( RAVIART_THOMAS  )

Definition at line 387 of file fe_raviart.C.

394 { RAVIART_LOW_D_ERROR_MESSAGE }

◆ libmesh_ignore()

template<class ... Args>
void libMesh::libmesh_ignore ( const Args &  ...)
inline

Definition at line 569 of file libmesh_common.h.

569{ }

Referenced by add_cube_convex_hull_to_mesh(), libMesh::StaticCondensationDofMap::add_uncondensed_dof_plus_constraint_dofs(), adjust_linear_solver(), libMesh::FE< Dim, T >::all_shape_derivs(), assemble(), assemble_1D(), assemble_biharmonic(), assemble_cd(), assemble_func(), assemble_laplace(), assemble_mass(), assemble_matrices(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), InfFERadialTest::base_point(), libMesh::System::boundary_project_vector(), libMesh::LinearSolver< T >::build(), libMesh::ShellMatrix< T >::build(), libMesh::SparseMatrix< T >::build(), libMesh::OptimizationSolver< T >::build(), libMesh::Partitioner::build_graph(), libMesh::Preconditioner< T >::build_preconditioner(), libMesh::FEMap::compute_inverse_map_second_derivs(), libMesh::FEMap::compute_single_point_map(), connect_children(), libMesh::TypeVector< T >::cross(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ExodusII_IO::ExodusII_IO(), libMesh::ExodusII_IO::ExodusII_IO(), libMesh::TensorValue< T >::extrinsic_rotation_matrix(), libMesh::MeshCommunication::find_global_indices(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Modification::flatten(), libMesh::System::init_data(), libMesh::PetscMatrix< T >::init_without_preallocation(), libMesh::Poly2TriTriangulator::insert_refinement_points(), integrate_function(), libMesh::TensorValue< T >::intrinsic_rotation_matrix(), libMesh::FEMap::inverse_map(), libMesh::FEMap::inverse_map(), libMesh::Elem::is_vertex_on_parent(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), LIBMESH_DEFAULT_VECTORIZED_FE(), line_print(), main(), libMesh::MeshCommunication::make_node_bcids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::FEMap::map(), libMesh::FEMap::map_deriv(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), MeshPerElemTest< elem_type >::meshes_equal_enough(), libMesh::Nemesis_IO::Nemesis_IO(), libMesh::Nemesis_IO::Nemesis_IO(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::pack(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::packable_size(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::packed_size(), libMesh::C0Polygon::permute(), libMesh::PetscSolverException::PetscSolverException(), libMesh::PetscMatrix< T >::preallocate(), libMesh::System::project_vector(), libMesh::System::project_vector(), libMesh::RBEIMEvaluation::rb_eim_solves(), libMesh::STLIO::read_ascii(), libMesh::STLIO::read_binary(), libMesh::CheckpointIO::read_connectivity(), libMesh::SparseMatrix< T >::read_coreform_hdf5(), libMesh::NumericVector< T >::read_matlab(), libMesh::SparseMatrix< T >::read_matlab(), libMesh::StaticCondensationDofMap::reinit(), Biharmonic::JR::residual_and_jacobian(), libMesh::C0Polyhedron::retriangulate(), libMesh::MeshTools::Modification::rotate(), scale_mesh_and_plot(), libMesh::DofMap::set_constrained_sparsity_construction(), libMesh::ExodusII_IO_Helper::set_dof_object_unique_id(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), set_lid_driven_bcs(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::DofObject::set_unique_id(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::DofMap::should_p_refine(), libMesh::DofMap::should_p_refine(), libMesh::DofMap::should_p_refine_var(), libMesh::Sphere::Sphere(), libMesh::Sphere::surface_coords(), AllRBBTest::test_disk(), VolumeTest::test_elem_invertible(), MeshInputTest::testExodusSetElemUniqueIdsFromMaps_implementation(), MeshInputTest::testExodusSetNodeUniqueIdsFromMaps_implementation(), VolumeTest::testQuad4AspectRatio(), VolumeTest::testQuad4Jacobian(), VolumeTest::testQuad4MinMaxAngle(), VolumeTest::testQuad4Warpage(), InfFERadialTest::testSingleOrder(), VolumeTest::testTet4DihedralAngle(), VolumeTest::testTet4Jacobian(), VolumeTest::testTri3AspectRatio(), tetrahedralize_domain(), transform_mesh_and_plot(), libMesh::NetGenMeshInterface::triangulate(), triangulate_domain(), triple_product(), libMesh::RBConstruction::truth_solve(), libMesh::TypeTensor< T >::TypeTensor(), libMesh::TypeTensor< T >::TypeTensor(), libMesh::TypeTensor< T >::TypeTensor(), libMesh::TypeTensor< T >::TypeTensor(), libMesh::TypeVector< T >::TypeVector(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Nemesis_IO::write_complex_magnitude(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO::write_nodal_data(), write_output(), write_output(), libMesh::StaticCondensation::zero(), and libMesh::RemoteElem::~RemoteElem().

◆ libmesh_imag() [1/2]

template<typename T >
T libMesh::libmesh_imag ( std::complex< T >  a)
inline

Definition at line 197 of file libmesh_common.h.

197{ return std::imag(a); }

References std::imag().

◆ libmesh_imag() [2/2]

template<typename T >
T libMesh::libmesh_imag ( )
inline

Definition at line 190 of file libmesh_common.h.

190{ return 0; }

◆ libmesh_isinf() [1/2]

template<typename T >
bool libMesh::libmesh_isinf ( std::complex< T >  a)
inline

Definition at line 221 of file libmesh_common.h.

222{ return (std::isinf(std::real(a)) || std::isinf(std::imag(a))); }

References std::imag(), and std::real().

◆ libmesh_isinf() [2/2]

template<typename T >
bool libMesh::libmesh_isinf ( x)
inline

Definition at line 207 of file libmesh_common.h.

207{ using std::isinf; return isinf(x); }

References isinf().

Referenced by InfFERadialTest::base_point(), libMesh::InfFEMap::inverse_map(), and libMesh::BoundingBox::max_size().

◆ libmesh_isnan() [1/2]

template<typename T >
bool libMesh::libmesh_isnan ( std::complex< T >  a)
inline

Definition at line 226 of file libmesh_common.h.

227{ return ((std::isnan(std::real(a)) || std::isnan(std::imag(a))) &&
228 !std::isinf(std::real(a)) && !std::isinf(std::imag(a))); }

References std::imag(), and std::real().

◆ libmesh_isnan() [2/2]

template<typename T >
bool libMesh::libmesh_isnan ( x)
inline

◆ libmesh_merge_move()

template<typename T >
void libMesh::libmesh_merge_move ( T &  target,
T &  source 
)

◆ libmesh_petsc_DMCoarsen()

PetscErrorCode libMesh::libmesh_petsc_DMCoarsen ( DM  dmf,
MPI_Comm  ,
DM *  dmc 
)

Help PETSc identify the coarser DM dmc given the fine DM dmf.

Definition at line 183 of file petsc_dm_wrapper.C.

184 {
185 PetscFunctionBegin;
186
187 libmesh_assert(dmc);
188 libmesh_assert(dmf);
189
190 // Extract our context from the incoming dmf
191 void * ctx_f = nullptr;
192 LibmeshPetscCallQ(DMShellGetContext(dmf, &ctx_f));
193 libmesh_assert(ctx_f);
194 PetscDMContext * p_ctx_f = static_cast<PetscDMContext*>(ctx_f);
195
196 // First, ensure that there exists a coarse DM that we want to
197 // set. There ought to be as we created it while walking the
198 // hierarchy.
199 libmesh_assert(p_ctx_f->coarser_dm);
200 libmesh_assert(*(p_ctx_f->coarser_dm));
201
202 // In situations using fieldsplit we need to provide a coarser
203 // DM which only has the relevant subfields in it. Since we
204 // create global DMs for each mesh level, we need to also create
205 // the subDMs. We do this by checking the number of fields. When
206 // less than all the fields are used, we need to create the
207 // proper subDMs. We get the number of fields and their names
208 // from the incoming fine DM and the global reference DM
209 PetscInt nfieldsf, nfieldsg;
210 char ** fieldnamesf;
211 char ** fieldnamesg;
212
213 libmesh_assert(p_ctx_f->global_dm);
214 DM * globaldm = p_ctx_f->global_dm;
215 LibmeshPetscCallQ(DMCreateFieldIS(dmf, &nfieldsf, &fieldnamesf, nullptr));
216 LibmeshPetscCallQ(DMCreateFieldIS(*globaldm, &nfieldsg, &fieldnamesg, nullptr));
217
218 // If the probed number of fields is less than the number of
219 // global fields, this amounts to PETSc 'indicating' to us we
220 // are doing FS. So, we must create subDMs for the coarser
221 // DMs.
222 if ( nfieldsf < nfieldsg )
223 {
224 p_ctx_f->subfields.clear();
225 p_ctx_f->subfields.resize(nfieldsf);
226
227 // To select the subDM fields we match fine grid DM field
228 // names to their global DM counterparts. Since PETSc can
229 // internally reassign field numbering under a fieldsplit,
230 // we must extract subsections via the field names. This is
231 // admittedly gross, but c'est la vie.
232 for (int i = 0; i < nfieldsf ; i++)
233 {
234 for (int j = 0; j < nfieldsg ;j++)
235 if ( strcmp( fieldnamesg[j], fieldnamesf[i] ) == 0 )
236 p_ctx_f->subfields[i] = j;
237 }
238
239 // Next, for the found fields we create a subDM
240 DM subdm;
241 LibmeshPetscCallQ(libmesh_petsc_DMCreateSubDM(*(p_ctx_f->coarser_dm), nfieldsf,
242 p_ctx_f->subfields.data(), nullptr, &subdm));
243
244 // Extract our coarse context from the created subDM so we
245 // can set its subfields for use in createInterp.
246 void * ctx_c = nullptr;
247 LibmeshPetscCallQ(DMShellGetContext(subdm, &ctx_c));
248 libmesh_assert(ctx_c);
249 PetscDMContext * p_ctx_c = static_cast<PetscDMContext*>(ctx_c);
250
251 // propagate subfield info to subDM
252 p_ctx_c->subfields = p_ctx_f->subfields;
253
254 // return created subDM to PETSc
255 *(dmc) = subdm;
256 }
257 else {
258 // No fieldsplit was requested so set the coarser DM to the
259 // global coarser DM.
260 *(dmc) = *(p_ctx_f->coarser_dm);
261 }
262
263 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
264 }
Struct to house data regarding where in the mesh hierarchy we are located.
std::vector< PetscInt > subfields
Stores subfield ids for use in subprojection matrixes on coarser DMs.

References libMesh::PetscDMContext::coarser_dm, libMesh::PetscDMContext::global_dm, libmesh_assert(), libmesh_petsc_DMCreateSubDM(), LibmeshPetscCallQ(), PetscFunctionReturn(), subdm, and libMesh::PetscDMContext::subfields.

Referenced by libMesh::PetscDMWrapper::init_petscdm().

◆ libmesh_petsc_DMCreateInterpolation()

PetscErrorCode libMesh::libmesh_petsc_DMCreateInterpolation ( DM  dmc,
DM  dmf,
Mat *  mat,
Vec *  vec 
)

Function to give PETSc that sets the Interpolation Matrix between two DMs.

Definition at line 268 of file petsc_dm_wrapper.C.

270 {
271 PetscFunctionBegin;
272
273 libmesh_assert(dmc);
274 libmesh_assert(dmf);
275 libmesh_assert(mat);
276 libmesh_assert(vec); // Optional scaling (not needed for mg)
277
278 // Get a communicator from incoming DM
279 MPI_Comm comm;
280 LibmeshPetscCallQ(PetscObjectGetComm((PetscObject)dmc, &comm));
281
282 // Extract our coarse context from the incoming DM
283 void * ctx_c = nullptr;
284 LibmeshPetscCallQ(DMShellGetContext(dmc, &ctx_c));
285 libmesh_assert(ctx_c);
286 PetscDMContext * p_ctx_c = static_cast<PetscDMContext*>(ctx_c);
287
288 // Extract our fine context from the incoming DM
289 void * ctx_f = nullptr;
290 LibmeshPetscCallQ(DMShellGetContext(dmf, &ctx_f));
291 libmesh_assert(ctx_f);
292 PetscDMContext * p_ctx_f = static_cast<PetscDMContext*>(ctx_f);
293
294 // Check for existing global projection matrix
296
297 // If were doing fieldsplit we need to construct sub projection
298 // matrices. We compare the passed in number of DMs fields to a
299 // global DM in order to determine if a subprojection is needed.
300 PetscInt nfieldsf, nfieldsg;
301
302 libmesh_assert(p_ctx_c->global_dm);
303 DM * globaldm = p_ctx_c->global_dm;
304
305 LibmeshPetscCallQ(DMCreateFieldIS(dmf, &nfieldsf, nullptr, nullptr));
306 LibmeshPetscCallQ(DMCreateFieldIS(*globaldm, &nfieldsg, nullptr, nullptr));
307
308 // If the probed number of fields is less than the number of
309 // global fields, this amounts to PETSc 'indicating' to us we
310 // are doing FS.
311 if ( nfieldsf < nfieldsg)
312 {
313 // Loop over the fields and merge their index sets.
314 std::vector<std::vector<numeric_index_type>> allrows,allcols;
315 std::vector<numeric_index_type> rows,cols;
316 allrows = p_ctx_f->dof_vec;
317 allcols = p_ctx_c->dof_vec;
318
319 // For internal libmesh submat extraction need to merge all
320 // field dofs and then sort the vectors so that they match
321 // the Projection Matrix ordering
322 const int n_subfields = p_ctx_f->subfields.size();
323 if ( n_subfields >= 1 )
324 {
325 for (int i : p_ctx_f->subfields)
326 {
327 rows.insert(rows.end(), allrows[i].begin(), allrows[i].end());
328 cols.insert(cols.end(), allcols[i].begin(), allcols[i].end());
329 }
330 std::sort(rows.begin(),rows.end());
331 std::sort(cols.begin(),cols.end());
332 }
333
334 // Now that we have merged the fine and coarse index sets
335 // were ready to make the submatrix and pass it off to PETSc
336 p_ctx_c->K_interp_ptr->create_submatrix (*p_ctx_c->K_sub_interp_ptr, rows, cols);
337
338 // return to PETSc the created submatrix
339 *(mat) = p_ctx_c->K_sub_interp_ptr->mat();
340
341 } // endif less incoming DM fields than global DM fields
342 else
343 {
344 // We are not doing fieldsplit, so return global projection
345 *(mat) = p_ctx_c->K_interp_ptr->mat();
346 }
347
348 // Vec scaling isnt needed so were done.
349 *(vec) = LIBMESH_PETSC_NULLPTR;
350
351 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
352 } // end libmesh_petsc_DMCreateInterpolation
virtual void create_submatrix(SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const
This function creates a matrix called "submatrix" which is defined by the row and column indices give...
std::vector< std::vector< numeric_index_type > > dof_vec
Stores local dofs for each var for use in subprojection matrixes.
PetscMatrixBase< libMesh::Number > * K_sub_interp_ptr
PetscMatrixBase< libMesh::Number > * K_interp_ptr

References libMesh::SparseMatrix< T >::create_submatrix(), libMesh::PetscDMContext::dof_vec, libMesh::PetscDMContext::global_dm, libMesh::PetscDMContext::K_interp_ptr, libMesh::PetscDMContext::K_sub_interp_ptr, libmesh_assert(), LibmeshPetscCallQ(), libMesh::PetscMatrixBase< T >::mat(), PetscFunctionReturn(), and libMesh::PetscDMContext::subfields.

Referenced by libMesh::PetscDMWrapper::init_petscdm().

◆ libmesh_petsc_DMCreateRestriction()

PetscErrorCode libMesh::libmesh_petsc_DMCreateRestriction ( DM  dmc,
DM  dmf,
Mat *  mat 
)

Function to give PETSc that sets the Restriction Matrix between two DMs.

Definition at line 356 of file petsc_dm_wrapper.C.

357 {
358 PetscFunctionBegin;
359
360 libmesh_assert(dmc);
361 libmesh_assert(dmf);
362 libmesh_assert(mat);
363
364 // get a communicator from incoming DM
365 MPI_Comm comm;
366 LibmeshPetscCallQ(PetscObjectGetComm((PetscObject)dmc, &comm));
367
368 // extract our fine context from the incoming DM
369 void * ctx_f = nullptr;
370 LibmeshPetscCallQ(DMShellGetContext(dmf, &ctx_f));
371 libmesh_assert(ctx_f);
372 PetscDMContext * p_ctx_f = static_cast<PetscDMContext*>(ctx_f);
373
374 // check / give PETSc its matrix
376 *(mat) = p_ctx_f->K_restrict_ptr->mat();
377
378 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
379 }
PetscMatrixBase< libMesh::Number > * K_restrict_ptr

References libMesh::PetscDMContext::K_restrict_ptr, libmesh_assert(), LibmeshPetscCallQ(), libMesh::PetscMatrixBase< T >::mat(), and PetscFunctionReturn().

Referenced by libMesh::PetscDMWrapper::init_petscdm().

◆ libmesh_petsc_DMCreateSubDM()

PetscErrorCode libMesh::libmesh_petsc_DMCreateSubDM ( DM  dm,
PetscInt  numFields,
PetscInt  fields[],
IS *  is,
DM *  subdm 
)

Help PETSc create a subDM given a global dm when using fieldsplit.

Referenced by libMesh::PetscDMWrapper::init_petscdm(), and libmesh_petsc_DMCoarsen().

◆ libmesh_petsc_DMRefine()

PetscErrorCode libMesh::libmesh_petsc_DMRefine ( DM  dmc,
MPI_Comm  ,
DM *  dmf 
)

Help PETSc identify the finer DM given a dmc.

Definition at line 161 of file petsc_dm_wrapper.C.

162 {
163 PetscFunctionBegin;
164
165 libmesh_assert(dmc);
166 libmesh_assert(dmf);
167
168 // extract our context from the incoming dmc
169 void * ctx_c = nullptr;
170 LibmeshPetscCallQ(DMShellGetContext(dmc, & ctx_c));
171 libmesh_assert(ctx_c);
172 PetscDMContext * p_ctx = static_cast<PetscDMContext * >(ctx_c);
173
174 // check / set the finer DM
177 *(dmf) = *(p_ctx->finer_dm);
178
179 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
180 }

References libMesh::PetscDMContext::finer_dm, libmesh_assert(), LibmeshPetscCallQ(), p_ctx, and PetscFunctionReturn().

Referenced by libMesh::PetscDMWrapper::init_petscdm().

◆ libmesh_petsc_linesearch_shellfunc()

PetscErrorCode libMesh::libmesh_petsc_linesearch_shellfunc ( SNESLineSearch  linesearch,
void *  ctx 
)

Definition at line 526 of file petsc_nonlinear_solver.C.

527 {
528 PetscFunctionBegin;
529
530 // No way to safety-check this cast, since we got a void *...
532 static_cast<PetscNonlinearSolver<Number> *> (ctx);
533
534 libmesh_parallel_only(solver->comm());
535
536 solver->linesearch_object->linesearch(linesearch);
537 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
538 }
This class provides an interface to PETSc iterative solvers that is compatible with the libMesh Nonli...
std::unique_ptr< ComputeLineSearchObject > linesearch_object
A callable object that can be used to specify a custom line-search.

References libMesh::ParallelObject::comm(), ctx, libMesh::PetscNonlinearSolver< T >::linesearch_object, and PetscFunctionReturn().

Referenced by libMesh::PetscNonlinearSolver< T >::solve().

◆ libmesh_petsc_preconditioner_apply()

PetscErrorCode libMesh::libmesh_petsc_preconditioner_apply ( PC  pc,
Vec  x,
Vec  y 
)

Definition at line 69 of file petsc_linear_solver.C.

70 {
71 PetscFunctionBegin;
72
73 void * ctx;
74 LibmeshPetscCallQ(PCShellGetContext(pc,&ctx));
75 Preconditioner<Number> * preconditioner = static_cast<Preconditioner<Number> *>(ctx);
76
77 PetscVector<Number> x_vec(x, preconditioner->comm());
78 PetscVector<Number> y_vec(y, preconditioner->comm());
79
80 preconditioner->apply(x_vec,y_vec);
81
82 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
83 }
This class provides a uniform interface for preconditioners.
virtual void apply(const NumericVector< T > &x, NumericVector< T > &y)=0
Computes the preconditioned vector y based on input vector x.

References libMesh::Preconditioner< T >::apply(), libMesh::ParallelObject::comm(), ctx, LibmeshPetscCallQ(), and PetscFunctionReturn().

Referenced by libMesh::PetscNonlinearSolver< T >::init(), and libMesh::PetscLinearSolver< Number >::solve().

◆ libmesh_petsc_preconditioner_setup()

PetscErrorCode libMesh::libmesh_petsc_preconditioner_setup ( PC  pc)

Definition at line 53 of file petsc_linear_solver.C.

54 {
55 PetscFunctionBegin;
56
57 void * ctx;
58 LibmeshPetscCallQ(PCShellGetContext(pc,&ctx));
59 Preconditioner<Number> * preconditioner = static_cast<Preconditioner<Number> *>(ctx);
60
61 libmesh_error_msg_if(!preconditioner->initialized(),
62 "Preconditioner not initialized! Make sure you call init() before solve!");
63
64 preconditioner->setup();
65
66 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
67 }
virtual bool initialized() const
virtual void setup()
This is called every time the "operator might have changed".

References ctx, libMesh::Preconditioner< T >::initialized(), LibmeshPetscCallQ(), PetscFunctionReturn(), and libMesh::Preconditioner< T >::setup().

Referenced by libMesh::PetscNonlinearSolver< T >::init(), and libMesh::PetscLinearSolver< Number >::solve().

◆ libmesh_petsc_recalculate_monitor()

PetscErrorCode libMesh::libmesh_petsc_recalculate_monitor ( SNES  snes,
PetscInt  it,
PetscReal  norm,
void *  mctx 
)

Definition at line 116 of file petsc_nonlinear_solver.C.

117 {
118 PetscFunctionBegin;
119
120 // No way to safety-check this cast, since we got a void *...
122 static_cast<PetscNonlinearSolver<Number> *> (ctx);
123
124 KSP ksp;
125 LibmeshPetscCall2(solver->comm(), SNESGetKSP(snes, &ksp));
126
127 PetscInt niter;
128 LibmeshPetscCall2(solver->comm(), KSPGetIterationNumber(ksp, &niter));
129
130 if (niter > cast_int<PetscInt>(solver->reuse_preconditioner_max_linear_its()))
131 {
132 // -2 is a magic number for "recalculate next time you need it
133 // and then not again"
134 LibmeshPetscCall2(solver->comm(), SNESSetLagPreconditioner(snes, -2));
135 }
136 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
137 }
virtual unsigned int reuse_preconditioner_max_linear_its() const override
Getter for the maximum iterations flag for preconditioner reuse.

References ctx.

Referenced by libMesh::PetscNonlinearSolver< T >::solve().

◆ libmesh_petsc_snes_fd_residual()

PetscErrorCode libMesh::libmesh_petsc_snes_fd_residual ( SNES  snes,
Vec  x,
Vec  r,
void *  ctx 
)

Definition at line 232 of file petsc_nonlinear_solver.C.

233 {
234 PetscFunctionBegin;
235
237
238 libmesh_parallel_only(rc.sys.comm());
239
241 PetscVector<Number> R(r, rc.sys.comm());
242
244 R.zero();
245
246 if (rc.solver->fd_residual_object != nullptr)
248
249 else if (rc.solver->residual_object != nullptr)
251
252 else
253 libmesh_error_msg("Error! Unable to compute residual for forming finite difference Jacobian!");
254
255 // Synchronize PETSc x to local solution since the local solution may be changed due to the constraints
256 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(rc.sys.solution.get());
257 PetscVector<Number> X_global(x, rc.sys.comm());
258
259 X_global.swap(X_sys);
260 rc.sys.update();
261 X_global.swap(X_sys);
262
263 R.close();
264
266 {
268 R.close();
269 }
270
271 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
272 }
void enforce_constraints_on_residual(const NonlinearImplicitSystem &system, NumericVector< Number > *rhs, NumericVector< Number > const *solution, bool homogeneous=true) const
Definition dof_map.h:2527
virtual void residual(const NumericVector< Number > &X, NumericVector< Number > &R, sys_type &S)=0
Residual function.
NonlinearImplicitSystem::ComputeResidual * residual_object
Object that computes the residual R(X) of the nonlinear system at the input iterate X.
bool _exact_constraint_enforcement
Whether we should enforce exact constraints globally during a solve.
NonlinearImplicitSystem::ComputeResidual * fd_residual_object
Object that computes the residual R(X) of the nonlinear system at the input iterate X for the purpose...
bool _zero_out_residual
true to zero out residual before going into application level call-back, otherwise false
PetscNonlinearSolver< Number > * solver
NonlinearImplicitSystem & sys
ResidualContext libmesh_petsc_snes_residual_helper(SNES snes, Vec x, void *ctx)

◆ libmesh_petsc_snes_jacobian()

PetscErrorCode libMesh::libmesh_petsc_snes_jacobian ( SNES  snes,
Vec  x,
Mat  jac,
Mat  pc,
void *  ctx 
)

Definition at line 401 of file petsc_nonlinear_solver.C.

402 {
403 PetscFunctionBegin;
404
405 LOG_SCOPE("jacobian()", "PetscNonlinearSolver");
406
407 libmesh_assert(ctx);
408
409 // No way to safety-check this cast, since we got a void *...
411 static_cast<PetscNonlinearSolver<Number> *> (ctx);
412
413 libmesh_parallel_only(solver->comm());
414
415 // Get the current iteration number from the snes object,
416 // store it in the PetscNonlinearSolver object for possible use
417 // by the user's Jacobian function.
418 {
419 PetscInt n_iterations = 0;
420 LibmeshPetscCall2(solver->comm(), SNESGetIterationNumber(snes, &n_iterations));
421 solver->_current_nonlinear_iteration_number = cast_int<unsigned>(n_iterations);
422 }
423
424 //-----------------------------------------------------------------------------
425 // if the user has provided both function pointers and objects only the pointer
426 // will be used, so catch that as an error
427 libmesh_error_msg_if(solver->jacobian && solver->jacobian_object,
428 "ERROR: cannot specify both a function and object to compute the Jacobian!");
429
430 libmesh_error_msg_if(solver->matvec && solver->residual_and_jacobian_object,
431 "ERROR: cannot specify both a function and object to compute the combined Residual & Jacobian!");
432
433 NonlinearImplicitSystem & sys = solver->system();
434
435 PetscMatrixBase<Number> * const PC = pc ? PetscMatrixBase<Number>::get_context(pc, sys.comm()) : nullptr;
436 PetscMatrixBase<Number> * Jac = jac ? PetscMatrixBase<Number>::get_context(jac, sys.comm()) : nullptr;
437 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
438 PetscVector<Number> X_global(x, sys.comm());
439
440 PetscMFFDMatrix<Number> mffd_jac(sys.comm());
441 PetscBool p_is_shell = PETSC_FALSE;
442 PetscBool j_is_mffd = PETSC_FALSE;
443 PetscBool j_is_shell = PETSC_FALSE;
444 if (pc)
445 LibmeshPetscCall2(sys.comm(), PetscObjectTypeCompare((PetscObject)pc, MATSHELL, &p_is_shell));
446 libmesh_assert(jac);
447 LibmeshPetscCall2(sys.comm(), PetscObjectTypeCompare((PetscObject)jac, MATMFFD, &j_is_mffd));
448 LibmeshPetscCall2(sys.comm(), PetscObjectTypeCompare((PetscObject)jac, MATSHELL, &j_is_shell));
449 if (j_is_mffd == PETSC_TRUE)
450 {
451 libmesh_assert(!Jac);
452 Jac = &mffd_jac;
453 mffd_jac = jac;
454 }
455
456 // We already computed the Jacobian during the residual evaluation
458 {
459 // We could be doing matrix-free in which case we cannot rely on closing of explicit matrices
460 // that occurs during the PETSc residual callback
461 if ((j_is_shell == PETSC_TRUE) || (j_is_mffd == PETSC_TRUE))
462 Jac->close();
463
464 if (pc && (p_is_shell == PETSC_TRUE))
465 PC->close();
466
467 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
468 }
469
470 // Set the dof maps
471 PC->attach_dof_map(sys.get_dof_map());
472 Jac->attach_dof_map(sys.get_dof_map());
473
474 // Use the systems update() to get a good local version of the parallel solution
475 X_global.swap(X_sys);
476 sys.update();
477 X_global.swap(X_sys);
478
479 // Enforce constraints (if any) exactly on the
480 // current_local_solution. This is the solution vector that is
481 // actually used in the computation of the residual below, and is
482 // not locked by debug-enabled PETSc the way that "x" is.
484 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
485
486 if (solver->_zero_out_jacobian)
487 PC->zero();
488
489
490 if (solver->jacobian != nullptr)
491 solver->jacobian(*sys.current_local_solution.get(), *PC, sys);
492
493 else if (solver->jacobian_object != nullptr)
494 solver->jacobian_object->jacobian(*sys.current_local_solution.get(), *PC, sys);
495
496 else if (solver->matvec != nullptr)
497 solver->matvec(*sys.current_local_solution.get(), nullptr, PC, sys);
498
499 else
500 libmesh_error_msg("Error! Unable to compute residual and/or Jacobian!");
501
502 PC->close();
504 {
505 sys.get_dof_map().enforce_constraints_on_jacobian(sys, PC);
506 PC->close();
507 }
508
509 if (Jac != PC)
510 {
511 // Assume that shells know what they're doing
512 libmesh_assert(!solver->_exact_constraint_enforcement || (j_is_mffd == PETSC_TRUE) ||
513 (j_is_shell == PETSC_TRUE));
514 Jac->close();
515 }
516
517 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
518 }
virtual void jacobian(const NumericVector< Number > &X, SparseMatrix< Number > &J, sys_type &S)=0
Jacobian function.
const sys_type & system() const
void(* matvec)(const NumericVector< Number > &X, NumericVector< Number > *R, SparseMatrix< Number > *J, sys_type &S)
Function that computes either the residual or the Jacobian of the nonlinear system at the input ite...
NonlinearImplicitSystem::ComputeJacobian * jacobian_object
Object that computes the Jacobian J(X) of the nonlinear system at the input iterate X.
void(* jacobian)(const NumericVector< Number > &X, SparseMatrix< Number > &J, sys_type &S)
Function that computes the Jacobian J(X) of the nonlinear system at the input iterate X.
NonlinearImplicitSystem::ComputeResidualandJacobian * residual_and_jacobian_object
Object that computes either the residual or the Jacobian of the nonlinear system at the input itera...
unsigned _current_nonlinear_iteration_number
Stores the current nonlinear iteration number.
bool _zero_out_jacobian
true to zero out jacobian before going into application level call-back, otherwise false

Referenced by libMesh::PetscNonlinearSolver< T >::solve().

◆ libmesh_petsc_snes_mffd_interface()

PetscErrorCode libMesh::libmesh_petsc_snes_mffd_interface ( void *  ctx,
Vec  x,
Vec  r 
)

Definition at line 325 of file petsc_nonlinear_solver.C.

326 {
327 PetscFunctionBegin;
328
329 // No way to safety-check this cast, since we got a void *...
331 static_cast<PetscNonlinearSolver<Number> *> (ctx);
332
333 LibmeshPetscCall2(solver->comm(), libmesh_petsc_snes_mffd_residual(solver->snes(), x, r, ctx));
334
335#if !PETSC_VERSION_LESS_THAN(3,8,4)
336#ifndef NDEBUG
337
338 // When the user requested to reuse the nonlinear residual as the base for doing matrix-free
339 // approximation of the Jacobian, we'll do a sanity check to make sure that that was safe to do
340 if (solver->snes_mf_reuse_base() && (solver->comm().size() == 1) && (libMesh::n_threads() == 1))
341 {
342 SNES snes = solver->snes();
343
344 KSP ksp;
345 LibmeshPetscCall2(solver->comm(), SNESGetKSP(snes, &ksp));
346
347 PetscInt ksp_it;
348 LibmeshPetscCall2(solver->comm(), KSPGetIterationNumber(ksp, &ksp_it));
349
350 SNESType snes_type;
351 LibmeshPetscCall2(solver->comm(), SNESGetType(snes, &snes_type));
352
353 libmesh_assert_msg(snes_type, "We're being called from SNES; snes_type should be non-null");
354
355 Mat J;
356 LibmeshPetscCall2(solver->comm(), SNESGetJacobian(snes, &J, NULL, NULL, NULL));
357 libmesh_assert_msg(J, "We're being called from SNES; J should be non-null");
358
359 MatType mat_type;
360 LibmeshPetscCall2(solver->comm(), MatGetType(J, &mat_type));
361 libmesh_assert_msg(mat_type, "We're being called from SNES; mat_type should be non-null");
362
363 bool is_operator_mffd = strcmp(mat_type, MATMFFD) == 0;
364
365 if ((ksp_it == PetscInt(0)) && is_operator_mffd)
366 {
367 bool computing_base_vector = solver->computing_base_vector();
368
369 if (computing_base_vector)
370 {
371 Vec nonlinear_residual;
372
373 LibmeshPetscCall2(solver->comm(), SNESGetFunction(snes, &nonlinear_residual, NULL, NULL));
374
375 PetscBool vecs_equal;
376 LibmeshPetscCall2(solver->comm(), VecEqual(r, nonlinear_residual, &vecs_equal));
377
378 libmesh_error_msg_if(!(vecs_equal == PETSC_TRUE),
379 "You requested to reuse the nonlinear residual vector as the base vector for "
380 "computing the action of the matrix-free Jacobian, but the vectors are not "
381 "the same. Your physics must have states; either remove the states "
382 "from your code or make sure that you set_mf_reuse_base(false)");
383 }
384
385 // There are always exactly two function evaluations for the zeroth ksp iteration when doing
386 // matrix-free approximation of the Jacobian action: one corresponding to the evaluation of
387 // the base vector, and the other corresponding to evaluation of the perturbed vector. So we
388 // toggle back and forth between states
389 solver->set_computing_base_vector(!computing_base_vector);
390 }
391 }
392#endif
393#endif
394
395 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
396 }
processor_id_type size() const
void set_computing_base_vector(bool computing_base_vector)
Set whether we are computing the base vector for matrix-free finite-differencing.
SNES snes(const char *name=nullptr)
PetscErrorCode libmesh_petsc_snes_mffd_residual(SNES snes, Vec x, Vec r, void *ctx)
unsigned int n_threads()

References libMesh::ParallelObject::comm(), libMesh::PetscNonlinearSolver< T >::computing_base_vector(), ctx, libmesh_petsc_snes_mffd_residual(), n_threads(), PetscFunctionReturn(), libMesh::PetscNonlinearSolver< T >::set_computing_base_vector(), libMesh::Parallel::Communicator::size(), libMesh::PetscNonlinearSolver< T >::snes(), and libMesh::PetscNonlinearSolver< T >::snes_mf_reuse_base().

Referenced by libMesh::PetscNonlinearSolver< T >::solve().

◆ libmesh_petsc_snes_mffd_residual()

PetscErrorCode libMesh::libmesh_petsc_snes_mffd_residual ( SNES  snes,
Vec  x,
Vec  r,
void *  ctx 
)

Definition at line 278 of file petsc_nonlinear_solver.C.

279 {
280 PetscFunctionBegin;
281
283
284 libmesh_parallel_only(rc.sys.comm());
285
287 PetscVector<Number> R(r, rc.sys.comm());
288
290 R.zero();
291
292 if (rc.solver->mffd_residual_object != nullptr)
294
295 else if (rc.solver->residual_object != nullptr)
297
298 else
299 libmesh_error_msg("Error! Unable to compute residual for forming finite differenced"
300 "Jacobian-vector products!");
301
302 // Synchronize PETSc x to local solution since the local solution may be changed due to the constraints
303 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(rc.sys.solution.get());
304 PetscVector<Number> X_global(x, rc.sys.comm());
305
306 X_global.swap(X_sys);
307 rc.sys.update();
308 X_global.swap(X_sys);
309
310 R.close();
311
313 {
315 R.close();
316 }
317
318 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
319 }
NonlinearImplicitSystem::ComputeResidual * mffd_residual_object
Object that computes the residual R(X) of the nonlinear system at the input iterate X for the purpose...

Referenced by libmesh_petsc_snes_mffd_interface().

◆ libmesh_petsc_snes_monitor()

PetscErrorCode libMesh::libmesh_petsc_snes_monitor ( SNES  ,
PetscInt  its,
PetscReal  fnorm,
void *   
)

Definition at line 142 of file petsc_nonlinear_solver.C.

143 {
144 PetscFunctionBegin;
145 libMesh::out << " NL step "
146 << std::setw(2) << its
147 << std::scientific
148 << ", |residual|_2 = " << fnorm
149 << std::endl;
150 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
151 }

References out, and PetscFunctionReturn().

Referenced by libMesh::PetscNonlinearSolver< T >::setup_default_monitor().

◆ libmesh_petsc_snes_postcheck()

PetscErrorCode libMesh::libmesh_petsc_snes_postcheck ( SNESLineSearch  ,
Vec  x,
Vec  y,
Vec  w,
PetscBool *  changed_y,
PetscBool *  changed_w,
void *  context 
)

Definition at line 550 of file petsc_nonlinear_solver.C.

551 {
552 PetscFunctionBegin;
553
554 LOG_SCOPE("postcheck()", "PetscNonlinearSolver");
555
556 // PETSc almost certainly initializes these to false already, but
557 // it doesn't hurt to be explicit.
558 *changed_w = PETSC_FALSE;
559 *changed_y = PETSC_FALSE;
560
561 libmesh_assert(context);
562
563 // Cast the context to a NonlinearSolver object.
565 static_cast<PetscNonlinearSolver<Number> *> (context);
566
567 libmesh_parallel_only(solver->comm());
568
569 // If the user has provided both postcheck function pointer and
570 // object, this is ambiguous, so throw an error.
571 libmesh_error_msg_if(solver->postcheck && solver->postcheck_object,
572 "ERROR: cannot specify both a function and object for performing the solve postcheck!");
573
574 // It's also possible that we don't need to do anything at all, in
575 // that case return early...
576 NonlinearImplicitSystem & sys = solver->system();
577
578 if (!solver->postcheck && !solver->postcheck_object)
579 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
580
581 // We definitely need to wrap at least "w"
582 PetscVector<Number> petsc_w(w, sys.comm());
583
584 // The user sets these flags in his/her postcheck function to
585 // indicate whether they changed something.
586 bool
587 changed_search_direction = false,
588 changed_new_soln = false;
589
590 if (solver->postcheck || solver->postcheck_object)
591 {
592 PetscVector<Number> petsc_x(x, sys.comm());
593 PetscVector<Number> petsc_y(y, sys.comm());
594
595 if (solver->postcheck)
596 solver->postcheck(petsc_x,
597 petsc_y,
598 petsc_w,
599 changed_search_direction,
600 changed_new_soln,
601 sys);
602
603 else if (solver->postcheck_object)
604 solver->postcheck_object->postcheck(petsc_x,
605 petsc_y,
606 petsc_w,
607 changed_search_direction,
608 changed_new_soln,
609 sys);
610 }
611
612 // Record whether the user changed the solution or the search direction.
613 if (changed_search_direction)
614 *changed_y = PETSC_TRUE;
615
616 if (changed_new_soln)
617 *changed_w = PETSC_TRUE;
618
619 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
620 }
virtual void postcheck(const NumericVector< Number > &old_soln, NumericVector< Number > &search_direction, NumericVector< Number > &new_soln, bool &changed_search_direction, bool &changed_new_soln, sys_type &S)=0
This interface, which is inspired by PETSc's, passes the user: .) A constant reference to the "old" s...
Manages consistently variables, degrees of freedom, coefficient vectors, matrices and non-linear solv...
void(* postcheck)(const NumericVector< Number > &old_soln, NumericVector< Number > &search_direction, NumericVector< Number > &new_soln, bool &changed_search_direction, bool &changed_new_soln, sys_type &S)
Function that performs a "check" on the Newton search direction and solution after each nonlinear ste...
NonlinearImplicitSystem::ComputePostCheck * postcheck_object
A callable object that is executed after each nonlinear iteration.

References libMesh::ParallelObject::comm(), libmesh_assert(), PetscFunctionReturn(), libMesh::NonlinearImplicitSystem::ComputePostCheck::postcheck(), libMesh::NonlinearSolver< T >::postcheck, libMesh::NonlinearSolver< T >::postcheck_object, and libMesh::NonlinearSolver< T >::system().

Referenced by libMesh::PetscNonlinearSolver< T >::init().

◆ libmesh_petsc_snes_precheck()

PetscErrorCode libMesh::libmesh_petsc_snes_precheck ( SNESLineSearch  ,
Vec  X,
Vec  Y,
PetscBool *  changed,
void *  context 
)

Definition at line 622 of file petsc_nonlinear_solver.C.

623 {
624 PetscFunctionBegin;
625
626 LOG_SCOPE("precheck()", "PetscNonlinearSolver");
627
628 // PETSc almost certainly initializes these to false already, but
629 // it doesn't hurt to be explicit.
630 *changed = PETSC_FALSE;
631
632 libmesh_assert(context);
633
634 // Cast the context to a NonlinearSolver object.
636 static_cast<PetscNonlinearSolver<Number> *> (context);
637
638 libmesh_parallel_only(solver->comm());
639
640 // It's possible that we don't need to do anything at all, in
641 // that case return early...
642 if (!solver->precheck_object)
643 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
644
645 // The user sets these flags in his/her postcheck function to
646 // indicate whether they changed something.
647 bool
648 petsc_changed = false;
649
650 auto & sys = solver->system();
651 auto & x_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
652 PetscVector<Number> petsc_x(X, sys.comm());
653 PetscVector<Number> petsc_y(Y, sys.comm());
654
655 // Use the systems update() to get a good local version of the parallel solution
656 petsc_x.swap(x_sys);
657 sys.update();
658 petsc_x.swap(x_sys);
659
660 // Enforce constraints (if any) exactly on the
661 // current_local_solution. This is the solution vector that is
662 // actually used in the computation of residuals and Jacobians, and is
663 // not locked by debug-enabled PETSc the way that "x" is.
664 libmesh_assert(sys.current_local_solution.get());
665 auto & local_soln = *sys.current_local_solution.get();
667 sys.get_dof_map().enforce_constraints_exactly(sys, &local_soln);
668
669 solver->precheck_object->precheck(local_soln,
670 petsc_y,
671 petsc_changed,
672 sys);
673
674 // Record whether the user changed the solution or the search direction.
675 if (petsc_changed)
676 *changed = PETSC_TRUE;
677
678 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
679 }
virtual void precheck(const NumericVector< Number > &precheck_soln, NumericVector< Number > &search_direction, bool &changed, sys_type &S)=0
Abstract precheck method that users must override.
NonlinearImplicitSystem::ComputePreCheck * precheck_object

Referenced by libMesh::PetscNonlinearSolver< T >::init().

◆ libmesh_petsc_snes_residual()

PetscErrorCode libMesh::libmesh_petsc_snes_residual ( SNES  snes,
Vec  x,
Vec  r,
void *  ctx 
)

Definition at line 156 of file petsc_nonlinear_solver.C.

157 {
158 PetscFunctionBegin;
159
161
162 libmesh_parallel_only(rc.sys.comm());
163
165 PetscVector<Number> R(r, rc.sys.comm());
166
168 R.zero();
169
170 //-----------------------------------------------------------------------------
171 // if the user has provided both function pointers and objects only the pointer
172 // will be used, so catch that as an error
173 libmesh_error_msg_if(rc.solver->residual && rc.solver->residual_object,
174 "ERROR: cannot specify both a function and object to compute the Residual!");
175
176 libmesh_error_msg_if(rc.solver->matvec && rc.solver->residual_and_jacobian_object,
177 "ERROR: cannot specify both a function and object to compute the combined Residual & Jacobian!");
178
179 if (rc.solver->residual != nullptr)
180 rc.solver->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
181
182 else if (rc.solver->residual_object != nullptr)
184
185 else if (rc.solver->matvec != nullptr)
186 rc.solver->matvec (*rc.sys.current_local_solution.get(), &R, nullptr, rc.sys);
187
188 else if (rc.solver->residual_and_jacobian_object != nullptr)
189 {
190 auto & jac = rc.sys.get_system_matrix();
191
193 jac.zero();
194
196 *rc.sys.current_local_solution.get(), &R, &jac, rc.sys);
197
198 jac.close();
200 {
202 jac.close();
203 }
204 }
205
206 else
207 libmesh_error_msg("Error! Unable to compute residual and/or Jacobian!");
208
209
210 // Synchronize PETSc x to local solution since the local solution may be changed due to the constraints
211 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(rc.sys.solution.get());
212 PetscVector<Number> X_global(x, rc.sys.comm());
213
214 X_global.swap(X_sys);
215 rc.sys.update();
216 X_global.swap(X_sys);
217
218 R.close();
219
221 {
223 R.close();
224 }
225
226 PetscFunctionReturn(LIBMESH_PETSC_SUCCESS);
227 }
void enforce_constraints_on_jacobian(const NonlinearImplicitSystem &system, SparseMatrix< Number > *jac) const
Definition dof_map.h:2533
const SparseMatrix< Number > & get_system_matrix() const
virtual void residual_and_jacobian(const NumericVector< Number > &X, NumericVector< Number > *R, SparseMatrix< Number > *J, sys_type &S)=0
Residual & Jacobian function, calculated simultaneously.
void(* residual)(const NumericVector< Number > &X, NumericVector< Number > &R, sys_type &S)
Function that computes the residual R(X) of the nonlinear system at the input iterate X.
virtual void zero()=0
Set all entries to 0.

Referenced by libMesh::PetscNonlinearSolver< T >::solve().

◆ libmesh_petsc_snes_residual_helper()

ResidualContext libMesh::libmesh_petsc_snes_residual_helper ( SNES  snes,
Vec  x,
void *  ctx 
)

Definition at line 57 of file petsc_nonlinear_solver.C.

58{
59 LOG_SCOPE("residual()", "PetscNonlinearSolver");
60
62 libmesh_assert(ctx);
63
64 // No way to safety-check this cast, since we got a void *...
66 static_cast<PetscNonlinearSolver<Number> *> (ctx);
67
68 libmesh_parallel_only(solver->comm());
69
70 // Get the current iteration number from the snes object,
71 // store it in the PetscNonlinearSolver object for possible use
72 // by the user's residual function.
73 {
74 PetscInt n_iterations = 0;
75 LibmeshPetscCall2(solver->comm(), SNESGetIterationNumber(snes, &n_iterations));
76 solver->_current_nonlinear_iteration_number = cast_int<unsigned>(n_iterations);
77 }
78
79 NonlinearImplicitSystem & sys = solver->system();
80
81 PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
82
83 PetscVector<Number> X_global(x, sys.comm());
84
85 // Use the system's update() to get a good local version of the
86 // parallel solution. This operation does not modify the incoming
87 // "x" vector, it only localizes information from "x" into
88 // sys.current_local_solution.
89 X_global.swap(X_sys);
90 sys.update();
91 X_global.swap(X_sys);
92
93 // Enforce constraints (if any) exactly on the
94 // current_local_solution. This is the solution vector that is
95 // actually used in the computation of the residual below, and is
96 // not locked by debug-enabled PETSc the way that "x" is.
98 sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
99
100 return ResidualContext(solver, sys);
101}

◆ libmesh_real() [1/2]

template<typename T >
T libMesh::libmesh_real ( std::complex< T >  a)
inline

Definition at line 194 of file libmesh_common.h.

194{ return std::real(a); }

References std::real().

◆ libmesh_real() [2/2]

template<typename T >
T libMesh::libmesh_real ( a)
inline

Definition at line 189 of file libmesh_common.h.

189{ return a; }

Referenced by libMesh::FEMContext::_do_elem_position_set(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::VariationalSmootherSystem::assembly(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::ContinuationSystem::continuation_solve(), libMesh::MeshBase::copy_constraint_rows(), libMesh::FEMPhysics::eulerian_residual(), libMesh::RBEvaluation::eval_output_dual_norm(), libMesh::RBSCMConstruction::evaluate_stability_constant(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), NonlinearNeoHookeCurrentConfig::init_for_qp(), libMesh::DenseSubVector< T >::max(), libMesh::DenseVector< T >::max(), libMesh::DenseMatrix< T >::max(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::DenseSubVector< T >::min(), libMesh::DenseVector< T >::min(), libMesh::DenseMatrix< T >::min(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), MeshFunctionTest::mixedScalarAndVectorVariables(), libMesh::FEMSystem::numerical_jacobian(), libMesh::AutoAreaFunction::operator()(), libMesh::ContinuationSystem::solve_tangent(), MeshFunctionTest::test_subdomain_id_sets(), ParallelPointTest::testMapUnionVec(), MeshInputTest::testSingleElementImpl(), FETestBase< order, family, elem_type, build_nx, CaseName >::true_gradient(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), MeshFunctionTest::vectorMeshFunctionLagrange(), MeshFunctionTest::vectorMeshFunctionNedelec(), MeshFunctionTest::vectorMeshFunctionRaviartThomas(), libMesh::GmshIO::write_post(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().

◆ libmesh_terminate_handler()

void libMesh::libmesh_terminate_handler ( )

A terminate handler.

libMesh sets this to handle uncaught exceptions; it can also be called manually to cleanup, print any diagnostics, do cleanup, and abort.

If an uncaught exception is a TerminationException, as thrown by libmesh_terminate(), the handler avoids any diagnostic output.

If an uncaught exception is a std::exception, its message is printed, followed by stack trace and performance log output.

Definition at line 110 of file libmesh_exceptions.C.

111{
112 bool quiet = false;
113
114#ifdef LIBMESH_ENABLE_EXCEPTIONS
115 // If we have an active exception, it may have an error message that
116 // we should print, or it may have a type that tells us not to print
117 // anything.
118 std::optional<std::string> exception_message;
119 std::exception_ptr ex = std::current_exception();
120 if (ex)
121 {
122 try
123 {
124 std::rethrow_exception(ex);
125 }
126 // Capture the exception message to be used later.
127 catch (const std::exception & std_ex)
128 {
129 exception_message = std_ex.what();
130 }
131 // We arrived here via TerminationException (likely from
132 // libmesh_terminate()), which implies that a useful
133 // error message has already been emitted.
134 catch (const TerminationException &)
135 {
136 quiet = true;
137 }
138 // We're just trying to detect exception types here, not
139 // actually rethrow
140 catch (...)
141 {
142 }
143 }
144#endif
145
146 if (!quiet)
147 {
148 libMesh::err << "libMesh terminating";
149#ifdef LIBMESH_ENABLE_EXCEPTIONS
150 if (exception_message)
151 libMesh::err << ":\n" << *exception_message;
152#endif
153 libMesh::err << std::endl;
154
155 // If this got called then we're probably crashing; let's print a
156 // stack trace. The trace files that are ultimately written depend on:
157 // 1.) Who throws the exception.
158 // 2.) Whether the C++ runtime unwinds the stack before the
159 // terminate_handler is called (this is implementation defined).
160 //
161 // The various cases are summarized in the table below:
162 //
163 // | libmesh exception | other exception
164 // -------------------------------------
165 // stack unwinds | A | B
166 // stack does not unwind | C | D
167 //
168 // Case A: There will be two stack traces in the file: one "useful"
169 // one, and one nearly empty one due to stack unwinding.
170 // Case B: You will get one nearly empty stack trace (not great, Bob!)
171 // Case C: You will get two nearly identical stack traces, ignore one of them.
172 // Case D: You will get one useful stack trace.
173 //
174 // Cases A and B (where the stack unwinds when an exception leaves
175 // main) appear to be non-existent in practice. I don't have a
176 // definitive list, but the stack does not unwind for GCC on either
177 // Mac or Linux. I think there's good reasons for this behavior too:
178 // it's much easier to get a stack trace when the stack doesn't
179 // unwind, for example.
181
182 // We may care about performance data pre-crash; it would be sad to
183 // throw that away.
184 LibMeshInit::perf_log().print_log();
185 }
186
188}
void write_traceout()
Writes a stack trace to a uniquely named file if –enable-tracefiles has been set by configure,...
void libmesh_abort()
Abort as soon as possible.
Definition libmesh.C:338

◆ libmesh_version_stdout()

void libMesh::libmesh_version_stdout ( )

Definition at line 23 of file libmesh_version.C.

24{
25 std::cout << "--------------------------------------------------------" << std::endl;
26 std::cout << "libMesh Library: Version = " << LIBMESH_LIB_VERSION;
27 std::cout << " (" << get_libmesh_version() << ")" << std::endl << std::endl;
28
29 std::cout << LIBMESH_LIB_RELEASE << std::endl << std::endl;
30
31 std::cout << "Build Date = " << LIBMESH_BUILD_DATE << std::endl;
32 std::cout << "Build Host = " << LIBMESH_BUILD_HOST << std::endl;
33 std::cout << "Build User = " << LIBMESH_BUILD_USER << std::endl;
34 std::cout << "Build Arch = " << LIBMESH_BUILD_ARCH << std::endl;
35 std::cout << "Build Rev = " << LIBMESH_BUILD_VERSION << std::endl << std::endl;
36
37 // CXXFLAGS is ambiguous wth multiple methods - could add all three but why not libmesh-config?
38 //std::cout << "C++ Config = " << LIBMESH_CXX << " " << LIBMESH_CXXFLAGS << std::endl;
39 std::cout << "--------------------------------------------------------" << std::endl;
40
41 return;
42}
int get_libmesh_version()

References get_libmesh_version().

Referenced by main().

◆ LIBMESH_VMA_INSTANTIATE() [1/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
double  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [2/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
double  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [3/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
float  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [4/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
float  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [5/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
int  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [6/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
int  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [7/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
std::complex< double >  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [8/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
std::complex< double >  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [9/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
std::complex< float >  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [10/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Complex  ,
std::complex< float >  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [11/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
double  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [12/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
double  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [13/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
float  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [14/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
float  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [15/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
int  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [16/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
int  ,
Real   
)

◆ LIBMESH_VMA_INSTANTIATE() [17/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
std::complex< double >  ,
Complex   
)

◆ LIBMESH_VMA_INSTANTIATE() [18/18]

libMesh::LIBMESH_VMA_INSTANTIATE ( Real  ,
std::complex< float >  ,
Complex   
)

◆ LibmeshPetscCallQ()

libMesh::LibmeshPetscCallQ ( DMShellGetContext(dm, &ctx )

◆ make_range() [1/2]

template<typename T >
IntRange< T > libMesh::make_range ( beg,
end 
)

The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of type T.

This saves a bit of typing over calling the IntRange<T> constructor directly.

Definition at line 176 of file int_range.h.

177{
178 return {beg, end};
179}

References make_range().

Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::DenseMatrix< Real >::_right_multiply_transpose(), libMesh::DenseMatrix< T >::_svd_helper(), libMesh::DenseMatrix< Real >::_svd_helper(), libMesh::DenseMatrix< T >::_svd_lapack(), libMesh::DenseMatrix< T >::_svd_lapack(), libMesh::DenseMatrix< T >::_svd_solve_lapack(), libMesh::LaspackVector< T >::add(), libMesh::DenseMatrix< T >::add(), libMesh::DenseMatrixBase< T >::add(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::BoundaryInfo::add_elements(), libMesh::StaticCondensation::add_matrix(), libMesh::HPCoarsenTest::add_projection(), libMesh::RBDataSerialization::add_rb_eim_evaluation_data_to_builder(), libMesh::DofMap::add_variable(), libMesh::DofMap::add_variables(), libMesh::AdaptiveTimeSolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::ImplicitSystem::adjoint_solve(), libMesh::MeshTools::Modification::all_rbb(), libMesh::FE< Dim, T >::all_shape_derivs(), libMesh::FEInterface::all_shape_derivs(), libMesh::EquationSystems::allgather(), libMesh::LaplaceMeshSmoother::allgather_graph(), alternative_fe_assembly(), libMesh::TriangulatorInterface::ArbitraryHole::ArbitraryHole(), libMesh::DofMap::array_dof_indices(), libMesh::ClawSystem::assemble_advection_matrices(), libMesh::ClawSystem::assemble_avg_coupling_matrices(), libMesh::ClawSystem::assemble_boundary_condition_matrices(), libMesh::ClawSystem::assemble_jump_coupling_matrix(), libMesh::ClawSystem::assemble_mass_matrix(), libMesh::ExplicitSystem::assemble_qoi(), libMesh::ExplicitSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assembly(), libMesh::VariationalSmootherSystem::assembly(), libMesh::MeshCommunication::assign_global_indices(), libMesh::Partitioner::assign_partitioning(), libMesh::ExactSolution::attach_exact_deriv(), libMesh::ExactSolution::attach_exact_hessian(), libMesh::ExactSolution::attach_exact_value(), libMesh::FEMContext::attach_quadrature_rules(), libMesh::Elem::bracketing_nodes(), libMesh::RBConstructionBase< Base >::broadcast_parameters(), libMesh::MeshTools::Generation::build_cube(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::EquationSystems::build_elemental_data_variable_names(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::EquationSystems::build_variable_names(), libMesh::C0Polygon::C0Polygon(), libMesh::TriangulatorInterface::Hole::calculate_inside_point(), libMesh::System::calculate_norm(), libMesh::StaticCondensation::close(), libMesh::FEGenericBase< OutputType >::coarsened_dof_values(), compute_enriched_soln(), libMesh::RBEIMConstruction::compute_max_eim_error(), compute_qp_soln(), compute_qp_soln(), libMesh::FirstOrderUnsteadySolver::compute_second_order_eqns(), libMesh::HDGProblem::compute_stress(), libMesh::DenseMatrixBase< T >::condense(), libMesh::VariationalSmootherConstraint::constrain_node_to_line(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::construct_projection(), libMesh::Elem::contains_edge_of(), libMesh::Elem::contains_vertex_of(), libMesh::Polyhedron::convex(), libMesh::MeshBase::copy_constraint_rows(), libMesh::GMVIO::copy_nodal_solution(), libMesh::HDGProblem::create_identity_jacobian(), libMesh::HDGProblem::create_identity_residual(), libMesh::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::FE< Dim, T >::default_side_nodal_soln(), libMesh::MeshBase::detect_interior_parents(), libMesh::VariationalSmootherConstraint::determine_constraint(), libMesh::MeshTools::Modification::distort(), libMesh::RBEIMEvaluation::distribute_bfs(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), DMlibMeshSetSystem_libMesh(), libMesh::DofObject::DofObject(), libMesh::VariationalSmootherSystem::element_time_derivative(), libMesh::TriangulatorInterface::elems_to_segments(), libMesh::EquationSystems::enable_default_ghosting(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ErrorEstimator::estimate_errors(), libMesh::FEMPhysics::eulerian_residual(), libMesh::OldSolutionValue< Output, point_output >::eval_at_node(), libMesh::ExactSolution::ExactSolution(), fe_assembly(), libMesh::MeshCommunication::find_global_indices(), libMesh::FEMContext::find_hardest_fe_type(), libMesh::TriangulatorInterface::Hole::find_ray_intersections(), libMesh::DTKAdapter::find_sys(), libMesh::EquationSystems::find_variable_numbers_by_predicate(), libMesh::VariationalSmootherConstraint::fix_node(), libMesh::C0Polygon::flip(), form_functionA(), form_functionB(), form_matrixA(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::RBConstructionBase< Base >::generate_training_parameters_random(), libMesh::LaspackMatrix< T >::get_diagonal(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::Elem::get_info(), libMesh::Node::get_info(), libMesh::System::get_info(), libMesh::Elem::get_node_index(), libMesh::EpetraMatrix< T >::get_row(), libMesh::VariationalSmootherSystem::get_target_to_reference_jacobian(), libMesh::DenseMatrix< T >::get_transpose(), libMesh::LaspackMatrix< T >::get_transpose(), libMesh::EquationSystems::get_vars_active_subdomains(), libMesh::C0Polygon::has_affine_map(), libMesh::DofObject::has_dofs(), libMesh::DofMap::heterogeneously_constrain_element_jacobian_and_residual(), libMesh::TriangulatorInterface::increase_triangle_order(), libMesh::EquationSystems::init(), libMesh::LaspackMatrix< T >::init(), libMesh::DistributedVector< T >::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::QNodal::init_2D(), libMesh::QNodal::init_3D(), libMesh::TimeSolver::init_adjoints(), libMesh::UnsteadySolver::init_adjoints(), libMesh::WrappedFunctor< Output >::init_context(), libMesh::FEMSystem::init_context(), libMesh::RBEIMConstruction::init_context(), libMesh::OldSolutionBase< Output, point_output >::init_context(), libMesh::VariationalSmootherSystem::init_data(), libMesh::FEMContext::init_internal_data(), libMesh::ParmetisPartitioner::initialize(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::CondensedEigenSystem::initialize_condensed_dofs(), libMesh::RBEIMConstruction::initialize_eim_assembly_objects(), libMesh::RBEIMEvaluation::initialize_eim_theta_objects(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::TriangulatorInterface::insert_any_extra_boundary_points(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::SteadySolver::integrate_adjoint_refinement_error_estimate(), libMesh::TwostepTimeSolver::integrate_adjoint_refinement_error_estimate(), libMesh::TwostepTimeSolver::integrate_adjoint_sensitivity(), libMesh::UnsteadySolver::integrate_adjoint_sensitivity(), libMesh::Euler2Solver::integrate_qoi_timestep(), libMesh::EulerSolver::integrate_qoi_timestep(), libMesh::TwostepTimeSolver::integrate_qoi_timestep(), libMesh::DofObject::invalidate_dofs(), libMesh::Polygon::is_flipped(), isfinite(), isfinite(), isfinite(), isfinite(), isinf(), isinf(), isinf(), isinf(), isnan(), isnan(), isnan(), isnan(), libMesh::HDGProblem::jacobian(), libMesh::TypeVector< T >::l1_norm(), libMesh::EigenSparseMatrix< T >::l1_norm(), libMesh::LaspackMatrix< T >::l1_norm(), libMesh::NumericVector< T >::l1_norm_diff(), libMesh::NumericVector< T >::l2_norm_diff(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::PointLocatorBase::libmesh_assert_valid_point_locator(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), LIBMESH_DEFAULT_VECTORIZED_FE(), libMesh::DenseSubVector< T >::linfty_norm(), libMesh::EigenSparseMatrix< T >::linfty_norm(), libMesh::LaspackMatrix< T >::linfty_norm(), libMesh::HDGProblem::lm_face_jacobian(), libMesh::HDGProblem::lm_face_residual(), libMesh::RBDataDeserialization::load_parameter_ranges(), libMesh::RBDataDeserialization::load_rb_eim_evaluation_data(), libMesh::RBDataDeserialization::load_rb_scm_evaluation_data(), libMesh::RBConstruction::load_rb_solution(), libMesh::RBConstructionBase< Base >::load_training_set(), libMesh::Elem::local_node(), libMesh::Polyhedron::low_order_key(), main(), make_range(), make_range(), libMesh::FEMPhysics::mass_residual(), libMesh::DenseSubVector< T >::max(), libMesh::DofMap::max_constraint_error(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), MeshPerElemTest< elem_type >::meshes_equal_enough(), libMesh::DenseSubVector< T >::min(), AllSecondOrderTest::MixedFixingImpl(), libMesh::DofObject::n_dofs(), libMesh::DGFEMContext::neighbor_side_fe_reinit(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::RBParametrizedFunction::node_vectorized_evaluate(), libMesh::DifferentiablePhysics::nonlocal_mass_residual(), MeshSmootherTest::numCenteredAndFacedDimensions(), libMesh::FEMSystem::numerical_jacobian(), libMesh::OldSolutionBase< Output, point_output >::OldSolutionBase(), libMesh::Polyhedron::on_reference_element(), libMesh::Polygon::on_reference_element(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::FDMGradient< GradType >::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()(), libMesh::PointLocatorNanoflann::operator()(), libMesh::PointLocatorNanoflann::operator()(), libMesh::DofObject::operator=(), libMesh::RBThetaExpansion::output_index_1D(), libMesh::OverlapCoupling::OverlapCoupling(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::pack(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::packable_size(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::packed_size(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::C0Polygon::permute(), libMesh::MeshTools::Modification::permute_elements(), petsc_auto_fieldsplit(), libMesh::PetscVector< T >::PetscVector(), libMesh::Polyhedron::Polyhedron(), libMesh::FEMContext::pre_fe_reinit(), libMesh::RBConstruction::preevaluate_thetas(), libMesh::HDGProblem::pressure_dirichlet_residual(), libMesh::HDGProblem::pressure_face_jacobian(), libMesh::HDGProblem::pressure_face_residual(), libMesh::HDGProblem::pressure_volume_jacobian(), libMesh::HDGProblem::pressure_volume_residual(), libMesh::SparseMatrix< Number >::print(), libMesh::DenseVectorBase< T >::print(), libMesh::SparseMatrix< T >::print(), libMesh::DenseMatrixBase< T >::print(), libMesh::SparseMatrix< Number >::print(), libMesh::SparseMatrix< T >::print(), libMesh::SparseMatrix< Number >::print_coreform_hdf5(), libMesh::DofObject::print_dof_info(), libMesh::NumericVector< T >::print_global(), libMesh::NumericVector< T >::print_global(), libMesh::MeshfreeInterpolation::print_info(), libMesh::NumericVector< T >::print_matlab(), libMesh::DenseMatrixBase< T >::print_scientific(), libMesh::DenseVectorBase< T >::print_scientific(), libMesh::RBConstruction::process_parameters_file(), libMesh::RBEIMConstruction::process_parameters_file(), libMesh::System::project_vector(), libMesh::System::projection_matrix(), libMesh::Elem::quality(), libMesh::Face::quasicircumcenter(), libMesh::RBEIMEvaluation::rb_eim_solves(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::ExodusII_IO_Helper::read_bex_cv_blocks(), libMesh::STLIO::read_binary(), libMesh::CheckpointIO::read_connectivity(), libMesh::SparseMatrix< Number >::read_coreform_hdf5(), libMesh::DynaIO::read_mesh(), libMesh::ExodusII_IO_Helper::read_nodal_var_values(), libMesh::System::read_parallel_data(), libMesh::SparseMatrix< Number >::read_petsc_hdf5(), libMesh::ExodusII_IO_Helper::read_qa_records(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vectors(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::FE< Dim, T >::reinit_dual_shape_coeffs(), libMesh::EquationSystems::reinit_mesh(), libMesh::EquationSystems::reinit_solutions(), libMesh::EquationSystems::reinit_systems(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::TransientRBEvaluation::resize_data_structures(), libMesh::C0Polyhedron::retriangulate(), libMesh::C0Polygon::retriangulate(), libMesh::FileSolutionHistory::retrieve(), libMesh::HDGProblem::scalar_dirichlet_jacobian(), libMesh::HDGProblem::scalar_dirichlet_residual(), libMesh::HDGProblem::scalar_face_jacobian(), libMesh::HDGProblem::scalar_face_residual(), libMesh::HDGProblem::scalar_volume_jacobian(), libMesh::HDGProblem::scalar_volume_residual(), libMesh::SparseMatrix< T >::scale(), libMesh::DenseMatrix< T >::scale_column(), libMesh::HPCoarsenTest::select_refinement(), libMesh::EquationSystems::sensitivity_solve(), libMesh::ImplicitSystem::sensitivity_solve(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::DofObject::set_n_systems(), libMesh::PltLoader::set_n_vars(), libMesh::DofObject::set_n_vars_per_group(), libMesh::PltLoader::set_n_zones(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::SystemSubsetBySubdomain::set_var_nums(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), PerElemTest< elem_type >::setUp(), SparseMatrixTest< DerivedClass >::setValues(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::DofMap::should_p_refine(), libMesh::Poly2TriTriangulator::should_refine_elem(), libMesh::SimplexRefiner::should_refine_elem(), libMesh::BoundaryInfo::side_boundary_ids(), libMesh::Polyhedron::side_clones(), libMesh::RBEIMEvaluation::side_distribute_bfs(), libMesh::Polyhedron::side_has_edge_nodes(), libMesh::RBParametrizedFunction::side_vectorized_evaluate(), libMesh::C0Polyhedron::side_vertex_average_normal(), libMesh::Hex8::side_vertex_average_normal(), libMesh::Prism6::side_vertex_average_normal(), libMesh::Pyramid5::side_vertex_average_normal(), libMesh::C0Polygon::side_vertex_average_normal(), libMesh::Quad4::side_vertex_average_normal(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::Polyhedron::sides_on_edge(), libMesh::BoundaryInfo::sides_with_boundary_id(), libMesh::QoISet::size(), libMesh::VariationalMeshSmoother::smooth(), libMesh::MeshTools::Modification::smooth(), libMesh::EquationSystems::solve(), libMesh::PatchRecoveryErrorEstimator::specpoly(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::Polyhedron::subelement_coordinates(), libMesh::C0Polyhedron::subelement_sides_to_poly_sides(), libMesh::Polygon::subtriangle_coordinates(), NumericVectorTest< DerivedClass >::Subvectors(), SystemsTest::test100KVariables(), ConstraintOperatorTest::test1DCoarseningOperator(), SystemsTest::test2DProjectVectorFE(), SystemsTest::test3DProjectVectorFE(), AllRBBTest::test_cylinder(), AllRBBTest::test_disk(), ElemTest< elem_type >::test_flip(), AllTriTest::test_helper_c0polyhedron(), ElemTest< elem_type >::test_n_refinements(), ElemTest< elem_type >::test_orient(), ElemTest< elem_type >::test_orient_elements(), ElemTest< elem_type >::test_permute(), AllRBBTest::test_sphere(), ExodusC0PolygonTest::test_write_and_read_pentagon(), EdgeTest< ElemClass, edge_type, indexbegin, indexend >::testBuildEdgePtr(), SideTest< ElemClass, side_type, indexbegin, indexend >::testBuildSidePtr(), SideTest< ElemClass, side_type, indexbegin, indexend >::testBuildSidePtrFill(), SideVertexAverageNormalTest::testC0Polygon(), VolumeTest::testC0Polygon(), VolumeTest::testC0PolygonMethods(), SideVertexAverageNormalTest::testC0Polyhedron(), VolumeTest::testC0PolyhedronMethods(), PackingTypesTest::testDynamicEigenMatrix(), PackingTypesTest::testDynamicEigenVector(), ConnectedComponentsTest::testEdge(), SideVertexAverageNormalTest::testEdge3(), MeshTriangulationTest::testEdge3ToTri6Base(), SideVertexAverageNormalTest::testHexes(), MeshTriangulationTest::testHoleContainsRayDegeneracies(), TypeTensorTest::testIsHPD(), EdgeTest< ElemClass, edge_type, indexbegin, indexend >::testIsNodeOnEdge(), SideTest< ElemClass, side_type, indexbegin, indexend >::testIsNodeOnSide(), ParallelPointTest::testMapUnionVec(), MeshTetTest::testNetGenQuadraticCurved(), MeshTetTest::testNetGenTet14Curved(), EdgeTest< ElemClass, edge_type, indexbegin, indexend >::testNodesOnEdge(), SideTest< ElemClass, side_type, indexbegin, indexend >::testNodesOnSide(), PackingTypesTest::testNonFixedScalar(), LumpedMassMatrixTest::testNumerics(), FETest< order, family, elem_type, CaseName >::testPartitionOfUnity(), PetscMatrixTest::testPetscCopyFromHash(), MeshTriangulationTest::testPoly2TriHolesInterpRefined(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testPostInitAddVectorTypeChange(), SideVertexAverageNormalTest::testQuads(), SideTest< ElemClass, side_type, indexbegin, indexend >::testSidePtr(), SideTest< ElemClass, side_type, indexbegin, indexend >::testSidePtrFill(), MeshTriangulationTest::testTriangleHoleContains(), MeshTriangulationTest::testTriangulatorRoundHole(), SparseMatrixTest< DerivedClass >::testValues(), MeshSmootherTest::testVariationalSmoother(), MeshSmootherTest::testVariationalSmootherRegression(), libMesh::Elem::topologically_equal(), trace(), libMesh::BoundaryInfo::transfer_boundary_ids_from_children(), libMesh::NetGenMeshInterface::triangulate(), libMesh::Poly2TriTriangulator::triangulate_current_points(), libMesh::Elem::true_centroid(), libMesh::Parallel::Packing< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > >::unpack(), libMesh::UnsteadySolver::UnsteadySolver(), libMesh::EquationSystems::update(), libMesh::HDGProblem::vector_dirichlet_residual(), libMesh::HDGProblem::vector_face_jacobian(), libMesh::HDGProblem::vector_face_residual(), libMesh::HDGProblem::vector_volume_jacobian(), libMesh::HDGProblem::vector_volume_residual(), libMesh::RBParametrizedFunction::vectorized_evaluate(), libMesh::TriangulatorInterface::verify_holes(), libMesh::MeshTetInterface::volume_to_surface_mesh(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::Elem::which_neighbor_am_i(), libMesh::FroIO::write(), libMesh::TetGenIO::write(), libMesh::MEDITIO::write_ascii(), libMesh::TecplotIO::write_ascii(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::GMVIO::write_binary(), libMesh::TecplotIO::write_binary(), libMesh::Elem::write_connectivity(), libMesh::PltLoader::write_dat(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::Nemesis_IO_Helper::write_elements(), libMesh::System::write_header(), libMesh::GmshIO::write_mesh(), libMesh::Nemesis_IO_Helper::write_nodal_coordinates(), libMesh::System::write_parallel_data(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), and libMesh::DenseSubMatrix< T >::zero().

◆ make_range() [2/2]

template<typename T >
IntRange< T > libMesh::make_range ( end)

The 1-parameter version of make_range() saves even more typing in the common case of a 0 starting point.

Example usage:

for (auto i : make_range(10))

will loop from 0 to 9. In more realistic cases such as:

for (auto i : make_range(foo()))

this construction guarantees that the function foo() is called exactly once rather than once per loop iteration.

Definition at line 197 of file int_range.h.

198{
199 return {T(0), end};
200}

References make_range().

◆ MeshCommunication::find_global_indices< MeshBase::const_element_iterator >()

◆ MeshCommunication::find_global_indices< MeshBase::const_node_iterator >()

template LIBMESH_EXPORT void libMesh::MeshCommunication::find_global_indices< MeshBase::const_node_iterator > ( const Parallel::Communicator ,
const libMesh::BoundingBox ,
const MeshBase::const_node_iterator ,
const MeshBase::const_node_iterator ,
std::vector< dof_id_type > &   
) const
private

◆ MeshCommunication::find_global_indices< MeshBase::element_iterator >()

template LIBMESH_EXPORT void libMesh::MeshCommunication::find_global_indices< MeshBase::element_iterator > ( const Parallel::Communicator ,
const libMesh::BoundingBox ,
const MeshBase::element_iterator ,
const MeshBase::element_iterator ,
std::vector< dof_id_type > &   
) const
private

◆ MeshCommunication::find_global_indices< MeshBase::node_iterator >()

template LIBMESH_EXPORT void libMesh::MeshCommunication::find_global_indices< MeshBase::node_iterator > ( const Parallel::Communicator ,
const libMesh::BoundingBox ,
const MeshBase::node_iterator ,
const MeshBase::node_iterator ,
std::vector< dof_id_type > &   
) const
private

◆ MeshCommunication::find_local_indices< MeshBase::const_element_iterator >()

template LIBMESH_EXPORT void libMesh::MeshCommunication::find_local_indices< MeshBase::const_element_iterator > ( const libMesh::BoundingBox ,
const MeshBase::const_element_iterator ,
const MeshBase::const_element_iterator ,
std::unordered_map< dof_id_type, dof_id_type > &   
) const
private

◆ monomial_n_dofs() [1/2]

unsigned int libMesh::monomial_n_dofs ( const Elem e,
const Order  o 
)

Definition at line 30 of file fe_monomial.C.

31{
33 return monomial_n_dofs(e->type(), o);
34}

References libmesh_assert(), monomial_n_dofs(), and libMesh::Elem::type().

◆ monomial_n_dofs() [2/2]

unsigned int libMesh::monomial_n_dofs ( const ElemType  t,
const Order  o 
)

Helper functions for Discontinuous-Pn type basis functions.

Definition at line 37 of file fe_monomial.C.

38{
39 switch (o)
40 {
41
42 // constant shape functions
43 // no matter what shape there is only one DOF.
44 case CONSTANT:
45 return (t != INVALID_ELEM) ? 1 : 0;
46
47
48 // Discontinuous linear shape functions
49 // expressed in the monomials.
50 case FIRST:
51 {
52 switch (t)
53 {
54 case NODEELEM:
55 return 1;
56
57 case EDGE2:
58 case EDGE3:
59 case EDGE4:
60 return 2;
61
62 case C0POLYGON:
63 case TRI3:
64 case TRISHELL3:
65 case TRI6:
66 case TRI7:
67 case QUAD4:
68 case QUADSHELL4:
69 case QUAD8:
70 case QUADSHELL8:
71 case QUAD9:
72 case QUADSHELL9:
73 return 3;
74
75 case TET4:
76 case TET10:
77 case TET14:
78 case HEX8:
79 case HEX20:
80 case HEX27:
81 case PRISM6:
82 case PRISM15:
83 case PRISM18:
84 case PRISM20:
85 case PRISM21:
86 case PYRAMID5:
87 case PYRAMID13:
88 case PYRAMID14:
89 case PYRAMID18:
90 case C0POLYHEDRON:
91 return 4;
92
93 case INVALID_ELEM:
94 return 0;
95
96 default:
97 libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!");
98 }
99 }
100
101
102 // Discontinuous quadratic shape functions
103 // expressed in the monomials.
104 case SECOND:
105 {
106 switch (t)
107 {
108 case NODEELEM:
109 return 1;
110
111 case EDGE2:
112 case EDGE3:
113 case EDGE4:
114 return 3;
115
116 case C0POLYGON:
117 case TRI3:
118 case TRISHELL3:
119 case TRI6:
120 case TRI7:
121 case QUAD4:
122 case QUADSHELL4:
123 case QUAD8:
124 case QUADSHELL8:
125 case QUAD9:
126 case QUADSHELL9:
127 return 6;
128
129 case TET4:
130 case TET10:
131 case TET14:
132 case HEX8:
133 case HEX20:
134 case HEX27:
135 case PRISM6:
136 case PRISM15:
137 case PRISM18:
138 case PRISM20:
139 case PRISM21:
140 case PYRAMID5:
141 case PYRAMID13:
142 case PYRAMID14:
143 case PYRAMID18:
144 case C0POLYHEDRON:
145 return 10;
146
147 case INVALID_ELEM:
148 return 0;
149
150 default:
151 libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!");
152 }
153 }
154
155
156 // Discontinuous cubic shape functions
157 // expressed in the monomials.
158 case THIRD:
159 {
160 switch (t)
161 {
162 case NODEELEM:
163 return 1;
164
165 case EDGE2:
166 case EDGE3:
167 case EDGE4:
168 return 4;
169
170 case C0POLYGON:
171 case TRI3:
172 case TRISHELL3:
173 case TRI6:
174 case TRI7:
175 case QUAD4:
176 case QUADSHELL4:
177 case QUAD8:
178 case QUADSHELL8:
179 case QUAD9:
180 case QUADSHELL9:
181 return 10;
182
183 case TET4:
184 case TET10:
185 case TET14:
186 case HEX8:
187 case HEX20:
188 case HEX27:
189 case PRISM6:
190 case PRISM15:
191 case PRISM18:
192 case PRISM20:
193 case PRISM21:
194 case PYRAMID5:
195 case PYRAMID13:
196 case PYRAMID14:
197 case PYRAMID18:
198 case C0POLYHEDRON:
199 return 20;
200
201 case INVALID_ELEM:
202 return 0;
203
204 default:
205 libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!");
206 }
207 }
208
209
210 // Discontinuous quartic shape functions
211 // expressed in the monomials.
212 case FOURTH:
213 {
214 switch (t)
215 {
216 case NODEELEM:
217 return 1;
218
219 case EDGE2:
220 case EDGE3:
221 return 5;
222
223 case C0POLYGON:
224 case TRI3:
225 case TRISHELL3:
226 case TRI6:
227 case TRI7:
228 case QUAD4:
229 case QUADSHELL4:
230 case QUAD8:
231 case QUADSHELL8:
232 case QUAD9:
233 case QUADSHELL9:
234 return 15;
235
236 case TET4:
237 case TET10:
238 case TET14:
239 case HEX8:
240 case HEX20:
241 case HEX27:
242 case PRISM6:
243 case PRISM15:
244 case PRISM18:
245 case PRISM20:
246 case PRISM21:
247 case PYRAMID5:
248 case PYRAMID13:
249 case PYRAMID14:
250 case C0POLYHEDRON:
251 return 35;
252
253 case INVALID_ELEM:
254 return 0;
255
256 default:
257 libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!");
258 }
259 }
260
261
262 default:
263 {
264 const unsigned int order = static_cast<unsigned int>(o);
265 switch (t)
266 {
267 case NODEELEM:
268 return 1;
269
270 case EDGE2:
271 case EDGE3:
272 return (order+1);
273
274 case C0POLYGON:
275 case TRI3:
276 case TRISHELL3:
277 case TRI6:
278 case TRI7:
279 case QUAD4:
280 case QUADSHELL4:
281 case QUAD8:
282 case QUADSHELL8:
283 case QUAD9:
284 case QUADSHELL9:
285 return (order+1)*(order+2)/2;
286
287 case TET4:
288 case TET10:
289 case TET14:
290 case HEX8:
291 case HEX20:
292 case HEX27:
293 case PRISM6:
294 case PRISM15:
295 case PRISM18:
296 case PRISM20:
297 case PRISM21:
298 case PYRAMID5:
299 case PYRAMID13:
300 case PYRAMID14:
301 case C0POLYHEDRON:
302 return (order+1)*(order+2)*(order+3)/6;
303
304 case INVALID_ELEM:
305 return 0;
306
307 default:
308 libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!");
309 }
310 }
311 }
312} // monomial_n_dofs()

References C0POLYGON, C0POLYHEDRON, CONSTANT, EDGE2, EDGE3, EDGE4, libMesh::Utility::enum_to_string(), FIRST, FOURTH, HEX20, HEX27, HEX8, INVALID_ELEM, NODEELEM, PRISM15, PRISM18, PRISM20, PRISM21, PRISM6, PYRAMID13, PYRAMID14, PYRAMID18, PYRAMID5, QUAD4, QUAD8, QUAD9, QUADSHELL4, QUADSHELL8, QUADSHELL9, SECOND, TET10, TET14, TET4, THIRD, TRI3, TRI6, TRI7, and TRISHELL3.

Referenced by LIBMESH_FE_NODAL_SOLN(), LIBMESH_FE_NODAL_SOLN(), monomial_n_dofs(), libMesh::FE< Dim, T >::n_dofs(), libMesh::FE< Dim, T >::n_dofs(), libMesh::FE< Dim, T >::n_dofs_per_elem(), and libMesh::FE< Dim, T >::n_dofs_per_elem().

◆ n_threads()

unsigned int libMesh::n_threads ( )
inline

◆ numeric_petsc_cast()

PetscInt * libMesh::numeric_petsc_cast ( const numeric_index_type p)
inline

◆ numeric_trilinos_cast()

int * libMesh::numeric_trilinos_cast ( const numeric_index_type p)
inline

Definition at line 854 of file trilinos_epetra_vector.h.

855{
856 return reinterpret_cast<int *>(const_cast<numeric_index_type *>(p));
857}

Referenced by libMesh::EpetraMatrix< T >::add_matrix(), libMesh::EpetraVector< T >::add_vector(), and libMesh::EpetraVector< T >::insert().

◆ on_command_line()

bool libMesh::on_command_line ( std::string  arg)
Returns
true if the argument arg was specified on the command line, false otherwise.

For backwards compatibility with past option naming conventions, libMesh searches for the given argument first in its original form, then with all underscores changed to dashes, then with all dashes (except any leading dashes) changed to underscores, and returns true if any of the above finds a match.

This routine manipulates the command_line cursor and should not be called concurrently with similar utilities in multiple threads.

Definition at line 934 of file libmesh.C.

935{
936 // Make sure the command line parser is ready for use. If it's not,
937 // then we'll have to treat the command line as empty, for maximum
938 // compatibility with programs that don't use LibMeshInit but
939 // indirectly (e.g. via error handling code) query the command line.
940 if (!command_line.get())
941 return false;
942
943 // Keep track of runtime queries, for later
945
946 bool found_it = command_line->search(arg);
947
948 if (!found_it)
949 {
950 // Try with all dashes instead of underscores
951 std::replace(arg.begin(), arg.end(), '_', '-');
952 found_it = command_line->search(arg);
953 }
954
955 if (!found_it)
956 {
957 // OK, try with all underscores instead of dashes
958 auto name_begin = arg.begin();
959 while (*name_begin == '-')
960 ++name_begin;
961 std::replace(name_begin, arg.end(), '-', '_');
962 found_it = command_line->search(arg);
963 }
964
965 return found_it;
966}

References add_command_line_name().

Referenced by assert_argument(), Biharmonic::Biharmonic(), libMesh::PetscDMWrapper::build_section(), libMesh::Node::choose_processor_id(), cleanup_stream_buffers(), libMesh::System::clear(), command_line_next(), default_solver_package(), libMesh::DofMap::distribute_dofs(), libMesh::NewtonSolver::init(), libMesh::NloptOptimizationSolver< T >::init(), libMesh::PetscNonlinearSolver< T >::init(), libMesh::TimeSolver::init_data(), main(), petsc_auto_fieldsplit(), print_trace(), libMesh::System::read_header(), libMesh::TimeSolver::reinit(), libMesh::System::reinit_constraints(), libMesh::MacroFunctions::report_error(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::Partitioner::set_node_processor_ids(), libMesh::CachingSetup::setup(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::System::System(), GetPotTest::testCommandLine(), libMesh::DofMap::use_coupled_neighbor_dofs(), and libMesh::LibMeshInit::~LibMeshInit().

◆ operator!=() [1/5]

bool libMesh::operator!= ( const OrderWrapper lhs,
const OrderWrapper rhs 
)
inline

Definition at line 113 of file fe_type.h.

113{ return !(lhs == rhs); }

◆ operator!=() [2/5]

bool libMesh::operator!= ( const OrderWrapper lhs,
int  rhs 
)
inline

Definition at line 159 of file fe_type.h.

159{ return !(lhs == rhs); }

◆ operator!=() [3/5]

bool libMesh::operator!= ( const OrderWrapper lhs,
Order  rhs 
)
inline

Definition at line 161 of file fe_type.h.

161{ return !(lhs == rhs); }

◆ operator!=() [4/5]

bool libMesh::operator!= ( int  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 158 of file fe_type.h.

158{ return !(lhs == rhs); }

◆ operator!=() [5/5]

bool libMesh::operator!= ( Order  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 160 of file fe_type.h.

160{ return !(lhs == rhs); }

◆ operator""_R() [1/3]

constexpr Real libMesh::operator""_R ( const char *  r)
constexpr

The C++ standard doesn't support literals at higher than long double precision, so if we're in quadruple precision we need our own user-defined literal operator.

If we're not in quadruple precision then we just need a zero-overhead passthrough.

We'll use a simple _R since we're already qualified by the libMesh namespace here.

Definition at line 283 of file libmesh.h.

283{ return Real(r); }

References Real.

◆ operator""_R() [2/3]

constexpr Real libMesh::operator""_R ( long double  r)
constexpr

Definition at line 285 of file libmesh.h.

285{ return r; }

◆ operator""_R() [3/3]

constexpr Real libMesh::operator""_R ( unsigned long long  r)
constexpr

Definition at line 286 of file libmesh.h.

286{ return Real(r); }

References Real.

◆ operator*() [1/4]

template<unsigned int N, typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeNTensor< N, typenameCompareTypes< Scalar, T >::supertype > >::type libMesh::operator* ( const Scalar &  ,
const TypeNTensor< N, T > &   
)

Definition at line 323 of file type_n_tensor.h.

324{
325 libmesh_not_implemented();
327}
This class will eventually define a rank-N tensor in LIBMESH_DIM dimensional space of type T.

◆ operator*() [2/4]

template<typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeTensor< typenameCompareTypes< T, Scalar >::supertype > >::type libMesh::operator* ( const Scalar &  factor,
const TypeTensor< T > &  t 
)
inline

Definition at line 1010 of file type_tensor.h.

1012{
1013 return t * factor;
1014}

◆ operator*() [3/4]

template<typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeVector< typenameCompareTypes< T, Scalar >::supertype > >::type libMesh::operator* ( const Scalar &  factor,
const TypeVector< T > &  v 
)
inline

Definition at line 768 of file type_vector.h.

770{
771 return v * factor;
772}

◆ operator*() [4/4]

template<typename T , typename T2 >
TypeVector< typename CompareTypes< T, T2 >::supertype > libMesh::operator* ( const TypeVector< T > &  a,
const TypeTensor< T2 > &  b 
)
inline

Definition at line 1231 of file type_tensor.h.

1232{
1233 return b.left_multiply(a);
1234}

References b.

◆ operator+() [1/3]

template<typename T >
Order libMesh::operator+ ( Order  o,
p 
)
inline

Definition at line 93 of file enum_order.h.

94 {
95 return static_cast<Order>(static_cast<int>(o) + int(p));
96 }

◆ operator+() [2/3]

template<typename T >
Order libMesh::operator+ ( p,
Order  o 
)
inline

Definition at line 105 of file enum_order.h.

106 {
107 return o + p;
108 }

◆ operator+() [3/3]

template<typename T , typename T2 >
IntRange< T >::iterator libMesh::operator+ ( T2  n,
typename IntRange< T >::iterator  i 
)

Definition at line 141 of file int_range.h.

142{
143 return i + n;
144}

◆ operator+=()

template<typename T >
Order & libMesh::operator+= ( Order o,
p 
)
inline

Definition at line 111 of file enum_order.h.

112 {
113 o = o + p;
114 return o;
115 }

◆ operator-()

template<typename T >
Order libMesh::operator- ( Order  o,
p 
)
inline

Definition at line 99 of file enum_order.h.

100 {
101 return static_cast<Order>(static_cast<int>(o) - int(p));
102 }

◆ operator-=()

template<typename T >
Order & libMesh::operator-= ( Order o,
p 
)
inline

Definition at line 118 of file enum_order.h.

119 {
120 o = o - p;
121 return o;
122 }

◆ operator/()

template<unsigned int N, typename T , typename Scalar >
std::enable_if< ScalarTraits< Scalar >::value, TypeNTensor< N, typenameCompareTypes< Scalar, T >::supertype > >::type libMesh::operator/ ( const Scalar &  ,
const TypeNTensor< N, T > &   
)

Definition at line 333 of file type_n_tensor.h.

334{
335 libmesh_not_implemented();
337}

◆ operator<() [1/5]

bool libMesh::operator< ( const OrderWrapper lhs,
const OrderWrapper rhs 
)
inline

Definition at line 114 of file fe_type.h.

114{ return lhs.get_order() < rhs.get_order(); }
int get_order() const
Explicitly request the order as an int.
Definition fe_type.h:80

References libMesh::OrderWrapper::get_order().

◆ operator<() [2/5]

bool libMesh::operator< ( const OrderWrapper lhs,
int  rhs 
)
inline

Definition at line 163 of file fe_type.h.

163{ return lhs.get_order() < rhs; }

References libMesh::OrderWrapper::get_order().

◆ operator<() [3/5]

bool libMesh::operator< ( const OrderWrapper lhs,
Order  rhs 
)
inline

Definition at line 165 of file fe_type.h.

165{ return lhs.get_order() < rhs; }

References libMesh::OrderWrapper::get_order().

◆ operator<() [4/5]

bool libMesh::operator< ( int  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 162 of file fe_type.h.

162{ return lhs < rhs.get_order(); }

References libMesh::OrderWrapper::get_order().

◆ operator<() [5/5]

bool libMesh::operator< ( Order  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 164 of file fe_type.h.

164{ return lhs < rhs.get_order(); }

References libMesh::OrderWrapper::get_order().

◆ operator<<() [1/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const ConstraintVariant c 
)

Definition at line 311 of file variational_smoother_constraint.C.

312{
313 if (std::holds_alternative<PointConstraint>(c))
314 os << "point constraint: point=" << std::get<PointConstraint>(c).point();
315
316 else if (std::holds_alternative<LineConstraint>(c))
317 {
318 const auto & line = std::get<LineConstraint>(c);
319 os << "line constraint: point=" << line.point() << ", direction=" << line.direction();
320 }
321
322 else if (std::holds_alternative<PlaneConstraint>(c))
323 {
324 const auto & plane = std::get<PlaneConstraint>(c);
325 os << "plane constraint: point=" << plane.point() << ", normal=" << plane.normal();
326 }
327
328 else if (std::holds_alternative<InvalidConstraint>(c))
329 os << "invalid constraint";
330
331 return os;
332}

◆ operator<<() [2/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const Elem e 
)
inline

Definition at line 2377 of file elem.h.

2378{
2379 e.print_info(os);
2380 return os;
2381}
void print_info(std::ostream &os=libMesh::out) const
Prints relevant information about the element.
Definition elem.C:2948

References libMesh::Elem::print_info().

◆ operator<<() [3/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const EquationSystems es 
)

Definition at line 1834 of file equation_systems.C.

1836{
1837 es.print_info(os);
1838 return os;
1839}
void print_info(std::ostream &os=libMesh::out) const
Prints information about the equation systems, by default to libMesh::out.

◆ operator<<() [4/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const FEAbstract fe 
)

Definition at line 875 of file fe_abstract.C.

876{
877 fe.print_info(os);
878 return os;
879}
void print_info(std::ostream &os) const
Prints all the relevant information about the current element.

◆ operator<<() [5/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const MeshBase m 
)

Definition at line 1762 of file mesh_base.C.

1763{
1764 m.print_info(os);
1765 return os;
1766}
void print_info(std::ostream &os=libMesh::out, const unsigned int verbosity=0, const bool global=true) const
Prints relevant information about the mesh.
Definition mesh_base.C:1755

◆ operator<<() [6/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const MeshfreeInterpolation mfi 
)

Definition at line 57 of file meshfree_interpolation.C.

58{
59 mfi.print_info(os);
60 return os;
61}
void print_info(std::ostream &os=libMesh::out) const
Prints information about this object, by default to libMesh::out.

◆ operator<<() [7/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const MeshQualityInfo info 
)

Definition at line 1218 of file variational_smoother_system.C.

1219{
1220 os << "Mesh quality info:" << std::endl
1221 << " Mesh distortion-dilation metric: "
1222 << info.total_combined << std::endl
1223 << " Mesh distortion metric: "
1224 << info.total_distortion << std::endl
1225 << " Mesh dilation metric: "
1226 << info.total_dilation << std::endl
1227 << " Max distortion-dilation is in elem "
1228 << info.max_elem_combined.second << ": "
1229 << info.max_elem_combined.first << std::endl
1230 << " Max distortion is in elem "
1231 << info.max_elem_distortion.second << ": "
1232 << info.max_elem_distortion.first << std::endl
1233 << " Max dilation is in elem "
1234 << info.max_elem_dilation.second << ": "
1235 << info.max_elem_dilation.first << std::endl
1236 << " Max det(S) is in elem "
1237 << info.max_elem_det_S.second << ": "
1238 << info.max_elem_det_S.first << std::endl
1239 << " Min distortion-dilation is in elem "
1240 << info.min_elem_combined.second << ": "
1241 << info.min_elem_combined.first << std::endl
1242 << " Min distortion is in elem "
1243 << info.min_elem_distortion.second << ": "
1244 << info.min_elem_distortion.first << std::endl
1245 << " Min dilation is in elem "
1246 << info.min_elem_dilation.second << ": "
1247 << info.min_elem_dilation.first << std::endl
1248 << " Min det(S) is in elem "
1249 << info.min_elem_det_S.second << ": "
1250 << info.min_elem_det_S.first << std::endl
1251 << " Max qp det(S): " << info.max_qp_det_S << std::endl
1252 << " Min qp det(S): " << info.min_qp_det_S << std::endl
1253 << " Mesh-integrated det(S): " << info.total_det_S << std::endl
1254 << " Tangled: " << info.mesh_is_tangled << std::endl;
1255
1256 return os;
1257}

◆ operator<<() [8/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const Node n 
)
inline

Definition at line 229 of file node.h.

230{
231 n.print_info(os);
232 return os;
233}
void print_info(std::ostream &os=libMesh::out) const
Prints relevant information about the node.
Definition node.C:45

References libMesh::Node::print_info().

◆ operator<<() [9/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const OrderWrapper order 
)
inline

Overload stream operators.

Definition at line 182 of file fe_type.h.

183{
184 os << order.get_order();
185 return os;
186}

References libMesh::OrderWrapper::get_order().

◆ operator<<() [10/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const Parameters p 
)
inline

Definition at line 410 of file parameters.h.

411{
412 p.print(os);
413 return os;
414}
void print(std::ostream &os=libMesh::out) const
Prints the contents, by default to libMesh::out.
Definition parameters.h:385

References libMesh::Parameters::print().

◆ operator<<() [11/12]

std::ostream & libMesh::operator<< ( std::ostream &  os,
const QBase q 
)

Definition at line 337 of file quadrature.C.

338{
339 q.print_info(os);
340 return os;
341}
void print_info(std::ostream &os=libMesh::out) const
Prints information relevant to the quadrature rule, by default to libMesh::out.
Definition quadrature.C:43

◆ operator<<() [12/12]

template<typename T >
std::ostream & libMesh::operator<< ( std::ostream &  os,
const SparseMatrix< T > &  m 
)
template <typename U>
friend std::ostream & operator << (std::ostream & os, const SparseMatrix<U> & m);
Note
The above syntax, which does not require any prior declaration of operator<<, declares any instantiation of SparseMatrix<X> is friend to any instantiation of operator<<(ostream &, SparseMatrix<Y> &). It would not happen in practice, but in principle it means that SparseMatrix<Complex> would be friend to operator<<(ostream &, SparseMatrix<Real>).
The form below, which requires a previous declaration of the operator<<(stream &, SparseMatrix<T> &) function (see top of this file), means that any instantiation of SparseMatrix<T> is friend to the specialization operator<<(ostream &, SparseMatrix<T> &), but e.g. SparseMatrix is not friend to the same function. So this is slightly different to the form above...

This method seems to be the "preferred" technique, see http://www.parashift.com/c++-faq-lite/template-friends.html

Definition at line 705 of file sparse_matrix.h.

706{
707 m.print(os);
708 return os;
709}
void print(std::ostream &os=libMesh::out, const bool sparse=false) const
Print the contents of the matrix to the screen in a uniform style, regardless of matrix/solver packag...

◆ operator<=() [1/5]

bool libMesh::operator<= ( const OrderWrapper lhs,
const OrderWrapper rhs 
)
inline

Definition at line 116 of file fe_type.h.

116{ return !(lhs > rhs); }

◆ operator<=() [2/5]

bool libMesh::operator<= ( const OrderWrapper lhs,
int  rhs 
)
inline

Definition at line 171 of file fe_type.h.

171{ return !(lhs > rhs); }

◆ operator<=() [3/5]

bool libMesh::operator<= ( const OrderWrapper lhs,
Order  rhs 
)
inline

Definition at line 173 of file fe_type.h.

173{ return !(lhs > rhs); }

◆ operator<=() [4/5]

bool libMesh::operator<= ( int  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 170 of file fe_type.h.

170{ return !(lhs > rhs); }

◆ operator<=() [5/5]

bool libMesh::operator<= ( Order  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 172 of file fe_type.h.

172{ return !(lhs > rhs); }

◆ operator==() [1/4]

bool libMesh::operator== ( const OrderWrapper lhs,
const OrderWrapper rhs 
)
inline

Overload comparison operators for OrderWrapper.

Definition at line 112 of file fe_type.h.

112{ return lhs.get_order() == rhs.get_order(); }

References libMesh::OrderWrapper::get_order().

◆ operator==() [2/4]

bool libMesh::operator== ( const OrderWrapper lhs,
int  rhs 
)
inline

Definition at line 155 of file fe_type.h.

155{ return lhs.get_order() == rhs; }

References libMesh::OrderWrapper::get_order().

◆ operator==() [3/4]

bool libMesh::operator== ( const OrderWrapper lhs,
Order  rhs 
)
inline

Definition at line 157 of file fe_type.h.

157{ return lhs.get_order() == rhs; }

References libMesh::OrderWrapper::get_order().

◆ operator==() [4/4]

bool libMesh::operator== ( Order  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 156 of file fe_type.h.

156{ return lhs == rhs.get_order(); }

References libMesh::OrderWrapper::get_order().

◆ operator>() [1/5]

bool libMesh::operator> ( const OrderWrapper lhs,
const OrderWrapper rhs 
)
inline

Definition at line 115 of file fe_type.h.

115{ return rhs < lhs; }

◆ operator>() [2/5]

bool libMesh::operator> ( const OrderWrapper lhs,
int  rhs 
)
inline

Definition at line 167 of file fe_type.h.

167{ return rhs < lhs; }

◆ operator>() [3/5]

bool libMesh::operator> ( const OrderWrapper lhs,
Order  rhs 
)
inline

Definition at line 169 of file fe_type.h.

169{ return rhs < lhs; }

◆ operator>() [4/5]

bool libMesh::operator> ( int  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 166 of file fe_type.h.

166{ return rhs < lhs; }

◆ operator>() [5/5]

bool libMesh::operator> ( Order  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 168 of file fe_type.h.

168{ return rhs < lhs; }

◆ operator>=() [1/5]

bool libMesh::operator>= ( const OrderWrapper lhs,
const OrderWrapper rhs 
)
inline

Definition at line 117 of file fe_type.h.

117{ return !(lhs < rhs); }

◆ operator>=() [2/5]

bool libMesh::operator>= ( const OrderWrapper lhs,
int  rhs 
)
inline

Definition at line 175 of file fe_type.h.

175{ return !(lhs < rhs); }

◆ operator>=() [3/5]

bool libMesh::operator>= ( const OrderWrapper lhs,
Order  rhs 
)
inline

Definition at line 177 of file fe_type.h.

177{ return !(lhs < rhs); }

◆ operator>=() [4/5]

bool libMesh::operator>= ( int  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 174 of file fe_type.h.

174{ return !(lhs < rhs); }

◆ operator>=() [5/5]

bool libMesh::operator>= ( Order  lhs,
const OrderWrapper rhs 
)
inline

Definition at line 176 of file fe_type.h.

176{ return !(lhs < rhs); }

◆ OrderWrapperOperators()

libMesh::OrderWrapperOperators ( int  )

Definition at line 147 of file fe_type.h.

154 { return lhs == rhs.get_order(); }

References libMesh::OrderWrapper::get_order().

◆ out()

OStreamProxy libMesh::out ( std::cout  )

◆ outer_product() [1/3]

template<typename T , typename T2 , typename std::enable_if< ScalarTraits< T >::value, int >::type = 0>
TypeVector< typename CompareTypes< T, T2 >::supertype > libMesh::outer_product ( const T &  a,
const TypeVector< T2 > &  b 
)

Definition at line 1261 of file type_vector.h.

1262{
1264 for (unsigned int i = 0; i < LIBMESH_DIM; i++)
1265 ret(i) = a * libmesh_conj(b(i));
1266
1267 return ret;
1268}
T libmesh_conj(T a)

References b, and libmesh_conj().

◆ outer_product() [2/3]

template<typename T , typename T2 , typename std::enable_if< ScalarTraits< T2 >::value, int >::type = 0>
TypeVector< typename CompareTypes< T, T2 >::supertype > libMesh::outer_product ( const TypeVector< T > &  a,
const T2 &  b 
)

Definition at line 1272 of file type_vector.h.

1273{
1275 const auto conj_b = libmesh_conj(b);
1276 for (unsigned int i = 0; i < LIBMESH_DIM; i++)
1277 ret(i) = a(i) * conj_b;
1278
1279 return ret;
1280}

References b, and libmesh_conj().

◆ outer_product() [3/3]

template<typename T , typename T2 >
TypeTensor< typename CompareTypes< T, T2 >::supertype > libMesh::outer_product ( const TypeVector< T > &  a,
const TypeVector< T2 > &  b 
)
inline

Definition at line 1504 of file type_tensor.h.

1505{
1507 for (unsigned int i=0; i<LIBMESH_DIM; i++)
1508 for (unsigned int j=0; j<LIBMESH_DIM; j++)
1509 ret(i,j) = a(i) * libmesh_conj(b(j));
1510
1511 return ret;
1512}
This class defines a tensor in LIBMESH_DIM dimensional space of type T.
Definition type_tensor.h:53

References b, and libmesh_conj().

Referenced by TypeTensorTest::testOuterProduct(), and TypeVectorTestBase< DerivedClass >::testScalarMult().

◆ perflog()

PerfLog libMesh::perflog ( "libMesh"  ,
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING true #else false #  endif 
)

◆ petsc_auto_fieldsplit()

void libMesh::petsc_auto_fieldsplit ( PC  my_pc,
const System sys 
)

Definition at line 52 of file petsc_auto_fieldsplit.C.

54{
55 std::string sys_prefix = "--solver_group_";
56
57 if (libMesh::on_command_line("--solver-system-names"))
58 {
59 sys_prefix = sys_prefix + sys.name() + "_";
60 }
61
62 std::map<std::string, std::vector<dof_id_type>> group_indices;
63
64 if (libMesh::on_command_line("--solver-variable-names"))
65 {
66 for (auto v : make_range(sys.n_vars()))
67 {
68 const std::string & var_name = sys.variable_name(v);
69
70 std::vector<dof_id_type> var_idx;
72 (var_idx, sys.get_mesh(), v);
73
74 std::string group_command = sys_prefix + var_name;
75
76 const std::string empty_string;
77
78 std::string group_name = libMesh::command_line_value
79 (group_command, empty_string);
80
81 if (group_name != empty_string)
82 {
83 std::vector<dof_id_type> & indices =
84 group_indices[group_name];
85 const bool prior_indices = !indices.empty();
86 indices.insert(indices.end(), var_idx.begin(),
87 var_idx.end());
88 if (prior_indices)
89 std::sort(indices.begin(), indices.end());
90 }
91 else
92 {
93 indices_to_fieldsplit (sys.comm(), var_idx, my_pc, var_name);
94 }
95 }
96 }
97
98 for (const auto & [field_name, indices] : group_indices)
99 indices_to_fieldsplit(sys.comm(), indices, my_pc, field_name);
100}
unsigned int n_vars
void local_variable_indices(T &idx, const MeshBase &mesh, unsigned int var_num) const
If T == dof_id_type, counts, if T == std::vector<dof_id_type>, fills an array of, those dof indices w...
Definition dof_map.C:1122
const std::string & name() const
Definition system.h:2385
const std::string & variable_name(const unsigned int i) const
Definition system.C:2679
const MeshBase & get_mesh() const
Definition system.h:2401
T command_line_value(const std::string &, T)
Definition libmesh.C:971

References libMesh::ParallelObject::comm(), command_line_value(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::DofMap::local_variable_indices(), make_range(), libMesh::System::n_vars(), libMesh::System::name(), on_command_line(), and libMesh::System::variable_name().

Referenced by libMesh::PetscLinearSolver< Number >::ksp(), and libMesh::PetscDiffSolver::setup_petsc_data().

◆ PetscFunctionReturn()

libMesh::PetscFunctionReturn ( LIBMESH_PETSC_SUCCESS  )

◆ pPR() [1/2]

template<typename T >
const PetscReal * libMesh::pPR ( const T *  ptr)

Definition at line 192 of file petsc_macro.h.

193{
194 return &(ptr->backend().value());
195}

◆ pPR() [2/2]

template<typename T >
PetscReal * libMesh::pPR ( T *  ptr)

Definition at line 186 of file petsc_macro.h.

187{
188 return &(ptr->backend().value());
189}

Referenced by libMesh::PetscNonlinearSolver< T >::solve().

◆ pPS() [1/2]

template<typename T >
const PetscScalar * libMesh::pPS ( const T *  ptr)

Definition at line 180 of file petsc_macro.h.

181{
182 return &(ptr->backend().value());
183}

◆ pPS() [2/2]

template<typename T >
PetscScalar * libMesh::pPS ( T *  ptr)

◆ print_helper() [1/8]

template<>
void libMesh::print_helper ( std::ostream &  os,
const char *  param 
)
inline

Definition at line 567 of file parameters.h.

568{
569 // Specialization so that we don't print out unprintable characters
570 os << static_cast<int>(*param);
571}

◆ print_helper() [2/8]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const P *  param 
)

Helper functions for printing scalar, vector, vector<vector> and vector<vector<vector>> types.

Called from Parameters::Parameter<T>::print(...).

Definition at line 560 of file parameters.h.

561{
562 os << *param;
563}

Referenced by libMesh::Parameters::Parameter< T >::print().

◆ print_helper() [3/8]

template<typename P1 , typename P2 , typename C , typename A >
void libMesh::print_helper ( std::ostream &  os,
const std::map< P1, P2, C, A > *  param 
)

Definition at line 610 of file parameters.h.

611{
612 os << '{';
613 std::size_t sz = param->size();
614 for (auto KV : *param)
615 {
616 os << '\'' << KV.first << "\' => \'" << KV.second << '\'';
617 if (--sz)
618 os << ", ";
619 }
620 os << '}';
621}

◆ print_helper() [4/8]

template<typename P , typename C , typename A >
void libMesh::print_helper ( std::ostream &  os,
const std::set< P, C, A > *  param 
)

Definition at line 625 of file parameters.h.

626{
627 for (const auto & p : *param)
628 os << p << " ";
629}

◆ print_helper() [5/8]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const std::vector< P > *  param 
)

Definition at line 583 of file parameters.h.

584{
585 for (const auto & p : *param)
586 os << p << " ";
587}

◆ print_helper() [6/8]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const std::vector< std::vector< P > > *  param 
)

Definition at line 591 of file parameters.h.

592{
593 for (const auto & pv : *param)
594 for (const auto & p : pv)
595 os << p << " ";
596}

◆ print_helper() [7/8]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const std::vector< std::vector< std::vector< P > > > *  param 
)

Definition at line 600 of file parameters.h.

601{
602 for (const auto & pvv : *param)
603 for (const auto & pv : pvv)
604 for (const auto & p : pv)
605 os << p << " ";
606}

◆ print_helper() [8/8]

template<>
void libMesh::print_helper ( std::ostream &  os,
const unsigned char *  param 
)
inline

Definition at line 575 of file parameters.h.

576{
577 // Specialization so that we don't print out unprintable characters
578 os << static_cast<int>(*param);
579}

◆ print_trace()

void libMesh::print_trace ( std::ostream &  out_stream = std::cerr)

Print a stack trace (for code compiled with gcc)

Definition at line 205 of file print_trace.C.

206{
207 // First try a GDB backtrace. They are better than what you get
208 // from calling backtrace() because you don't have to do any
209 // demangling, and they include line numbers! If the GDB backtrace
210 // fails, for example if your system does not have GDB, fall back to
211 // calling backtrace().
212 bool gdb_worked = false;
213
214 // Let the user disable GDB backtraces by configuring with
215 // --without-gdb-command or with a command line option.
216 if (
217#ifdef LIBMESH_GDB_COMMAND
218 !libMesh::on_command_line("--no-gdb-backtrace") ||
219#endif
221 gdb_worked = gdb_backtrace(out_stream);
222
223 // This part requires that your compiler at least supports
224 // backtraces. Demangling is also nice, but it will still run
225 // without it.
226#if defined(LIBMESH_HAVE_GLIBC_BACKTRACE)
227 if (!gdb_worked)
228 {
229 void * addresses[40];
230 char ** strings;
231
232 int size = backtrace(addresses, 40);
233 strings = backtrace_symbols(addresses, size);
234 out_stream << "Stack frames: " << size << std::endl;
235 for (int i = 0; i < size; i++)
236 out_stream << i << ": " << process_trace(strings[i]) << std::endl;
237 std::free(strings);
238 }
239#endif
240}

References on_command_line().

Referenced by libMesh::MacroFunctions::report_error(), and write_traceout().

◆ PS()

template<typename T >
PetscScalar libMesh::PS ( val)

◆ query_ghosting_functors()

void libMesh::query_ghosting_functors ( const MeshBase mesh,
processor_id_type  pid,
MeshBase::const_element_iterator  elem_it,
MeshBase::const_element_iterator  elem_end,
connected_elem_set_type connected_elements 
)

Definition at line 297 of file mesh_communication.C.

302{
303 for (auto & gf :
304 as_range(mesh.ghosting_functors_begin(),
305 mesh.ghosting_functors_end()))
306 {
307 GhostingFunctor::map_type elements_to_ghost;
308 libmesh_assert(gf);
309 (*gf)(elem_it, elem_end, pid, elements_to_ghost);
310
311 // We can ignore the CouplingMatrix in ->second, but we
312 // need to ghost all the elements in ->first.
313 for (auto & pr : elements_to_ghost)
314 {
315 const Elem * elem = pr.first;
317 libmesh_assert(mesh.elem_ptr(elem->id()) == elem);
318 connected_elements.insert(elem);
319 }
320 }
321
322 // The GhostingFunctors won't be telling us about the elements from
323 // pid; we need to add those ourselves.
324 for (; elem_it != elem_end; ++elem_it)
325 connected_elements.insert(*elem_it);
326}
dof_id_type id() const
Definition dof_object.h:819
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
What elements do we care about and what variables do we care about on each element?
virtual const Elem * elem_ptr(const dof_id_type i) const =0

References as_range(), libMesh::MeshBase::elem_ptr(), libMesh::MeshBase::ghosting_functors_begin(), libMesh::MeshBase::ghosting_functors_end(), libMesh::DofObject::id(), libmesh_assert(), mesh, and remote_elem.

Referenced by libMesh::MeshCommunication::delete_remote_elements(), and libMesh::CheckpointIO::write().

◆ rational_all_shape_derivs()

template<typename OutputShape >
void libMesh::rational_all_shape_derivs ( const Elem elem,
const FEType  underlying_fe_type,
const std::vector< Point > &  p,
std::vector< std::vector< OutputShape > > *  comps[3],
const bool  add_p_level 
)

Definition at line 1338 of file fe.C.

1343{
1344 const int my_dim = elem.dim();
1345
1346 std::vector<std::vector<Real>> shapes;
1347 std::vector<std::vector<std::vector<Real>>> derivs(my_dim);
1348
1349 rational_fe_weighted_shapes_derivs(&elem, underlying_fe_type,
1350 shapes, derivs, p, add_p_level);
1351
1352 std::vector<Real> shape_sums(p.size(), 0);
1353 std::vector<std::vector<Real>> shape_deriv_sums(my_dim);
1354 for (int d=0; d != my_dim; ++d)
1355 shape_deriv_sums[d].resize(p.size());
1356
1357 for (auto i : index_range(shapes))
1358 {
1359 libmesh_assert_equal_to ( p.size(), shapes[i].size() );
1360 for (auto j : index_range(p))
1361 shape_sums[j] += shapes[i][j];
1362
1363 for (int d=0; d != my_dim; ++d)
1364 for (auto j : index_range(p))
1365 shape_deriv_sums[d][j] += derivs[d][i][j];
1366 }
1367
1368 for (int d=0; d != my_dim; ++d)
1369 {
1370 auto & comps_d = *comps[d];
1371 libmesh_assert_equal_to(comps_d.size(), elem.n_nodes());
1372
1373 for (auto i : index_range(comps_d))
1374 {
1375 auto & comps_di = comps_d[i];
1376 auto & derivs_di = derivs[d][i];
1377
1378 for (auto j : index_range(comps_di))
1379 comps_di[j] = (shape_sums[j] * derivs_di[j] -
1380 shapes[i][j] * shape_deriv_sums[d][j]) /
1381 shape_sums[j] / shape_sums[j];
1382 }
1383 }
1384}
virtual unsigned short dim() const =0
void rational_fe_weighted_shapes_derivs(const Elem *elem, const FEType fe_type, std::vector< std::vector< Real > > &shapes, std::vector< std::vector< std::vector< Real > > > &derivs, const std::vector< Point > &p, const bool add_p_level)
Definition fe.C:1065

References libMesh::Elem::dim(), index_range(), libMesh::Elem::n_nodes(), and rational_fe_weighted_shapes_derivs().

Referenced by libMesh::FE< Dim, T >::all_shape_derivs().

◆ rational_all_shape_derivs< Real >()

template LIBMESH_EXPORT void libMesh::rational_all_shape_derivs< Real > ( const Elem elem,
const FEType  underlying_fe_type,
const std::vector< Point > &  p,
std::vector< std::vector< Real > > *  comps[3],
const bool  add_p_level 
)

◆ rational_all_shapes()

void libMesh::rational_all_shapes ( const Elem elem,
const FEType  underlying_fe_type,
const std::vector< Point > &  p,
std::vector< std::vector< Real > > &  v,
const bool  add_p_level 
)

Definition at line 1308 of file fe.C.

1313{
1314 std::vector<std::vector<Real>> shapes;
1315
1316 rational_fe_weighted_shapes(&elem, underlying_fe_type, shapes, p,
1317 add_p_level);
1318
1319 std::vector<Real> shape_sums(p.size(), 0);
1320
1321 for (auto i : index_range(v))
1322 {
1323 libmesh_assert_equal_to ( p.size(), shapes[i].size() );
1324 for (auto j : index_range(p))
1325 shape_sums[j] += shapes[i][j];
1326 }
1327
1328 for (auto i : index_range(v))
1329 {
1330 libmesh_assert_equal_to ( p.size(), v[i].size() );
1331 for (auto j : index_range(v[i]))
1332 v[i][j] = shapes[i][j] / shape_sums[j];
1333 }
1334}
void rational_fe_weighted_shapes(const Elem *elem, const FEType underlying_fe_type, std::vector< std::vector< Real > > &shapes, const std::vector< Point > &p, const bool add_p_level)
Helper functions for rational basis functions.
Definition fe.C:1027

References index_range(), and rational_fe_weighted_shapes().

Referenced by libMesh::FE< Dim, T >::all_shapes().

◆ rational_fe_shape()

Real libMesh::rational_fe_shape ( const Elem elem,
const FEType  underlying_fe_type,
const unsigned int  i,
const Point p,
const bool  add_p_level 
)

Definition at line 1119 of file fe.C.

1124{
1125 int extra_order = add_p_level * elem.p_level();
1126
1127 const unsigned int n_sf =
1128 FEInterface::n_shape_functions(underlying_fe_type, extra_order, &elem);
1129
1130 libmesh_assert_equal_to (n_sf, elem.n_nodes());
1131
1132 std::vector<Real> node_weights(n_sf);
1133
1134 const unsigned char datum_index = elem.mapping_data();
1135
1136 Real weighted_shape_i = 0, weighted_sum = 0;
1137
1138 for (unsigned int sf=0; sf<n_sf; sf++)
1139 {
1140 Real node_weight =
1141 elem.node_ref(sf).get_extra_datum<Real>(datum_index);
1142 Real weighted_shape = node_weight *
1143 FEInterface::shape(underlying_fe_type, extra_order, &elem, sf, p);
1144 weighted_sum += weighted_shape;
1145 if (sf == i)
1146 weighted_shape_i = weighted_shape;
1147 }
1148
1149 return weighted_shape_i / weighted_sum;
1150}
T get_extra_datum(const unsigned int index) const
Gets the value on this object of the extra datum associated with index, which should have been obtain...
unsigned char mapping_data() const
Definition elem.h:3153
const Node & node_ref(const unsigned int i) const
Definition elem.h:2538

References libMesh::DofObject::get_extra_datum(), libMesh::Elem::mapping_data(), libMesh::Elem::n_nodes(), libMesh::FEInterface::n_shape_functions(), libMesh::Elem::node_ref(), libMesh::Elem::p_level(), Real, and libMesh::FEInterface::shape().

Referenced by libMesh::FE< Dim, T >::shape().

◆ rational_fe_shape_deriv()

Real libMesh::rational_fe_shape_deriv ( const Elem elem,
const FEType  underlying_fe_type,
const unsigned int  i,
const unsigned int  j,
const Point p,
const bool  add_p_level 
)

Definition at line 1153 of file fe.C.

1159{
1160 libmesh_assert_less(j, elem.dim());
1161
1162 int extra_order = add_p_level * elem.p_level();
1163
1164 const unsigned int n_sf =
1165 FEInterface::n_shape_functions(underlying_fe_type, extra_order, &elem);
1166
1167 const unsigned int n_nodes = elem.n_nodes();
1168 libmesh_assert_equal_to (n_sf, n_nodes);
1169
1170 std::vector<Real> node_weights(n_nodes);
1171
1172 const unsigned char datum_index = elem.mapping_data();
1173 for (unsigned int n=0; n<n_nodes; n++)
1174 node_weights[n] =
1175 elem.node_ref(n).get_extra_datum<Real>(datum_index);
1176
1177 Real weighted_shape_i = 0, weighted_sum = 0,
1178 weighted_grad_i = 0, weighted_grad_sum = 0;
1179
1180 for (unsigned int sf=0; sf<n_sf; sf++)
1181 {
1182 Real weighted_shape = node_weights[sf] *
1183 FEInterface::shape(underlying_fe_type, extra_order, &elem, sf, p);
1184 Real weighted_grad = node_weights[sf] *
1185 FEInterface::shape_deriv(underlying_fe_type, extra_order, &elem, sf, j, p);
1186 weighted_sum += weighted_shape;
1187 weighted_grad_sum += weighted_grad;
1188 if (sf == i)
1189 {
1190 weighted_shape_i = weighted_shape;
1191 weighted_grad_i = weighted_grad;
1192 }
1193 }
1194
1195 return (weighted_sum * weighted_grad_i - weighted_shape_i * weighted_grad_sum) /
1196 weighted_sum / weighted_sum;
1197}

References libMesh::Elem::dim(), libMesh::DofObject::get_extra_datum(), libMesh::Elem::mapping_data(), libMesh::Elem::n_nodes(), n_nodes, libMesh::FEInterface::n_shape_functions(), libMesh::Elem::node_ref(), libMesh::Elem::p_level(), Real, libMesh::FEInterface::shape(), and libMesh::FEInterface::shape_deriv().

Referenced by libMesh::FE< Dim, T >::shape_deriv().

◆ rational_fe_shape_second_deriv()

Real libMesh::rational_fe_shape_second_deriv ( const Elem elem,
const FEType  underlying_fe_type,
const unsigned int  i,
const unsigned int  j,
const Point p,
const bool  add_p_level 
)

Definition at line 1202 of file fe.C.

1208{
1209 unsigned int j1, j2;
1210 switch (j)
1211 {
1212 case 0:
1213 // j = 0 ==> d^2 phi / dxi^2
1214 j1 = j2 = 0;
1215 break;
1216 case 1:
1217 // j = 1 ==> d^2 phi / dxi deta
1218 j1 = 0;
1219 j2 = 1;
1220 break;
1221 case 2:
1222 // j = 2 ==> d^2 phi / deta^2
1223 j1 = j2 = 1;
1224 break;
1225 case 3:
1226 // j = 3 ==> d^2 phi / dxi dzeta
1227 j1 = 0;
1228 j2 = 2;
1229 break;
1230 case 4:
1231 // j = 4 ==> d^2 phi / deta dzeta
1232 j1 = 1;
1233 j2 = 2;
1234 break;
1235 case 5:
1236 // j = 5 ==> d^2 phi / dzeta^2
1237 j1 = j2 = 2;
1238 break;
1239 default:
1240 libmesh_error();
1241 }
1242
1243 int extra_order = add_p_level * elem.p_level();
1244
1245 const unsigned int n_sf =
1246 FEInterface::n_shape_functions(underlying_fe_type, extra_order,
1247 &elem);
1248
1249 const unsigned int n_nodes = elem.n_nodes();
1250 libmesh_assert_equal_to (n_sf, n_nodes);
1251
1252 std::vector<Real> node_weights(n_nodes);
1253
1254 const unsigned char datum_index = elem.mapping_data();
1255 for (unsigned int n=0; n<n_nodes; n++)
1256 node_weights[n] =
1257 elem.node_ref(n).get_extra_datum<Real>(datum_index);
1258
1259 Real weighted_shape_i = 0, weighted_sum = 0,
1260 weighted_grada_i = 0, weighted_grada_sum = 0,
1261 weighted_gradb_i = 0, weighted_gradb_sum = 0,
1262 weighted_hess_i = 0, weighted_hess_sum = 0;
1263
1264 for (unsigned int sf=0; sf<n_sf; sf++)
1265 {
1266 Real weighted_shape = node_weights[sf] *
1267 FEInterface::shape(underlying_fe_type, extra_order, &elem, sf,
1268 p);
1269 Real weighted_grada = node_weights[sf] *
1270 FEInterface::shape_deriv(underlying_fe_type, extra_order,
1271 &elem, sf, j1, p);
1272 Real weighted_hess = node_weights[sf] *
1273 FEInterface::shape_second_deriv(underlying_fe_type,
1274 extra_order, &elem, sf, j, p);
1275 weighted_sum += weighted_shape;
1276 weighted_grada_sum += weighted_grada;
1277 Real weighted_gradb = weighted_grada;
1278 if (j1 != j2)
1279 {
1280 weighted_gradb = (j1 == j2) ? weighted_grada :
1281 node_weights[sf] *
1282 FEInterface::shape_deriv(underlying_fe_type, extra_order,
1283 &elem, sf, j2, p);
1284 weighted_grada_sum += weighted_grada;
1285 }
1286 weighted_hess_sum += weighted_hess;
1287 if (sf == i)
1288 {
1289 weighted_shape_i = weighted_shape;
1290 weighted_grada_i = weighted_grada;
1291 weighted_gradb_i = weighted_gradb;
1292 weighted_hess_i = weighted_hess;
1293 }
1294 }
1295
1296 if (j1 == j2)
1297 weighted_gradb_sum = weighted_grada_sum;
1298
1299 return (weighted_sum * weighted_hess_i - weighted_grada_i * weighted_gradb_sum -
1300 weighted_shape_i * weighted_hess_sum - weighted_gradb_i * weighted_grada_sum +
1301 2 * weighted_grada_sum * weighted_shape_i * weighted_gradb_sum / weighted_sum) /
1302 weighted_sum / weighted_sum;
1303}

References libMesh::DofObject::get_extra_datum(), libMesh::Elem::mapping_data(), libMesh::Elem::n_nodes(), n_nodes, libMesh::FEInterface::n_shape_functions(), libMesh::Elem::node_ref(), libMesh::Elem::p_level(), Real, libMesh::FEInterface::shape(), libMesh::FEInterface::shape_deriv(), and libMesh::FEInterface::shape_second_deriv().

Referenced by libMesh::FE< Dim, T >::shape_second_deriv().

◆ rational_fe_weighted_shapes()

void libMesh::rational_fe_weighted_shapes ( const Elem elem,
const FEType  underlying_fe_type,
std::vector< std::vector< Real > > &  shapes,
const std::vector< Point > &  p,
const bool  add_p_level 
)

Helper functions for rational basis functions.

Definition at line 1027 of file fe.C.

1032{
1033 const int extra_order = add_p_level * elem->p_level();
1034
1035 const int dim = elem->dim();
1036
1037 const unsigned int n_sf =
1038 FEInterface::n_shape_functions(underlying_fe_type, extra_order,
1039 elem);
1040
1041 libmesh_assert_equal_to (n_sf, elem->n_nodes());
1042
1043 std::vector<Real> node_weights(n_sf);
1044
1045 const unsigned char datum_index = elem->mapping_data();
1046 for (unsigned int n=0; n<n_sf; n++)
1047 node_weights[n] =
1048 elem->node_ref(n).get_extra_datum<Real>(datum_index);
1049
1050 const std::size_t n_p = p.size();
1051
1052 shapes.resize(n_sf);
1053 for (unsigned int i=0; i != n_sf; ++i)
1054 {
1055 auto & shapes_i = shapes[i];
1056 shapes_i.resize(n_p, 0);
1057 FEInterface::shapes(dim, underlying_fe_type, elem, i, p,
1058 shapes_i, add_p_level);
1059 for (auto & s : shapes_i)
1060 s *= node_weights[i];
1061 }
1062}

References dim, libMesh::Elem::dim(), libMesh::DofObject::get_extra_datum(), libMesh::Elem::mapping_data(), libMesh::Elem::n_nodes(), libMesh::FEInterface::n_shape_functions(), libMesh::Elem::node_ref(), libMesh::Elem::p_level(), Real, and libMesh::FEInterface::shapes().

Referenced by rational_all_shapes().

◆ rational_fe_weighted_shapes_derivs()

void libMesh::rational_fe_weighted_shapes_derivs ( const Elem elem,
const FEType  fe_type,
std::vector< std::vector< Real > > &  shapes,
std::vector< std::vector< std::vector< Real > > > &  derivs,
const std::vector< Point > &  p,
const bool  add_p_level 
)

Definition at line 1065 of file fe.C.

1071{
1072 const int extra_order = add_p_level * elem->p_level();
1073 const unsigned int dim = elem->dim();
1074
1075 const unsigned int n_sf =
1076 FEInterface::n_shape_functions(fe_type, extra_order, elem);
1077
1078 libmesh_assert_equal_to (n_sf, elem->n_nodes());
1079
1080 libmesh_assert_equal_to (dim, derivs.size());
1081 for (unsigned int d = 0; d != dim; ++d)
1082 derivs[d].resize(n_sf);
1083
1084 std::vector<Real> node_weights(n_sf);
1085
1086 const unsigned char datum_index = elem->mapping_data();
1087 for (unsigned int n=0; n<n_sf; n++)
1088 node_weights[n] =
1089 elem->node_ref(n).get_extra_datum<Real>(datum_index);
1090
1091 const std::size_t n_p = p.size();
1092
1093 shapes.resize(n_sf);
1094 for (unsigned int i=0; i != n_sf; ++i)
1095 shapes[i].resize(n_p, 0);
1096
1097 FEInterface::all_shapes(dim, fe_type, elem, p, shapes, add_p_level);
1098
1099 for (unsigned int i=0; i != n_sf; ++i)
1100 {
1101 auto & shapes_i = shapes[i];
1102
1103 for (auto & s : shapes_i)
1104 s *= node_weights[i];
1105
1106 for (unsigned int d = 0; d != dim; ++d)
1107 {
1108 auto & derivs_di = derivs[d][i];
1109 derivs_di.resize(n_p);
1110 FEInterface::shape_derivs(fe_type, elem, i, d, p,
1111 derivs_di, add_p_level);
1112 for (auto & dip : derivs_di)
1113 dip *= node_weights[i];
1114 }
1115 }
1116}

References libMesh::FEInterface::all_shapes(), dim, libMesh::Elem::dim(), libMesh::DofObject::get_extra_datum(), libMesh::Elem::mapping_data(), libMesh::Elem::n_nodes(), libMesh::FEInterface::n_shape_functions(), libMesh::Elem::node_ref(), libMesh::Elem::p_level(), Real, and libMesh::FEInterface::shape_derivs().

Referenced by rational_all_shape_derivs().

◆ RealTraits_true() [1/3]

libMesh::RealTraits_true ( double  )

◆ RealTraits_true() [2/3]

libMesh::RealTraits_true ( float  )

◆ RealTraits_true() [3/3]

libMesh::RealTraits_true ( long double  )

◆ reconnect_nodes()

void libMesh::reconnect_nodes ( connected_elem_set_type connected_elements,
connected_node_set_type connected_nodes 
)

Definition at line 352 of file mesh_communication.C.

354{
355 // We're done using the nodes list for element decisions; now
356 // let's reuse it for nodes of the elements we've decided on.
357 connected_nodes.clear();
358
359 // Use the newer API
360 connect_nodes(connected_elements, connected_nodes, connected_nodes,
361 connected_nodes);
362}

◆ REINIT_ERROR() [1/2]

libMesh::REINIT_ERROR ( ,
L2_RAVIART_THOMAS  ,
reinit   
)

Definition at line 103 of file fe_boundary.C.

103{ libmesh_error_msg("ERROR: Cannot reinit 1D L2_RAVIART_THOMAS elements!"); }

◆ REINIT_ERROR() [2/2]

libMesh::REINIT_ERROR ( ,
RAVIART_THOMAS  ,
reinit   
)

Definition at line 101 of file fe_boundary.C.

101{ libmesh_error_msg("ERROR: Cannot reinit 1D RAVIART_THOMAS elements!"); }

◆ relative_fuzzy_equals()

template<typename T , typename T2 >
bool libMesh::relative_fuzzy_equals ( const T &  var1,
const T2 &  var2,
const Real  tol = TOLERANCE * TOLERANCE 
)

Function to check whether two variables are equal within a relative tolerance.

Parameters
var1The first variable to be checked
var2The second variable to be checked
tolThe relative tolerance to be used
Returns
true if var1 and var2 are equal within relative tol

Definition at line 78 of file fuzzy_equals.h.

79{
81 var1,
82 var2,
83 tol * (MetaPhysicL::raw_value(l1_norm(var1)) + MetaPhysicL::raw_value(l1_norm(var2))));
84}
bool absolute_fuzzy_equals(const T &var1, const T2 &var2, const Real tol=TOLERANCE *TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.

References absolute_fuzzy_equals(), and l1_norm().

Referenced by libMesh::VariationalSmootherConstraint::constrain_node_to_line(), libMesh::VariationalSmootherSystem::get_target_elem(), libMesh::Tet14::has_affine_map(), main(), libMesh::TypeVector< T >::relative_fuzzy_equals(), TypeVectorTestBase< DerivedClass >::testEqualityBase(), TypeVectorTestBase< DerivedClass >::testInEqualityBase(), and MeshSmootherTest::testVariationalSmoother().

◆ restrict_int()

template<typename Tnew , typename Told >
Tnew libMesh::restrict_int ( Told  oldvar)
inline

restrict_int checks that the value of the castee is within the bounds which are exactly representable by the output type, even in optimized modes.

Use this cast when you suspect that the input may not succeed in correct code (e.g. when an input file is being read from a format that may allow wider integer types than the current libMesh configuration).

Definition at line 698 of file libmesh_common.h.

699{
700 if constexpr (!std::is_same_v<Tnew, Told>)
701 {
702 const Tnew returnval = static_cast<Tnew>(oldvar);
703
704 libmesh_error_msg_if (oldvar != static_cast<Told>(returnval),
705 "restrict_int failed: " << oldvar << " does not fit in type " << typeid(returnval).name());
706 }
707
708 return oldvar;
709}

◆ ScalarTraits_true() [1/12]

libMesh::ScalarTraits_true ( char  )

◆ ScalarTraits_true() [2/12]

libMesh::ScalarTraits_true ( double  )

◆ ScalarTraits_true() [3/12]

libMesh::ScalarTraits_true ( float  )

◆ ScalarTraits_true() [4/12]

libMesh::ScalarTraits_true ( int  )

◆ ScalarTraits_true() [5/12]

libMesh::ScalarTraits_true ( long double  )

◆ ScalarTraits_true() [6/12]

libMesh::ScalarTraits_true ( long  )

◆ ScalarTraits_true() [7/12]

libMesh::ScalarTraits_true ( Real  )

◆ ScalarTraits_true() [8/12]

libMesh::ScalarTraits_true ( short  )

◆ ScalarTraits_true() [9/12]

libMesh::ScalarTraits_true ( unsigned char  )

◆ ScalarTraits_true() [10/12]

libMesh::ScalarTraits_true ( unsigned int  )

◆ ScalarTraits_true() [11/12]

libMesh::ScalarTraits_true ( unsigned long  )

◆ ScalarTraits_true() [12/12]

libMesh::ScalarTraits_true ( unsigned short  )

◆ SIDEMAP_ERROR() [1/3]

libMesh::SIDEMAP_ERROR ( ,
L2_RAVIART_THOMAS  ,
side_map   
)

Definition at line 104 of file fe_boundary.C.

104{ libmesh_error_msg("ERROR: Cannot side_map 1D L2_RAVIART_THOMAS elements!"); }

◆ SIDEMAP_ERROR() [2/3]

libMesh::SIDEMAP_ERROR ( ,
NEDELEC_ONE  ,
side_map   
)

Definition at line 100 of file fe_boundary.C.

100{ libmesh_error_msg("ERROR: Cannot side_map 1D NEDELEC_ONE elements!"); }

◆ SIDEMAP_ERROR() [3/3]

libMesh::SIDEMAP_ERROR ( ,
RAVIART_THOMAS  ,
side_map   
)

Definition at line 102 of file fe_boundary.C.

102{ libmesh_error_msg("ERROR: Cannot side_map 1D RAVIART_THOMAS elements!"); }

◆ SIGN()

template<typename T >
T libMesh::SIGN ( a,
b 
)
inline

Definition at line 33 of file newton_solver.C.

34{
35 return b >= 0 ? std::abs(a) : -std::abs(a);
36}

References b.

Referenced by libMesh::NewtonSolver::line_search().

◆ solid_angle()

template<typename T >
T libMesh::solid_angle ( const TypeVector< T > &  v01,
const TypeVector< T > &  v02,
const TypeVector< T > &  v03 
)
inline

Definition at line 1054 of file type_vector.h.

1057{
1058 using std::atan;
1059
1060 const Real norm01 = v01.norm(),
1061 norm02 = v02.norm(),
1062 norm03 = v03.norm();
1063 const T tan_half_angle =
1064 triple_product(v01, v02, v03) /
1065 ((v01*v02)*norm03 + (v01*v03)*norm02 + (v02*v03)*norm01 +
1066 norm01*norm02*norm03);
1067
1068 return Real(2)*atan(tan_half_angle);
1069}
auto norm() const
T triple_product(const TypeVector< T > &a, const TypeVector< T > &b, const TypeVector< T > &c)

References libMesh::TypeVector< T >::norm(), Real, and triple_product().

Referenced by libMesh::C0Polyhedron::retriangulate(), and TypeVectorTestBase< DerivedClass >::testSolidAngle().

◆ split_mesh()

std::unique_ptr< CheckpointIO > libMesh::split_mesh ( MeshBase mesh,
processor_id_type  nsplits 
)

split_mesh takes the given initialized/opened mesh and partitions it into nsplits pieces or chunks.

It returns a CheckpointIO object that can be used to write the mesh chunks into individual files (e.g. by calling checkpoint_obj.write(out_file_name)) - the number of files is equal to the number of chunks. This function supports MPI parallelism and can be used with several MPI procs to speed up splitting.

Definition at line 141 of file checkpoint_io.C.

142{
143 // There is currently an issue with DofObjects not being properly
144 // reset if the mesh is not first repartitioned onto 1 processor
145 // *before* being repartitioned onto the desired number of
146 // processors. So, this is a workaround, but not a particularly
147 // onerous one.
148 mesh.partition(1);
149 mesh.partition(nsplits);
150
151 processor_id_type my_num_chunks = 0;
152 processor_id_type my_first_chunk = 0;
153 chunking(mesh.comm().size(), mesh.comm().rank(), nsplits, my_num_chunks, my_first_chunk);
154
155 auto cpr = std::make_unique<CheckpointIO>(mesh);
156 cpr->current_processor_ids().clear();
157 for (processor_id_type i = my_first_chunk; i < my_first_chunk + my_num_chunks; i++)
158 cpr->current_processor_ids().push_back(i);
159 cpr->current_n_processors() = nsplits;
160 cpr->parallel() = true;
161 return cpr;
162}
uint8_t processor_id_type
Definition id_types.h:104

References libMesh::ParallelObject::comm(), mesh, libMesh::MeshBase::partition(), libMesh::Parallel::Communicator::rank(), and libMesh::Parallel::Communicator::size().

Referenced by main().

◆ SUPERTYPE() [1/36]

libMesh::SUPERTYPE ( char  ,
double   
)

◆ SUPERTYPE() [2/36]

libMesh::SUPERTYPE ( char  ,
float   
)

◆ SUPERTYPE() [3/36]

libMesh::SUPERTYPE ( char  ,
int   
)

◆ SUPERTYPE() [4/36]

libMesh::SUPERTYPE ( char  ,
long double   
)

◆ SUPERTYPE() [5/36]

libMesh::SUPERTYPE ( char  ,
Real   
)

◆ SUPERTYPE() [6/36]

libMesh::SUPERTYPE ( char  ,
short   
)

◆ SUPERTYPE() [7/36]

libMesh::SUPERTYPE ( double  ,
long double   
)

◆ SUPERTYPE() [8/36]

libMesh::SUPERTYPE ( double  ,
Real   
)

◆ SUPERTYPE() [9/36]

libMesh::SUPERTYPE ( float  ,
double   
)

◆ SUPERTYPE() [10/36]

libMesh::SUPERTYPE ( float  ,
long double   
)

◆ SUPERTYPE() [11/36]

libMesh::SUPERTYPE ( float  ,
Real   
)

◆ SUPERTYPE() [12/36]

libMesh::SUPERTYPE ( int  ,
double   
)

◆ SUPERTYPE() [13/36]

libMesh::SUPERTYPE ( int  ,
float   
)

◆ SUPERTYPE() [14/36]

libMesh::SUPERTYPE ( int  ,
long double   
)

◆ SUPERTYPE() [15/36]

libMesh::SUPERTYPE ( int  ,
Real   
)

◆ SUPERTYPE() [16/36]

libMesh::SUPERTYPE ( long double  ,
Real   
)

◆ SUPERTYPE() [17/36]

libMesh::SUPERTYPE ( short  ,
double   
)

◆ SUPERTYPE() [18/36]

libMesh::SUPERTYPE ( short  ,
float   
)

◆ SUPERTYPE() [19/36]

libMesh::SUPERTYPE ( short  ,
int   
)

◆ SUPERTYPE() [20/36]

libMesh::SUPERTYPE ( short  ,
long double   
)

◆ SUPERTYPE() [21/36]

libMesh::SUPERTYPE ( short  ,
Real   
)

◆ SUPERTYPE() [22/36]

libMesh::SUPERTYPE ( unsigned char  ,
double   
)

◆ SUPERTYPE() [23/36]

libMesh::SUPERTYPE ( unsigned char  ,
float   
)

◆ SUPERTYPE() [24/36]

libMesh::SUPERTYPE ( unsigned char  ,
int   
)

◆ SUPERTYPE() [25/36]

libMesh::SUPERTYPE ( unsigned char  ,
long double   
)

◆ SUPERTYPE() [26/36]

libMesh::SUPERTYPE ( unsigned char  ,
Real   
)

◆ SUPERTYPE() [27/36]

libMesh::SUPERTYPE ( unsigned char  ,
short   
)

◆ SUPERTYPE() [28/36]

libMesh::SUPERTYPE ( unsigned int  ,
double   
)

◆ SUPERTYPE() [29/36]

libMesh::SUPERTYPE ( unsigned int  ,
float   
)

◆ SUPERTYPE() [30/36]

libMesh::SUPERTYPE ( unsigned int  ,
long double   
)

◆ SUPERTYPE() [31/36]

libMesh::SUPERTYPE ( unsigned int  ,
Real   
)

◆ SUPERTYPE() [32/36]

libMesh::SUPERTYPE ( unsigned short  ,
double   
)

◆ SUPERTYPE() [33/36]

libMesh::SUPERTYPE ( unsigned short  ,
float   
)

◆ SUPERTYPE() [34/36]

libMesh::SUPERTYPE ( unsigned short  ,
int   
)

◆ SUPERTYPE() [35/36]

libMesh::SUPERTYPE ( unsigned short  ,
long double   
)

◆ SUPERTYPE() [36/36]

libMesh::SUPERTYPE ( unsigned short  ,
Real   
)

◆ trace()

Real libMesh::trace ( const RealTensor A,
const unsigned int dim 
)

Compute the trace of a dim-dimensional matrix.

Definition at line 95 of file variational_smoother_system.C.

96{
97 Real tr = 0.0;
98 for (const auto i : make_range(dim))
99 tr += A(i, i);
100
101 return tr;
102}

References dim, make_range(), and Real.

Referenced by libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), and libMesh::VariationalSmootherSystem::element_time_derivative().

◆ triple_product()

template<typename T >
T libMesh::triple_product ( const TypeVector< T > &  a,
const TypeVector< T > &  b,
const TypeVector< T > &  c 
)
inline

◆ uninstall_thread_buffered_sync()

void libMesh::uninstall_thread_buffered_sync ( )

Definition at line 212 of file libmesh.C.

213{
214 if (_out_syncd_thread_buffer)
215 {
216 // flush any thread-local leftovers on this thread
217 libMesh::out << std::flush;
218 libMesh::out.rdbuf(_out_prewrap_buf);
220 _out_prewrap_buf = nullptr;
221 }
222 if (_err_syncd_thread_buffer)
223 {
224 libMesh::err << std::flush;
225 libMesh::err.rdbuf(_err_prewrap_buf);
226#ifdef PETSC_HAVE_UMPIRE
227 // Our libMesh::out and libMesh::err stream proxies are very thin wrappers around,
228 // by default, std::cout and std::cerr. So when other libraries or users access the
229 // rdbuf of those streams, then they directly access our thread sync'd custom stream
230 // buffer. Umpire doesn't use the rdbuf of std::cout, but they *do* use the rdbuf of
231 // std::cerr, which means they're using our thread sync'd stream buffer. Consequently,
232 // we must release umpire's reference to our buffer before we destroy it
233 umpire::util::finalize_io();
234#endif
235 _err_syncd_thread_buffer.reset();
236 _err_prewrap_buf = nullptr;
237 }
238}
std::streambuf * _out_prewrap_buf
Definition libmesh.C:177
std::unique_ptr< ThreadBufferedSyncbuf > _out_syncd_thread_buffer
Definition libmesh.C:175

References _err_prewrap_buf, _err_syncd_thread_buffer, _out_prewrap_buf, _out_syncd_thread_buffer, err, out, and libMesh::BasicOStreamProxy< charT, traits >::rdbuf().

Referenced by cleanup_stream_buffers().

◆ warned_about_auto_ptr()

bool libMesh::warned_about_auto_ptr ( false  )

◆ write_traceout()

void libMesh::write_traceout ( )

Writes a stack trace to a uniquely named file if –enable-tracefiles has been set by configure, otherwise does nothing.

Note
We append to the trace file rather than overwriting it. This allows multiple traces to be written to the same file.

Definition at line 245 of file print_trace.C.

246{
247#ifdef LIBMESH_ENABLE_TRACEFILES
248 std::stringstream outname;
249 outname << "traceout_" << static_cast<std::size_t>(libMesh::global_processor_id()) << '_' << getpid() << ".txt";
250 std::ofstream traceout(outname.str().c_str(), std::ofstream::app);
251 libMesh::print_trace(traceout);
252#endif
253}
processor_id_type global_processor_id()
void print_trace(std::ostream &out_stream=std::cerr)
Print a stack trace (for code compiled with gcc)

References global_processor_id(), and print_trace().

Referenced by libMesh::MacroFunctions::report_error().

◆ Xdr::data< std::complex< double > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::complex< double > > ( std::complex< double > &  ,
std::string_view   
)

◆ Xdr::data< std::complex< float > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::complex< float > > ( std::complex< float > &  ,
std::string_view   
)

◆ Xdr::data< std::complex< long double > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::complex< long double > > ( std::complex< long double > &  ,
std::string_view   
)

◆ Xdr::data< std::complex< Real > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::complex< Real > > ( std::complex< Real > &  ,
std::string_view   
)

◆ Xdr::data< std::string >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::string > ( std::string &  ,
std::string_view   
)

◆ Xdr::data< std::vector< char > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< char > > ( std::vector< char > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< double > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< double > > ( std::vector< double > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< float > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< float > > ( std::vector< float > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< int > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< int > > ( std::vector< int > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< long double > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< long double > > ( std::vector< long double > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< long int > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< long int > > ( std::vector< long int > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< long long > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< long long > > ( std::vector< long long > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< Real > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< Real > > ( std::vector< Real > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< short int > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< short int > > ( std::vector< short int > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< signed char > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< signed char > > ( std::vector< signed char > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< std::complex< double > > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< std::complex< double > > > ( std::vector< std::complex< double > > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< std::complex< float > > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< std::complex< float > > > ( std::vector< std::complex< float > > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< std::complex< long double > > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< std::complex< long double > > > ( std::vector< std::complex< long double > > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< std::complex< Real > > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< std::complex< Real > > > ( std::vector< std::complex< Real > > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< std::string > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< std::string > > ( std::vector< std::string > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< unsigned char > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< unsigned char > > ( std::vector< unsigned char > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< unsigned int > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< unsigned int > > ( std::vector< unsigned int > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< unsigned long int > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< unsigned long int > > ( std::vector< unsigned long int > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< unsigned long long > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< unsigned long long > > ( std::vector< unsigned long long > &  ,
std::string_view   
)

◆ Xdr::data< std::vector< unsigned short int > >()

template LIBMESH_EXPORT void libMesh::Xdr::data< std::vector< unsigned short int > > ( std::vector< unsigned short int > &  ,
std::string_view   
)

Variable Documentation

◆ _err_prewrap_buf

std::streambuf* libMesh::_err_prewrap_buf = nullptr

Definition at line 178 of file libmesh.C.

Referenced by install_thread_buffered_sync(), and uninstall_thread_buffered_sync().

◆ _err_syncd_thread_buffer

std::unique_ptr<ThreadBufferedSyncbuf> libMesh::_err_syncd_thread_buffer

Definition at line 176 of file libmesh.C.

Referenced by install_thread_buffered_sync(), and uninstall_thread_buffered_sync().

◆ _out_prewrap_buf

std::streambuf* libMesh::_out_prewrap_buf = nullptr

Definition at line 177 of file libmesh.C.

Referenced by install_thread_buffered_sync(), and uninstall_thread_buffered_sync().

◆ _out_syncd_thread_buffer

std::unique_ptr<ThreadBufferedSyncbuf> libMesh::_out_syncd_thread_buffer

Definition at line 175 of file libmesh.C.

Referenced by install_thread_buffered_sync(), and uninstall_thread_buffered_sync().

◆ always_false

template<class T >
constexpr std::false_type libMesh::always_false {}
constexpr

This is a helper variable template for cases when we want to use a default compile-time error with constexpr-based if conditions.

The templating delays the triggering of the static assertion until the template is instantiated.

Definition at line 718 of file libmesh_common.h.

718{};

◆ AztecLinearSolver< Number >

template class LIBMESH_EXPORT libMesh::AztecLinearSolver< Number >

Definition at line 282 of file trilinos_aztec_linear_solver.C.

◆ caching

const bool* libMesh::caching = nullptr
static

◆ caching_setup

libMesh::CachingSetup libMesh::caching_setup

◆ ctx

void* libMesh::ctx = nullptr

◆ cube_number_column

const unsigned char libMesh::cube_number_column

Definition at line 84 of file number_lookups.C.

84 {
85 0,
86
87 0, 1, 1,
88 0, 1, 1,
89 0,
90
91 0, 1, 2, 2, 2,
92 0, 1, 2, 2, 2,
93 0, 1, 2, 2, 2,
94 0, 1, 1,
95 0,
96
97 0, 1, 2, 3, 3, 3, 3,
98 0, 1, 2, 3, 3, 3, 3,
99 0, 1, 2, 3, 3, 3, 3,
100 0, 1, 2, 3, 3, 3, 3,
101 0, 1, 2, 2, 2,
102 0, 1, 1,
103 0,
104
105 0, 1, 2, 3, 4, 4, 4, 4, 4,
106 0, 1, 2, 3, 4, 4, 4, 4, 4,
107 0, 1, 2, 3, 4, 4, 4, 4, 4,
108 0, 1, 2, 3, 4, 4, 4, 4, 4,
109 0, 1, 2, 3, 4, 4, 4, 4, 4,
110 0, 1, 2, 3, 3, 3, 3,
111 0, 1, 2, 2, 2,
112 0, 1, 1,
113 0,
114
115 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
116 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
117 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
118 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
119 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
120 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
121 0, 1, 2, 3, 4, 4, 4, 4, 4,
122 0, 1, 2, 3, 3, 3, 3,
123 0, 1, 2, 2, 2,
124 0, 1, 1,
125 0,
126
127 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
128 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
129 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
130 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
131 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
132 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
133 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
134 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
135 0, 1, 2, 3, 4, 4, 4, 4, 4,
136 0, 1, 2, 3, 3, 3, 3,
137 0, 1, 2, 2, 2,
138 0, 1, 1,
139 0,
140
141 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
142 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
143 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
144 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
145 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
146 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
147 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
148 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
149 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
150 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
151 0, 1, 2, 3, 4, 4, 4, 4, 4,
152 0, 1, 2, 3, 3, 3, 3,
153 0, 1, 2, 2, 2,
154 0, 1, 1,
155 0,
156
157 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
158 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
159 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
160 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
161 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
162 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
163 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
164 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
165 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
166 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
167 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
168 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
169 0, 1, 2, 3, 4, 4, 4, 4, 4,
170 0, 1, 2, 3, 3, 3, 3,
171 0, 1, 2, 2, 2,
172 0, 1, 1,
173 0,
174
175 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
176 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
177 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
178 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
179 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
180 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
181 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
182 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
183 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
184 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
185 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
186 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
187 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
188 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
189 0, 1, 2, 3, 4, 4, 4, 4, 4,
190 0, 1, 2, 3, 3, 3, 3,
191 0, 1, 2, 2, 2,
192 0, 1, 1,
193 0
194};

◆ cube_number_page

const unsigned char libMesh::cube_number_page

Definition at line 308 of file number_lookups.C.

308 {
309 0,
310
311 0, 0, 0,
312 1, 1, 1,
313 1,
314
315 0, 0, 0, 0, 0,
316 1, 1, 1, 1, 1,
317 2, 2, 2, 2, 2,
318 2, 2, 2,
319 2,
320
321 0, 0, 0, 0, 0, 0, 0,
322 1, 1, 1, 1, 1, 1, 1,
323 2, 2, 2, 2, 2, 2, 2,
324 3, 3, 3, 3, 3, 3, 3,
325 3, 3, 3, 3, 3,
326 3, 3, 3,
327 3,
328
329 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 1, 1, 1, 1, 1, 1, 1, 1, 1,
331 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 3, 3, 3, 3, 3, 3, 3, 3, 3,
333 4, 4, 4, 4, 4, 4, 4, 4, 4,
334 4, 4, 4, 4, 4, 4, 4,
335 4, 4, 4, 4, 4,
336 4, 4, 4,
337 4,
338
339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
340 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
343 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
344 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
345 5, 5, 5, 5, 5, 5, 5, 5, 5,
346 5, 5, 5, 5, 5, 5, 5,
347 5, 5, 5, 5, 5,
348 5, 5, 5,
349 5,
350
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
355 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
356 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
357 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
358 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
359 6, 6, 6, 6, 6, 6, 6, 6, 6,
360 6, 6, 6, 6, 6, 6, 6,
361 6, 6, 6, 6, 6,
362 6, 6, 6,
363 6,
364
365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
367 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
368 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
369 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
370 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
371 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
372 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
373 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
374 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
375 7, 7, 7, 7, 7, 7, 7, 7, 7,
376 7, 7, 7, 7, 7, 7, 7,
377 7, 7, 7, 7, 7,
378 7, 7, 7,
379 7,
380
381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
383 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
384 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
385 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
386 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
387 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
388 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
389 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
390 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
391 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
392 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
393 8, 8, 8, 8, 8, 8, 8, 8, 8,
394 8, 8, 8, 8, 8, 8, 8,
395 8, 8, 8, 8, 8,
396 8, 8, 8,
397 8,
398
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
401 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
402 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
403 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
404 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
405 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
406 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
407 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
408 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
409 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
410 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
411 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
412 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
413 9, 9, 9, 9, 9, 9, 9, 9, 9,
414 9, 9, 9, 9, 9, 9, 9,
415 9, 9, 9, 9, 9,
416 9, 9, 9,
417 9
418};

◆ cube_number_row

const unsigned char libMesh::cube_number_row

Definition at line 196 of file number_lookups.C.

196 {
197 0,
198
199 1, 1, 0,
200 1, 1, 0,
201 0,
202
203 2, 2, 2, 1, 0,
204 2, 2, 2, 1, 0,
205 2, 2, 2, 1, 0,
206 1, 1, 0,
207 0,
208
209 3, 3, 3, 3, 2, 1, 0,
210 3, 3, 3, 3, 2, 1, 0,
211 3, 3, 3, 3, 2, 1, 0,
212 3, 3, 3, 3, 2, 1, 0,
213 2, 2, 2, 1, 0,
214 1, 1, 0,
215 0,
216
217 4, 4, 4, 4, 4, 3, 2, 1, 0,
218 4, 4, 4, 4, 4, 3, 2, 1, 0,
219 4, 4, 4, 4, 4, 3, 2, 1, 0,
220 4, 4, 4, 4, 4, 3, 2, 1, 0,
221 4, 4, 4, 4, 4, 3, 2, 1, 0,
222 3, 3, 3, 3, 2, 1, 0,
223 2, 2, 2, 1, 0,
224 1, 1, 0,
225 0,
226
227 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
228 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
229 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
230 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
231 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
232 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
233 4, 4, 4, 4, 4, 3, 2, 1, 0,
234 3, 3, 3, 3, 2, 1, 0,
235 2, 2, 2, 1, 0,
236 1, 1, 0,
237 0,
238
239 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
240 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
241 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
242 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
243 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
244 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
245 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
246 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
247 4, 4, 4, 4, 4, 3, 2, 1, 0,
248 3, 3, 3, 3, 2, 1, 0,
249 2, 2, 2, 1, 0,
250 1, 1, 0,
251 0,
252
253 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
254 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
255 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
256 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
257 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
258 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
259 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
260 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
261 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
262 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
263 4, 4, 4, 4, 4, 3, 2, 1, 0,
264 3, 3, 3, 3, 2, 1, 0,
265 2, 2, 2, 1, 0,
266 1, 1, 0,
267 0,
268
269 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
270 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
271 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
272 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
273 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
274 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
275 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
276 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
277 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
278 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
279 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
280 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
281 4, 4, 4, 4, 4, 3, 2, 1, 0,
282 3, 3, 3, 3, 2, 1, 0,
283 2, 2, 2, 1, 0,
284 1, 1, 0,
285 0,
286
287 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
288 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
289 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
290 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
291 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
292 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
293 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
294 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
295 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
296 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
297 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
298 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
299 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
300 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
301 4, 4, 4, 4, 4, 3, 2, 1, 0,
302 3, 3, 3, 3, 2, 1, 0,
303 2, 2, 2, 1, 0,
304 1, 1, 0,
305 0
306};

◆ DenseMatrix< Complex >

template class LIBMESH_EXPORT libMesh::DenseMatrix< Complex >

Definition at line 49 of file dense_matrix.C.

◆ DenseMatrix< Real >

template class LIBMESH_EXPORT libMesh::DenseMatrix< Real >

Definition at line 35 of file dense_matrix.C.

◆ DenseMatrixBase< Complex >

template class LIBMESH_EXPORT libMesh::DenseMatrixBase< Complex >

Definition at line 29 of file dense_matrix_base.C.

◆ DenseMatrixBase< Real >

template class LIBMESH_EXPORT libMesh::DenseMatrixBase< Real >

Definition at line 26 of file dense_matrix_base.C.

◆ DenseSubMatrix< Complex >

template class LIBMESH_EXPORT libMesh::DenseSubMatrix< Complex >

Definition at line 71 of file dense_submatrix.C.

◆ DenseSubMatrix< Real >

template class LIBMESH_EXPORT libMesh::DenseSubMatrix< Real >

Definition at line 68 of file dense_submatrix.C.

◆ DenseSubVector< Complex >

template class LIBMESH_EXPORT libMesh::DenseSubVector< Complex >

Definition at line 30 of file dense_subvector.C.

◆ DenseSubVector< Real >

template class LIBMESH_EXPORT libMesh::DenseSubVector< Real >

Definition at line 27 of file dense_subvector.C.

◆ DenseVector< Complex >

template class LIBMESH_EXPORT libMesh::DenseVector< Complex >

Definition at line 32 of file dense_vector.C.

◆ DenseVector< Real >

template class LIBMESH_EXPORT libMesh::DenseVector< Real >

Definition at line 29 of file dense_vector.C.

◆ DenseVectorBase< Complex >

template class LIBMESH_EXPORT libMesh::DenseVectorBase< Complex >

Definition at line 54 of file dense_vector_base.C.

◆ DenseVectorBase< Real >

template class LIBMESH_EXPORT libMesh::DenseVectorBase< Real >

Definition at line 51 of file dense_vector_base.C.

◆ DiagonalMatrix< Number >

template class LIBMESH_EXPORT libMesh::DiagonalMatrix< Number >

Definition at line 341 of file diagonal_matrix.C.

◆ DistributedVector< Number >

template class LIBMESH_EXPORT libMesh::DistributedVector< Number >

Definition at line 712 of file distributed_vector.C.

◆ EigenPreconditioner< Number >

template class LIBMESH_EXPORT libMesh::EigenPreconditioner< Number >

Definition at line 52 of file eigen_preconditioner.C.

◆ EigenSolver< Number >

template class LIBMESH_EXPORT libMesh::EigenSolver< Number >

Definition at line 106 of file eigen_solver.C.

◆ EigenSparseLinearSolver< Number >

template class LIBMESH_EXPORT libMesh::EigenSparseLinearSolver< Number >

Definition at line 437 of file eigen_sparse_linear_solver.C.

◆ EigenSparseMatrix< Number >

template class LIBMESH_EXPORT libMesh::EigenSparseMatrix< Number >

Definition at line 407 of file eigen_sparse_matrix.C.

◆ EigenSparseVector< Number >

template class LIBMESH_EXPORT libMesh::EigenSparseVector< Number >

Definition at line 527 of file eigen_sparse_vector.C.

◆ EpetraMatrix< Number >

template class LIBMESH_EXPORT libMesh::EpetraMatrix< Number >

Definition at line 605 of file trilinos_epetra_matrix.C.

◆ EpetraVector< Number >

template class LIBMESH_EXPORT libMesh::EpetraVector< Number >

Definition at line 927 of file trilinos_epetra_vector.C.

◆ err

OStreamProxy libMesh::err(std::cerr)

Referenced by libMesh::ExactSolution::_compute_error(), libMesh::QComposite< QSubCell >::add_subelem_values(), libMesh::LaspackLinearSolver< T >::adjoint_solve(), assemble_SchroedingerEquation(), libMesh::FEMSystem::assembly(), assert_argument(), assert_argument(), InfFERadialTest::base_point(), libMesh::Factory< Base >::build(), libMesh::Patch::build_around_element(), cast_ptr(), cast_ref(), libMesh::ExodusII_IO_Helper::check_existing_vars(), libMesh::MeshCommunication::check_for_duplicate_global_indices(), cleanup_stream_buffers(), libMesh::InfFE< Dim, T_radial, T_map >::compute_face_functions(), libMesh::FEMap::compute_single_point_map(), libMesh::Elem::contains_point(), libMesh::GMVIO::copy_nodal_solution(), libMesh::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::ParsedFunction< Output, OutputGradient >::eval(), libMesh::ParsedFEMFunction< Output >::eval(), libMesh::PerfLog::fast_pop(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::PetscLinearSolver< T >::get_converged_reason(), libMesh::PetscLinearSolver< T >::get_initial_residual(), libMesh::UNVIO::groups_in(), libMesh::ReferenceCounter::increment_constructor_count(), libMesh::ReferenceCounter::increment_destructor_count(), libMesh::PointLocatorTree::init(), libMesh::QJacobi::init_1D(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::EpetraVector< T >::inputNonlocalValues(), install_thread_buffered_sync(), libMesh::FEMap::inverse_map(), libMesh::FEInterface::inverse_map(), main(), libMesh::InfFE< Dim, T_radial, T_map >::nodal_soln(), libMesh::ErrorVector::plot_error(), libMesh::Elem::quality(), libMesh::Nemesis_IO::read(), libMesh::GMVIO::read(), FEMParameters::read(), libMesh::ExodusII_IO_Helper::read_elemental_var_values(), libMesh::PltLoader::read_header(), libMesh::GmshIO::read_mesh(), libMesh::ExodusII_IO_Helper::read_nodal_var_values(), libMesh::LaspackLinearSolver< T >::set_laspack_preconditioner_type(), libMesh::PetscPreconditioner< T >::set_petsc_preconditioner_type(), libMesh::PetscLinearSolver< T >::set_petsc_solver_type(), libMesh::SlepcEigenSolver< T >::set_slepc_problem_type(), libMesh::SlepcEigenSolver< T >::set_slepc_solver_type(), libMesh::AztecLinearSolver< T >::set_solver_type(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::EigenSparseLinearSolver< T >::solve(), libMesh::LaspackLinearSolver< T >::solve(), start_output(), StreamRedirector::StreamRedirector(), ConstraintOperatorTest::test1DCoarseningOperator(), uninstall_thread_buffered_sync(), libMesh::NameBasedIO::write(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::GMVIO::write_binary(), libMesh::TecplotIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::NameBasedIO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::GmshIO::write_post(), libMesh::LibMeshInit::~LibMeshInit(), and StreamRedirector::~StreamRedirector().

◆ ErrorVectorReal

DIE A HORRIBLE DEATH HERE typedef float libMesh::ErrorVectorReal

◆ example_one_factory

FactoryImp< ExampleOneFunction, FunctionBase< Number > > libMesh::example_one_factory ( "example_one"  )
private

◆ FEGenericBase< Real >

template class LIBMESH_EXPORT libMesh::FEGenericBase< Real >

Definition at line 2589 of file fe_base.C.

◆ FEGenericBase< RealGradient >

template class LIBMESH_EXPORT libMesh::FEGenericBase< RealGradient >

Definition at line 2590 of file fe_base.C.

◆ FETransformationBase< Real >

template class LIBMESH_EXPORT libMesh::FETransformationBase< Real >

Definition at line 80 of file fe_transformation_base.C.

◆ FETransformationBase< RealGradient >

template class LIBMESH_EXPORT libMesh::FETransformationBase< RealGradient >

Definition at line 81 of file fe_transformation_base.C.

◆ FEXYZ< 2 >

template class LIBMESH_EXPORT libMesh::FEXYZ< 2 >

Definition at line 236 of file fe_xyz_boundary.C.

◆ FEXYZ< 3 >

template class LIBMESH_EXPORT libMesh::FEXYZ< 3 >

Definition at line 237 of file fe_xyz_boundary.C.

◆ fields

PetscErrorCode PetscInt const PetscInt libMesh::fields[]

Definition at line 62 of file petsc_dm_wrapper.C.

Referenced by if().

◆ get_positive_vector

auto libMesh::get_positive_vector
Initial value:
= [](const Point & vec) -> Point {
libmesh_error_msg_if(vec.norm() < TOLERANCE,
"Can't define a positively-oriented vector with a zero vector.");
Point canonical{0, 0, 0};
for (const auto dim_id : make_range(3))
if (!absolute_fuzzy_equals(vec(dim_id), 0.))
{
canonical(dim_id) = 1.;
break;
}
const auto dot_prod = vec * canonical;
libmesh_assert(!absolute_fuzzy_equals(dot_prod, 0.));
return (dot_prod > 0) ? vec.unit() : -vec.unit();
}

Definition at line 27 of file variational_smoother_constraint.C.

27 {
28 libmesh_error_msg_if(vec.norm() < TOLERANCE,
29 "Can't define a positively-oriented vector with a zero vector.");
30
31 // Choose sign such that direction vector points in the positive x/y/z
32 // direction This helps to eliminate duplicate lines/planes
33 Point canonical{0, 0, 0};
34 // Choose the canonical dimension to ensure the dot product below is nonzero
35 for (const auto dim_id : make_range(3))
36 if (!absolute_fuzzy_equals(vec(dim_id), 0.))
37 {
38 canonical(dim_id) = 1.;
39 break;
40 }
41
42 const auto dot_prod = vec * canonical;
44
45 return (dot_prod > 0) ? vec.unit() : -vec.unit();
46};

◆ GLOBAL_COMM_WORLD

int libMesh::GLOBAL_COMM_WORLD = MPI_COMM_NULL

MPI Communicator used to initialize libMesh.

Something to use with CHKERRABORT if we're just using PETSc's MPI "uni" stub.

Definition at line 280 of file libmesh_common.h.

Referenced by libMesh::LibMeshInit::~LibMeshInit().

◆ H1FETransformation< Real >

template class LIBMESH_EXPORT libMesh::H1FETransformation< Real >

Definition at line 708 of file h1_fe_transformation.C.

◆ H1FETransformation< RealGradient >

template class LIBMESH_EXPORT libMesh::H1FETransformation< RealGradient >

Definition at line 709 of file h1_fe_transformation.C.

◆ HCurlFETransformation< RealGradient >

template class LIBMESH_EXPORT libMesh::HCurlFETransformation< RealGradient >

Definition at line 270 of file hcurl_fe_transformation.C.

◆ HDivFETransformation< RealGradient >

template class LIBMESH_EXPORT libMesh::HDivFETransformation< RealGradient >

Definition at line 194 of file hdiv_fe_transformation.C.

◆ imaginary

const Number libMesh::imaginary
extern

The imaginary unit, \( \sqrt{-1} \).

Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data().

◆ INSTANTIATE_SUBDIVISION_FE

libMesh::INSTANTIATE_SUBDIVISION_FE

Definition at line 1463 of file fe.C.

◆ INSTANTIATE_SUBDIVISION_MAPS

libMesh::INSTANTIATE_SUBDIVISION_MAPS

Definition at line 2031 of file fe_map.C.

◆ invalid_int

const int libMesh::invalid_int = std::numeric_limits<int>::max()

A number which is used quite often to represent an invalid or uninitialized value for an integer.

Definition at line 309 of file libmesh.h.

Referenced by libMesh::C0Polyhedron::subelement_sides_to_poly_sides(), AllTriTest::test_helper_c0polyhedron(), VolumeTest::testC0PolyhedronCube(), and VolumeTest::testC0PolyhedronHexagonalPrism().

◆ invalid_uint

const unsigned int libMesh::invalid_uint = static_cast<unsigned int>(-1)

A number which is used quite often to represent an invalid or uninitialized value for an unsigned integer.

Definition at line 303 of file libmesh.h.

Referenced by libMesh::Xdr::_complex_data_stream(), libMesh::FEMContext::_do_elem_position_set(), libMesh::DofMap::_dof_indices(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::MeshFunction::_gradient_on_elem(), libMesh::Xdr::_xfp_data_stream(), libMesh::BoundaryInfo::add_elements(), libMesh::MeshRefinement::add_node(), alternative_fe_assembly(), libMesh::Elem::as_parent_node(), assemble_temperature_jump(), libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFunction< Output >::attach_subfunction(), MeshBaseTest::BrokenNeighborMesh(), libMesh::MeshTools::SidesToElemMap::build(), libMesh::Elem::center_node_on_side(), libMesh::Prism18::center_node_on_side(), libMesh::Pyramid14::center_node_on_side(), libMesh::RemoteElem::center_node_on_side(), libMesh::CompositeFEMFunction< Output >::component(), libMesh::CompositeFunction< Output >::component(), libMesh::InfFE< Dim, T_radial, T_map >::compute_node_indices_fast(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_indices(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_indices(), libMesh::Xdr::data_stream(), libMesh::MeshFunction::discontinuous_value(), libMesh::DofMap::dof_indices(), libMesh::FEMContext::elem_position_get(), libMesh::DynaIO::ElementDefinition::ElementDefinition(), libMesh::FEMPhysics::eulerian_residual(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshBase::get_elem_integer_index(), libMesh::Elem::get_node_index(), libMesh::MeshBase::get_node_integer_index(), libMesh::FEAbstract::get_refspace_nodes(), libMesh::DofObject::has_dofs(), libMesh::MeshFunction::hessian(), libMesh::MeshTools::Generation::Private::idx(), libMesh::MeshTools::Generation::Private::idx(), libMesh::QBase::init(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::FEMap::inverse_map(), libMesh::DofMap::is_evaluable(), libMesh::Hex8::is_vertex(), libMesh::Prism6::is_vertex(), libMesh::Pyramid5::is_vertex(), libMesh::Tet4::is_vertex(), libMesh::Edge2::is_vertex(), libMesh::Quad4::is_vertex(), libMesh::Tri3::is_vertex(), libMesh::NodeElem::is_vertex(), libMesh::HDGProblem::jacobian(), libMesh::MeshTools::libmesh_assert_equal_n_systems(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::Elem::local_node(), libMesh::Elem::local_singular_node(), libMesh::Pyramid::local_singular_node(), main(), libMesh::FEMSystem::mesh_position_get(), libMesh::DofObject::n_dofs(), libMesh::PeriodicBoundaries::neighbor(), libMesh::FEMSystem::numerical_jacobian(), libMesh::DofMap::old_dof_indices(), libMesh::GhostPointNeighbors::operator()(), libMesh::MeshFunction::operator()(), libMesh::Polyhedron::opposite_node(), libMesh::Polyhedron::opposite_side(), libMesh::Prism::opposite_side(), libMesh::Elem::parent_bracketing_nodes(), libMesh::CheckpointIO::read_connectivity(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::StaticCondensationDofMap::reinit(), libMesh::HDGProblem::residual(), libMesh::C0Polyhedron::retriangulate(), libMesh::BoundaryInfo::side_boundary_ids(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::SparsityPattern::Build::sorted_connected_dofs(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::Polyhedron::subelement_coordinates(), libMesh::Polygon::subtriangle_coordinates(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), ElemTest< elem_type >::test_center_node_on_side(), ElemTest< elem_type >::test_contains_point_node(), ElemTest< elem_type >::test_flip(), ElemTest< elem_type >::test_n_refinements(), ElemTest< elem_type >::test_static_data(), VolumeTest::testC0PolyhedronMethods(), FETest< order, family, elem_type, CaseName >::testLoop(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::Node::valence(), libMesh::MeshTools::volume(), libMesh::Elem::which_child_am_i(), libMesh::Elem::which_neighbor_am_i(), libMesh::Elem::which_side_am_i(), libMesh::ExodusII_IO_Helper::write_elements(), and libMesh::System::write_serialized_blocked_dof_objects().

◆ InverseDistanceInterpolation< 1 >

template class LIBMESH_EXPORT libMesh::InverseDistanceInterpolation< 1 >

Definition at line 341 of file meshfree_interpolation.C.

◆ InverseDistanceInterpolation< 2 >

template class LIBMESH_EXPORT libMesh::InverseDistanceInterpolation< 2 >

Definition at line 342 of file meshfree_interpolation.C.

◆ InverseDistanceInterpolation< 3 >

template class LIBMESH_EXPORT libMesh::InverseDistanceInterpolation< 3 >

Definition at line 343 of file meshfree_interpolation.C.

◆ is

PetscErrorCode PetscInt const PetscInt IS* libMesh::is

◆ LaspackLinearSolver< Number >

template class LIBMESH_EXPORT libMesh::LaspackLinearSolver< Number >

Definition at line 552 of file laspack_linear_solver.C.

◆ LaspackMatrix< Number >

template class LIBMESH_EXPORT libMesh::LaspackMatrix< Number >

Definition at line 758 of file laspack_matrix.C.

◆ LaspackVector< Number >

template class LIBMESH_EXPORT libMesh::LaspackVector< Number >

Definition at line 531 of file laspack_vector.C.

◆ libmesh_dim

constexpr std::size_t libMesh::libmesh_dim = LIBMESH_DIM
staticconstexpr

Definition at line 720 of file libmesh_common.h.

Referenced by libMesh::TypeVector< T >::l1_norm().

◆ libmesh_errhandler

MPI_Errhandler libMesh::libmesh_errhandler

Definition at line 298 of file libmesh.C.

◆ LinearSolver< Number >

template class LIBMESH_EXPORT libMesh::LinearSolver< Number >

Definition at line 229 of file linear_solver.C.

◆ LocationMap< Elem >

template class LIBMESH_EXPORT libMesh::LocationMap< Elem >

Definition at line 203 of file location_maps.C.

◆ LocationMap< Node >

template class LIBMESH_EXPORT libMesh::LocationMap< Node >

Definition at line 204 of file location_maps.C.

◆ LumpedMassMatrix< Number >

template class LIBMESH_EXPORT libMesh::LumpedMassMatrix< Number >

Definition at line 111 of file lumped_mass_matrix.C.

◆ MeshOutput< DistributedMesh >

template class LIBMESH_EXPORT libMesh::MeshOutput< DistributedMesh >

Definition at line 182 of file mesh_output.C.

◆ MeshOutput< MeshBase >

template class LIBMESH_EXPORT libMesh::MeshOutput< MeshBase >

Definition at line 180 of file mesh_output.C.

◆ MeshOutput< UnstructuredMesh >

template class LIBMESH_EXPORT libMesh::MeshOutput< UnstructuredMesh >

Definition at line 181 of file mesh_output.C.

◆ MIN_ELEM_PER_PROC

const unsigned int libMesh::MIN_ELEM_PER_PROC = 4

◆ NloptOptimizationSolver< Number >

template class LIBMESH_EXPORT libMesh::NloptOptimizationSolver< Number >

Definition at line 453 of file nlopt_optimization_solver.C.

◆ NonlinearSolver< Number >

template class LIBMESH_EXPORT libMesh::NonlinearSolver< Number >

Definition at line 113 of file nonlinear_solver.C.

◆ NoxNonlinearSolver< Number >

template class LIBMESH_EXPORT libMesh::NoxNonlinearSolver< Number >

Definition at line 447 of file trilinos_nox_nonlinear_solver.C.

◆ NumericVector< Number >

template class LIBMESH_EXPORT libMesh::NumericVector< Number >

Definition at line 746 of file numeric_vector.C.

◆ numFields

PetscErrorCode PetscInt libMesh::numFields

Definition at line 62 of file petsc_dm_wrapper.C.

Referenced by if().

◆ OptimizationSolver< Number >

template class LIBMESH_EXPORT libMesh::OptimizationSolver< Number >

Definition at line 89 of file optimization_solver.C.

◆ out

OStreamProxy libMesh::out(std::cout)

Referenced by __libmesh_petsc_diff_solver_jacobian(), __libmesh_petsc_diff_solver_monitor(), __libmesh_petsc_diff_solver_residual(), libMesh::ParmetisPartitioner::_do_repartition(), add_matching_tests_to_runner(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::RBEIMConstruction::apply_normalization_to_solution_snapshots(), assemble(), libMesh::RBConstruction::assemble_all_affine_operators(), libMesh::RBConstruction::assemble_all_affine_vectors(), libMesh::RBConstruction::assemble_all_output_vectors(), assemble_and_solve(), assemble_ellipticdg(), libMesh::RBConstruction::assemble_misc_matrices(), libMesh::TransientRBConstruction::assemble_misc_matrices(), libMesh::FEMSystem::assembly(), Biharmonic::Biharmonic(), libMesh::Parallel::Sort< KeyType, IdxType >::bin(), libMesh::QBase::build(), build_adjoint_refinement_error_estimator(), build_domain(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), build_error_estimator(), build_error_estimator(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_side_list_from_node_list(), libMesh::DofMap::build_sparsity(), libMesh::RBParametrized::check_if_valid_params(), cleanup_stream_buffers(), libMesh::EquationSystems::compare(), libMesh::System::compare(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::RBSCMConstruction::compute_SCM_bounding_box(), libMesh::VariationalSmootherConstraint::constrain(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ContinuationSystem::continuation_solve(), libMesh::ExodusII_IO_Helper::create(), libMesh::UnstructuredMesh::create_pid_mesh(), create_random_point_cloud(), libMesh::DofObject::debug_buffer(), do_compare(), libMesh::UNVIO::elements_in(), libMesh::UNVIO::elements_out(), libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::RBSCMConstruction::enrich_C_J(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBSCMConstruction::evaluate_stability_constant(), exact_grad(), exact_value(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::Utility::get_timestamp(), libMesh::RBConstruction::greedy_termination_test(), libMesh::TransientRBConstruction::greedy_termination_test(), Biharmonic::init(), libMesh::AdvectionSystem::init_data(), Biharmonic::JR::initialize(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::RBConstructionBase< Base >::initialize_training_parameters(), install_thread_buffered_sync(), integrate_function(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libmesh_petsc_snes_monitor(), libMesh::NewtonSolver::line_search(), main(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::MeshInput< MT >::MeshInput(), libMesh::MeshOutput< MT >::MeshOutput(), libMesh::ExodusII_IO_Helper::message(), libMesh::ExodusII_IO_Helper::message(), libMesh::UNVIO::nodes_in(), libMesh::UNVIO::nodes_out(), libMesh::ExodusII_IO_Helper::open(), libMesh::PointLocatorTree::operator()(), Biharmonic::output(), output_norms(), libMesh::MetisPartitioner::partition_range(), libMesh::SFCPartitioner::partition_range(), libMesh::RBSCMConstruction::perform_SCM_greedy(), NavierSystem::postprocess(), libMesh::VariationalSmootherSystem::prepare_for_smoothing(), libMesh::DofMap::prepare_send_list(), libMesh::RBParameters::print(), libMesh::RBConstruction::print_basis_function_orthogonality(), libMesh::LinearSolver< T >::print_converged_reason(), libMesh::LaspackLinearSolver< T >::print_converged_reason(), libMesh::AztecLinearSolver< T >::print_converged_reason(), libMesh::NloptOptimizationSolver< T >::print_converged_reason(), libMesh::PetscNonlinearSolver< T >::print_converged_reason(), libMesh::TaoOptimizationSolver< T >::print_converged_reason(), libMesh::NewtonSolver::print_convergence(), libMesh::RBParametrized::print_discrete_parameter_values(), libMesh::DofObject::print_dof_info(), libMesh::ExodusII_IO_Helper::print_header(), print_help(), libMesh::ClawSystem::print_info(), libMesh::RBEIMConstruction::print_info(), libMesh::RBSCMConstruction::print_info(), libMesh::RBConstruction::print_info(), libMesh::TransientRBConstruction::print_info(), libMesh::AdvectionSystem::print_info(), libMesh::RBEIMEvaluation::print_local_eim_basis_functions(), libMesh::PerfLog::print_log(), libMesh::NumericVector< T >::print_matlab(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Hex::qual_bounds(), libMesh::Polyhedron::qual_bounds(), libMesh::Tet::qual_bounds(), libMesh::InfQuad::qual_bounds(), libMesh::Polygon::qual_bounds(), libMesh::Quad::qual_bounds(), libMesh::Tri::qual_bounds(), libMesh::TetGenIO::read(), libMesh::Nemesis_IO::read(), libMesh::PltLoader::read(), FEMParameters::read(), libMesh::PltLoader::read_data(), libMesh::ExodusII_IO_Helper::read_elem_in_block(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::PltLoader::read_header(), libMesh::System::read_header(), libMesh::UNVIO::read_implementation(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::ExodusII_IO_Helper::read_qa_records(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::AbaqusIO::read_sideset(), libMesh::ExodusII_IO_Helper::read_var_names_impl(), libMesh::System::reinit_constraints(), Biharmonic::run(), run_timestepping(), libMesh::TetGenWrapper::set_switches(), set_system_parameters(), libMesh::ContinuationSystem::set_Theta(), libMesh::ContinuationSystem::set_Theta_LOCA(), libMesh::EigenTimeSolver::solve(), libMesh::NewtonSolver::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::TwostepTimeSolver::solve(), libMesh::UnsteadySolver::solve(), libMesh::VariationalSmootherSystem::solve(), libMesh::EigenSparseLinearSolver< T >::solve(), libMesh::ClawSystem::solve_conservation_law(), libMesh::ContinuationSystem::solve_tangent(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::MacroFunctions::stop(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), MeshSmootherTest::testVariationalQuad4(), MeshSmootherTest::testVariationalTet4(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::RBConstruction::train_reduced_basis_with_greedy(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::DTKSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), uninstall_thread_buffered_sync(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::ContinuationSystem::update_solution(), libMesh::RBConstruction::update_system(), libMesh::TransientRBConstruction::update_system(), usage(), usage_error(), Biharmonic::viewParameters(), libMesh::XdrIO::write(), libMesh::Nemesis_IO::write_element_data(), libMesh::MeshOutput< MT >::write_equation_systems(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::GmshIO::write_post(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::Nemesis_IO_Helper::write_sidesets(), and libMesh::ExodusII_IO_Helper::write_var_names_impl().

◆ p_ctx

PetscDMContext* libMesh::p_ctx = static_cast<PetscDMContext * >(ctx)

Definition at line 77 of file petsc_dm_wrapper.C.

Referenced by if(), and libmesh_petsc_DMRefine().

◆ parent_bracketing_nodes_mutex

Threads::spin_mutex libMesh::parent_bracketing_nodes_mutex

Definition at line 98 of file elem.C.

Referenced by libMesh::Elem::parent_bracketing_nodes().

◆ parent_indices_mutex

Threads::spin_mutex libMesh::parent_indices_mutex

Definition at line 97 of file elem.C.

Referenced by libMesh::Elem::as_parent_node().

◆ perflog

PerfLog libMesh::perflog("libMesh", #ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING true #else false #endif)

A PerfLog object to log performance.

If the library is configured with --enable-perflog then it will log key functions.

Referenced by libMesh::Threads::DisablePerfLogInScope::DisablePerfLogInScope(), libMesh::LibMeshInit::perf_log(), libMesh::Threads::DisablePerfLogInScope::~DisablePerfLogInScope(), and libMesh::LibMeshInit::~LibMeshInit().

◆ PetscLinearSolver< Number >

template class LIBMESH_EXPORT libMesh::PetscLinearSolver< Number >

Definition at line 914 of file petsc_linear_solver.C.

◆ PetscMatrix< Number >

template class LIBMESH_EXPORT libMesh::PetscMatrix< Number >

Definition at line 1284 of file petsc_matrix.C.

◆ PetscMatrixBase< Number >

template class LIBMESH_EXPORT libMesh::PetscMatrixBase< Number >

Definition at line 254 of file petsc_matrix_base.C.

◆ PetscMatrixShellMatrix< Number >

template class LIBMESH_EXPORT libMesh::PetscMatrixShellMatrix< Number >

Definition at line 57 of file petsc_matrix_shell_matrix.C.

◆ PetscNonlinearSolver< Number >

template class LIBMESH_EXPORT libMesh::PetscNonlinearSolver< Number >

Definition at line 1198 of file petsc_nonlinear_solver.C.

◆ PetscPreconditioner< Number >

template class LIBMESH_EXPORT libMesh::PetscPreconditioner< Number >

Definition at line 540 of file petsc_preconditioner.C.

◆ PetscShellMatrix< Number >

template class LIBMESH_EXPORT libMesh::PetscShellMatrix< Number >

Definition at line 143 of file petsc_shell_matrix.C.

◆ PetscVector< Number >

template class LIBMESH_EXPORT libMesh::PetscVector< Number >

Definition at line 1341 of file petsc_vector.C.

◆ pi

const Real libMesh::pi = 3.1415926535897932384626433832795029_R

\( \pi=3.14159... \).

Definition at line 292 of file libmesh.h.

Referenced by add_M_C_K_helmholtz(), assemble_func(), assemble_poisson(), assemble_SchroedingerEquation(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), HeatSystem::element_time_derivative(), exact_derivative(), exact_derivative(), exact_solution(), exact_solution(), exact_solution(), exact_solution(), exact_solution(), libMesh::TensorValue< T >::extrinsic_rotation_matrix(), fill_dirichlet_bc(), NavierSystem::forcing(), libMesh::USoln::forcing(), libMesh::VSoln::forcing(), libMesh::PSoln::forcing(), forcing_function(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::GaussLobattoRedistributionFunction(), DivGradExactSolution::grad(), MixedExactSolution::grad(), DivGradExactSolution::grad(), MixedExactSolution::grad(), libMesh::C0Polygon::has_affine_map(), HeatSystem::HeatSystem(), libMesh::QNodal::init_2D(), integrate_function(), libMesh::TensorValue< T >::intrinsic_rotation_matrix(), libMesh::FESubdivision::loop_subdivision_mask(), main(), libMesh::Polygon::master_point(), libMesh::Tri3::min_and_max_angle(), libMesh::Polygon::on_reference_element(), libMesh::USoln::operator()(), libMesh::VSoln::operator()(), libMesh::PSoln::operator()(), DivGradExactSolution::operator()(), MixedExactSolution::operator()(), DivGradExactSolution::operator()(), MixedExactSolution::operator()(), LaplaceExactSolution::operator()(), LaplaceExactGradient::operator()(), libMesh::TriangulatorInterface::PolygonHole::point(), projection_function(), libMesh::Elem::quality(), libMesh::C0Polyhedron::retriangulate(), DivGradExactSolution::scalar(), MixedExactSolution::scalar(), DivGradExactSolution::scalar(), MixedExactSolution::scalar(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), libMesh::Sphere::surface_coords(), AllRBBTest::test_circle(), AllRBBTest::test_cylinder(), AllRBBTest::test_disk(), ElemTest< elem_type >::test_quality(), AllRBBTest::test_sphere(), DofObjectTest< DerivedClass >::testAddExtraData(), AllTriTest::testAllTriC0PolygonOctagon(), RationalMapTest< elem_type >::testContainsPoint(), XdrTest::testDataVec(), CouplingMatrixTest::testIteratorAPI(), VolumeTest::testQuad4AspectRatio(), VolumeTest::testQuad4Invertible(), VolumeTest::testQuad4Jacobian(), VolumeTest::testQuad4MinMaxAngle(), VolumeTest::testQuad4Warpage(), CouplingMatrixTest::testSimpleAPI(), TypeVectorTestBase< DerivedClass >::testSolidAngle(), MeshTriangulationTest::testTriangleHoleArea(), MeshTriangulationTest::testTriangleHoleContains(), and triangulate_domain().

◆ Preconditioner< Number >

template class LIBMESH_EXPORT libMesh::Preconditioner< Number >

Definition at line 86 of file preconditioner.C.

◆ prism_number_page

const unsigned char libMesh::prism_number_page

Definition at line 726 of file number_lookups.C.

726 {
727 0,
728 1,
729
730 0, 0,
731 1, 1,
732 2,
733 2, 2,
734
735 0, 0, 0,
736 1, 1, 1,
737 2, 2, 2,
738 3,
739 3, 3,
740 3, 3, 3,
741
742 0, 0, 0, 0,
743 1, 1, 1, 1,
744 2, 2, 2, 2,
745 3, 3, 3, 3,
746 4,
747 4, 4,
748 4, 4, 4,
749 4, 4, 4, 4,
750
751 0, 0, 0, 0, 0,
752 1, 1, 1, 1, 1,
753 2, 2, 2, 2, 2,
754 3, 3, 3, 3, 3,
755 4, 4, 4, 4, 4,
756 5,
757 5, 5,
758 5, 5, 5,
759 5, 5, 5, 5,
760 5, 5, 5, 5, 5,
761
762 0, 0, 0, 0, 0, 0,
763 1, 1, 1, 1, 1, 1,
764 2, 2, 2, 2, 2, 2,
765 3, 3, 3, 3, 3, 3,
766 4, 4, 4, 4, 4, 4,
767 5, 5, 5, 5, 5, 5,
768 6,
769 6, 6,
770 6, 6, 6,
771 6, 6, 6, 6,
772 6, 6, 6, 6, 6,
773 6, 6, 6, 6, 6, 6,
774
775 0, 0, 0, 0, 0, 0, 0,
776 1, 1, 1, 1, 1, 1, 1,
777 2, 2, 2, 2, 2, 2, 2,
778 3, 3, 3, 3, 3, 3, 3,
779 4, 4, 4, 4, 4, 4, 4,
780 5, 5, 5, 5, 5, 5, 5,
781 6, 6, 6, 6, 6, 6, 6,
782 7,
783 7, 7,
784 7, 7, 7,
785 7, 7, 7, 7,
786 7, 7, 7, 7, 7,
787 7, 7, 7, 7, 7, 7,
788 7, 7, 7, 7, 7, 7, 7,
789
790 0, 0, 0, 0, 0, 0, 0, 0,
791 1, 1, 1, 1, 1, 1, 1, 1,
792 2, 2, 2, 2, 2, 2, 2, 2,
793 3, 3, 3, 3, 3, 3, 3, 3,
794 4, 4, 4, 4, 4, 4, 4, 4,
795 5, 5, 5, 5, 5, 5, 5, 5,
796 6, 6, 6, 6, 6, 6, 6, 6,
797 7, 7, 7, 7, 7, 7, 7, 7,
798 8,
799 8, 8,
800 8, 8, 8,
801 8, 8, 8, 8,
802 8, 8, 8, 8, 8,
803 8, 8, 8, 8, 8, 8,
804 8, 8, 8, 8, 8, 8, 8,
805 8, 8, 8, 8, 8, 8, 8, 8,
806
807 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 1, 1, 1, 1, 1, 1, 1, 1, 1,
809 2, 2, 2, 2, 2, 2, 2, 2, 2,
810 3, 3, 3, 3, 3, 3, 3, 3, 3,
811 4, 4, 4, 4, 4, 4, 4, 4, 4,
812 5, 5, 5, 5, 5, 5, 5, 5, 5,
813 6, 6, 6, 6, 6, 6, 6, 6, 6,
814 7, 7, 7, 7, 7, 7, 7, 7, 7,
815 8, 8, 8, 8, 8, 8, 8, 8, 8,
816 9,
817 9, 9,
818 9, 9, 9,
819 9, 9, 9, 9,
820 9, 9, 9, 9, 9,
821 9, 9, 9, 9, 9, 9,
822 9, 9, 9, 9, 9, 9, 9,
823 9, 9, 9, 9, 9, 9, 9, 9,
824 9, 9, 9, 9, 9, 9, 9, 9, 9
825};

◆ prism_number_triangle

const unsigned char libMesh::prism_number_triangle

Definition at line 621 of file number_lookups.C.

621 {
622
623 0,
624 0,
625
626 1, 2,
627 1, 2,
628 0,
629 1, 2,
630
631 3, 4, 5,
632 3, 4, 5,
633 3, 4, 5,
634 0,
635 1, 2,
636 3, 4, 5,
637
638 6, 7, 8, 9,
639 6, 7, 8, 9,
640 6, 7, 8, 9,
641 6, 7, 8, 9,
642 0,
643 1, 2,
644 3, 4, 5,
645 6, 7, 8, 9,
646
647 10, 11, 12, 13, 14,
648 10, 11, 12, 13, 14,
649 10, 11, 12, 13, 14,
650 10, 11, 12, 13, 14,
651 10, 11, 12, 13, 14,
652 0,
653 1, 2,
654 3, 4, 5,
655 6, 7, 8, 9,
656 10, 11, 12, 13, 14,
657
658 15, 16, 17, 18, 19, 20,
659 15, 16, 17, 18, 19, 20,
660 15, 16, 17, 18, 19, 20,
661 15, 16, 17, 18, 19, 20,
662 15, 16, 17, 18, 19, 20,
663 15, 16, 17, 18, 19, 20,
664 15, 16, 17, 18, 19, 20,
665 0,
666 1, 2,
667 3, 4, 5,
668 6, 7, 8, 9,
669 10, 11, 12, 13, 14,
670 15, 16, 17, 18, 19, 20,
671
672 21, 22, 23, 24, 25, 26, 27,
673 21, 22, 23, 24, 25, 26, 27,
674 21, 22, 23, 24, 25, 26, 27,
675 21, 22, 23, 24, 25, 26, 27,
676 21, 22, 23, 24, 25, 26, 27,
677 21, 22, 23, 24, 25, 26, 27,
678 21, 22, 23, 24, 25, 26, 27,
679 21, 22, 23, 24, 25, 26, 27,
680 0,
681 1, 2,
682 3, 4, 5,
683 6, 7, 8, 9,
684 10, 11, 12, 13, 14,
685 15, 16, 17, 18, 19, 20,
686 21, 22, 23, 24, 25, 26, 27,
687
688 28, 29, 30, 31, 32, 33, 34, 35,
689 28, 29, 30, 31, 32, 33, 34, 35,
690 28, 29, 30, 31, 32, 33, 34, 35,
691 28, 29, 30, 31, 32, 33, 34, 35,
692 28, 29, 30, 31, 32, 33, 34, 35,
693 28, 29, 30, 31, 32, 33, 34, 35,
694 28, 29, 30, 31, 32, 33, 34, 35,
695 28, 29, 30, 31, 32, 33, 34, 35,
696 28, 29, 30, 31, 32, 33, 34, 35,
697 0,
698 1, 2,
699 3, 4, 5,
700 6, 7, 8, 9,
701 10, 11, 12, 13, 14,
702 15, 16, 17, 18, 19, 20,
703 21, 22, 23, 24, 25, 26, 27,
704 28, 29, 30, 31, 32, 33, 34, 35,
705
706 36, 37, 38, 39, 40, 41, 42, 43, 44,
707 36, 37, 38, 39, 40, 41, 42, 43, 44,
708 36, 37, 38, 39, 40, 41, 42, 43, 44,
709 36, 37, 38, 39, 40, 41, 42, 43, 44,
710 36, 37, 38, 39, 40, 41, 42, 43, 44,
711 36, 37, 38, 39, 40, 41, 42, 43, 44,
712 36, 37, 38, 39, 40, 41, 42, 43, 44,
713 36, 37, 38, 39, 40, 41, 42, 43, 44,
714 36, 37, 38, 39, 40, 41, 42, 43, 44,
715 0,
716 1, 2,
717 3, 4, 5,
718 6, 7, 8, 9,
719 10, 11, 12, 13, 14,
720 15, 16, 17, 18, 19, 20,
721 21, 22, 23, 24, 25, 26, 27,
722 28, 29, 30, 31, 32, 33, 34, 35,
723 36, 37, 38, 39, 40, 41, 42, 43, 44
724};

◆ QComposite< QGauss >

template class LIBMESH_EXPORT libMesh::QComposite< QGauss >

Definition at line 163 of file quadrature_composite.C.

◆ QComposite< QSimpson >

template class LIBMESH_EXPORT libMesh::QComposite< QSimpson >

Definition at line 165 of file quadrature_composite.C.

◆ QComposite< QTrap >

template class LIBMESH_EXPORT libMesh::QComposite< QTrap >

Definition at line 164 of file quadrature_composite.C.

◆ RadialBasisInterpolation< 3, WendlandRBF< 3, 0 > >

template class LIBMESH_EXPORT libMesh::RadialBasisInterpolation< 3, WendlandRBF< 3, 0 > >

Definition at line 220 of file radial_basis_interpolation.C.

◆ RadialBasisInterpolation< 3, WendlandRBF< 3, 2 > >

template class LIBMESH_EXPORT libMesh::RadialBasisInterpolation< 3, WendlandRBF< 3, 2 > >

Definition at line 221 of file radial_basis_interpolation.C.

◆ RadialBasisInterpolation< 3, WendlandRBF< 3, 4 > >

template class LIBMESH_EXPORT libMesh::RadialBasisInterpolation< 3, WendlandRBF< 3, 4 > >

Definition at line 222 of file radial_basis_interpolation.C.

◆ RadialBasisInterpolation< 3, WendlandRBF< 3, 8 > >

template class LIBMESH_EXPORT libMesh::RadialBasisInterpolation< 3, WendlandRBF< 3, 8 > >

Definition at line 223 of file radial_basis_interpolation.C.

◆ RBConstructionBase< CondensedEigenSystem >

template class LIBMESH_EXPORT libMesh::RBConstructionBase< CondensedEigenSystem >

Definition at line 789 of file rb_construction_base.C.

◆ RBConstructionBase< LinearImplicitSystem >

template class LIBMESH_EXPORT libMesh::RBConstructionBase< LinearImplicitSystem >

Definition at line 792 of file rb_construction_base.C.

◆ RBConstructionBase< System >

template class LIBMESH_EXPORT libMesh::RBConstructionBase< System >

Definition at line 793 of file rb_construction_base.C.

◆ Real

DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE libMesh::Real

Definition at line 144 of file libmesh_common.h.

Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::NewmarkSolver::_general_residual(), libMesh::DenseMatrix< Real >::_right_multiply_transpose(), libMesh::FEMContext::_update_time_from_system(), libMesh::Plane::above_surface(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), add_M_C_K_helmholtz(), libMesh::MeshRefinement::add_node(), libMesh::C0Polyhedron::add_tet(), adjoint_initial_grad(), adjoint_initial_value(), libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::TwostepTimeSolver::adjoint_solve(), libMesh::MeshTools::Modification::all_rbb(), libMesh::FE< Dim, T >::all_shape_derivs(), libMesh::DofMap::allgather_recursive_constraints(), alternative_fe_assembly(), libMesh::RBEIMConstruction::apply_normalization_to_solution_snapshots(), libMesh::ContinuationSystem::apply_predictor(), libMesh::Elem::as_parent_node(), assemble(), assemble(), assemble_biharmonic(), assemble_cd(), assemble_cd(), assemble_divgrad(), assemble_ellipticdg(), assemble_func(), assemble_graddiv(), assemble_helmholtz(), assemble_laplace(), assemble_poisson(), assemble_poisson(), assemble_poisson(), libMesh::ImplicitSystem::assemble_residual_derivatives(), assemble_SchroedingerEquation(), assemble_shell(), assemble_shell(), assemble_stokes(), assemble_wave(), assemble_wave(), libMesh::FEMSystem::assembly(), libMesh::VariationalSmootherSystem::assembly(), InfFERadialTest::base_point(), libMesh::DiscontinuityMeasure::boundary_side_integration(), libMesh::KellyErrorEstimator::boundary_side_integration(), libMesh::MeshTools::bounding_sphere(), Biharmonic::JR::bounds(), libMesh::TreeNode< N >::bounds_point(), libMesh::MeshTools::Generation::build_cube(), libMesh::MeshTools::Generation::build_delaunay_square(), DisjointNeighborTest::build_four_disjoint_elems(), libMesh::InfElemBuilder::build_inf_elem(), MixedDimensionNonUniformRefinement3D::build_mesh(), ExtraIntegersTest::build_mesh(), DisjointNeighborTest::build_split_mesh_with_interface(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::TriangulatorInterface::calculate_auto_desired_area_samples(), libMesh::TriangulatorInterface::Hole::calculate_inside_point(), libMesh::System::calculate_norm(), libMesh::System::calculate_norm(), libMesh::SystemNorm::calculate_norm(), NonlinearNeoHookeCurrentConfig::calculate_stress(), NonlinearNeoHookeCurrentConfig::calculate_tangent(), libMesh::Hex8::centroid_from_points(), libMesh::DofMap::check_for_constraint_loops(), libMesh::MeshTetInterface::check_hull_integrity(), libMesh::RBParametrized::check_if_valid_params(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), ExtraIntegersTest::checkpoint_helper(), libMesh::Tet::choose_diagonal(), libMesh::NewmarkSystem::clear(), libMesh::Elem::coarsen(), CopyNodesAndElementsTest::collectMeshes(), libMesh::FDMGradient< GradType >::component(), SolutionFunction< dim >::component(), SolutionGradient< dim >::component(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEMap::compute_edge_map(), compute_enriched_soln(), libMesh::InfFE< Dim, T_radial, T_map >::compute_face_functions(), libMesh::FEMap::compute_face_map(), compute_jacobian(), libMesh::RBEIMConstruction::compute_max_eim_error(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< OutputType >::compute_proj_constraints(), compute_residual(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_functions(), libMesh::FEMap::compute_single_point_map(), libMesh::SmoothnessEstimator::compute_slope(), LargeDeformationElasticity::compute_stresses(), LinearElasticityWithContact::compute_stresses(), libMesh::QConical::conical_product_pyramid(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), libMesh::BoundingBox::contains_point(), libMesh::BoundingBox::contains_point(), libMesh::Tri3::contains_point(), libMesh::InfHex::contains_point(), libMesh::InfPrism::contains_point(), libMesh::InfQuad4::contains_point(), libMesh::PlaneConstraint::contains_point(), libMesh::ContinuationSystem::continuation_solve(), libMesh::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO_Helper::create(), libMesh::TreeNode< N >::create_bounding_box(), create_random_point_cloud(), cubic_default_coupling_test(), cubic_point_neighbor_coupling_test(), cubic_test(), CurlCurlExactSolution::curl(), libMesh::StatisticsVector< ErrorVectorReal >::cut_above(), libMesh::ExodusII_IO_Helper::MappedOutputVector::data(), libMesh::ExodusII_IO_Helper::MappedInputVector::data(), designed_for_side_elems(), disc_thirds_test(), libMesh::System::discrete_var_norm(), libMesh::Sphere::distance(), libMesh::MeshTools::Modification::distort(), DivGradExactSolution::div(), MixedExactSolution::div(), DivGradExactSolution::div(), MixedExactSolution::div(), libMesh::QGauss::dunavant_rule(), libMesh::QGauss::dunavant_rule2(), LargeDeformationElasticity::elasticity_tensor(), LinearElasticityWithContact::elasticity_tensor(), ElasticitySystem::elasticity_tensor(), LinearElasticity::elasticity_tensor(), LaplaceSystem::element_postprocess(), PoissonSystem::element_postprocess(), LaplaceQoI::element_qoi(), LaplaceSystem::element_qoi_derivative(), LaplaceQoI::element_qoi_derivative(), PoissonSystem::element_time_derivative(), ElasticitySystem::element_time_derivative(), SigmaPhysics::element_time_derivative(), libMesh::VariationalSmootherSystem::element_time_derivative(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EquationSystems::EquationSystems(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), eval_elasticity_tensor(), libMesh::RBEvaluation::eval_output_dual_norm(), libMesh::RBSCMConstruction::evaluate_stability_constant(), exact_1D_derivative(), exact_1D_hessian(), exact_1D_solution(), exact_2D_derivative(), exact_2D_hessian(), exact_2D_solution(), exact_3D_derivative(), exact_3D_hessian(), exact_3D_solution(), exact_derivative(), exact_derivative(), exact_solution(), CurlCurlSystem::exact_solution(), exact_solution(), exact_solution(), exact_solution(), exact_solution(), exact_solution_u(), exact_solution_v(), exact_value(), fe_assembly(), fe_cubic_test(), fe_cubic_test_grad(), fe_quartic_test(), fe_quartic_test_grad(), fill_dirichlet_bc(), libMesh::MeshCommunication::find_global_indices(), libMesh::ElemCutter::find_intersection_points(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::TriangulatorInterface::Hole::find_ray_intersections(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::TriangulatorInterface::fixup_tri7_center_nodes(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), NavierSystem::forcing(), LaplaceSystem::forcing(), CurlCurlSystem::forcing(), CurlCurlExactSolution::forcing(), forcing_function(), forcing_function_2D(), forcing_function_3D(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::DofMap::gather_constraints(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::GaussLobattoRedistributionFunction(), libMesh::RBConstructionBase< Base >::generate_training_parameters_deterministic(), libMesh::RBConstructionBase< Base >::generate_training_parameters_random(), libMesh::RBParametrized::get_closest_value(), libMesh::RBEIMEvaluation::get_eim_error_indicator(), libMesh::RBEvaluation::get_error_bound_normalization(), libMesh::Elem::get_info(), libMesh::MeshBase::get_info(), libMesh::ParsedFEMFunction< Output >::get_inline_value(), libMesh::ParsedFunction< Output, OutputGradient >::get_inline_value(), LinearElasticityWithContact::get_least_and_max_gap_function(), libMesh::ImplicitSystem::get_linear_solve_parameters(), NonlinearNeoHookeCurrentConfig::get_linearized_stiffness(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::RBEIMConstruction::get_node_max_abs_value(), libMesh::PerfLog::get_perf_info(), libMesh::RBConstruction::get_RB_error_bound(), libMesh::FEAbstract::get_refspace_nodes(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::VariationalSmootherSystem::get_target_elem(), libMesh::NumericVector< T >::global_relative_compare(), libMesh::QGrundmann_Moller::gm_rule(), GradDivExactSolution::grad(), CurlCurlExactSolution::grad(), DivGradExactSolution::grad(), MixedExactSolution::grad(), CurlCurlExactSolution::grad(), DivGradExactSolution::grad(), MixedExactSolution::grad(), libMesh::RBConstruction::greedy_termination_test(), libMesh::C0Polygon::has_affine_map(), libMesh::Edge3::has_invertible_map(), libMesh::Edge4::has_invertible_map(), libMesh::Quad4::has_invertible_map(), HeatSystem::HeatSystem(), MeshInputTest::helperTestingDynaQuad(), libMesh::FEHermite< Dim >::hermite_raw_shape(), libMesh::FEHermite< Dim >::hermite_raw_shape_deriv(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::MeshTetInterface::improve_hull_integrity(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::FEComputeData::init(), libMesh::PointLocatorTree::init(), libMesh::QGauss::init_1D(), libMesh::QGaussLobatto::init_1D(), libMesh::QGrid::init_1D(), libMesh::QJacobi::init_1D(), libMesh::QNodal::init_1D(), libMesh::QSimpson::init_1D(), libMesh::QGauss::init_2D(), libMesh::QGrid::init_2D(), libMesh::QMonomial::init_2D(), libMesh::QNodal::init_2D(), libMesh::QSimpson::init_2D(), libMesh::QTrap::init_2D(), libMesh::QGauss::init_3D(), libMesh::QGrundmann_Moller::init_3D(), libMesh::QGrid::init_3D(), libMesh::QMonomial::init_3D(), libMesh::QNodal::init_3D(), libMesh::QSimpson::init_3D(), libMesh::QTrap::init_3D(), init_cd(), libMesh::FESubdivision::init_shape_functions(), initial_condition(), initial_grad(), initial_value(), Biharmonic::JR::InitialDensityBall(), Biharmonic::JR::InitialDensityRod(), Biharmonic::JR::InitialDensityStrip(), Biharmonic::JR::initialize(), initialize(), LinearElasticityWithContact::initialize_contact_load_paths(), libMesh::RBParametrized::initialize_parameters(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::RBConstructionBase< Base >::initialize_training_parameters(), libMesh::RBEIMConstruction::inner_product(), libMesh::TreeNode< N >::insert(), libMesh::NumericVector< Number >::insert(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::UnsteadySolver::integrate_adjoint_sensitivity(), integrate_function(), libMesh::DiscontinuityMeasure::internal_side_integration(), libMesh::LaplacianErrorEstimator::internal_side_integration(), libMesh::KellyErrorEstimator::internal_side_integration(), libMesh::InverseDistanceInterpolation< KDDim >::interpolate(), libMesh::InverseDistanceInterpolation< KDDim >::interpolate_field_data(), libMesh::RadialBasisInterpolation< KDDim, RBF >::interpolate_field_data(), libMesh::LineConstraint::intersect(), libMesh::PlaneConstraint::intersect(), libMesh::TensorValue< T >::intrinsic_rotation_matrix(), libMesh::InfFEMap::inverse_map(), libMesh::FEMap::inverse_map(), libMesh::Tet::is_child_on_side_helper(), libMesh::ElemCutter::is_cut(), libMesh::Polygon::is_flipped(), libMesh::RBParametrized::is_value_in_list(), LargeDeformationElasticity::jacobian(), libMesh::QGauss::keast_rule(), libMesh::LocationMap< T >::key(), libMesh::QMonomial::kim_rule(), libMesh::DenseSubVector< T >::l1_norm(), libMesh::DenseVector< T >::l1_norm(), libMesh::DistributedVector< T >::l1_norm(), libMesh::LaspackVector< T >::l1_norm(), libMesh::EpetraMatrix< T >::l1_norm(), libMesh::EpetraVector< T >::l1_norm(), libMesh::NumericVector< T >::l1_norm_diff(), libMesh::DenseSubVector< T >::l2_norm(), libMesh::DenseVector< T >::l2_norm(), libMesh::StatisticsVector< T >::l2_norm(), libMesh::DistributedVector< T >::l2_norm(), libMesh::LaspackVector< T >::l2_norm(), libMesh::EpetraVector< T >::l2_norm(), libMesh::NumericVector< T >::l2_norm_diff(), lagrange_nodal_soln(), libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::SmoothnessEstimator::legepoly(), LIBMESH_DEFAULT_VECTORIZED_FE(), LIBMESH_DEFAULT_VECTORIZED_FE(), LIBMESH_DEFAULT_VECTORIZED_FE(), LIBMESH_FE_SIDE_NODAL_SOLN(), LIBMESH_FE_SIDE_NODAL_SOLN(), LIBMESH_FE_SIDE_NODAL_SOLN(), line_print(), libMesh::NewtonSolver::line_search(), linear_test(), libMesh::DenseSubVector< T >::linfty_norm(), libMesh::DenseVector< T >::linfty_norm(), libMesh::DistributedVector< T >::linfty_norm(), libMesh::EigenSparseMatrix< T >::linfty_norm(), libMesh::LaspackMatrix< T >::linfty_norm(), libMesh::LaspackVector< T >::linfty_norm(), libMesh::EpetraMatrix< T >::linfty_norm(), libMesh::EpetraVector< T >::linfty_norm(), libMesh::RBDataDeserialization::load_rb_scm_evaluation_data(), NumericVectorTest< DerivedClass >::Localize(), libMesh::PetscVector< T >::localize_to_one(), NumericVectorTest< DerivedClass >::LocalizeIndices(), libMesh::PointLocatorBase::locate_node(), libMesh::FESubdivision::loop_subdivision_mask(), libMesh::Edge3::loose_bounding_box(), libMesh::Edge4::loose_bounding_box(), libMesh::Quad8::loose_bounding_box(), libMesh::Quad9::loose_bounding_box(), libMesh::Tri6::loose_bounding_box(), libMesh::Tri7::loose_bounding_box(), main(), libMesh::InfFEMap::map(), libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::HDivFETransformation< OutputShape >::map_phi(), libMesh::ExodusII_IO_Helper::MappedInputVector::MappedInputVector(), libMesh::ExodusII_IO_Helper::MappedOutputVector::MappedOutputVector(), ElasticitySystem::mass_residual(), libMesh::Edge2::master_point(), libMesh::Edge3::master_point(), libMesh::Edge4::master_point(), libMesh::Polygon::master_point(), libMesh::DenseSubVector< T >::max(), libMesh::DenseVector< T >::max(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::PetscVector< T >::max(), libMesh::DofMap::max_constraint_error(), libMesh::BoundingBox::max_size(), libMesh::StatisticsVector< ErrorVectorReal >::mean(), libMesh::StatisticsVector< T >::mean(), libMesh::ErrorVector::mean(), libMesh::StatisticsVector< ErrorVectorReal >::median(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::DenseSubVector< T >::min(), libMesh::DenseVector< T >::min(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), libMesh::PetscVector< T >::min(), libMesh::Tet4::min_and_max_angle(), libMesh::Tri3::min_and_max_angle(), new_linear_test(), libMesh::NewmarkSystem::NewmarkSystem(), libMesh::TetGenIO::node_in(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::UNVIO::nodes_out(), libMesh::VTKIO::nodes_to_vtk(), libMesh::NonlinearImplicitSystem::NonlinearImplicitSystem(), libMesh::PetscMatrix< T >::norm(), libMesh::PetscVector< T >::norm(), libMesh::TypeTensor< T >::norm_sq(), libMesh::StatisticsVector< T >::normalize(), NumericVectorTest< DerivedClass >::Norms(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMSystem::numerical_jacobian_h_for_var(), libMesh::FEAbstract::on_reference_element(), libMesh::Hex::on_reference_element(), libMesh::InfHex::on_reference_element(), libMesh::InfPrism::on_reference_element(), libMesh::Prism::on_reference_element(), libMesh::Pyramid::on_reference_element(), libMesh::Tet::on_reference_element(), libMesh::InfQuad::on_reference_element(), libMesh::Polygon::on_reference_element(), libMesh::Quad::on_reference_element(), libMesh::Tri::on_reference_element(), libMesh::Plane::on_surface(), libMesh::ExodusII_IO_Helper::open(), NumericVectorTest< DerivedClass >::Operations(), operator""_R(), operator""_R(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::FDMGradient< GradType >::operator()(), SlitFunc::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), SolutionGradient< dim >::operator()(), libMesh::GradientMeshFunction::operator()(), BdyFunction::operator()(), SolutionFunction< dim >::operator()(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::operator()(), GradDivExactSolution::operator()(), CurlCurlExactSolution::operator()(), DivGradExactSolution::operator()(), MixedExactSolution::operator()(), CurlCurlExactSolution::operator()(), DivGradExactSolution::operator()(), MixedExactSolution::operator()(), LaplaceExactSolution::operator()(), LaplaceExactGradient::operator()(), output_norms(), libMesh::Node::packed_size(), libMesh::Elem::parent_bracketing_nodes(), libMesh::ParsedFEMFunction< Output >::partial_reparse(), libMesh::ParsedFunction< Output, OutputGradient >::partial_reparse(), libMesh::StatisticsVector< T >::plot_histogram(), libMesh::TriangulatorInterface::PolygonHole::point(), libMesh::Elem::point_test(), libMesh::Polyhedron::Polyhedron(), libMesh::VariationalSmootherSystem::prepare_for_smoothing(), libMesh::RadialBasisInterpolation< KDDim, RBF >::prepare_for_use(), libMesh::HDGProblem::pressure_volume_residual(), libMesh::QBase::print_info(), libMesh::DofMap::process_constraints(), libMesh::ClawSystem::process_parameters_file(), libMesh::RBConstruction::process_parameters_file(), libMesh::RBEIMConstruction::process_parameters_file(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::AdvectionSystem::process_parameters_file(), libMesh::TransientRBConstruction::process_parameters_file(), libMesh::RBTemporalDiscretization::process_temporal_parameters_file(), libMesh::MeshTools::processor_bounding_sphere(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), quadratic_solution(), quadratic_test(), quadratic_test_grad(), libMesh::Elem::quality(), libMesh::Hex::quality(), libMesh::InfHex::quality(), libMesh::Quad::quality(), libMesh::Tri::quality(), libMesh::Face::quasicircumcenter(), rational_fe_shape(), rational_fe_shape_deriv(), rational_fe_shape_second_deriv(), rational_fe_weighted_shapes(), rational_fe_weighted_shapes_derivs(), rational_test(), rational_test_grad(), libMesh::RBEIMEvaluation::rb_eim_solves(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::ExodusII_IO::read(), FEMParameters::read(), libMesh::UNVIO::read_dataset(), libMesh::DynaIO::read_mesh(), libMesh::GmshIO::read_mesh(), libMesh::AbaqusIO::read_nodes(), libMesh::RBParametrized::read_parameter_ranges_from_file(), libMesh::MatlabIO::read_stream(), libMesh::OFFIO::read_stream(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::FESubdivision::regular_shape(), libMesh::FESubdivision::regular_shape_deriv(), libMesh::FESubdivision::regular_shape_second_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), LargeDeformationElasticity::residual(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::C0Polyhedron::retriangulate(), libMesh::C0Polygon::retriangulate(), libMesh::FileSolutionHistory::retrieve(), libMesh::MemorySolutionHistory::retrieve(), right_solution_fn(), Biharmonic::run(), TimeSolverTestImplementation< TimeSolverType >::run_test_with_exact_soln(), run_timestepping(), libMesh::HDGProblem::scalar_volume_residual(), libMesh::BoundingBox::scale(), libMesh::MeshTools::Modification::scale(), libMesh::QBase::scale(), libMesh::HPCoarsenTest::select_refinement(), libMesh::PetscPreconditioner< T >::set_hypre_ads_data(), libMesh::PetscPreconditioner< T >::set_hypre_ams_data(), libMesh::NewmarkSystem::set_newmark_parameters(), libMesh::FEMSystem::set_numerical_jacobian_h_for_var(), libMesh::RBEIMConstruction::set_rb_construction_parameters(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), AzimuthalPeriodicBoundary::set_up_rotation_matrix(), RationalMapTest< elem_type >::setUp(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), PerElemTest< elem_type >::setUp(), WriteVecAndScalar::setupTests(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::Poly2TriTriangulator::should_refine_elem(), libMesh::SimplexRefiner::should_refine_elem(), LaplaceSystem::side_constraint(), NavierSystem::side_constraint(), libMesh::RBEIMConstruction::side_inner_product(), LaplaceSystem::side_postprocess(), CoupledSystemQoI::side_qoi(), LaplaceSystem::side_qoi_derivative(), CoupledSystemQoI::side_qoi_derivative(), SolidSystem::side_time_derivative(), ElasticitySystem::side_time_derivative(), CurlCurlSystem::side_time_derivative(), libMesh::BoundingBox::signed_distance(), sin_x_plus_cos_y(), six_x_plus_sixty_y(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::MeshTools::Modification::smooth(), solid_angle(), libMesh::NewtonSolver::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::TwostepTimeSolver::solve(), libMesh::PetscNonlinearSolver< T >::solve(), libMesh::NoxNonlinearSolver< T >::solve(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), libMesh::System::solve_for_unconstrained_dofs(), libMesh::EigenSystem::solve_helper(), libMesh::ContinuationSystem::solve_tangent(), libMesh::PatchRecoveryErrorEstimator::specpoly(), libMesh::Sphere::Sphere(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::QMonomial::stroud_rule(), libMesh::MeshTools::subdomain_bounding_sphere(), libMesh::Polyhedron::subelement_coordinates(), libMesh::NumericVector< T >::subset_l1_norm(), libMesh::NumericVector< T >::subset_l2_norm(), libMesh::Polygon::subtriangle_coordinates(), NumericVectorTest< DerivedClass >::Subvectors(), libMesh::Sphere::surface_coords(), libMesh::MeshTools::Generation::surface_octahedron(), ConstraintOperatorTest::test1DCoarseningOperator(), QuadratureTest::test2DWeights(), SimplexRefinementTest::test3DTriRefinement(), QuadratureTest::test3DWeights(), ExtraIntegersTest::test_and_set_initial_data(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), AllRBBTest::test_box(), AllRBBTest::test_circle(), AllRBBTest::test_cylinder(), AllRBBTest::test_disk(), ExtraIntegersTest::test_final_integers(), AllTriTest::test_helper_c0polyhedron(), BBoxTest::test_no_degenerate(), BBoxTest::test_one_degenerate(), ProjectSolutionTest::test_partial_project_solution(), ElemTest< elem_type >::test_quality(), BBoxTest::test_signed_distance(), AllRBBTest::test_sphere(), MeshFunctionTest::test_subdomain_id_sets(), VolumeTest::test_true_centroid_and_volume(), BBoxTest::test_two_degenerate(), DofObjectTest< DerivedClass >::testAddExtraData(), ParallelPointTest::testAllGatherPairPointPoint(), ParallelPointTest::testAllGatherPairRealPoint(), ParallelPointTest::testAllGatherPoint(), AllTriTest::testAllTriC0PolygonOctagon(), RBParametersTest::testAppend(), SystemsTest::testBoundaryProjectCube(), ParallelPointTest::testBroadcastPoint(), MeshGenerationTest::testBuildCube(), MeshGenerationTest::testBuildLine(), MeshGenerationTest::testBuildSquare(), VolumeTest::testC0Polygon(), TypeVectorTestBase< DerivedClass >::testCircumcenter(), RationalMapTest< elem_type >::testContainsPoint(), ContainsPointTest::testContainsPointNodeElem(), ContainsPointTest::testContainsPointTet4(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), ConstraintOperatorTest::testCoreform(), FETest< order, family, elem_type, CaseName >::testCustomReinit(), XdrTest::testDataStream(), SystemsTest::testDofCouplingWithVarGroups(), PackingTypesTest::testDynamicEigenMatrix(), PackingTypesTest::testDynamicEigenVector(), MeshInputTest::testDynaReadPatch(), ConnectedComponentsTest::testEdge(), DualShapeTest::testEdge2Lagrange(), MeshTriangulationTest::testEdge3Mesh(), MeshTriangulationTest::testEdge3ToTri6Base(), VolumeTest::testEdge4Invertible(), VolumeTest::testElemVolume(), DenseMatrixTest::testEVDcomplex(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshTriangulationTest::testFoundCenters(), MeshTetTest::testHole(), InfFERadialTest::testInfQuants(), InfFERadialTest::testInfQuants_numericDeriv(), TypeTensorTest::testIsHPD(), RBParametersTest::testIterators(), RBParametersTest::testIteratorsWithSamples(), QuadratureTest::testJacobi(), MeshSmootherTest::testLaplaceSmoother(), PointLocatorTest::testLocator(), FETest< order, family, elem_type, CaseName >::testLoop(), MappedSubdomainPartitionerTest::testMappedSubdomainPartitioner(), ParallelPointTest::testMapUnionVec(), ParallelTest::testMaxlocReal(), ParallelTest::testMinlocReal(), QuadratureTest::testMonomialQuadrature(), MeshTetTest::testNetGenQuadratic(), MeshTetTest::testNetGenQuadraticCurved(), MeshTetTest::testNetGenTet14(), MeshTetTest::testNetGenTet14Curved(), QuadratureTest::testNodalQuadrature(), PackingTypesTest::testNonFixedScalar(), TypeVectorTestBase< DerivedClass >::testNorm(), TypeVectorTestBase< DerivedClass >::testNormBase(), TypeVectorTestBase< DerivedClass >::testNormSq(), TypeVectorTestBase< DerivedClass >::testNormSqBase(), RBParametersTest::testNSamples(), LumpedMassMatrixTest::testNumerics(), RBParametersTest::testOldConstructor(), FETest< order, family, elem_type, CaseName >::testPartitionOfUnity(), BoundaryMeshSubdomainTest::testPerBoundarySubdomain(), PeriodicBCTest::testPeriodicBC(), PetscVectorTest::testPetscOperations(), MeshTriangulationTest::testPoly2TriEdge3ToTri7CenterFixup(), MeshTriangulationTest::testPoly2TriHolesInterpRefined(), MeshTriangulationTest::testPoly2TriRefinementBase(), QuadratureTest::testPolynomial(), QuadratureTest::testPolynomials(), SystemsTest::testProjectCube(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), SystemsTest::testProjectLine(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), SystemsTest::testProjectSquare(), VolumeTest::testQuad4AspectRatio(), VolumeTest::testQuad4Invertible(), VolumeTest::testQuad4Jacobian(), VolumeTest::testQuad4MinMaxAngle(), VolumeTest::testQuad4TrueCentroid(), VolumeTest::testQuad4Warpage(), SimplexRefinementTest::testRefinement(), EquationSystemsTest::testRepartitionThenReinit(), TypeTensorTest::testRowCol(), RBParametersTest::testScalar(), TypeVectorTestBase< DerivedClass >::testScalarDiv(), TypeVectorTestBase< DerivedClass >::testScalarDivAssign(), TypeVectorTestBase< DerivedClass >::testScalarDivAssignBase(), TypeVectorTestBase< DerivedClass >::testScalarDivBase(), SystemsTest::testSetSystemParameterOverEquationSystem(), MeshInputTest::testSingleElementImpl(), TypeVectorTestBase< DerivedClass >::testSolidAngle(), WriteVecAndScalar::testSolution(), DenseMatrixTest::testSVD(), SlitMeshRefinedSystemTest::testSystem(), DisjointNeighborTest::testTempJump(), DisjointNeighborTest::testTempJumpRefine(), VolumeTest::testTet4DihedralAngle(), VolumeTest::testTet4Jacobian(), MeshInputTest::testTetgenIO(), QuadratureTest::testTetQuadrature(), MeshTetTest::testTetsToTets(), CompositeFunctionTest::testTimeDependence(), VolumeTest::testTri3AspectRatio(), VolumeTest::testTri3TrueCentroid(), MeshTriangulationTest::testTriangleHoleArea(), MeshTriangulationTest::testTriangleHoleContains(), MeshTriangulationTest::testTriangulatorBase(), MeshTriangulationTest::testTriangulatorHolePerturbed(), MeshTriangulationTest::testTriangulatorHoles(), MeshTriangulationTest::testTriangulatorHoleTangentPerturbed(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), MeshTetTest::testTrisToTets(), MeshTetTest::testTrisToTetsError(), VolumeTest::testTwistedVolume(), GetPotTest::testVariables(), MeshSmootherTest::testVariationalSmoother(), MeshSmootherTest::testVariationalSmootherRegression(), WriteElemsetData::testWriteImpl(), WriteNodesetData::testWriteImpl(), WriteSidesetData::testWriteImpl(), trace(), libMesh::RBEIMConstruction::train_eim_approximation_with_greedy(), libMesh::RBEIMConstruction::train_eim_approximation_with_POD(), libMesh::TransientRBConstruction::train_reduced_basis(), libMesh::RBConstruction::train_reduced_basis_with_greedy(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::TriangulatorInterface::AffineHole::transform(), transform_mesh_and_plot(), triangulate_domain(), libMesh::Elem::true_centroid(), libMesh::C0Polyhedron::true_centroid(), libMesh::Prism6::true_centroid(), libMesh::Edge2::true_centroid(), libMesh::C0Polygon::true_centroid(), libMesh::Quad4::true_centroid(), FETestBase< order, family, elem_type, build_nx, CaseName >::true_gradient(), FETestBase< order, family, elem_type, build_nx, CaseName >::true_hessian(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), libMesh::TypeVector< T >::unit(), libMesh::Parallel::Packing< Node * >::unpack(), LinearElasticityWithContact::update_lambdas(), libMesh::ContinuationSystem::update_solution(), libMesh::JacobiPolynomials::value(), libMesh::StatisticsVector< ErrorVectorReal >::variance(), libMesh::ErrorVector::variance(), libMesh::TriangulatorInterface::verify_quadratic_elements(), libMesh::Elem::vertex_average(), libMesh::Elem::volume(), libMesh::C0Polyhedron::volume(), libMesh::Hex20::volume(), libMesh::Hex27::volume(), libMesh::Prism15::volume(), libMesh::Prism18::volume(), libMesh::Pyramid13::volume(), libMesh::Pyramid14::volume(), libMesh::Tet10::volume(), libMesh::Edge3::volume(), libMesh::Edge4::volume(), libMesh::C0Polygon::volume(), libMesh::Quad4::volume(), libMesh::Quad8::volume(), libMesh::Quad9::volume(), libMesh::Tri6::volume(), libMesh::NodeElem::volume(), libMesh::MeshTools::volume(), libMesh::MeshTetInterface::volume_to_surface_mesh(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::ImplicitSystem::weighted_sensitivity_solve(), libMesh::QMonomial::wissmann_rule(), libMesh::Sphere::world_coords(), libMesh::PostscriptIO::write(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::RBParametrized::write_discrete_parameter_values_to_file(), libMesh::GmshIO::write_mesh(), libMesh::RBParametrized::write_parameter_ranges_to_file(), libMesh::GnuPlotIO::write_solution(), NumericVectorTest< DerivedClass >::WriteAndRead(), and libMesh::ExodusII_IO_Helper::MappedInputVector::~MappedInputVector().

◆ remote_elem

const RemoteElem * libMesh::remote_elem = nullptr

Definition at line 57 of file remote_elem.C.

Referenced by libMesh::Elem::add_child(), libMesh::Elem::add_child(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::Elem::ancestor(), libMesh::Elem::bracketing_nodes(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::Elem::coarsen(), libMesh::FEAbstract::compute_node_constraints(), connect_children(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::RemoteElem::create(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::TopologyMap::fill(), libMesh::Elem::find_edge_neighbors(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::Elem::find_point_neighbors(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshTools::Modification::flatten(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::inf_compute_node_constraints(), libMesh::Elem::interior_parent(), libMesh::Elem::interior_parent(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_node_pointers(), libMesh::MeshTools::libmesh_assert_valid_refinement_tree(), libMesh::MeshTools::libmesh_assert_valid_remote_elems(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Elem::make_links_to_me_local(), libMesh::Elem::make_links_to_me_remote(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::PeriodicBoundaries::neighbor(), libMesh::Elem::nullify_neighbors(), libMesh::DefaultCoupling::operator()(), libMesh::GhostPointNeighbors::operator()(), query_ghosting_functors(), libMesh::CheckpointIO::read_remote_elem(), libMesh::EquationSystems::redundant_added_side(), libMesh::Elem::refine(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::Elem::remove_links_to_me(), libMesh::Elem::set_interior_parent(), libMesh::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::MeshTetInterface::volume_to_surface_mesh(), libMesh::CheckpointIO::write_remote_elem(), and libMesh::RemoteElem::~RemoteElem().

◆ ShellMatrix< Number >

template class LIBMESH_EXPORT libMesh::ShellMatrix< Number >

Definition at line 52 of file shell_matrix.C.

◆ SlepcEigenSolver< Number >

template class LIBMESH_EXPORT libMesh::SlepcEigenSolver< Number >

Definition at line 860 of file slepc_eigen_solver.C.

◆ SparseMatrix< Number >

template class LIBMESH_EXPORT libMesh::SparseMatrix< Number >

Definition at line 1371 of file sparse_matrix.C.

◆ SparseShellMatrix< Number >

template class LIBMESH_EXPORT libMesh::SparseShellMatrix< Number >

Definition at line 46 of file sparse_shell_matrix.C.

◆ square_number_column

const unsigned char libMesh::square_number_column
Initial value:
= {
0,
0, 1, 1,
0, 1, 2, 2, 2,
0, 1, 2, 3, 3, 3, 3,
0, 1, 2, 3, 4, 4, 4, 4, 4,
0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
}

Definition at line 56 of file number_lookups.C.

56 {
57 0,
58 0, 1, 1,
59 0, 1, 2, 2, 2,
60 0, 1, 2, 3, 3, 3, 3,
61 0, 1, 2, 3, 4, 4, 4, 4, 4,
62 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5,
63 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6,
64 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7,
65 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
66 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
67};

◆ square_number_row

const unsigned char libMesh::square_number_row
Initial value:
= {
0,
1, 1, 0,
2, 2, 2, 1, 0,
3, 3, 3, 3, 2, 1, 0,
4, 4, 4, 4, 4, 3, 2, 1, 0,
5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
}

Definition at line 69 of file number_lookups.C.

69 {
70 0,
71 1, 1, 0,
72 2, 2, 2, 1, 0,
73 3, 3, 3, 3, 2, 1, 0,
74 4, 4, 4, 4, 4, 3, 2, 1, 0,
75 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 0,
76 6, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 0,
77 7, 7, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 0,
78 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 0,
79 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
80};

◆ StatisticsVector< double >

template class LIBMESH_EXPORT libMesh::StatisticsVector< double >

Definition at line 386 of file statistics.C.

◆ StatisticsVector< float >

template class LIBMESH_EXPORT libMesh::StatisticsVector< float >

Definition at line 385 of file statistics.C.

◆ StatisticsVector< int >

template class LIBMESH_EXPORT libMesh::StatisticsVector< int >

Definition at line 393 of file statistics.C.

◆ StatisticsVector< long double >

template class LIBMESH_EXPORT libMesh::StatisticsVector< long double >

Definition at line 388 of file statistics.C.

◆ StatisticsVector< Real >

template class LIBMESH_EXPORT libMesh::StatisticsVector< Real >

Definition at line 391 of file statistics.C.

◆ StatisticsVector< unsigned int >

template class LIBMESH_EXPORT libMesh::StatisticsVector< unsigned int >

Definition at line 394 of file statistics.C.

◆ subdm

PetscErrorCode PetscInt const PetscInt IS DM* libMesh::subdm
Initial value:
{
PetscFunctionBegin

Definition at line 62 of file petsc_dm_wrapper.C.

Referenced by if(), and libmesh_petsc_DMCoarsen().

◆ SumShellMatrix< Number >

template class LIBMESH_EXPORT libMesh::SumShellMatrix< Number >

Definition at line 91 of file sum_shell_matrix.C.

◆ TaoOptimizationSolver< Number >

template class LIBMESH_EXPORT libMesh::TaoOptimizationSolver< Number >

Definition at line 636 of file tao_optimization_solver.C.

◆ TensorShellMatrix< Number >

template class LIBMESH_EXPORT libMesh::TensorShellMatrix< Number >

Definition at line 55 of file tensor_shell_matrix.C.

◆ tetrahedral_number_column

const unsigned char libMesh::tetrahedral_number_column

Definition at line 421 of file number_lookups.C.

421 {
422 0,
423
424 0, 1,
425 0,
426
427 0, 1, 2,
428 0, 1,
429 0,
430
431 0, 1, 2, 3,
432 0, 1, 2,
433 0, 1,
434 0,
435
436 0, 1, 2, 3, 4,
437 0, 1, 2, 3,
438 0, 1, 2,
439 0, 1,
440 0,
441
442 0, 1, 2, 3, 4, 5,
443 0, 1, 2, 3, 4,
444 0, 1, 2, 3,
445 0, 1, 2,
446 0, 1,
447 0,
448
449 0, 1, 2, 3, 4, 5, 6,
450 0, 1, 2, 3, 4, 5,
451 0, 1, 2, 3, 4,
452 0, 1, 2, 3,
453 0, 1, 2,
454 0, 1,
455 0,
456
457 0, 1, 2, 3, 4, 5, 6, 7,
458 0, 1, 2, 3, 4, 5, 6,
459 0, 1, 2, 3, 4, 5,
460 0, 1, 2, 3, 4,
461 0, 1, 2, 3,
462 0, 1, 2,
463 0, 1,
464 0,
465
466 0, 1, 2, 3, 4, 5, 6, 7, 8,
467 0, 1, 2, 3, 4, 5, 6, 7,
468 0, 1, 2, 3, 4, 5, 6,
469 0, 1, 2, 3, 4, 5,
470 0, 1, 2, 3, 4,
471 0, 1, 2, 3,
472 0, 1, 2,
473 0, 1,
474 0,
475
476 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
477 0, 1, 2, 3, 4, 5, 6, 7, 8,
478 0, 1, 2, 3, 4, 5, 6, 7,
479 0, 1, 2, 3, 4, 5, 6,
480 0, 1, 2, 3, 4, 5,
481 0, 1, 2, 3, 4,
482 0, 1, 2, 3,
483 0, 1, 2,
484 0, 1,
485 0
486};

◆ tetrahedral_number_page

const unsigned char libMesh::tetrahedral_number_page

Definition at line 550 of file number_lookups.C.

550 {
551 0,
552
553 0, 0,
554 1,
555
556 0, 0, 0,
557 1, 1,
558 2,
559
560 0, 0, 0, 0,
561 1, 1, 1,
562 2, 2,
563 3,
564
565 0, 0, 0, 0, 0,
566 1, 1, 1, 1,
567 2, 2, 2,
568 3, 3,
569 4,
570
571 0, 0, 0, 0, 0, 0,
572 1, 1, 1, 1, 1,
573 2, 2, 2, 2,
574 3, 3, 3,
575 4, 4,
576 5,
577
578 0, 0, 0, 0, 0, 0, 0,
579 1, 1, 1, 1, 1, 1,
580 2, 2, 2, 2, 2,
581 3, 3, 3, 3,
582 4, 4, 4,
583 5, 5,
584 6,
585
586 0, 0, 0, 0, 0, 0, 0, 0,
587 1, 1, 1, 1, 1, 1, 1,
588 2, 2, 2, 2, 2, 2,
589 3, 3, 3, 3, 3,
590 4, 4, 4, 4,
591 5, 5, 5,
592 6, 6,
593 7,
594
595 0, 0, 0, 0, 0, 0, 0, 0, 0,
596 1, 1, 1, 1, 1, 1, 1, 1,
597 2, 2, 2, 2, 2, 2, 2,
598 3, 3, 3, 3, 3, 3,
599 4, 4, 4, 4, 4,
600 5, 5, 5, 5,
601 6, 6, 6,
602 7, 7,
603 8,
604
605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606 1, 1, 1, 1, 1, 1, 1, 1, 1,
607 2, 2, 2, 2, 2, 2, 2, 2,
608 3, 3, 3, 3, 3, 3, 3,
609 4, 4, 4, 4, 4, 4,
610 5, 5, 5, 5, 5,
611 6, 6, 6, 6,
612 7, 7, 7,
613 8, 8,
614 9
615};

◆ tetrahedral_number_row

const unsigned char libMesh::tetrahedral_number_row

Definition at line 488 of file number_lookups.C.

488 {
489 0,
490
491 1, 1,
492 1,
493
494 2, 2, 2,
495 2, 2,
496 2,
497
498 3, 3, 3, 3,
499 3, 3, 3,
500 3, 3,
501 3,
502
503 4, 4, 4, 4, 4,
504 4, 4, 4, 4,
505 4, 4, 4,
506 4, 4,
507 4,
508
509 5, 5, 5, 5, 5,
510 5, 5, 5, 5,
511 5, 5, 5,
512 5, 5,
513 5,
514
515 6, 6, 6, 6, 6, 6,
516 6, 6, 6, 6, 6,
517 6, 6, 6, 6,
518 6, 6, 6,
519 6, 6,
520 6,
521
522 7, 7, 7, 7, 7, 7, 7,
523 7, 7, 7, 7, 7, 7,
524 7, 7, 7, 7, 7,
525 7, 7, 7, 7,
526 7, 7, 7,
527 7, 7,
528 7,
529
530 8, 8, 8, 8, 8, 8, 8, 8,
531 8, 8, 8, 8, 8, 8, 8,
532 8, 8, 8, 8, 8, 8,
533 8, 8, 8, 8, 8,
534 8, 8, 8, 8,
535 8, 8, 8,
536 8, 8,
537 8,
538
539 9, 9, 9, 9, 9, 9, 9, 9, 9,
540 9, 9, 9, 9, 9, 9, 9, 9,
541 9, 9, 9, 9, 9, 9, 9,
542 9, 9, 9, 9, 9, 9,
543 9, 9, 9, 9, 9,
544 9, 9, 9, 9,
545 9, 9, 9,
546 9, 9,
547 9
548};

◆ TOLERANCE

static constexpr Real libMesh::TOLERANCE = 2.5e-3
staticconstexpr

Definition at line 151 of file libmesh_common.h.

Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::assemble_residual_derivatives(), assemble_wave(), InfFERadialTest::base_point(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshTetInterface::check_hull_integrity(), libMesh::RBParametrized::check_if_valid_params(), libMesh::FEGenericBase< OutputType >::coarsened_dof_values(), libMesh::VariationalSmootherSystem::compute_mesh_quality_info(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::FEGenericBase< OutputType >::compute_proj_constraints(), libMesh::RBSCMConstruction::compute_SCM_bounding_box(), libMesh::VariationalSmootherConstraint::constrain_node_to_plane(), libMesh::Elem::contains_point(), ContainsPointTest::containsPointTri3Helper(), libMesh::Polyhedron::convex(), libMesh::MeshBase::copy_constraint_rows(), designed_for_side_elems(), libMesh::VariationalSmootherConstraint::determine_constraint(), HeatSystem::element_qoi(), libMesh::EquationSystems::EquationSystems(), libMesh::RBSCMConstruction::evaluate_stability_constant(), fill_dirichlet_bc(), libMesh::TreeNode< N >::find_element(), libMesh::TreeNode< N >::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::SolutionHistory::find_stored_entry(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::VariationalSmootherSystem::get_target_elem(), NonlinearNeoHookeCurrentConfig::init_for_qp(), libMesh::RBEIMConstruction::initialize_qp_data(), libMesh::TreeNode< N >::insert(), libMesh::Poly2TriTriangulator::insert_refinement_points(), libMesh::Euler2Solver::integrate_adjoint_refinement_error_estimate(), libMesh::EulerSolver::integrate_adjoint_refinement_error_estimate(), libMesh::InfFEMap::inverse_map(), libMesh::LocationMap< T >::key(), NumericVectorTest< DerivedClass >::Localize(), NumericVectorTest< DerivedClass >::LocalizeIndices(), main(), AugmentSparsityOnInterface::mesh_reinit(), MeshFunctionTest::mixedScalarAndVectorVariables(), NumericVectorTest< DerivedClass >::Norms(), NumericVectorTest< DerivedClass >::Operations(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::operator()(), libMesh::TypeTensor< T >::operator==(), periodic_bc_test_poisson(), libMesh::Polyhedron::Polyhedron(), libMesh::VariationalSmootherSystem::prepare_for_smoothing(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::Quad::quality(), libMesh::GmshIO::read_mesh(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::C0Polyhedron::retriangulate(), libMesh::FileSolutionHistory::retrieve(), libMesh::MemorySolutionHistory::retrieve(), BoundaryMeshTest::sanityCheck(), FETestBase< order, family, elem_type, build_nx, CaseName >::setUp(), QuadratureTest::setUp(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::SimplexRefiner::should_refine_elem(), LaplaceSystem::side_constraint(), libMesh::Elem::side_vertex_average_normal(), libMesh::C0Polyhedron::side_vertex_average_normal(), libMesh::NewtonSolver::solve(), libMesh::UnstructuredMesh::stitching_helper(), libMesh::FileSolutionHistory::store(), libMesh::MemorySolutionHistory::store(), NumericVectorTest< DerivedClass >::Subvectors(), ConstraintOperatorTest::test1DCoarseningOperator(), SystemsTest::test2DProjectVectorFE(), QuadratureTest::test2DWeights(), SystemsTest::test3DProjectVectorFE(), QuadratureTest::test3DWeights(), MeshFunctionTest::test_bad_gradient_var_with_out_of_mesh_value(), MeshFunctionTest::test_bad_hessian_var_with_out_of_mesh_value(), AllRBBTest::test_box(), AllRBBTest::test_circle(), ElemTest< elem_type >::test_contains_point_node(), AllRBBTest::test_cylinder(), AllRBBTest::test_disk(), ElemTest< elem_type >::test_flip(), AllTriTest::test_helper(), AllTriTest::test_helper_c0polyhedron(), BBoxTest::test_no_degenerate(), BBoxTest::test_one_degenerate(), ElemTest< elem_type >::test_orient(), MeshFunctionTest::test_p_level(), ElemTest< elem_type >::test_permute(), ElemTest< elem_type >::test_quality(), BBoxTest::test_signed_distance(), AllRBBTest::test_sphere(), MeshFunctionTest::test_subdomain_id_sets(), VolumeTest::test_true_centroid_and_volume(), BBoxTest::test_two_degenerate(), AllTriTest::testAllTriC0PolygonOctagon(), MeshStitchTest::testAmbiguousRemappingStitch(), MeshStitchTest::testBoundaryInfo(), SystemsTest::testBoundaryProjectCube(), MeshGenerationTest::testBuildCube(), MeshGenerationTest::testBuildSquare(), SideVertexAverageNormalTest::testC0Polygon(), VolumeTest::testC0Polygon(), SideVertexAverageNormalTest::testC0Polyhedron(), TypeVectorTestBase< DerivedClass >::testCircumcenter(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), ConstraintOperatorTest::testCoreform(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), XdrTest::testDataStream(), XdrTest::testDataVec(), SystemsTest::testDofCouplingWithVarGroups(), MeshInputTest::testDynaReadPatch(), SideVertexAverageNormalTest::testEdge2(), DualShapeTest::testEdge2Lagrange(), SideVertexAverageNormalTest::testEdge3(), SideVertexAverageNormalTest::testEdge3PRefine(), VolumeTest::testEdge3Volume(), VolumeTest::testElemVolume(), DenseMatrixTest::testEVDcomplex(), DenseMatrixTest::testEVDreal(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshTriangulationTest::testFoundCenters(), PetscVectorTest::testGetArray(), ParsedFEMFunctionTest::testGradients(), ParsedFEMFunctionTest::testHessians(), VolumeTest::testHex20PLevelTrueCentroid(), SideVertexAverageNormalTest::testHexes(), InfFERadialTest::testInfQuants(), InfFERadialTest::testInfQuants_numericDeriv(), ParsedFEMFunctionTest::testInlineGetter(), ParsedFunctionTest::testInlineGetter(), ParsedFEMFunctionTest::testInlineSetter(), ParsedFunctionTest::testInlineSetter(), MeshSmootherTest::testLaplaceSmoother(), PointLocatorTest::testLocator(), MeshInputTest::testMasterCenters(), MeshStitchTest::testMeshStitchElemsets(), MeshTetTest::testNetGenQuadratic(), MeshTetTest::testNetGenQuadraticCurved(), MeshTetTest::testNetGenTet14(), MeshTetTest::testNetGenTet14Curved(), QuadratureTest::testNodalQuadrature(), TypeVectorTestBase< DerivedClass >::testNorm(), ParsedFEMFunctionTest::testNormals(), TypeVectorTestBase< DerivedClass >::testNormBase(), TypeVectorTestBase< DerivedClass >::testNormSq(), TypeVectorTestBase< DerivedClass >::testNormSqBase(), DenseMatrixTest::testOuterProduct(), TypeTensorTest::testOuterProduct(), FETest< order, family, elem_type, CaseName >::testPartitionOfUnity(), PeriodicBCTest::testPeriodicBC(), PetscMatrixTest::testPetscBinaryRead(), PetscMatrixTest::testPetscBinaryWrite(), PetscMatrixTest::testPetscHDF5Write(), PetscVectorTest::testPetscOperations(), MeshTriangulationTest::testPoly2TriEdge3ToTri7CenterFixup(), MeshTriangulationTest::testPoly2TriRefinementBase(), SideVertexAverageNormalTest::testPrisms(), SystemsTest::testProjectCubeWithMeshFunction(), MeshInputTest::testProjectionRegression(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), SystemsTest::testProjectScalarCoarsening(), VolumeTest::testPyramid5TrueCentroid(), SideVertexAverageNormalTest::testPyramids(), VolumeTest::testQuad4AspectRatio(), VolumeTest::testQuad4Jacobian(), VolumeTest::testQuad4MinMaxAngle(), VolumeTest::testQuad4TrueCentroid(), VolumeTest::testQuad4Warpage(), SideVertexAverageNormalTest::testQuads(), InfFERadialTest::testRefinement(), SimplexRefinementTest::testRefinement(), MeshStitchTest::testRemappingStitch(), EquationSystemsTest::testRepartitionThenReinit(), SlitMeshRefinedSystemTest::testRestart(), TypeTensorTest::testRotation(), TypeTensorTest::testRowCol(), TypeVectorTestBase< DerivedClass >::testScalarDiv(), TypeVectorTestBase< DerivedClass >::testScalarDivAssign(), TypeVectorTestBase< DerivedClass >::testScalarDivAssignBase(), TypeVectorTestBase< DerivedClass >::testScalarDivBase(), TypeVectorTestBase< DerivedClass >::testScalarInit(), TypeVectorTestBase< DerivedClass >::testScalarMult(), TypeVectorTestBase< DerivedClass >::testScalarMultAssign(), TypeVectorTestBase< DerivedClass >::testScalarMultAssignBase(), TypeVectorTestBase< DerivedClass >::testScalarMultBase(), InfFERadialTest::testSides(), InfFERadialTest::testSingleOrder(), TypeVectorTestBase< DerivedClass >::testSolidAngle(), MixedOrderTest::testStitch(), DenseMatrixTest::testSVD(), SlitMeshRefinedSystemTest::testSystem(), VolumeTest::testTet4DihedralAngle(), VolumeTest::testTet4Jacobian(), MeshInputTest::testTetgenIO(), MeshTetTest::testTetInterfaceBase(), QuadratureTest::testTetQuadrature(), SideVertexAverageNormalTest::testTets(), VolumeTest::testTri3AspectRatio(), VolumeTest::testTri3TrueCentroid(), MeshTriangulationTest::testTriangleHoleArea(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorRoundHole(), SideVertexAverageNormalTest::testTris(), VolumeTest::testTwistedVolume(), ParsedFEMFunctionTest::testValues(), ParsedFunctionTest::testValues(), MeshSmootherTest::testVariationalPrism18(), MeshSmootherTest::testVariationalPrism20(), MeshSmootherTest::testVariationalPrism21(), MeshSmootherTest::testVariationalQuad4(), MeshSmootherTest::testVariationalSmoother(), MeshSmootherTest::testVariationalSmootherRegression(), MeshSmootherTest::testVariationalTet4(), TypeVectorTestBase< DerivedClass >::testVectorAdd(), TypeVectorTestBase< DerivedClass >::testVectorAddAssign(), TypeVectorTestBase< DerivedClass >::testVectorAddAssignBase(), TypeVectorTestBase< DerivedClass >::testVectorAddBase(), TypeVectorTestBase< DerivedClass >::testVectorAddScaled(), TypeVectorTestBase< DerivedClass >::testVectorAddScaledBase(), TypeVectorTestBase< DerivedClass >::testVectorMult(), TypeVectorTestBase< DerivedClass >::testVectorMultBase(), TypeVectorTestBase< DerivedClass >::testVectorSub(), TypeVectorTestBase< DerivedClass >::testVectorSubAssign(), TypeVectorTestBase< DerivedClass >::testVectorSubAssignBase(), TypeVectorTestBase< DerivedClass >::testVectorSubBase(), libMesh::BoundaryVolumeSolutionTransfer::transfer_boundary_volume(), libMesh::BoundaryVolumeSolutionTransfer::transfer_volume_boundary(), libMesh::TriangleInterface::triangulate(), SystemsTest::tripleValueTest(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::PointLocatorBase::unset_close_to_point_tol(), libMesh::PointLocatorBase::unset_contains_point_tol(), usage_error(), MeshFunctionTest::vectorMeshFunctionLagrange(), MeshFunctionTest::vectorMeshFunctionNedelec(), MeshFunctionTest::vectorMeshFunctionRaviartThomas(), libMesh::TriangulatorInterface::verify_quadratic_elements(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().

◆ TransientSystem< EigenSystem >

template class LIBMESH_EXPORT libMesh::TransientSystem< EigenSystem >

Definition at line 156 of file transient_system.C.

◆ TransientSystem< ExplicitSystem >

template class LIBMESH_EXPORT libMesh::TransientSystem< ExplicitSystem >

Definition at line 152 of file transient_system.C.

◆ TransientSystem< LinearImplicitSystem >

template class LIBMESH_EXPORT libMesh::TransientSystem< LinearImplicitSystem >

Definition at line 150 of file transient_system.C.

◆ TransientSystem< NonlinearImplicitSystem >

template class LIBMESH_EXPORT libMesh::TransientSystem< NonlinearImplicitSystem >

Definition at line 151 of file transient_system.C.

◆ TransientSystem< RBConstruction >

template class LIBMESH_EXPORT libMesh::TransientSystem< RBConstruction >

Definition at line 154 of file transient_system.C.

◆ TransientSystem< System >

template class LIBMESH_EXPORT libMesh::TransientSystem< System >

Definition at line 153 of file transient_system.C.

◆ Tree< 2 >

template class LIBMESH_EXPORT libMesh::Tree< 2 >

Definition at line 157 of file tree.C.

◆ Tree< 4 >

template class LIBMESH_EXPORT libMesh::Tree< 4 >

Definition at line 158 of file tree.C.

◆ Tree< 8 >

template class LIBMESH_EXPORT libMesh::Tree< 8 >

Definition at line 159 of file tree.C.

◆ TreeNode< 2 >

template class LIBMESH_EXPORT libMesh::TreeNode< 2 >

Definition at line 717 of file tree_node.C.

◆ TreeNode< 4 >

template class LIBMESH_EXPORT libMesh::TreeNode< 4 >

Definition at line 718 of file tree_node.C.

◆ TreeNode< 8 >

template class LIBMESH_EXPORT libMesh::TreeNode< 8 >

Definition at line 719 of file tree_node.C.

◆ triangular_number_column

const unsigned char libMesh::triangular_number_column
Initial value:
= {
0,
0, 1,
0, 1, 2,
0, 1, 2, 3,
0, 1, 2, 3, 4,
0, 1, 2, 3, 4, 5,
0, 1, 2, 3, 4, 5, 6,
0, 1, 2, 3, 4, 5, 6, 7,
0, 1, 2, 3, 4, 5, 6, 7, 8,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
}

Definition at line 41 of file number_lookups.C.

41 {
42 0,
43 0, 1,
44 0, 1, 2,
45 0, 1, 2, 3,
46 0, 1, 2, 3, 4,
47 0, 1, 2, 3, 4, 5,
48 0, 1, 2, 3, 4, 5, 6,
49 0, 1, 2, 3, 4, 5, 6, 7,
50 0, 1, 2, 3, 4, 5, 6, 7, 8,
51 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
52};

◆ triangular_number_row

const unsigned char libMesh::triangular_number_row
Initial value:
= {
0,
1, 1,
2, 2, 2,
3, 3, 3, 3,
4, 4, 4, 4, 4,
5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7, 7,
8, 8, 8, 8, 8, 8, 8, 8, 8,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9
}

Definition at line 28 of file number_lookups.C.

28 {
29 0,
30 1, 1,
31 2, 2, 2,
32 3, 3, 3, 3,
33 4, 4, 4, 4, 4,
34 5, 5, 5, 5, 5, 5,
35 6, 6, 6, 6, 6, 6, 6,
36 7, 7, 7, 7, 7, 7, 7, 7,
37 8, 8, 8, 8, 8, 8, 8, 8, 8,
38 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
39};

◆ TrilinosPreconditioner< Number >

template class LIBMESH_EXPORT libMesh::TrilinosPreconditioner< Number >

Definition at line 260 of file trilinos_preconditioner.C.

◆ TypeTensor< Complex >

template class LIBMESH_EXPORT libMesh::TypeTensor< Complex >

Definition at line 205 of file type_tensor.C.

◆ TypeTensor< Real >

template class LIBMESH_EXPORT libMesh::TypeTensor< Real >

Definition at line 202 of file type_tensor.C.

◆ TypeVector< Complex >

template class LIBMESH_EXPORT libMesh::TypeVector< Complex >

Definition at line 219 of file type_vector.C.

◆ TypeVector< Real >

template class LIBMESH_EXPORT libMesh::TypeVector< Real >

Definition at line 216 of file type_vector.C.

◆ warned_about_auto_ptr

bool libMesh::warned_about_auto_ptr
extern

◆ zero

const Number libMesh::zero = 0.