libMesh
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
libMesh Namespace Reference

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

Namespaces

 boostcopy
 
 DenseMatrices
 Provide Typedefs for dense matrices.
 
 ElemInternal
 The ElemInternal namespace holds helper functions that are used internally by the Elem class.
 
 FiniteElements
 Provide Typedefs for various element types.
 
 JacobiPolynomials
 
 libMeshPrivateData
 Namespaces don't provide private data, so let's take the data we would like private and put it in an obnoxious namespace.
 
 MacroFunctions
 
 MeshTools
 Utility functions for operations on a Mesh object.
 
 Nemesis
 
 Parallel
 
 Predicates
 This namespace defines several multi_predicates which are used by the element and node iterators.
 
 Quality
 A namespace for quality utility functions.
 
 RBDataDeserialization
 
 RBDataSerialization
 
 ReferenceElem
 This namespace implements singleton reference elements for each fundamental element type supported by libMesh.
 
 SparsityPattern
 This defines the sparsity pattern, or graph, of a sparse matrix.
 
 TensorTools
 
 Threads
 The Threads namespace is for wrapper functions for common general multithreading algorithms and tasks.
 
 Trees
 For convenience we define QuadTrees and OctTrees explicitly.
 
 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.
 
 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  AnalyticFunction
 Wraps a function pointer into a FunctionBase object. More...
 
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...
 
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 centroids. 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...
 
struct  CompareElemIdsByLevel
 Specific weak ordering for Elem *'s to be used in a set. More...
 
struct  CompareTypes
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, D >, MetaPhysicL::DualNumber< T, D > >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, D >, MetaPhysicL::DualNumber< T2, D2 > >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, D >, T2 >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, T >, MetaPhysicL::DualNumber< T2, T2 > >
 
struct  CompareTypes< MetaPhysicL::DualNumber< T, T >, T2 >
 
struct  CompareTypes< MetaPhysicL::DynamicSparseNumberArray< T, IndexType >, T2 >
 
struct  CompareTypes< std::complex< T >, T >
 
struct  CompareTypes< T, MetaPhysicL::DualNumber< T2, D > >
 
struct  CompareTypes< T, MetaPhysicL::DualNumber< T2, T2 > >
 
struct  CompareTypes< T, std::complex< T > >
 
struct  CompareTypes< T, T >
 
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  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  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/CNERG/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...
 
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  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  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  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  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  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  FEL2Lagrange
 Discontinuous Lagrange finite elements. 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< LAGRANGE_VEC >
 Specialize for non-scalar-valued elements. More...
 
struct  FEOutputType< MONOMIAL_VEC >
 
struct  FEOutputType< NEDELEC_ONE >
 
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  FirstOrderUnsteadySolver
 Generic class from which first order UnsteadySolvers should subclass. More...
 
class  FloatingPointException
 A class representing a floating point exception. 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 default geometry ghosting in libMesh: point neighbors and interior_parent elements are ghosted. 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  H1FETransformation
 This class handles the computation of the shape functions in the physical domain for H1 conforming elements. More...
 
class  HCurlFETransformation
 This class handles the computation of the shape functions in the physical domain for HCurl 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  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  IntRange
 The IntRange templated class is intended to make it easy to loop over integers which are indices of a container. 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  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  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  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...
 
struct  mesh_inserter_iterator
 A class for templated methods that expect output iterator arguments, which adds objects to the Mesh. 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  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  MeshlessInterpolationFunction
 
class  MeshOutput
 This class defines an abstract interface for Mesh output. More...
 
class  MeshRefinement
 Implements (adaptive) mesh refinement algorithms for a MeshBase. More...
 
class  MeshSerializer
 Temporarily serialize a DistributedMesh for output; a distributed mesh is allgathered by the MeshSerializer constructor if need_serial is true, then remote elements are deleted again by the destructor. More...
 
class  MeshSmoother
 This class provides the necessary interface for mesh smoothing. 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...
 
struct  myhash
 
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  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  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  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  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 data structures for parallel, sparse matrices. 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  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  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  PointLocatorTree
 This is a point locator. More...
 
class  PointNeighborCoupling
 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  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  Prism6
 The Prism6 is an element in 3D composed of 6 nodes. More...
 
class  Problem_Interface
 
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  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  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 is part of the rbOOmit framework. 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...
 
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 > >
 
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
 This defines the Side class. More...
 
class  SideEdge
 This defines the SideEdge class. More...
 
class  SimpleRange
 The SimpleRange templated class is intended to make it easy to construct ranges from pairs of iterators. 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  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  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  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  SyncLocalIDs
 
struct  SyncNodalPositions
 
struct  SyncRefinementFlags
 
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  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  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  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  TriangleInterface
 A C++ interface between LibMesh and the Triangle library written by J.R. More...
 
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...
 
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  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  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  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
 Interface for evaluating Wendland's 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...
 
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

template<typename T >
using UniquePtr = std::unique_ptr< T >
 
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. More...
 
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. More...
 
typedef TestClass subdomain_id_type
 Based on the 4-byte comment warning above, this probably doesn't work with exodusII at all... More...
 
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 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. More...
 
typedef TensorValue< RealRealTensorValue
 Useful typedefs to allow transparent switching between Real and Complex data types. More...
 
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 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
 
template<size_t Index, typename T >
using tuple_of = typename tuple_n< Index, T >::template type<>
 
typedef LinearImplicitSystem SteadyLinearSystem
 
typedef TransientSystem< LinearImplicitSystemTransientImplicitSystem
 
typedef TransientSystem< LinearImplicitSystemTransientLinearImplicitSystem
 
typedef TransientSystem< NonlinearImplicitSystemTransientNonlinearImplicitSystem
 
typedef TransientSystem< ExplicitSystemTransientExplicitSystem
 
typedef TransientSystem< SystemTransientBaseSystem
 
typedef TransientSystem< EigenSystemTransientEigenSystem
 
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
}
 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, 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, RATIONAL_BERNSTEIN = 61,
  INVALID_FE = 99
}
 
enum  FEContinuity : int { DISCONTINUOUS, C_ZERO, C_ONE, H_CURL }
 
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  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, 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,
  INVALID_ORDER
}
 
enum  ParallelType : int {
  AUTOMATIC =0, SERIAL, PARALLEL, GHOSTED,
  INVALID_PARALLELIZATION
}
 Defines an enum for parallel data structure types. More...
 
enum  PointLocatorType : int { TREE = 0, TREE_ELEMENTS, TREE_LOCAL_ELEMENTS, INVALID_LOCATOR }
 
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, 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, 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 }
 
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

template<typename T , typename... Args>
std::unique_ptr< T > make_unique (Args &&... args)
 
bool initialized ()
 Checks that library initialization has been done. More...
 
bool closed ()
 Checks that the library has been closed. More...
 
void enableFPE (bool on)
 Toggle hardware trap floating point exceptions. More...
 
void enableSEGV (bool on)
 Toggle libMesh reporting of segmentation faults. More...
 
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. More...
 
template<typename T >
void command_line_vector (const std::string &, std::vector< T > &)
 
SolverPackage default_solver_package ()
 
processor_id_type global_n_processors ()
 
processor_id_type global_processor_id ()
 
unsigned int n_threads ()
 
template<typename T >
libmesh_real (T a)
 
template<typename T >
libmesh_conj (T a)
 
template<typename T >
libmesh_real (std::complex< T > a)
 
template<typename T >
std::complex< T > libmesh_conj (std::complex< T > a)
 
template<typename T >
bool libmesh_isnan (T x)
 
template<typename T >
bool libmesh_isnan (std::complex< T > a)
 
template<typename T >
bool libmesh_isinf (T x)
 
template<typename T >
bool libmesh_isinf (std::complex< T > a)
 
template<class ... Args>
void libmesh_ignore (const Args &...)
 
template<typename Tnew , typename Told >
Tnew cast_ref (Told &oldvar)
 
template<typename Tnew , typename Told >
Tnew libmesh_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)
 
void libmesh_version_stdout ()
 
int get_libmesh_version ()
 
std::string get_io_compatibility_version ()
 Specifier for I/O file compatibility features. More...
 
void print_trace (std::ostream &out_stream=std::cerr)
 Print a stack trace (for code compiled with gcc) More...
 
std::string demangle (const char *name)
 Mostly system independent demangler. More...
 
void write_traceout ()
 Writes a stack trace to a uniquely named file if –enable-tracefiles has been set by configure, otherwise does nothing. More...
 
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. More...
 
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. More...
 
 INSTANTIATE_INF_FE (1, CARTESIAN)
 Collect all 1D explicit instantiations for class InfFE. More...
 
 INSTANTIATE_INF_FE (2, CARTESIAN)
 Collect all 2D explicit instantiations for class InfFE. More...
 
 INSTANTIATE_INF_FE (3, CARTESIAN)
 Collect all 3D explicit instantiations for class InfFE. More...
 
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. More...
 
void query_ghosting_functors (const MeshBase &mesh, processor_id_type pid, MeshBase::const_element_iterator elem_it, MeshBase::const_element_iterator elem_end, std::set< const Elem *, CompareElemIdsByLevel > &connected_elements)
 
void connect_children (const MeshBase &mesh, MeshBase::const_element_iterator elem_it, MeshBase::const_element_iterator elem_end, std::set< const Elem *, CompareElemIdsByLevel > &connected_elements)
 
void connect_families (std::set< const Elem *, CompareElemIdsByLevel > &connected_elements)
 
void reconnect_nodes (const std::set< const Elem *, CompareElemIdsByLevel > &connected_elements, std::set< const Node * > &connected_nodes)
 
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)
 
PetscInt * numeric_petsc_cast (const numeric_index_type *p)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const SparseMatrix< T > &m)
 
intnumeric_trilinos_cast (const numeric_index_type *p)
 
template<unsigned int N, typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeNTensor< N, typename CompareTypes< Scalar, T >::supertype > >::type operator* (const Scalar &, const TypeNTensor< N, T > &)
 
template<unsigned int N, typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeNTensor< N, typename CompareTypes< Scalar, T >::supertype > >::type operator/ (const Scalar &, const TypeNTensor< N, T > &)
 
template<typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeTensor< typename CompareTypes< 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 , typename T2 >
TypeTensor< typename CompareTypes< T, T2 >::supertype > outer_product (const TypeVector< T > &a, const TypeVector< T2 > &b)
 
template<typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeVector< typename CompareTypes< 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 >
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(). More...
 
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. More...
 
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_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, MatStructure *msflag, void *ctx)
 
PetscErrorCode libmesh_petsc_snes_jacobian (SNES, Vec x, Mat jac, Mat pc, void *ctx)
 
PetscErrorCode libmesh_petsc_snes_postcheck (#if PETSC_VERSION_LESS_THAN(3, 3, 0) SNES, Vec x, Vec y, Vec w, void *context, PetscBool *changed_y, PetscBool *changed_w #else SNESLineSearch, Vec x, Vec y, Vec w, PetscBool *changed_y, PetscBool *changed_w, void *context #endif)
 
PetscErrorCode libmesh_petsc_linesearch_shellfunc (SNESLineSearch linesearch, void *ctx)
 
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_interface (void *ctx, Vec x, Vec r)
 
PetscErrorCode __libmesh_petsc_snes_jacobian (SNES, Vec x, Mat *jac, Mat *pc, MatStructure *msflag, void *ctx)
 
PetscErrorCode __libmesh_petsc_snes_jacobian (SNES, Vec x, Mat jac, Mat pc, void *ctx)
 
PetscErrorCode __libmesh_petsc_snes_postcheck (#if PETSC_VERSION_LESS_THAN(3, 3, 0) SNES, Vec x, Vec y, Vec w, void *context, PetscBool *changed_y, PetscBool *changed_w #else SNESLineSearch, Vec x, Vec y, Vec w, PetscBool *changed_y, PetscBool *changed_w, void *context #endif)
 
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)
 
 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)
 
 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 >
IntRange< std::size_t > index_range (const std::vector< T > &vec)
 Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in vector. More...
 
template<typename T >
IntRange< unsigned intindex_range (const DenseVector< T > &vec)
 Same thing but for DenseVector. More...
 
template<typename T >
IntRange< unsigned intindex_range (const DenseSubVector< T > &vec)
 Same thing but for DenseSubVector. More...
 
template<typename T >
IntRange< numeric_index_typeindex_range (const NumericVector< T > &vec)
 Same thing but for NumericVector. More...
 
template<typename P >
void print_helper (std::ostream &os, const P *param)
 Helper functions for printing scalar, vector and vector<vector> types. More...
 
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)
 
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. More...
 
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. More...
 
OStreamProxy out (std::cout)
 
OStreamProxy err (std::cerr)
 
bool warned_about_auto_ptr (false)
 
PerfLog perflog ("libMesh", #ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING true #else false #endif)
 
const Number imaginary (0., 1.)
 
void libmesh_terminate_handler ()
 
template unsigned char command_line_value< unsigned char > (const std::string &, unsigned char)
 
template unsigned short command_line_value< unsigned short > (const std::string &, unsigned short)
 
template unsigned int command_line_value< unsigned int > (const std::string &, unsigned int)
 
template char command_line_value< char > (const std::string &, char)
 
template short command_line_value< short > (const std::string &, short)
 
template int command_line_value< int > (const std::string &, int)
 
template float command_line_value< float > (const std::string &, float)
 
template double command_line_value< double > (const std::string &, double)
 
template long double command_line_value< long double > (const std::string &, long double)
 
template std::string command_line_value< std::string > (const std::string &, std::string)
 
template unsigned char command_line_value< unsigned char > (const std::vector< std::string > &, unsigned char)
 
template unsigned short command_line_value< unsigned short > (const std::vector< std::string > &, unsigned short)
 
template unsigned int command_line_value< unsigned int > (const std::vector< std::string > &, unsigned int)
 
template char command_line_value< char > (const std::vector< std::string > &, char)
 
template short command_line_value< short > (const std::vector< std::string > &, short)
 
template int command_line_value< int > (const std::vector< std::string > &, int)
 
template float command_line_value< float > (const std::vector< std::string > &, float)
 
template double command_line_value< double > (const std::vector< std::string > &, double)
 
template long double command_line_value< long double > (const std::vector< std::string > &, long double)
 
template std::string command_line_value< std::string > (const std::vector< std::string > &, std::string)
 
template unsigned char command_line_next< unsigned char > (std::string, unsigned char)
 
template unsigned short command_line_next< unsigned short > (std::string, unsigned short)
 
template unsigned int command_line_next< unsigned int > (std::string, unsigned int)
 
template char command_line_next< char > (std::string, char)
 
template short command_line_next< short > (std::string, short)
 
template int command_line_next< int > (std::string, int)
 
template float command_line_next< float > (std::string, float)
 
template double command_line_next< double > (std::string, double)
 
template long double command_line_next< long double > (std::string, long double)
 
template std::string command_line_next< std::string > (std::string, std::string)
 
template void command_line_vector< unsigned char > (const std::string &, std::vector< unsigned char > &)
 
template void command_line_vector< unsigned short > (const std::string &, std::vector< unsigned short > &)
 
template void command_line_vector< unsigned int > (const std::string &, std::vector< unsigned int > &)
 
template void command_line_vector< char > (const std::string &, std::vector< char > &)
 
template void command_line_vector< short > (const std::string &, std::vector< short > &)
 
template void command_line_vector< int > (const std::string &, std::vector< int > &)
 
template void command_line_vector< float > (const std::string &, std::vector< float > &)
 
template void command_line_vector< double > (const std::string &, std::vector< double > &)
 
template void command_line_vector< long double > (const std::string &, std::vector< long double > &)
 
template Real command_line_value< Real > (const std::string &, Real)
 
template Real command_line_value< Real > (const std::vector< std::string > &, Real)
 
template Real command_line_next< Real > (std::string, Real)
 
template void command_line_vector< Real > (const std::string &, std::vector< Real > &)
 
 INSTANTIATE_FE (0)
 
 INSTANTIATE_FE (1)
 
 INSTANTIATE_FE (2)
 
 INSTANTIATE_FE (3)
 
std::ostream & operator<< (std::ostream &os, const FEAbstract &fe)
 
 ERRORS_IN_0D (ERRORS_IN_0D(HERMITE) ERRORS_IN_0D(HIERARCHIC) ERRORS_IN_0D(L2_HIERARCHIC) ERRORS_IN_0D(LAGRANGE) ERRORS_IN_0D(L2_LAGRANGE) ERRORS_IN_0D(LAGRANGE_VEC) ERRORS_IN_0D(MONOMIAL) ERRORS_IN_0D(MONOMIAL_VEC) ERRORS_IN_0D(NEDELEC_ONE) ERRORS_IN_0D(SCALAR) ERRORS_IN_0D(XYZ)#ifdef LIBMESH_ENABLE_HIGHER_ORDER_SHAPESERRORS_IN_0D(BERNSTEIN) ERRORS_IN_0D() ERRORS_IN_0D(RATIONAL_BERNSTEIN)#endifREINIT_ERROR(1 CLOUGH)
 
 REINIT_ERROR (1, HERMITE, edge_reinit)
 
 REINIT_ERROR (1, HIERARCHIC, edge_reinit)
 
 REINIT_ERROR (1, L2_HIERARCHIC, edge_reinit)
 
 REINIT_ERROR (1, LAGRANGE, edge_reinit)
 
 REINIT_ERROR (1, LAGRANGE_VEC, edge_reinit)
 
 REINIT_ERROR (1, L2_LAGRANGE, edge_reinit)
 
 REINIT_ERROR (1, XYZ, edge_reinit)
 
 REINIT_ERROR (1, MONOMIAL, edge_reinit)
 
 REINIT_ERROR (1, MONOMIAL_VEC, edge_reinit)
 
 REINIT_ERROR (1, SCALAR, edge_reinit)
 
 REINIT_ERROR (1, NEDELEC_ONE, reinit)
 
 REINIT_ERROR (1, NEDELEC_ONE, edge_reinit)
 
 SIDEMAP_ERROR (1, NEDELEC_ONE, side_map)
 
 REINIT_ERROR (1, BERNSTEIN, edge_reinit)
 
 REINIT_ERROR (1, SZABAB, edge_reinit)
 
 REINIT_ERROR (1, RATIONAL_BERNSTEIN, edge_reinit)
 
 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, unsigned int, n_dofs(const FEType &, const ElemType))
 
 INSTANTIATE_INF_FE_MBRF (2, CARTESIAN, unsigned int, n_dofs(const FEType &, const ElemType))
 
 INSTANTIATE_INF_FE_MBRF (3, CARTESIAN, unsigned int, n_dofs(const FEType &, const ElemType))
 
 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 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 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 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 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, 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 > &))
 
bool is_between (Real min, Real check, Real max)
 
std::ostream & operator<< (std::ostream &os, const MeshBase &m)
 
template 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 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 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 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 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)
 
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, #if PETSC_RELEASE_LESS_THAN(3, 5, 0) Mat *libmesh_dbg_var(j), Mat *pc, MatStructure *msflag, #else Mat libmesh_dbg_var(j), Mat pc, #endif 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. More...
 
 CHKERRQ (ierr)
 
 libmesh_assert (ctx)
 
 if (subdm)
 
PetscErrorCode libmesh_petsc_DMRefine (DM dmc, MPI_Comm, DM *dmf)
 Help PETSc identify the finer DM given a dmc. More...
 
PetscErrorCode libmesh_petsc_DMCoarsen (DM dmf, MPI_Comm, DM *dmc)
 Help PETSc identify the coarser DM dmc given the fine DM dmf. More...
 
PetscErrorCode libmesh_petsc_DMCreateInterpolation (DM dmc, DM dmf, Mat *mat, Vec *vec)
 Function to give PETSc that sets the Interpolation Matrix between two DMs. More...
 
PetscErrorCode libmesh_petsc_DMCreateRestriction (DM dmc, DM dmf, Mat *mat)
 Function to give PETSc that sets the Restriction Matrix between two DMs. More...
 
PetscErrorCode libmesh_petsc_preconditioner_setup (void *ctx)
 This function is called by PETSc to initialize the preconditioner. More...
 
PetscErrorCode libmesh_petsc_preconditioner_apply (void *ctx, Vec x, Vec y)
 This function is called by PETSc to actually apply the preconditioner. More...
 
PetscErrorCode libmesh_petsc_preconditioner_setup (PC pc)
 
PetscErrorCode libmesh_petsc_preconditioner_apply (PC pc, Vec x, Vec y)
 
PetscErrorCode __libmesh_petsc_preconditioner_setup (void *ctx)
 This function is called by PETSc to initialize the preconditioner. More...
 
PetscErrorCode __libmesh_petsc_preconditioner_apply (void *ctx, Vec x, Vec y)
 This function is called by PETSc to actually apply the preconditioner. More...
 
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)
 
PetscErrorCode libmesh_petsc_snes_jacobian (#if PETSC_RELEASE_LESS_THAN(3, 5, 0) SNES snes, Vec x, Mat *jac, Mat *pc, MatStructure *msflag, void *ctx #else SNES snes, Vec x, Mat jac, Mat pc, void *ctx #endif)
 
PetscErrorCode __libmesh_petsc_snes_jacobian (#if PETSC_RELEASE_LESS_THAN(3, 5, 0) SNES snes, Vec x, Mat *jac, Mat *pc, MatStructure *msflag, void *ctx #else SNES snes, Vec x, Mat jac, Mat pc, void *ctx #endif)
 
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)
 
template void Xdr::data< std::complex< float > > (std::complex< float > &, const char *)
 
template void Xdr::data< std::complex< double > > (std::complex< double > &, const char *)
 
template void Xdr::data< std::complex< long double > > (std::complex< long double > &, const char *)
 
template void Xdr::data< std::string > (std::string &, const char *)
 
template void Xdr::data< std::vector< int > > (std::vector< int > &, const char *)
 
template void Xdr::data< std::vector< unsigned int > > (std::vector< unsigned int > &, const char *)
 
template void Xdr::data< std::vector< short int > > (std::vector< short int > &, const char *)
 
template void Xdr::data< std::vector< unsigned short int > > (std::vector< unsigned short int > &, const char *)
 
template void Xdr::data< std::vector< long int > > (std::vector< long int > &, const char *)
 
template void Xdr::data< std::vector< long long > > (std::vector< long long > &, const char *)
 
template void Xdr::data< std::vector< unsigned long int > > (std::vector< unsigned long int > &, const char *)
 
template void Xdr::data< std::vector< unsigned long long > > (std::vector< unsigned long long > &, const char *)
 
template void Xdr::data< std::vector< char > > (std::vector< char > &, const char *)
 
template void Xdr::data< std::vector< signed char > > (std::vector< signed char > &, const char *)
 
template void Xdr::data< std::vector< unsigned char > > (std::vector< unsigned char > &, const char *)
 
template void Xdr::data< std::vector< float > > (std::vector< float > &, const char *)
 
template void Xdr::data< std::vector< double > > (std::vector< double > &, const char *)
 
template void Xdr::data< std::vector< long double > > (std::vector< long double > &, const char *)
 
template void Xdr::data< std::vector< std::complex< float > > > (std::vector< std::complex< float >> &, const char *)
 
template void Xdr::data< std::vector< std::complex< double > > > (std::vector< std::complex< double >> &, const char *)
 
template void Xdr::data< std::vector< std::complex< long double > > > (std::vector< std::complex< long double >> &, const char *)
 
template void Xdr::data< std::vector< std::string > > (std::vector< std::string > &, const char *)
 
template void Xdr::data< std::complex< Real > > (std::complex< Real > &, const char *)
 
template void Xdr::data< std::vector< Real > > (std::vector< Real > &, const char *)
 
template void Xdr::data< std::vector< std::complex< Real > > > (std::vector< std::complex< Real >> &, const char *)
 

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} \). More...
 
const Real pi
 \( \pi=3.14159... \). More...
 
const Number zero = 0.
 \( zero=0. \). More...
 
const unsigned int invalid_uint = static_cast<unsigned int>(-1)
 A number which is used quite often to represent an invalid or uninitialized value. More...
 
static const Real TOLERANCE = 2.5e-3
 
MPI_Comm GLOBAL_COMM_WORLD = MPI_COMM_NULL
 MPI Communicator used to initialize libMesh. More...
 
OStreamProxy out
 
OStreamProxy err
 
bool warned_about_auto_ptr
 
PerfLog perflog
 A PerfLog object to log performance. More...
 
const RemoteElemremote_elem
 
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 []
 
MPI_Errhandler libmesh_errhandler
 
std::terminate_handler old_terminate_handler
 
 INSTANTIATE_SUBDIVISION_FE
 
 INSTANTIATE_SUBDIVISION_MAPS
 
Threads::spin_mutex parent_indices_mutex
 
Threads::spin_mutex parent_bracketing_nodes_mutex
 
const unsigned int MIN_ELEM_PER_PROC = 4
 
PetscErrorCode PetscInt numFields
 
PetscErrorCode PetscInt const PetscInt fields []
 
PetscErrorCode PetscInt const PetscInt IS * is
 
PetscErrorCode PetscInt const PetscInt IS DM * subdm
 
void * ctx = nullptr
 
 ierr = DMShellGetContext(dm, & ctx)
 
PetscDMContextp_ctx = static_cast<PetscDMContext * >(ctx)
 
 return
 

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 160 of file libmesh_common.h.

◆ COMPLEX

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

Definition at line 161 of file libmesh_common.h.

◆ ConstElemRange

Definition at line 34 of file elem_range.h.

◆ ConstNodeRange

Definition at line 34 of file node_range.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 97 of file dof_map.h.

◆ DSNAN

typedef DynamicSparseNumberArray<Real, dof_id_type> libMesh::DSNAN

Definition at line 136 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.

◆ 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.

◆ ElemRange

Definition at line 31 of file elem_range.h.

◆ FEBase

Definition at line 39 of file exact_error_estimator.h.

◆ FEVectorBase

Definition at line 666 of file fe_base.h.

◆ Gradient

Definition at line 58 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 145 of file dof_map.h.

◆ NodeRange

Definition at line 31 of file node_range.h.

◆ Number

Definition at line 195 of file libmesh_common.h.

◆ NumberTensorValue

Definition at line 54 of file exact_solution.h.

◆ NumberVectorValue

Definition at line 57 of file exact_solution.h.

◆ numeric_index_type

Definition at line 99 of file id_types.h.

◆ OStreamProxy

Definition at line 237 of file ostream_proxy.h.

◆ processor_id_type

typedef uint64_t libMesh::processor_id_type

Definition at line 104 of file id_types.h.

◆ REAL

Definition at line 44 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 46 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 56 of file exact_solution.h.

◆ TransientBaseSystem

Definition at line 155 of file transient_system.h.

◆ TransientEigenSystem

Definition at line 157 of file transient_system.h.

◆ TransientExplicitSystem

Definition at line 154 of file transient_system.h.

◆ TransientImplicitSystem

Definition at line 151 of file transient_system.h.

◆ TransientLinearImplicitSystem

Definition at line 152 of file transient_system.h.

◆ TransientNonlinearImplicitSystem

Definition at line 153 of file transient_system.h.

◆ tuple_of

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

Definition at line 21 of file tuple_of.h.

◆ unique_id_type

typedef uint64_t libMesh::unique_id_type

Definition at line 86 of file id_types.h.

◆ UniquePtr

template<typename T >
using libMesh::UniquePtr = typedef std::unique_ptr<T>

Definition at line 33 of file auto_ptr.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.

54  : int {
55  NHEP=0,
56  HEP,
57  GNHEP,
58  GHEP,
59  GHIEP,
60  // Invalid

◆ 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.

33  : int {
34  POWER=0,
35  LAPACK,
36  SUBSPACE,
37  ARNOLDI,
38  LANCZOS,
40  // Invalid

◆ 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 82 of file enum_elem_type.h.

82  : unsigned char {
83  LAGRANGE_MAP = 0,
85  INVALID_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 

Definition at line 34 of file enum_elem_quality.h.

34  : int {
35  ASPECT_RATIO=0,
36  SKEW,
37  SHEAR,
38  SHAPE,
39  MAX_ANGLE,
40  MIN_ANGLE,
41  CONDITION,
42  DISTORTION,
43  TAPER,
44  WARP,
45  STRETCH,
46  DIAGONAL,
49  SIZE,
50  JACOBIAN};

◆ 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 
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  // Invalid
75  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.

33  : int {
34  INVALID = -1,
36  ADJOINT_RESIDUAL = 1,
38  EXACT = 3,
39  KELLY = 4,
40  LAPLACIAN = 5,
41  PATCH_RECOVERY = 6,
43  UNIFORM_REFINEMENT = 8};

◆ FEContinuity

defines an enum for finite element types to libmesh_assert a certain level (or type? Hcurl?) of continuity.

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

Enumerator
DISCONTINUOUS 
C_ZERO 
C_ONE 
H_CURL 

Definition at line 77 of file enum_fe_family.h.

77  : int {
79  C_ZERO,
80  C_ONE,
81  H_CURL};

◆ FEFamily

defines an enum for finite element families.

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

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 
RATIONAL_BERNSTEIN 
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  // Rational basis functions
64  RATIONAL_BERNSTEIN = 61,
65  // Invalid
66  INVALID_FE = 99};

◆ FEFieldType

defines an enum for finite element field types - i.e. is it a scalar element, vector, tensor, etc.

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

Enumerator
TYPE_SCALAR 
TYPE_VECTOR 

Definition at line 92 of file enum_fe_family.h.

92  : int {
93  TYPE_SCALAR = 0,
94  TYPE_VECTOR};

◆ FEMNormType

defines an enum for norms defined on vectors of finite element coefficients

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

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

defines an enum for the types of coordinate mappings available in infinite elements.

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

Enumerator
CARTESIAN 
SPHERICAL 
ELLIPSOIDAL 
INVALID_INF_MAP 

Definition at line 34 of file enum_inf_map_type.h.

34  : int {
35  CARTESIAN=0,
36  SPHERICAL,
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.

37  : int
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
37  CONVERGED_RTOL = 2,
38  CONVERGED_ATOL = 3,
39  CONVERGED_ITS = 4,
44  // diverged
45  DIVERGED_NULL = -2,
46  DIVERGED_ITS = -3,
47  DIVERGED_DTOL = -4,
48  DIVERGED_BREAKDOWN = -5,
52  DIVERGED_NAN = -9,
55  // still running
57  // Invalid
58  UNKNOWN_FLAG = -128};

◆ Order

defines an enum for polynomial orders. Fixing each label to a specific int, since InfFE and p refinement may cast between them.

Note
It is possible to safely cast integral values larger than 43 to Order, provided that the cast value fits in the range of int. A potential use case for such a cast is when employing the QGrid class at extremely high order.

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

Enumerator
CONSTANT 
FIRST 
SECOND 
THIRD 
FOURTH 
FIFTH 
SIXTH 
SEVENTH 
EIGHTH 
NINTH 
TENTH 
ELEVENTH 
TWELFTH 
THIRTEENTH 
FOURTEENTH 
FIFTEENTH 
SIXTEENTH 
SEVENTEENTH 
EIGHTTEENTH 
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 
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,
60  NINETEENTH = 19,
61  TWENTIETH = 20,
62  TWENTYFIRST = 21,
63  TWENTYSECOND = 22,
64  TWENTYTHIRD = 23,
65  TWENTYFOURTH = 24,
66  TWENTYFIFTH = 25,
67  TWENTYSIXTH = 26,
68  TWENTYSEVENTH = 27,
69  TWENTYEIGHTH = 28,
70  TWENTYNINTH = 29,
71  THIRTIETH = 30,
72  THIRTYFIRST = 31,
73  THIRTYSECOND = 32,
74  THIRTYTHIRD = 33,
75  THIRTYFOURTH = 34,
76  THIRTYFIFTH = 35,
77  THIRTYSIXTH = 36,
78  THIRTYSEVENTH = 37,
79  THIRTYEIGHTH = 38,
80  THIRTYNINTH = 39,
81  FORTIETH = 40,
82  FORTYFIRST = 41,
83  FORTYSECOND = 42,
84  FORTYTHIRD = 43,
85  // Invalid

◆ 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,
36  PARALLEL,
37  GHOSTED,
38  // Invalid

◆ PetscMatrixType

Enumerator
AIJ 
HYPRE 

Definition at line 72 of file petsc_matrix.h.

72  : int {
73  AIJ=0,
74  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 
INVALID_LOCATOR 

Definition at line 35 of file enum_point_locator_type.h.

35  : int {
36  TREE = 0,
39  // Invalid

◆ 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 
INVALID_PRECONDITIONER 

Definition at line 33 of file enum_preconditioner_type.h.

33  : int {
44  LU_PRECOND,
48  // 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.

33  : int {
34  QGAUSS = 0,
35  QJACOBI_1_0 = 1,
36  QJACOBI_2_0 = 2,
37  QSIMPSON = 3,
38  QTRAP = 4,
39  QGRID = 5,
41  QMONOMIAL = 7,
42  QCONICAL = 8,
43  QGAUSS_LOBATTO = 9,
44  QCLOUGH = 21,
45  QCOMPOSITE = 31,
46  QNODAL = 32,
47  // Invalid
48  INVALID_Q_RULE = 127};

◆ 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 
INVALID_SOLVER_PACKAGE 

Definition at line 34 of file enum_solver_package.h.

34  : int
35  {
36  PETSC_SOLVERS=0,
42  // Invalid
44  };

◆ 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.

33  : int {
34  CG=0,
35  CGN,
36  CGS,
37  CR,
38  QMR,
39  TCQMR,
40  TFQMR,
41  BICG,
42  BICGSTAB,
43  MINRES,
44  GMRES,
45  LSQR,
46  JACOBI,
49  SSOR,
50  RICHARDSON,
51  CHEBYSHEV,
52  SPARSELU,
53  // Invalid

◆ 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.

35  : int
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 
117 
118  // data should be a pointer to the solver (it was passed in as void *)
119  NloptOptimizationSolver<Number> * solver =
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  if (sys.solution->size() != n)
127  libmesh_error_msg("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.
140  OptimizationSystem::ComputeEqualityConstraints * eco = solver->equality_constraints_object;
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  {
161  OptimizationSystem::ComputeEqualityConstraintsJacobian * eco_jac =
162  solver->equality_constraints_jacobian_object;
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 }

References data, libMesh::OptimizationSystem::ComputeEqualityConstraints::equality_constraints(), libMesh::OptimizationSystem::ComputeEqualityConstraintsJacobian::equality_constraints_jacobian(), libMesh::OptimizationSolver< T >::equality_constraints_jacobian_object, libMesh::OptimizationSolver< T >::equality_constraints_object, index_range(), libmesh_assert(), and libMesh::OptimizationSolver< T >::system().

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 
197 
198  // data should be a pointer to the solver (it was passed in as void *)
199  NloptOptimizationSolver<Number> * solver =
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  if (sys.solution->size() != n)
207  libmesh_error_msg("Error: Input vector x has different length than sys.solution!");
208 
209  for (auto i : index_range(*sys.solution))
210  sys.solution->set(i, x[i]);
211  sys.solution->close();
212 
213  // Impose constraints on the solution vector
214  sys.get_dof_map().enforce_constraints_exactly(sys);
215 
216  // Update sys.current_local_solution based on the solution vector
217  sys.update();
218 
219  // Call the user's inequality constraints function if there is one.
220  OptimizationSystem::ComputeInequalityConstraints * ineco = solver->inequality_constraints_object;
221  if (ineco)
222  {
223  ineco->inequality_constraints(*sys.current_local_solution,
224  *sys.C_ineq,
225  sys);
226 
227  sys.C_ineq->close();
228 
229  // Copy the values out of ineq_constraints into 'result'.
230  // TODO: Even better would be if we could use 'result' directly
231  // as the storage of ineq_constraints. Perhaps a serial-only
232  // NumericVector variant which supports this option?
233  for (unsigned int i = 0; i < m; ++i)
234  result[i] = (*sys.C_ineq)(i);
235 
236  // If gradient != nullptr, then the Jacobian matrix of the equality
237  // constraints has been requested. The incoming 'gradient'
238  // array is of length m*n and d(c_i)/d(x_j) = gradient[n*i+j].
239  if (gradient)
240  {
241  OptimizationSystem::ComputeInequalityConstraintsJacobian * ineco_jac =
242  solver->inequality_constraints_jacobian_object;
243 
244  if (ineco_jac)
245  {
246  ineco_jac->inequality_constraints_jacobian(*sys.current_local_solution,
247  *sys.C_ineq_jac,
248  sys);
249 
250  sys.C_ineq_jac->close();
251 
252  // copy the Jacobian data to the gradient array
253  for (numeric_index_type i=0; i<m; i++)
254  for (const auto & dof_index : sys.ineq_constraint_jac_sparsity[i])
255  gradient[n*i+dof_index] = (*sys.C_ineq_jac)(i,dof_index);
256  }
257  else
258  libmesh_error_msg("Jacobian function not defined in __libmesh_nlopt_inequality_constraints");
259  }
260 
261  }
262  else
263  libmesh_error_msg("Constraints function not defined in __libmesh_nlopt_inequality_constraints");
264 }

References data, index_range(), libMesh::OptimizationSystem::ComputeInequalityConstraints::inequality_constraints(), libMesh::OptimizationSystem::ComputeInequalityConstraintsJacobian::inequality_constraints_jacobian(), libMesh::OptimizationSolver< T >::inequality_constraints_jacobian_object, libMesh::OptimizationSolver< T >::inequality_constraints_object, libmesh_assert(), and libMesh::OptimizationSolver< T >::system().

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 *)
45  NloptOptimizationSolver<Number> * solver =
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 }

References data, libMesh::NloptOptimizationSolver< T >::get_iteration_count(), libMesh::OptimizationSystem::ComputeGradient::gradient(), libMesh::OptimizationSolver< T >::gradient_object, index_range(), libmesh_assert(), libMesh::OptimizationSystem::ComputeObjective::objective(), libMesh::OptimizationSolver< T >::objective_object, out, Real, libMesh::OptimizationSolver< T >::system(), and libMesh::OptimizationSolver< T >::verbose.

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

◆ __libmesh_petsc_diff_solver_jacobian()

PetscErrorCode libMesh::__libmesh_petsc_diff_solver_jacobian ( SNES  ,
Vec  x,
#if   PETSC_RELEASE_LESS_THAN3, 5, 0) Mat *libmesh_dbg_var(j,
Mat *  pc,
MatStructure *  msflag,
#else Mat   libmesh_dbg_varj,
Mat  pc,
#endif void *  ctx 
)

Definition at line 132 of file petsc_diff_solver.C.

143  {
144  libmesh_assert(x);
145  libmesh_assert(j);
146  // libmesh_assert_equal_to (pc, j); // We don't use separate preconditioners yet
148 
149  PetscDiffSolver & solver =
150  *(static_cast<PetscDiffSolver*> (ctx));
151  ImplicitSystem & sys = solver.system();
152 
153  if (solver.verbose)
154  libMesh::out << "Assembling the Jacobian" << std::endl;
155 
156  PetscVector<Number> & X_system =
157  *cast_ptr<PetscVector<Number> *>(sys.solution.get());
158  PetscVector<Number> X_input(x, sys.comm());
159 
160 #if PETSC_RELEASE_LESS_THAN(3,5,0)
161  PetscMatrix<Number> J_input(*pc, sys.comm());
162 #else
163  PetscMatrix<Number> J_input(pc, sys.comm());
164 #endif
165  PetscMatrix<Number> & J_system =
166  *cast_ptr<PetscMatrix<Number> *>(sys.matrix);
167 
168  // DiffSystem assembles from the solution and into the jacobian, so
169  // swap those with our input vectors before assembling. They'll
170  // probably already be references to the same vectors, but PETSc
171  // might do something tricky.
172  X_input.swap(X_system);
173  J_input.swap(J_system);
174 
175  // We may need to localize a parallel solution
176  sys.update();
177 
178  // We may need to correct a non-conforming solution
179  sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
180 
181  // Do DiffSystem assembly
182  sys.assembly(false, true);
183  J_system.close();
184 
185  // Swap back
186  X_input.swap(X_system);
187  J_input.swap(J_system);
188 
189 #if PETSC_RELEASE_LESS_THAN(3,5,0)
190  *msflag = SAME_NONZERO_PATTERN;
191 #endif
192  // No errors, we hope
193  return 0;
194  }

References libMesh::ImplicitSystem::assembly(), libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), libmesh_assert(), libMesh::ImplicitSystem::matrix, out, libMesh::System::solution, libMesh::PetscMatrix< T >::swap(), 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 43 of file petsc_diff_solver.C.

47  {
48  PetscDiffSolver & solver =
49  *(static_cast<PetscDiffSolver *> (ctx));
50 
51  if (solver.verbose)
52  libMesh::out << " PetscDiffSolver step " << its
53  << ", |residual|_2 = " << fnorm << std::endl;
54  if (solver.linear_solution_monitor.get()) {
55  int ierr = 0;
56 
57  Vec petsc_delta_u;
58  ierr = SNESGetSolutionUpdate(snes, &petsc_delta_u);
59  CHKERRABORT(solver.comm().get(), ierr);
60  PetscVector<Number> delta_u(petsc_delta_u, solver.comm());
61  delta_u.close();
62 
63  Vec petsc_u;
64  ierr = SNESGetSolution(snes, &petsc_u);
65  CHKERRABORT(solver.comm().get(), ierr);
66  PetscVector<Number> u(petsc_u, solver.comm());
67  u.close();
68 
69  Vec petsc_res;
70  ierr = SNESGetFunction(snes, &petsc_res, nullptr, nullptr);
71  CHKERRABORT(solver.comm().get(), ierr);
72  PetscVector<Number> res(petsc_res, solver.comm());
73  res.close();
74 
75  (*solver.linear_solution_monitor)(
76  delta_u, delta_u.l2_norm(),
77  u, u.l2_norm(),
78  res, res.l2_norm(), its);
79  }
80  return 0;
81  }

References libMesh::PetscVector< T >::close(), libMesh::ParallelObject::comm(), ctx, ierr, libMesh::DiffSolver::linear_solution_monitor, out, 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 86 of file petsc_diff_solver.C.

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

References libMesh::ImplicitSystem::assembly(), libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), libmesh_assert(), out, libMesh::ExplicitSystem::rhs, libMesh::System::solution, libMesh::PetscVector< T >::swap(), libMesh::DiffSolver::system(), libMesh::System::update(), and libMesh::DiffSolver::verbose.

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

◆ __libmesh_petsc_preconditioner_apply() [1/2]

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

Definition at line 124 of file petsc_linear_solver.C.

125  {
126  libmesh_deprecated();
127  return libmesh_petsc_preconditioner_apply(pc, x, y);
128  }

References libmesh_petsc_preconditioner_apply().

◆ __libmesh_petsc_preconditioner_apply() [2/2]

PetscErrorCode libMesh::__libmesh_petsc_preconditioner_apply ( void *  ctx,
Vec  x,
Vec  y 
)

This function is called by PETSc to actually apply the preconditioner.

ctx will hold the Preconditioner.

Definition at line 111 of file petsc_linear_solver.C.

112  {
113  libmesh_deprecated();
115  }

References ctx, and libmesh_petsc_preconditioner_apply().

◆ __libmesh_petsc_preconditioner_setup() [1/2]

PetscErrorCode libMesh::__libmesh_petsc_preconditioner_setup ( PC  pc)

Definition at line 118 of file petsc_linear_solver.C.

119  {
120  libmesh_deprecated();
122  }

References libmesh_petsc_preconditioner_setup().

◆ __libmesh_petsc_preconditioner_setup() [2/2]

PetscErrorCode libMesh::__libmesh_petsc_preconditioner_setup ( void *  ctx)

This function is called by PETSc to initialize the preconditioner.

ctx will hold the Preconditioner.

Definition at line 105 of file petsc_linear_solver.C.

106  {
107  libmesh_deprecated();
109  }

References ctx, and libmesh_petsc_preconditioner_setup().

◆ __libmesh_petsc_snes_fd_residual()

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

Definition at line 236 of file petsc_nonlinear_solver.C.

237  {
238  libmesh_deprecated();
239  return libmesh_petsc_snes_fd_residual(snes, x, r, ctx);
240  }

References ctx, and libmesh_petsc_snes_fd_residual().

◆ __libmesh_petsc_snes_jacobian() [1/3]

PetscErrorCode libMesh::__libmesh_petsc_snes_jacobian ( #if PETSC_RELEASE_LESS_THAN(3, 5, 0) SNES  snes,
Vec  x,
Mat *  jac,
Mat *  pc,
MatStructure *  msflag,
void *ctx #else SNES  snes,
Vec  x,
Mat  jac,
Mat  pc,
void *ctx endif 
)

Definition at line 412 of file petsc_nonlinear_solver.C.

419  {
420  libmesh_deprecated();
422 #if PETSC_RELEASE_LESS_THAN(3,5,0)
423  snes, x, jac, pc, msflag, ctx
424 #else
425  snes, x, jac, pc, ctx
426 #endif
427  );
428  }

References ctx, and libmesh_petsc_snes_jacobian().

◆ __libmesh_petsc_snes_jacobian() [2/3]

PetscErrorCode libMesh::__libmesh_petsc_snes_jacobian ( SNES  ,
Vec  x,
Mat *  jac,
Mat *  pc,
MatStructure *  msflag,
void *  ctx 
)

◆ __libmesh_petsc_snes_jacobian() [3/3]

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

◆ __libmesh_petsc_snes_mffd_interface()

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

Definition at line 291 of file petsc_nonlinear_solver.C.

292  {
293  libmesh_deprecated();
295  }

References ctx, and libmesh_petsc_snes_mffd_interface().

◆ __libmesh_petsc_snes_monitor()

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

Definition at line 140 of file petsc_nonlinear_solver.C.

141  {
142  libmesh_deprecated();
143  return libmesh_petsc_snes_monitor(nullptr, its, fnorm, nullptr);
144  }

References libmesh_petsc_snes_monitor().

◆ __libmesh_petsc_snes_postcheck()

PetscErrorCode libMesh::__libmesh_petsc_snes_postcheck ( #if PETSC_VERSION_LESS_THAN(3, 3, 0)  SNES,
Vec  x,
Vec  y,
Vec  w,
void *  context,
PetscBool changed_y,
PetscBool *changed_w #else  SNESLineSearch,
Vec  x,
Vec  y,
Vec  w,
PetscBool changed_y,
PetscBool changed_w,
void *context #  endif 
)

Definition at line 518 of file petsc_nonlinear_solver.C.

525  {
526  libmesh_deprecated();
528 #if PETSC_VERSION_LESS_THAN(3,3,0)
529  nullptr, x, y, w, context, changed_y, changed_w
530 #else
531  nullptr, x, y, w, changed_y, changed_w, context
532 #endif
533  );
534  }

References libmesh_petsc_snes_postcheck().

◆ __libmesh_petsc_snes_residual()

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

Definition at line 196 of file petsc_nonlinear_solver.C.

197  {
198  libmesh_deprecated();
199  return libmesh_petsc_snes_residual(snes, x, r, ctx);
200  }

References ctx, and libmesh_petsc_snes_residual().

◆ __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  LOG_SCOPE("equality_constraints()", "TaoOptimizationSolver");
209 
210  PetscErrorCode ierr = 0;
211 
212  libmesh_assert(x);
213  libmesh_assert(ce);
215 
216  // ctx should be a pointer to the solver (it was passed in as void *)
217  TaoOptimizationSolver<Number> * solver =
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  return ierr;
252  }

References libMesh::ParallelObject::comm(), ctx, libMesh::OptimizationSystem::ComputeEqualityConstraints::equality_constraints(), libMesh::OptimizationSolver< T >::equality_constraints_object, ierr, libmesh_assert(), libMesh::PetscVector< T >::swap(), libMesh::OptimizationSolver< T >::system(), and libMesh::PetscVector< T >::zero().

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  LOG_SCOPE("equality_constraints_jacobian()", "TaoOptimizationSolver");
261 
262  PetscErrorCode ierr = 0;
263 
264  libmesh_assert(x);
265  libmesh_assert(J);
266  libmesh_assert(Jpre);
267 
268  // ctx should be a pointer to the solver (it was passed in as void *)
269  TaoOptimizationSolver<Number> * solver =
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  return ierr;
302  }

References libMesh::ParallelObject::comm(), ctx, libMesh::OptimizationSystem::ComputeEqualityConstraintsJacobian::equality_constraints_jacobian(), libMesh::OptimizationSolver< T >::equality_constraints_jacobian_object, ierr, libmesh_assert(), libMesh::PetscVector< T >::swap(), and libMesh::OptimizationSolver< T >::system().

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  LOG_SCOPE("gradient()", "TaoOptimizationSolver");
101 
102  PetscErrorCode ierr = 0;
103 
104  libmesh_assert(x);
105  libmesh_assert(g);
107 
108  // ctx should be a pointer to the solver (it was passed in as void *)
109  TaoOptimizationSolver<Number> * solver =
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  return ierr;
144  }

References libMesh::ParallelObject::comm(), ctx, libMesh::OptimizationSystem::ComputeGradient::gradient(), libMesh::OptimizationSolver< T >::gradient_object, ierr, libmesh_assert(), libMesh::PetscVector< T >::swap(), libMesh::OptimizationSolver< T >::system(), and libMesh::PetscVector< T >::zero().

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  LOG_SCOPE("hessian()", "TaoOptimizationSolver");
152 
153  PetscErrorCode ierr = 0;
154 
155  libmesh_assert(x);
156  libmesh_assert(h);
157  libmesh_assert(pc);
159 
160  // ctx should be a pointer to the solver (it was passed in as void *)
161  TaoOptimizationSolver<Number> * solver =
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  return ierr;
200  }

References libMesh::SparseMatrix< T >::attach_dof_map(), libMesh::ParallelObject::comm(), ctx, libMesh::OptimizationSystem::ComputeHessian::hessian(), libMesh::OptimizationSolver< T >::hessian_object, ierr, libmesh_assert(), libMesh::PetscVector< T >::swap(), and libMesh::OptimizationSolver< T >::system().

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  LOG_SCOPE("inequality_constraints()", "TaoOptimizationSolver");
310 
311  PetscErrorCode ierr = 0;
312 
313  libmesh_assert(x);
314  libmesh_assert(cineq);
316 
317  // ctx should be a pointer to the solver (it was passed in as void *)
318  TaoOptimizationSolver<Number> * solver =
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  return ierr;
353  }

References libMesh::ParallelObject::comm(), ctx, ierr, libMesh::OptimizationSystem::ComputeInequalityConstraints::inequality_constraints(), libMesh::OptimizationSolver< T >::inequality_constraints_object, libmesh_assert(), libMesh::PetscVector< T >::swap(), libMesh::OptimizationSolver< T >::system(), and libMesh::PetscVector< T >::zero().

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  LOG_SCOPE("inequality_constraints_jacobian()", "TaoOptimizationSolver");
362 
363  PetscErrorCode ierr = 0;
364 
365  libmesh_assert(x);
366  libmesh_assert(J);
367  libmesh_assert(Jpre);
368 
369  // ctx should be a pointer to the solver (it was passed in as void *)
370  TaoOptimizationSolver<Number> * solver =
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  return ierr;
403  }

References libMesh::ParallelObject::comm(), ctx, ierr, libMesh::OptimizationSystem::ComputeInequalityConstraintsJacobian::inequality_constraints_jacobian(), libMesh::OptimizationSolver< T >::inequality_constraints_jacobian_object, libmesh_assert(), libMesh::PetscVector< T >::swap(), and libMesh::OptimizationSolver< T >::system().

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  LOG_SCOPE("objective()", "TaoOptimizationSolver");
53 
54  PetscErrorCode ierr = 0;
55 
56  libmesh_assert(x);
57  libmesh_assert(objective);
59 
60  // ctx should be a pointer to the solver (it was passed in as void *)
61  TaoOptimizationSolver<Number> * solver =
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  return ierr;
91  }

References libMesh::ParallelObject::comm(), ctx, ierr, libmesh_assert(), libMesh::OptimizationSystem::ComputeObjective::objective(), libMesh::OptimizationSolver< T >::objective_object, PS(), libMesh::PetscVector< T >::swap(), and libMesh::OptimizationSolver< T >::system().

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

◆ 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 libMesh::Partitioner::_find_global_index_by_pid_map(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::MeshRefinement::_refine_elements(), libMesh::BoundaryInfo::add_edge(), libMesh::BoundaryInfo::add_elements(), libMesh::BoundaryInfo::add_node(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::DofMap::allgather_recursive_constraints(), assemble_poisson(), libMesh::AbaqusIO::assign_sideset_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_centroids(), 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::RBConstructionBase< CondensedEigenSystem >::get_params_from_training_set(), 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::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::GhostPointNeighbors::operator()(), AugmentSparsityOnNodes::operator()(), libMesh::SiblingCoupling::operator()(), OverlappingCouplingFunctor::operator()(), AugmentSparsityOnInterface::operator()(), libMesh::PointNeighborCoupling::operator()(), libMesh::DefaultCoupling::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::LinearPartitioner::partition_range(), libMesh::MetisPartitioner::partition_range(), libMesh::MappedSubdomainPartitioner::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::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_with_boundary_id(), libMesh::Partitioner::single_partition_range(), libMesh::MeshTools::Modification::smooth(), libMesh::Parallel::sync_node_data_by_element_id_once(), ParallelSyncTest::testPushMultimapImpl(), ParallelSyncTest::testPushMultimapVecVecImpl(), libMesh::MeshRefinement::uniformly_coarsen(), 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 610 of file libmesh_common.h.

611 {
612  libmesh_assert_equal_to
613  (oldvar, static_cast<Told>(static_cast<Tnew>(oldvar)));
614 
615  return(static_cast<Tnew>(oldvar));
616 }

◆ cast_ptr()

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

Definition at line 573 of file libmesh_common.h.

574 {
575 #if !defined(NDEBUG) && defined(LIBMESH_HAVE_RTTI)
576  Tnew newvar = dynamic_cast<Tnew>(oldvar);
577  if (!newvar)
578  {
579  libMesh::err << "Failed to convert " << typeid(Told).name()
580  << " pointer to " << typeid(Tnew).name()
581  << std::endl;
582  libMesh::err << "The " << typeid(Told).name()
583  << " appears to be a "
584  << typeid(*oldvar).name() << std::endl;
585  libmesh_error();
586  }
587  return newvar;
588 #else
589  return(static_cast<Tnew>(oldvar));
590 #endif
591 }

References err, and libMesh::Quality::name().

Referenced by libMesh::Parameters::have_parameter().

◆ cast_ref()

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

Definition at line 537 of file libmesh_common.h.

538 {
539 #if !defined(NDEBUG) && defined(LIBMESH_HAVE_RTTI) && defined(LIBMESH_ENABLE_EXCEPTIONS)
540  try
541  {
542  Tnew newvar = dynamic_cast<Tnew>(oldvar);
543  return newvar;
544  }
545  catch (std::bad_cast &)
546  {
547  libMesh::err << "Failed to convert " << typeid(Told).name()
548  << " reference to " << typeid(Tnew).name()
549  << std::endl;
550  libMesh::err << "The " << typeid(Told).name()
551  << " appears to be a "
552  << typeid(*(&oldvar)).name() << std::endl;
553  libmesh_error();
554  }
555 #else
556  return(static_cast<Tnew>(oldvar));
557 #endif
558 }

References err, and libMesh::Quality::name().

◆ CHKERRQ()

CHKERRQ ( ierr  )

◆ 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 272 of file libmesh.C.

273 {
275 }

References libMesh::libMeshPrivateData::_is_initialized.

Referenced by libMesh::PetscMatrix< libMesh::Number >::_get_submatrix(), libMesh::PetscMatrix< libMesh::Number >::get_row(), libMesh::EigenSparseVector< T >::l1_norm(), libMesh::LaspackVector< T >::l1_norm(), libMesh::EpetraVector< T >::l1_norm(), libMesh::PetscVector< libMesh::Number >::l1_norm(), libMesh::PetscMatrix< libMesh::Number >::l1_norm(), libMesh::EigenSparseVector< T >::l2_norm(), libMesh::LaspackVector< T >::l2_norm(), libMesh::EpetraVector< T >::l2_norm(), libMesh::PetscVector< libMesh::Number >::l2_norm(), libMesh::LibMeshInit::LibMeshInit(), libMesh::EigenSparseVector< T >::linfty_norm(), libMesh::LaspackVector< T >::linfty_norm(), libMesh::EpetraVector< T >::linfty_norm(), libMesh::PetscVector< libMesh::Number >::linfty_norm(), libMesh::PetscMatrix< libMesh::Number >::linfty_norm(), libMesh::PetscMatrix< libMesh::Number >::operator()(), libMesh::EigenSparseVector< T >::operator*=(), libMesh::EpetraVector< T >::operator*=(), libMesh::DistributedVector< T >::operator+=(), libMesh::EigenSparseVector< T >::operator+=(), libMesh::LaspackVector< T >::operator+=(), libMesh::EpetraVector< T >::operator+=(), libMesh::PetscVector< libMesh::Number >::operator+=(), libMesh::DistributedVector< T >::operator-=(), libMesh::EigenSparseVector< T >::operator-=(), libMesh::LaspackVector< T >::operator-=(), libMesh::EpetraVector< T >::operator-=(), libMesh::PetscVector< libMesh::Number >::operator-=(), libMesh::EigenSparseVector< T >::operator/=(), libMesh::EpetraVector< T >::operator/=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::PetscVector< libMesh::Number >::operator=(), libMesh::PetscMatrix< libMesh::Number >::print_matlab(), libMesh::PetscVector< libMesh::Number >::print_matlab(), libMesh::PetscMatrix< libMesh::Number >::print_personal(), libMesh::EigenSparseVector< T >::sum(), libMesh::LaspackVector< T >::sum(), libMesh::EpetraVector< T >::sum(), libMesh::PetscVector< libMesh::Number >::sum(), libMesh::EigenSparseVector< T >::zero(), libMesh::LaspackVector< T >::zero(), libMesh::EpetraVector< T >::zero(), libMesh::PetscVector< libMesh::Number >::zero(), libMesh::MeshBase::~MeshBase(), libMesh::System::~System(), and libMesh::UnstructuredMesh::~UnstructuredMesh().

◆ 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 963 of file libmesh.C.

964 {
965  // on_command_line also puts the command_line cursor in the spot we
966  // need
967  if (on_command_line(name))
968  return command_line->next(value);
969 
970  return value;
971 }

References libMesh::Quality::name(), on_command_line(), and value.

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

◆ command_line_next< char >()

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

◆ command_line_next< double >()

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

◆ command_line_next< float >()

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

◆ command_line_next< int >()

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

◆ command_line_next< long double >()

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

◆ command_line_next< Real >()

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

◆ command_line_next< short >()

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

◆ command_line_next< std::string >()

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

◆ command_line_next< unsigned char >()

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

◆ command_line_next< unsigned int >()

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

◆ command_line_next< unsigned short >()

template 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 931 of file libmesh.C.

932 {
933  // Make sure the command line parser is ready for use
934  libmesh_assert(command_line.get());
935 
936  // only if the variable exists in the file
937  if (command_line->have_variable(name))
938  value = (*command_line)(name, value);
939 
940  return value;
941 }

References libmesh_assert(), libMesh::Quality::name(), and value.

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

◆ command_line_value() [2/2]

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

Definition at line 944 of file libmesh.C.

945 {
946  // Make sure the command line parser is ready for use
947  libmesh_assert(command_line.get());
948 
949  // Check for multiple options (return the first that matches)
950  for (const auto & entry : name)
951  if (command_line->have_variable(entry))
952  {
953  value = (*command_line)(entry, value);
954  break;
955  }
956 
957  return value;
958 }

References libmesh_assert(), libMesh::Quality::name(), and value.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

template 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 976 of file libmesh.C.

977 {
978  // Make sure the command line parser is ready for use
979  libmesh_assert(command_line.get());
980 
981  // only if the variable exists on the command line
982  if (command_line->have_variable(name))
983  {
984  unsigned size = command_line->vector_variable_size(name);
985  vec.resize(size);
986 
987  for (unsigned i=0; i<size; ++i)
988  vec[i] = (*command_line)(name, vec[i], i);
989  }
990 }

References libmesh_assert(), and libMesh::Quality::name().

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

◆ command_line_vector< char >()

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

◆ command_line_vector< double >()

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

◆ command_line_vector< float >()

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

◆ command_line_vector< int >()

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

◆ command_line_vector< long double >()

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

◆ command_line_vector< Real >()

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

◆ command_line_vector< short >()

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

◆ command_line_vector< unsigned char >()

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

◆ command_line_vector< unsigned int >()

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

◆ command_line_vector< unsigned short >()

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

◆ connect_children()

void libMesh::connect_children ( const MeshBase mesh,
MeshBase::const_element_iterator  elem_it,
MeshBase::const_element_iterator  elem_end,
std::set< const Elem *, CompareElemIdsByLevel > &  connected_elements 
)

Definition at line 169 of file mesh_communication.C.

173 {
174  // None of these parameters are used when !LIBMESH_ENABLE_AMR.
175  libmesh_ignore(mesh, elem_it, elem_end, connected_elements);
176 
177 #ifdef LIBMESH_ENABLE_AMR
178  // Our XdrIO output needs inactive local elements to not have any
179  // remote_elem children. Let's make sure that doesn't happen.
180  //
181  for (const auto & elem : as_range(elem_it, elem_end))
182  {
183  if (elem->has_children())
184  for (auto & child : elem->child_ref_range())
185  if (&child != remote_elem)
186  connected_elements.insert(&child);
187  }
188 #endif // LIBMESH_ENABLE_AMR
189 }

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_families()

void libMesh::connect_families ( std::set< const Elem *, CompareElemIdsByLevel > &  connected_elements)

Definition at line 192 of file mesh_communication.C.

193 {
194  // This parameter is not used when !LIBMESH_ENABLE_AMR.
195  libmesh_ignore(connected_elements);
196 
197 #ifdef LIBMESH_ENABLE_AMR
198 
199  // Because our set is sorted by ascending level, we can traverse it
200  // in reverse order, adding parents as we go, and end up with all
201  // ancestors added. This is safe for std::set where insert doesn't
202  // invalidate iterators.
203  //
204  // This only works because we do *not* cache
205  // connected_elements.rend(), whose value can change when we insert
206  // elements which are sorted before the original rend.
207  //
208  // We're also going to get subactive descendents here, when any
209  // exist. We're iterating in the wrong direction to do that
210  // non-recursively, so we'll cop out and rely on total_family_tree.
211  // Iterating backwards does mean that we won't be querying the newly
212  // inserted subactive elements redundantly.
213 
214  std::set<const Elem *, CompareElemIdsByLevel>::reverse_iterator
215  elem_rit = connected_elements.rbegin();
216 
217  for (; elem_rit != connected_elements.rend(); ++elem_rit)
218  {
219  const Elem * elem = *elem_rit;
220  libmesh_assert(elem);
221  const Elem * parent = elem->parent();
222 
223  // We let ghosting functors worry about only active elements,
224  // but the remote processor needs all its semilocal elements'
225  // ancestors and active semilocal elements' descendants too.
226  if (parent)
227  connected_elements.insert (parent);
228 
229  if (elem->active() && elem->has_children())
230  {
231  std::vector<const Elem *> subactive_family;
232  elem->total_family_tree(subactive_family);
233  for (const auto & f : subactive_family)
234  {
236  connected_elements.insert(f);
237  }
238  }
239  }
240 
241 # ifdef DEBUG
242  // Let's be paranoid and make sure that all our ancestors
243  // really did get inserted. I screwed this up the first time
244  // by caching rend, and I can easily imagine screwing it up in
245  // the future by changing containers.
246  for (const auto & elem : connected_elements)
247  {
248  libmesh_assert(elem);
249  const Elem * parent = elem->parent();
250  if (parent)
251  libmesh_assert(connected_elements.count(parent));
252  }
253 # endif // DEBUG
254 
255 #endif // LIBMESH_ENABLE_AMR
256 }

References libMesh::Elem::active(), libMesh::Elem::has_children(), libmesh_assert(), libmesh_ignore(), libMesh::Elem::parent(), remote_elem, and libMesh::Elem::total_family_tree().

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

◆ 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 88 of file system_projection.C.

90 {
91  const std::size_t received_size = received.size();
92  converted.resize(received_size);
93  for (std::size_t i=0; i != received_size; ++i)
94  {
95  converted.raw_index(i) = received[i].first;
96  converted.raw_at(i) = received[i].second;
97  }
98 }

◆ 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 255 of file petsc_diff_solver.C.

256 {
257  switch (r)
258  {
259  case SNES_CONVERGED_FNORM_ABS:
260  return DiffSolver::CONVERGED_ABSOLUTE_RESIDUAL;
261  case SNES_CONVERGED_FNORM_RELATIVE:
262  return DiffSolver::CONVERGED_RELATIVE_RESIDUAL;
263 #if PETSC_VERSION_LESS_THAN(3,2,1)
264  case SNES_CONVERGED_PNORM_RELATIVE:
265 #else
266  case SNES_CONVERGED_SNORM_RELATIVE:
267 #endif
268  return DiffSolver::CONVERGED_RELATIVE_STEP;
269  case SNES_CONVERGED_ITS:
270  // SNES_CONVERGED_TR_DELTA was changed to a diverged condition,
271  // SNES_DIVERGED_TR_DELTA, in PETSc 1c6b2ff8df. This change will
272  // likely be in 3.12 and later releases.
273 #if PETSC_RELEASE_LESS_THAN(3,12,0)
274  case SNES_CONVERGED_TR_DELTA:
275 #endif
276  return DiffSolver::CONVERGED_NO_REASON;
277  case SNES_DIVERGED_FUNCTION_DOMAIN:
278  case SNES_DIVERGED_FUNCTION_COUNT:
279  case SNES_DIVERGED_FNORM_NAN:
280 #if !PETSC_VERSION_LESS_THAN(3,3,0)
281  case SNES_DIVERGED_INNER:
282 #endif
283  case SNES_DIVERGED_LINEAR_SOLVE:
284  case SNES_DIVERGED_LOCAL_MIN:
285  return DiffSolver::DIVERGED_NO_REASON;
286  case SNES_DIVERGED_MAX_IT:
287  return DiffSolver::DIVERGED_MAX_NONLINEAR_ITERATIONS;
288 #if PETSC_VERSION_LESS_THAN(3,2,0)
289  case SNES_DIVERGED_LS_FAILURE:
290 #else
291  case SNES_DIVERGED_LINE_SEARCH:
292 #endif
293  return DiffSolver::DIVERGED_BACKTRACKING_FAILURE;
294  // In PETSc, SNES_CONVERGED_ITERATING means
295  // the solve is still iterating, but by the
296  // time we get here, we must have either
297  // converged or diverged, so
298  // SNES_CONVERGED_ITERATING is invalid.
299  case SNES_CONVERGED_ITERATING:
300  return DiffSolver::INVALID_SOLVE_RESULT;
301  default:
302  break;
303  }
304  return DiffSolver::INVALID_SOLVE_RESULT;
305 }

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 74 of file system_projection.C.

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

◆ 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 1150 of file type_vector.h.

1152 {
1153  return std::sqrt(cross_norm_sq(b,c));
1154 }

References cross_norm_sq(), and std::sqrt().

Referenced by libMesh::Quad4::volume(), libMesh::Tri3::volume(), libMesh::Quad8::volume(), libMesh::Tri6::volume(), and libMesh::Quad9::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 1129 of file type_vector.h.

1131 {
1132  T z = b(0)*c(1) - b(1)*c(0);
1133 
1134 #if LIBMESH_DIM == 3
1135  T x = b(1)*c(2) - b(2)*c(1),
1136  y = b(0)*c(2) - b(2)*c(0);
1137  return x*x + y*y + z*z;
1138 #else
1139  return z*z;
1140 #endif
1141 }

Referenced by cross_norm().

◆ 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 993 of file libmesh.C.

994 {
996 
997  static bool called = false;
998 
999  // Check the command line. Since the command line is
1000  // unchanging it is sufficient to do this only once.
1001  if (!called)
1002  {
1003  called = true;
1004 
1005 #ifdef LIBMESH_HAVE_PETSC
1006  if (libMesh::on_command_line ("--use-petsc"))
1008 #endif
1009 
1010 #ifdef LIBMESH_TRILINOS_HAVE_AZTECOO
1011  if (libMesh::on_command_line ("--use-trilinos") ||
1012  libMesh::on_command_line ("--disable-petsc"))
1014 #endif
1015 
1016 #ifdef LIBMESH_HAVE_EIGEN
1017  if (libMesh::on_command_line ("--use-eigen" ) ||
1018 #if defined(LIBMESH_HAVE_MPI)
1019  // If the user bypassed MPI, we disable PETSc and Trilinos
1020  // too
1021  libMesh::on_command_line ("--disable-mpi") ||
1022 #endif
1023  libMesh::on_command_line ("--disable-petsc"))
1025 #endif
1026 
1027 #ifdef LIBMESH_HAVE_LASPACK
1028  if (libMesh::on_command_line ("--use-laspack" ) ||
1029 #if defined(LIBMESH_HAVE_MPI)
1030  // If the user bypassed MPI, we disable PETSc and Trilinos
1031  // too
1032  libMesh::on_command_line ("--disable-mpi") ||
1033 #endif
1034  libMesh::on_command_line ("--disable-petsc"))
1036 #endif
1037 
1038  if (libMesh::on_command_line ("--disable-laspack") &&
1039  libMesh::on_command_line ("--disable-trilinos") &&
1040  libMesh::on_command_line ("--disable-eigen") &&
1041  (
1042 #if defined(LIBMESH_HAVE_MPI)
1043  // If the user bypassed MPI, we disable PETSc too
1044  libMesh::on_command_line ("--disable-mpi") ||
1045 #endif
1046  libMesh::on_command_line ("--disable-petsc")))
1048  }
1049 
1050 
1052 }

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 main().

◆ demangle()

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

Mostly system independent demangler.

Definition at line 250 of file print_trace.C.

251 {
252  int status = 0;
253  std::string ret = name;
254 
255  // Actually do the demangling
256  char * demangled_name = abi::__cxa_demangle(name, 0, 0, &status);
257 
258  // If demangling returns non-nullptr, save the result in a string.
259  if (demangled_name)
260  ret = demangled_name;
261 
262  // According to cxxabi.h docs, the caller is responsible for
263  // deallocating memory.
264  std::free(demangled_name);
265 
266  return ret;
267 }

References libMesh::Quality::name().

Referenced by 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 822 of file libmesh.C.

823 {
824 #if !defined(LIBMESH_HAVE_FEENABLEEXCEPT) && defined(LIBMESH_HAVE_XMMINTRIN_H) && !defined(__SUNPRO_CC)
825  static int flags = 0;
826 #endif
827 
828  if (on)
829  {
830 #ifdef LIBMESH_HAVE_FEENABLEEXCEPT
831  feenableexcept(FE_DIVBYZERO | FE_INVALID);
832 #elif LIBMESH_HAVE_XMMINTRIN_H
833 # ifndef __SUNPRO_CC
834  flags = _MM_GET_EXCEPTION_MASK(); // store the flags
835  _MM_SET_EXCEPTION_MASK(flags & ~_MM_MASK_INVALID);
836 # endif
837 #endif
838 
839 #if LIBMESH_HAVE_DECL_SIGACTION
840  struct sigaction new_action, old_action;
841 
842  // Set up the structure to specify the new action.
843  new_action.sa_sigaction = libmesh_handleFPE;
844  sigemptyset (&new_action.sa_mask);
845  new_action.sa_flags = SA_SIGINFO;
846 
847  sigaction (SIGFPE, nullptr, &old_action);
848  if (old_action.sa_handler != SIG_IGN)
849  sigaction (SIGFPE, &new_action, nullptr);
850 #endif
851  }
852  else
853  {
854 #ifdef LIBMESH_HAVE_FEDISABLEEXCEPT
855  fedisableexcept(FE_DIVBYZERO | FE_INVALID);
856 #elif LIBMESH_HAVE_XMMINTRIN_H
857 # ifndef __SUNPRO_CC
858  _MM_SET_EXCEPTION_MASK(flags);
859 # endif
860 #endif
861  signal(SIGFPE, SIG_DFL);
862  }
863 }

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

◆ enableSEGV()

void libMesh::enableSEGV ( bool  on)

Toggle libMesh reporting of segmentation faults.

Definition at line 868 of file libmesh.C.

869 {
870 #if LIBMESH_HAVE_DECL_SIGACTION
871  static struct sigaction old_action;
872  static bool was_on = false;
873 
874  if (on)
875  {
876  struct sigaction new_action;
877  was_on = true;
878 
879  // Set up the structure to specify the new action.
880  new_action.sa_sigaction = libmesh_handleSEGV;
881  sigemptyset (&new_action.sa_mask);
882  new_action.sa_flags = SA_SIGINFO;
883 
884  sigaction (SIGSEGV, &new_action, &old_action);
885  }
886  else if (was_on)
887  {
888  was_on = false;
889  sigaction (SIGSEGV, &old_action, nullptr);
890  }
891 #else
892  libmesh_error_msg("System call sigaction not supported.");
893 #endif
894 }

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

◆ err()

OStreamProxy libMesh::err ( std::cerr  )

◆ ERRORS_IN_0D()

libMesh::ERRORS_IN_0D ( ERRORS_IN_0D(HERMITE)ERRORS_IN_0D(HIERARCHIC)ERRORS_IN_0D(L2_HIERARCHIC)ERRORS_IN_0D(LAGRANGE)ERRORS_IN_0D(L2_LAGRANGE)ERRORS_IN_0D(LAGRANGE_VEC)ERRORS_IN_0D(MONOMIAL)ERRORS_IN_0D(MONOMIAL_VEC)ERRORS_IN_0D(NEDELEC_ONE)ERRORS_IN_0D(SCALAR)ERRORS_IN_0D(XYZ)#ifdef LIBMESH_ENABLE_HIGHER_ORDER_SHAPESERRORS_IN_0D(BERNSTEIN)ERRORS_IN_0D()ERRORS_IN_0D(RATIONAL_BERNSTEIN)#endifREINIT_ERROR(1  CLOUGH)

Definition at line 70 of file fe_boundary.C.

90  { libmesh_error_msg("ERROR: Cannot edge_reinit 1D CLOUGH elements!"); }

◆ fe_lagrange_1D_cubic_shape()

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

Definition at line 75 of file fe_lagrange_shape_1D.h.

77 {
78  libmesh_assert_less (i, 4);
79 
80  switch (i)
81  {
82  case 0:
83  return 9./16.*(1./9.-xi*xi)*(xi-1.);
84 
85  case 1:
86  return -9./16.*(1./9.-xi*xi)*(xi+1.);
87 
88  case 2:
89  return 27./16.*(1.-xi*xi)*(1./3.-xi);
90 
91  case 3:
92  return 27./16.*(1.-xi*xi)*(1./3.+xi);
93 
94  default:
95  libmesh_error_msg("Invalid shape function index i = " << i);
96  }
97 }

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 179 of file fe_lagrange_shape_1D.h.

182 {
183  // only d()/dxi in 1D!
184  libmesh_assert_equal_to (j, 0);
185 
186  libmesh_assert_less (i, 4);
187 
188  switch (i)
189  {
190  case 0:
191  return -9./16.*(3.*xi*xi-2.*xi-1./9.);
192 
193  case 1:
194  return -9./16.*(-3.*xi*xi-2.*xi+1./9.);
195 
196  case 2:
197  return 27./16.*(3.*xi*xi-2./3.*xi-1.);
198 
199  case 3:
200  return 27./16.*(-3.*xi*xi-2./3.*xi+1.);
201 
202  default:
203  libmesh_error_msg("Invalid shape function index i = " << i);
204  }
205 }

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 264 of file fe_lagrange_shape_1D.h.

267 {
268  // Don't need to switch on j. 1D shape functions
269  // depend on xi only!
270  libmesh_assert_equal_to (j, 0);
271 
272  switch (i)
273  {
274  case 0:
275  return -9./16.*(6.*xi-2);
276 
277  case 1:
278  return -9./16.*(-6*xi-2.);
279 
280  case 2:
281  return 27./16.*(6*xi-2./3.);
282 
283  case 3:
284  return 27./16.*(-6*xi-2./3.);
285 
286  default:
287  libmesh_error_msg("Invalid shape function index i = " << i);
288  }
289 }

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 30 of file fe_lagrange_shape_1D.h.

32 {
33  libmesh_assert_less (i, 2);
34 
35  switch (i)
36  {
37  case 0:
38  return .5*(1. - xi);
39 
40  case 1:
41  return .5*(1. + xi);
42 
43  default:
44  libmesh_error_msg("Invalid shape function index i = " << i);
45  }
46 }

Referenced by fe_lagrange_1D_shape().

◆ 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 128 of file fe_lagrange_shape_1D.h.

131 {
132  // only d()/dxi in 1D!
133  libmesh_assert_equal_to (j, 0);
134 
135  libmesh_assert_less (i, 2);
136 
137  switch (i)
138  {
139  case 0:
140  return -.5;
141 
142  case 1:
143  return .5;
144 
145  default:
146  libmesh_error_msg("Invalid shape function index i = " << i);
147  }
148 }

Referenced by 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  return (1. - xi*xi);
66 
67  default:
68  libmesh_error_msg("Invalid shape function index i = " << i);
69  }
70 }

Referenced by fe_lagrange_1D_shape().

◆ 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 152 of file fe_lagrange_shape_1D.h.

155 {
156  // only d()/dxi in 1D!
157  libmesh_assert_equal_to (j, 0);
158 
159  libmesh_assert_less (i, 3);
160 
161  switch (i)
162  {
163  case 0:
164  return xi-.5;
165 
166  case 1:
167  return xi+.5;
168 
169  case 2:
170  return -2.*xi;
171 
172  default:
173  libmesh_error_msg("Invalid shape function index i = " << i);
174  }
175 }

Referenced by 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 238 of file fe_lagrange_shape_1D.h.

241 {
242  // Don't need to switch on j. 1D shape functions
243  // depend on xi only!
244  libmesh_assert_equal_to (j, 0);
245 
246  switch (i)
247  {
248  case 0:
249  return 1.;
250 
251  case 1:
252  return 1.;
253 
254  case 2:
255  return -2.;
256 
257  default:
258  libmesh_error_msg("Invalid shape function index i = " << i);
259  }
260 }

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 102 of file fe_lagrange_shape_1D.h.

105 {
106  switch (order)
107  {
108  // Lagrange linears
109  case FIRST:
110  return fe_lagrange_1D_linear_shape(i, xi);
111 
112  // Lagrange quadratics
113  case SECOND:
114  return fe_lagrange_1D_quadratic_shape(i, xi);
115 
116  // Lagrange cubics
117  case THIRD:
118  return fe_lagrange_1D_cubic_shape(i, xi);
119 
120  default:
121  libmesh_error_msg("ERROR: Unsupported polynomial order = " << order);
122  }
123 }

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, LAGRANGE_VEC >::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 210 of file fe_lagrange_shape_1D.h.

214 {
215  switch (order)
216  {
217  case FIRST:
218  return fe_lagrange_1D_linear_shape_deriv(i, j, xi);
219 
220  case SECOND:
221  return fe_lagrange_1D_quadratic_shape_deriv(i, j, xi);
222 
223  case THIRD:
224  return fe_lagrange_1D_cubic_shape_deriv(i, j, xi);
225 
226  default:
227  libmesh_error_msg("ERROR: Unsupported polynomial order = " << order);
228  }
229 }

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, LAGRANGE_VEC >::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 294 of file fe_lagrange_shape_1D.h.

298 {
299  switch (order)
300  {
301  // All second derivatives of linears are zero....
302  case FIRST:
303  return 0.;
304 
305  case SECOND:
307 
308  case THIRD:
310 
311  default:
312  libmesh_error_msg("ERROR: Unsupported polynomial order = " << order);
313  } // end switch (order)
314 }

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

Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::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_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 75 of file libmesh_base.h.

76 {
77 #ifdef LIBMESH_HAVE_MPI
79 #else
80  return 1;
81 #endif
82 }

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
Returns
The index of the local processor with respect to the original MPI pool libMesh was initialized with.

Definition at line 85 of file libmesh_base.h.

86 {
87 #ifdef LIBMESH_HAVE_MPI
89 #else
90  return 0;
91 #endif
92 }

References libMesh::libMeshPrivateData::_processor_id.

Referenced by libMesh::PerfLog::get_info_header(), libMesh::MacroFunctions::here(), libMesh::LibMeshInit::LibMeshInit(), DofObjectTest< Node >::testInvalidateProcId(), DofObjectTest< Node >::testSetProcId(), DofObjectTest< Node >::testValidProcId(), write_output_footers(), write_output_headers(), and write_traceout().

◆ if()

libMesh::if ( subdm  )

Definition at line 77 of file petsc_dm_wrapper.C.

78  {
79  ierr = DMShellCreate(PetscObjectComm((PetscObject) dm), subdm);
80  CHKERRQ(ierr);
81 
82  // Set the DM embedding dimension to help PetscDS (Discrete System)
83  ierr = DMSetCoordinateDim(*subdm, p_ctx->mesh_dim);
84  CHKERRQ(ierr);
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  {
93  ierr = DMShellSetCoarsen(*subdm, dm->ops->coarsen);
94  CHKERRQ(ierr);
95  }
96 #else
97  PetscErrorCode (*coarsen)(DM,MPI_Comm,DM*) = nullptr;
98  ierr = DMShellGetCoarsen(dm, &coarsen);
99  CHKERRQ(ierr);
100  if (coarsen)
101  {
102  ierr = DMShellSetCoarsen(*subdm, coarsen);
103  CHKERRQ(ierr);
104  }
105 #endif
106 
107  // Set Refine function pointer
108 #if PETSC_VERSION_LESS_THAN(3,12,0)
109  if (dm->ops->refine)
110  {
111  ierr = DMShellSetRefine(*subdm, dm->ops->refine);
112  CHKERRQ(ierr);
113  }
114 #else
115  PetscErrorCode (*refine)(DM,MPI_Comm,DM*) = nullptr;
116  ierr = DMShellGetRefine(dm, &refine);
117  if (refine)
118  {
119  ierr = DMShellSetRefine(*subdm, refine);
120  CHKERRQ(ierr);
121  }
122 #endif
123 
124  // Set Interpolation function pointer
125 #if PETSC_VERSION_LESS_THAN(3,12,0)
126  if (dm->ops->createinterpolation)
127  {
128  ierr = DMShellSetCreateInterpolation(*subdm, dm->ops->createinterpolation);
129  CHKERRQ(ierr);
130  }
131 #else
132  PetscErrorCode (*interp)(DM,DM,Mat*,Vec*) = nullptr;
133  ierr = DMShellGetCreateInterpolation(dm, &interp);
134  CHKERRQ(ierr);
135  if (interp)
136  {
137  ierr = DMShellSetCreateInterpolation(*subdm, interp);
138  CHKERRQ(ierr);
139  }
140 #endif
141 
142  // Set Restriction function pointer
143 #if PETSC_VERSION_LESS_THAN(3,12,0)
144  if (dm->ops->createrestriction)
145  {
146  ierr = DMShellSetCreateRestriction(*subdm, dm->ops->createrestriction);
147  CHKERRQ(ierr);
148  }
149 #else
150  PetscErrorCode (*createrestriction)(DM,DM,Mat*) = nullptr;
151  ierr = DMShellGetCreateRestriction(dm, &createrestriction);
152  CHKERRQ(ierr);
153  if (createrestriction)
154  {
155  ierr = DMShellSetCreateRestriction(*subdm, createrestriction);
156  CHKERRQ(ierr);
157  }
158 #endif
159 
160  // Set CreateSubDM function pointer
161 #if PETSC_VERSION_LESS_THAN(3,12,0)
162  if (dm->ops->createsubdm)
163  {
164  ierr = DMShellSetCreateSubDM(*subdm, dm->ops->createsubdm);
165  CHKERRQ(ierr);
166  }
167 #else
168  PetscErrorCode (*createsubdm)(DM,PetscInt,const PetscInt[],IS*,DM*) = nullptr;
169  ierr = DMShellGetCreateSubDM(dm, &createsubdm);
170  CHKERRQ(ierr);
171  if (createsubdm)
172  {
173  ierr = DMShellSetCreateSubDM(*subdm, createsubdm);
174  CHKERRQ(ierr);
175  }
176 #endif
177  // Set Context pointer
178  if (ctx)
179  {
180  ierr = DMShellSetContext(*subdm, ctx);
181  CHKERRQ(ierr);
182  }
183 #if PETSC_VERSION_LESS_THAN(3,11,0)
184  // Lastly, Compute the subsection for the subDM
185  ierr = DMCreateSubDM_Section_Private(dm, numFields, fields, is, subdm);
186  CHKERRQ(ierr);
187 #else
188  ierr = DMCreateSectionSubDM(dm, numFields, fields, is, subdm);
189  CHKERRQ(ierr);
190 #endif
191  }

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

Referenced by init_cd(), and libMesh::Nemesis_IO_Helper::write_element_values().

◆ imaginary()

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

◆ index_range() [1/4]

template<typename T >
IntRange<unsigned int> libMesh::index_range ( const DenseSubVector< T > &  vec)

Same thing but for DenseSubVector.

Definition at line 126 of file int_range.h.

127 {
128  return {0, vec.size()};
129 }

References libMesh::DenseSubVector< T >::size().

◆ index_range() [2/4]

template<typename T >
IntRange<unsigned int> libMesh::index_range ( const DenseVector< T > &  vec)

Same thing but for DenseVector.

Definition at line 116 of file int_range.h.

117 {
118  return {0, vec.size()};
119 }

References libMesh::DenseVector< T >::size().

◆ index_range() [3/4]

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 137 of file int_range.h.

138 {
139  return {vec.first_local_index(), vec.last_local_index()};
140 }

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

◆ index_range() [4/4]

template<typename T >
IntRange<std::size_t> libMesh::index_range ( const std::vector< T > &  vec)

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

Definition at line 106 of file int_range.h.

107 {
108  return IntRange<std::size_t>(0, vec.size());
109 }

Referenced by __libmesh_nlopt_equality_constraints(), __libmesh_nlopt_inequality_constraints(), __libmesh_nlopt_objective(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::SyncRefinementFlags::act_on_data(), libMesh::SyncNodalPositions::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::MeshBase::add_node_data(), libMesh::MeshBase::add_node_integer(), libMesh::MeshBase::add_node_integers(), libMesh::HPCoarsenTest::add_projection(), libMesh::RBDataSerialization::add_rb_scm_evaluation_data_to_builder(), libMesh::NumericVector< Number >::add_vector(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFunction< Output >::attach_subfunction(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Parallel::Histogram< KeyType, IdxType >::build_histogram(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_sf(), libMesh::CompositeFEMFunction< Output >::clone(), libMesh::CompositeFunction< Output >::clone(), libMesh::FEMap::compute_affine_map(), 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< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_functions(), libMesh::FEXYZ< Dim >::compute_shape_functions(), libMesh::FEMap::compute_single_point_map(), libMesh::Prism18::connectivity(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_value(), DMCreateDomainDecomposition_libMesh(), DMCreateFieldDecomposition_libMesh(), DMView_libMesh(), libMesh::DistributedVector< T >::dot(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ParsedFEMFunction< T >::eval_args(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::DTKEvaluator::evaluate(), libMesh::RBEIMAssembly::evaluate_basis_function(), libMesh::TreeNode< N >::find_element_in_children(), libMesh::ReplicatedMesh::fix_broken_node_and_element_numbering(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshTools::Modification::flatten(), libMesh::SyncRefinementFlags::gather_data(), libMesh::SyncNodalPositions::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::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::Nemesis_IO_Helper::get_node_cmap(), libMesh::MeshBase::get_node_integer_index(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::PetscMatrix< libMesh::Number >::get_row(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::QGrundmann_Moller::gm_rule(), libMesh::MeshFunction::gradient(), libMesh::MeshFunction::hessian(), libMesh::StatisticsVector< ErrorVectorReal >::histogram(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::Nemesis_IO_Helper::initialize_element_variables(), libMesh::NumericVector< Number >::insert(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::insert_ids(), libMesh::FEMContext::interior_gradients(), libMesh::FEMContext::interior_hessians(), libMesh::FEMContext::interior_values(), libMesh::DenseSubVector< Number >::l1_norm(), libMesh::DenseSubVector< Number >::l2_norm(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::RBDataDeserialization::load_rb_scm_evaluation_data(), libMesh::EigenSparseVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::LaspackVector< T >::localize(), libMesh::EpetraVector< T >::localize(), libMesh::SumShellMatrix< T >::m(), main(), libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_d2phi(), libMesh::H1FETransformation< OutputShape >::map_div(), libMesh::H1FETransformation< OutputShape >::map_dphi(), libMesh::H1FETransformation< OutputShape >::map_phi(), libMesh::HCurlFETransformation< OutputShape >::map_phi(), libMesh::SumShellMatrix< T >::n(), libMesh::VTKIO::node_values_to_vtk(), libMesh::DenseMatrix< Real >::operator!=(), libMesh::ConstFEMFunction< Output >::operator()(), libMesh::CompositeFEMFunction< Output >::operator()(), libMesh::CompositeFunction< Output >::operator()(), libMesh::MeshFunction::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::DistributedVector< T >::operator*=(), libMesh::DenseMatrix< Real >::operator+=(), libMesh::DenseMatrix< Real >::operator-=(), libMesh::DistributedVector< T >::operator/=(), libMesh::DistributedVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::DenseMatrix< Real >::operator==(), libMesh::CentroidPartitioner::partition_range(), libMesh::StatisticsVector< ErrorVectorReal >::plot_histogram(), libMesh::RBEIMConstruction::plot_parametrized_functions_in_training_set(), libMesh::PostscriptIO::plot_quadratic_elem(), libMesh::NumericVector< Number >::print(), libMesh::FEGenericBase< FEOutputType< T >::type >::print_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::print_dphi(), libMesh::LaplaceMeshSmoother::print_graph(), libMesh::QBase::print_info(), libMesh::FEMap::print_JxW(), libMesh::FEGenericBase< FEOutputType< T >::type >::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::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read_bc_names(), libMesh::CheckpointIO::read_bcs(), libMesh::GmshIO::read_mesh(), 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::DistributedMesh::renumber_dof_objects(), libMesh::ParsedFEMFunction< T >::reparse(), libMesh::ParsedFunction< T >::reparse(), libMesh::FEMap::resize_quadrature_map_vectors(), libMesh::PetscLinearSolver< Number >::restrict_solve_to(), libMesh::QBase::scale(), libMesh::DofMap::scatter_constraints(), libMesh::HPCoarsenTest::select_refinement(), libMesh::ParsedFEMFunction< T >::set_inline_value(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::FEMContext::side_gradients(), libMesh::FEMContext::side_hessians(), libMesh::FE< Dim, LAGRANGE_VEC >::side_map(), libMesh::FEMContext::side_values(), libMesh::SystemNorm::SystemNorm(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), ParallelSyncTest::testPullImpl(), ParallelSyncTest::testPullVecVecImpl(), libMesh::DifferentiableQoI::thread_join(), libMesh::RBEIMConstruction::truth_solve(), libMesh::EpetraMatrix< T >::update_sparsity_pattern(), libMesh::SumShellMatrix< T >::vector_mult_add(), 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::EnsightIO::write_geometry_ascii(), 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::ExodusII_IO_Helper::write_sidesets(), libMesh::EnsightIO::write_vector_ascii(), and libMesh::DenseSubVector< Number >::zero().

◆ 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 265 of file libmesh.C.

266 {
268 }

References libMesh::libMeshPrivateData::_is_initialized.

Referenced by libMesh::PetscVector< libMesh::Number >::_get_array(), libMesh::PetscVector< libMesh::Number >::_restore_array(), libMesh::EigenSparseVector< T >::abs(), libMesh::DistributedVector< T >::abs(), libMesh::LaspackVector< T >::abs(), libMesh::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::EpetraMatrix< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::LaspackVector< T >::add(), libMesh::PetscMatrix< libMesh::Number >::add(), libMesh::PetscMatrix< libMesh::Number >::add_block_matrix(), libMesh::EigenSparseMatrix< T >::add_matrix(), libMesh::LaspackMatrix< T >::add_matrix(), libMesh::EpetraMatrix< T >::add_matrix(), libMesh::PetscMatrix< libMesh::Number >::add_matrix(), libMesh::EigenSparseLinearSolver< T >::clear(), libMesh::LaspackLinearSolver< T >::clear(), libMesh::AztecLinearSolver< T >::clear(), libMesh::SlepcEigenSolver< libMesh::Number >::clear(), libMesh::PetscShellMatrix< T >::clear(), libMesh::TaoOptimizationSolver< T >::clear(), libMesh::NloptOptimizationSolver< T >::clear(), libMesh::LaspackMatrix< T >::clear(), libMesh::LaspackVector< T >::clear(), libMesh::PetscNonlinearSolver< Number >::clear(), libMesh::EpetraMatrix< T >::clear(), libMesh::PetscLinearSolver< Number >::clear(), libMesh::EpetraVector< T >::clear(), libMesh::PetscVector< libMesh::Number >::clear(), libMesh::PetscMatrix< libMesh::Number >::clear(), libMesh::DistributedVector< T >::close(), libMesh::LaspackMatrix< T >::close(), libMesh::EigenSparseVector< T >::close(), libMesh::LaspackVector< T >::close(), libMesh::EpetraVector< T >::close(), libMesh::EpetraMatrix< T >::closed(), libMesh::PetscMatrix< libMesh::Number >::closed(), libMesh::NumericVector< Number >::compare(), 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::EpetraVector< T >::first_local_index(), libMesh::PetscVector< libMesh::Number >::first_local_index(), libMesh::TaoOptimizationSolver< T >::get_converged_reason(), libMesh::PetscNonlinearSolver< Number >::get_converged_reason(), libMesh::PetscMatrix< libMesh::Number >::get_local_size(), libMesh::PetscMatrix< libMesh::Number >::get_row(), libMesh::NumericVector< Number >::global_relative_compare(), libMesh::EigenSparseLinearSolver< T >::init(), libMesh::LaspackLinearSolver< T >::init(), libMesh::AztecLinearSolver< T >::init(), libMesh::SlepcEigenSolver< libMesh::Number >::init(), libMesh::PetscShellMatrix< T >::init(), libMesh::NoxNonlinearSolver< Number >::init(), libMesh::TaoOptimizationSolver< T >::init(), libMesh::EigenSparseMatrix< T >::init(), libMesh::NloptOptimizationSolver< T >::init(), libMesh::LaspackMatrix< T >::init(), libMesh::DistributedVector< T >::init(), libMesh::EpetraMatrix< T >::init(), libMesh::EigenSparseVector< T >::init(), libMesh::PetscNonlinearSolver< Number >::init(), libMesh::PetscMatrix< libMesh::Number >::init(), libMesh::PetscLinearSolver< Number >::init(), libMesh::PetscVector< libMesh::Number >::init(), libMesh::DistributedVector< T >::l1_norm(), libMesh::EigenSparseVector< T >::l1_norm(), libMesh::EpetraMatrix< T >::l1_norm(), libMesh::PetscMatrix< libMesh::Number >::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::EpetraVector< T >::last_local_index(), libMesh::PetscVector< libMesh::Number >::last_local_index(), libMesh::LibMeshInit::LibMeshInit(), libMesh::DistributedVector< T >::linfty_norm(), libMesh::EigenSparseVector< T >::linfty_norm(), libMesh::EpetraMatrix< T >::linfty_norm(), libMesh::PetscMatrix< libMesh::Number >::linfty_norm(), libMesh::PetscMatrix< libMesh::Number >::local_m(), libMesh::PetscMatrix< libMesh::Number >::local_n(), libMesh::NumericVector< Number >::local_relative_compare(), libMesh::DistributedVector< T >::local_size(), libMesh::EigenSparseVector< T >::local_size(), libMesh::LaspackVector< T >::local_size(), libMesh::EpetraVector< T >::local_size(), libMesh::PetscVector< libMesh::Number >::local_size(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::localize_to_one(), libMesh::EigenSparseMatrix< T >::m(), libMesh::LaspackMatrix< T >::m(), libMesh::EpetraMatrix< T >::m(), libMesh::PetscMatrix< libMesh::Number >::m(), libMesh::PetscVector< libMesh::Number >::map_global_to_local_index(), 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< libMesh::Number >::n(), libMesh::AnalyticFunction< Output >::operator()(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::LaspackMatrix< T >::operator()(), libMesh::EpetraMatrix< T >::operator()(), libMesh::DistributedVector< T >::operator()(), libMesh::EigenSparseVector< T >::operator()(), libMesh::LaspackVector< T >::operator()(), libMesh::EpetraVector< T >::operator()(), libMesh::PetscMatrix< libMesh::Number >::operator()(), libMesh::DistributedVector< T >::operator+=(), libMesh::DistributedVector< T >::operator-=(), libMesh::DistributedVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::SparseMatrix< ValOut >::print(), libMesh::NumericVector< Number >::print(), libMesh::NumericVector< Number >::print_global(), libMesh::PetscMatrix< libMesh::Number >::print_matlab(), libMesh::EpetraMatrix< T >::print_personal(), libMesh::PetscMatrix< libMesh::Number >::print_personal(), libMesh::PetscMatrix< libMesh::Number >::reset_preallocation(), libMesh::EpetraMatrix< T >::row_start(), libMesh::PetscMatrix< libMesh::Number >::row_start(), libMesh::EpetraMatrix< T >::row_stop(), libMesh::PetscMatrix< libMesh::Number >::row_stop(), libMesh::EigenSparseVector< T >::scale(), libMesh::LaspackVector< T >::scale(), libMesh::DistributedVector< T >::scale(), libMesh::EigenSparseMatrix< T >::set(), libMesh::LaspackMatrix< T >::set(), libMesh::EpetraMatrix< T >::set(), libMesh::DistributedVector< T >::set(), libMesh::EigenSparseVector< T >::set(), libMesh::LaspackVector< T >::set(), libMesh::PetscMatrix< libMesh::Number >::set(), libMesh::DistributedVector< T >::size(), libMesh::EigenSparseVector< T >::size(), libMesh::LaspackVector< T >::size(), libMesh::EpetraVector< T >::size(), libMesh::PetscVector< libMesh::Number >::size(), libMesh::DistributedVector< T >::sum(), libMesh::EigenSparseVector< T >::sum(), 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::EpetraMatrix< T >::zero(), libMesh::EpetraVector< T >::zero(), libMesh::PetscMatrix< libMesh::Number >::zero(), and libMesh::PetscMatrix< libMesh::Number >::zero_rows().

◆ 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/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [2/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [3/42]

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() [4/42]

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() [5/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [6/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [7/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [8/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [9/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [10/42]

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() [11/42]

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() [12/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [13/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [14/42]

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() [15/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [16/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [17/42]

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() [18/42]

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() [19/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [20/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [21/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [22/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [23/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [24/42]

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() [25/42]

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() [26/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [27/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [28/42]

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() [29/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [30/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [31/42]

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() [32/42]

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() [33/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [34/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [35/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [36/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [37/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [38/42]

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/42]

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/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [41/42]

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

◆ INSTANTIATE_INF_FE_MBRF() [42/42]

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)   
)

◆ is_between()

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

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::intersects().

◆ libmesh_assert()

libMesh::libmesh_assert ( ctx  )

Referenced by __libmesh_nlopt_equality_constraints(), __libmesh_nlopt_inequality_constraints(), __libmesh_nlopt_objective(), __libmesh_petsc_diff_solver_jacobian(), __libmesh_petsc_diff_solver_residual(), __libmesh_tao_equality_constraints(), __libmesh_tao_equality_constraints_jacobian(), __libmesh_tao_gradient(), __libmesh_tao_hessian(), __libmesh_tao_inequality_constraints(), __libmesh_tao_inequality_constraints_jacobian(), __libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::PetscLinearSolver< Number >::_create_complement_is(), libMesh::FEMContext::_do_elem_position_set(), libMesh::DofMap::_dof_indices(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::SteadySolver::_general_residual(), libMesh::PetscVector< libMesh::Number >::_get_array(), libMesh::DofMap::_node_dof_indices(), libMesh::EquationSystems::_read_impl(), libMesh::GMVIO::_read_one_cell(), libMesh::MeshRefinement::_refine_elements(), libMesh::PetscVector< libMesh::Number >::_restore_array(), libMesh::PetscLinearSolver< Number >::_restrict_solve_to_is_local_size(), libMesh::MeshRefinement::_smooth_flags(), libMesh::EigenSparseVector< T >::abs(), libMesh::DistributedVector< T >::abs(), libMesh::LaspackVector< 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::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::EpetraMatrix< T >::add(), libMesh::DistributedVector< T >::add(), libMesh::EigenSparseVector< T >::add(), libMesh::LaspackVector< T >::add(), libMesh::PetscMatrix< libMesh::Number >::add(), libMesh::PetscMatrix< libMesh::Number >::add_block_matrix(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::GMVIO::add_cell_centered_data(), libMesh::Elem::add_child(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DifferentiableSystem::add_dot_var_dirichlet_bcs(), libMesh::BoundaryInfo::add_edge(), libMesh::ReplicatedMesh::add_elem(), libMesh::DistributedMesh::add_elem(), libMesh::MeshRefinement::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::EigenSparseMatrix< T >::add_matrix(), libMesh::LaspackMatrix< T >::add_matrix(), libMesh::EpetraMatrix< T >::add_matrix(), libMesh::PetscMatrix< libMesh::Number >::add_matrix(), libMesh::ReplicatedMesh::add_node(), libMesh::BoundaryInfo::add_node(), libMesh::DistributedMesh::add_node(), libMesh::MeshRefinement::add_node(), libMesh::DofMap::add_periodic_boundary(), libMesh::ReplicatedMesh::add_point(), libMesh::DistributedMesh::add_point(), libMesh::HPCoarsenTest::add_projection(), libMesh::EnsightIO::add_scalar(), libMesh::BoundaryInfo::add_shellface(), libMesh::BoundaryInfo::add_side(), libMesh::ImplicitSystem::add_system_matrix(), libMesh::ExplicitSystem::add_system_rhs(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::EnsightIO::add_vector(), libMesh::EigenSparseVector< T >::add_vector(), libMesh::LaspackVector< T >::add_vector(), libMesh::NumericVector< Number >::add_vector(), libMesh::EigenSparseVector< T >::add_vector_transpose(), libMesh::EquationSystems::adjoint_solve(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::AnalyticFunction< Output >::AnalyticFunction(), libMesh::Elem::ancestor(), libMesh::Utility::do_pow< N, T >::apply(), libMesh::FrequencySystem::assemble(), libMesh::ImplicitSystem::assemble(), assemble_poisson(), assemble_SchroedingerEquation(), libMesh::FEMSystem::assembly(), libMesh::NonlinearImplicitSystem::assembly(), 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, LAGRANGE_VEC >::attach_quadrature_rule(), libMesh::InfFE< Dim, T_radial, T_map >::attach_quadrature_rule(), libMesh::FESubdivision::attach_quadrature_rule(), libMesh::ExactSolution::attach_reference_solution(), libMesh::ExactErrorEstimator::attach_reference_solution(), libMesh::FrequencySystem::attach_solve_function(), libMesh::Parallel::BinSorter< KeyType, IdxType >::BinSorter(), libMesh::Threads::BoolAcquire::BoolAcquire(), libMesh::BoundaryInfo::boundary_ids(), libMesh::BoundaryProjectSolution::BoundaryProjectSolution(), libMesh::TreeNode< N >::bounds_node(), 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::FEMContext::build_new_fe(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::DofMap::build_sparsity(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::DofMap::check_for_constraint_loops(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::Elem::child_ptr(), libMesh::Elem::child_ref_range(), libMesh::Singleton::cleanup(), libMesh::EpetraMatrix< T >::clear(), libMesh::DofMap::clear(), libMesh::DofMap::clear_sparsity(), libMesh::Parameters::Parameter< T >::clone(), libMesh::DistributedVector< T >::close(), libMesh::LaspackMatrix< T >::close(), libMesh::EigenSparseVector< T >::close(), libMesh::LaspackVector< T >::close(), libMesh::EpetraVector< T >::close(), libMesh::EpetraMatrix< T >::close(), libMesh::EpetraMatrix< T >::closed(), libMesh::PetscMatrix< libMesh::Number >::closed(), libMesh::Elem::coarsen(), libMesh::MeshRefinement::coarsen_elements(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::InfFE< Dim, T_radial, T_map >::combine_base_radial(), command_line_value(), command_line_vector(), libMesh::Xdr::comment(), libMesh::System::compare(), libMesh::NumericVector< Number >::compare(), libMesh::WrappedFunction< Output >::component(), libMesh::FEMap::compute_affine_map(), libMesh::FEInterface::compute_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEMap::compute_edge_map(), libMesh::ExactSolution::compute_error(), libMesh::FEXYZMap::compute_face_map(), libMesh::FEMap::compute_face_map(), libMesh::FEXYZ< Dim >::compute_face_values(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::Elem::compute_key(), libMesh::FEMap::compute_map(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::FirstOrderUnsteadySolver::compute_second_order_eqns(), libMesh::FEXYZ< Dim >::compute_shape_functions(), libMesh::FEMap::compute_single_point_map(), connect_families(), libMesh::Prism6::connectivity(), libMesh::Pyramid5::connectivity(), libMesh::Hex8::connectivity(), libMesh::InfHex8::connectivity(), libMesh::InfPrism6::connectivity(), libMesh::InfPrism12::connectivity(), libMesh::Tet4::connectivity(), libMesh::Tet10::connectivity(), libMesh::Hex20::connectivity(), libMesh::InfHex16::connectivity(), libMesh::Prism15::connectivity(), libMesh::Pyramid13::connectivity(), libMesh::Hex27::connectivity(), libMesh::InfHex18::connectivity(), libMesh::Prism18::connectivity(), libMesh::Pyramid14::connectivity(), libMesh::InverseDistanceInterpolation< KDDim >::construct_kd_tree(), libMesh::UnstructuredMesh::contract(), libMesh::Elem::contract(), libMesh::GMVIO::copy_nodal_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::vectormap< Key, Tp >::count(), 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::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::Xdr::data(), libMesh::Xdr::data_stream(), libMesh::ParameterVector::deep_resize(), default_solver_package(), libMesh::ReplicatedMesh::delete_elem(), libMesh::DistributedMesh::delete_elem(), libMesh::ReplicatedMesh::delete_node(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DGFEMContext::DGFEMContext(), libMesh::DirichletBoundary::DirichletBoundary(), libMesh::MeshFunction::disable_out_of_mesh_mode(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_value(), libMesh::MeshTools::Modification::distort(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), libMesh::Xdr::do_read(), libMesh::Xdr::do_write(), libMesh::DofMap::dof_indices(), libMesh::DofMap::dof_owner(), libMesh::FE< Dim, LAGRANGE_VEC >::dofs_on_edge(), libMesh::FE< Dim, LAGRANGE_VEC >::dofs_on_side(), libMesh::EigenSparseVector< T >::dot(), libMesh::LaspackVector< T >::dot(), libMesh::BoundaryInfo::edge_boundary_ids(), libMesh::FE< Dim, LAGRANGE_VEC >::edge_reinit(), libMesh::FEMContext::elem_fe_reinit(), libMesh::FEMContext::elem_position_get(), libMesh::ReplicatedMesh::elem_ptr(), libMesh::DistributedMesh::elem_ptr(), CoupledSystem::element_constraint(), libMesh::TetGenIO::element_in(), libMesh::AdaptiveTimeSolver::element_residual(), libMesh::EigenTimeSolver::element_residual(), SolidSystem::element_time_derivative(), L2System::element_time_derivative(), CoupledSystem::element_time_derivative(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::MeshFunction::enable_out_of_mesh_mode(), libMesh::DofObject::end_idx_ints(), libMesh::ExactSolution::error_norm(), libMesh::AdaptiveTimeSolver::error_order(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::FEMPhysics::eulerian_residual(), libMesh::InfFEMap::eval(), libMesh::RBThetaExpansion::eval_A_theta(), libMesh::ParsedFEMFunction< T >::eval_args(), libMesh::InfFEMap::eval_deriv(), libMesh::RBThetaExpansion::eval_F_theta(), libMesh::TransientRBThetaExpansion::eval_M_theta(), libMesh::OldSolutionCoefs< Output, point_output >::eval_old_dofs(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::RBThetaExpansion::eval_output_theta(), libMesh::RBEIMAssembly::evaluate_basis_function(), 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(), libMesh::PerfLog::fast_pop(), 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_neighbors(), libMesh::MeshTools::Subdivision::find_one_ring(), libMesh::ElemInternal::find_point_neighbors(), libMesh::Elem::find_point_neighbors(), libMesh::MemorySolutionHistory::find_stored_entry(), libMesh::DTKAdapter::find_sys(), libMesh::EquationSystems::find_variable_numbers(), libMesh::DistributedVector< T >::first_local_index(), libMesh::EigenSparseVector< T >::first_local_index(), libMesh::LaspackVector< T >::first_local_index(), libMesh::EpetraVector< T >::first_local_index(), libMesh::PetscVector< libMesh::Number >::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(), fptr(), libMesh::DofMap::gather_constraints(), libMesh::ParameterPointer< T >::get(), libMesh::ParameterMultiPointer< T >::get(), libMesh::ParameterMultiAccessor< T >::get(), libMesh::Parameters::get(), libMesh::ReplicatedMesh::get_boundary_points(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi(), libMesh::FEMap::get_curvatures(), libMesh::FEMap::get_d2etadxyz2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phideta2(), libMesh::FEMap::get_d2phideta2_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidetadzeta(), libMesh::FEMap::get_d2phidetadzeta_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidx2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxi2(), libMesh::FEMap::get_d2phidxi2_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxideta(), libMesh::FEMap::get_d2phidxideta_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxidzeta(), libMesh::FEMap::get_d2phidxidzeta_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidy2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidydz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidz2(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidzeta2(), libMesh::FEMap::get_d2phidzeta2_map(), libMesh::FEMap::get_d2psideta2(), libMesh::FEMap::get_d2psidxi2(), 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::FEMap::get_detady(), libMesh::FEMap::get_detadz(), libMesh::ReplicatedMesh::get_disconnected_subdomains(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_div_phi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphi(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphideta(), libMesh::FEMap::get_dphideta_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidx(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidxi(), libMesh::FEMap::get_dphidxi_map(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidy(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidz(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_dphidzeta(), libMesh::FEMap::get_dphidzeta_map(), libMesh::FEMap::get_dpsideta(), libMesh::FEMap::get_dpsidxi(), libMesh::FEMap::get_dxidx(), libMesh::FEMap::get_dxidy(), libMesh::FEMap::get_dxidz(), libMesh::FEMap::get_dxyzdeta(), libMesh::FEMap::get_dxyzdxi(), libMesh::FEMap::get_dxyzdzeta(), libMesh::FEMap::get_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::FEMContext::get_elem(), libMesh::DiffContext::get_elem_fixed_solution(), libMesh::DiffContext::get_elem_jacobian(), libMesh::DiffContext::get_elem_residual(), libMesh::DiffContext::get_elem_solution(), libMesh::DiffContext::get_elem_solution_accel(), libMesh::DiffContext::get_elem_solution_rate(), libMesh::TetGenWrapper::get_element_attribute(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_qrule(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_first_local_training_index(), libMesh::DofMap::get_info(), libMesh::ParsedFEMFunction< T >::get_inline_value(), libMesh::ParsedFunction< T >::get_inline_value(), libMesh::FEMap::get_jacobian(), libMesh::FEMap::get_JxW(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_last_local_training_index(), libMesh::DifferentiableSystem::get_linear_solve_parameters(), libMesh::NewtonSolver::get_linear_solver(), libMesh::DifferentiableSystem::get_linear_solver(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_local_n_training_samples(), libMesh::PetscMatrix< libMesh::Number >::get_local_size(), libMesh::DiffContext::get_localized_subvector(), libMesh::DiffContext::get_localized_vector(), AugmentSparsityOnInterface::get_lower_to_upper(), libMesh::RBParametrized::get_n_continuous_params(), libMesh::DofMap::get_n_nz(), libMesh::DofMap::get_n_oz(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_n_training_samples(), libMesh::FEMap::get_normals(), libMesh::Tri3Subdivision::get_ordered_node(), libMesh::Tri3Subdivision::get_ordered_valence(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_params_from_training_set(), libMesh::PerfLog::get_perf_data(), libMesh::FEGenericBase< FEOutputType< T >::type >::get_phi(), libMesh::FEMap::get_phi_map(), libMesh::MeshFunction::get_point_locator(), libMesh::DenseMatrix< Real >::get_principal_submatrix(), libMesh::DiffContext::get_qoi_derivatives(), libMesh::PetscMatrix< libMesh::Number >::get_row(), libMesh::FEMContext::get_side_fe(), libMesh::FEMContext::get_side_qrule(), libMesh::FEMap::get_tangents(), libMesh::DifferentiableSystem::get_time_solver(), libMesh::System::get_vector(), libMesh::FEMap::get_xyz(), libMesh::NumericVector< Number >::global_relative_compare(), libMesh::QGrundmann_Moller::gm_rule(), gptr(), libMesh::MeshFunction::gradient(), libMesh::MeshRefinement::has_topological_neighbor(), libMesh::MeshFunction::hessian(), libMesh::Parallel::Histogram< KeyType, IdxType >::Histogram(), libMesh::StatisticsVector< ErrorVectorReal >::histogram(), libMesh::DofObject::id(), libMesh::AdaptiveTimeSolver::init(), libMesh::DiagonalMatrix< T >::init(), libMesh::PetscShellMatrix< T >::init(), libMesh::AnalyticFunction< Output >::init(), libMesh::PointLocatorTree::init(), libMesh::QComposite< QSubCell >::init(), libMesh::EigenSparseMatrix< T >::init(), libMesh::LaspackMatrix< T >::init(), libMesh::MeshFunction::init(), libMesh::DistributedVector< T >::init(), libMesh::EpetraMatrix< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::PetscVector< libMesh::Number >::init(), libMesh::PetscMatrix< libMesh::Number >::init(), libMesh::System::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), L2System::init_context(), NavierSystem::init_data(), CoupledSystem::init_data(), libMesh::DifferentiableSystem::init_data(), libMesh::RBEIMConstruction::init_dof_map_between_systems(), libMesh::FEMap::init_edge_shape_functions(), libMesh::FEMap::init_face_shape_functions(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::FEMContext::init_internal_data(), libMesh::ImplicitSystem::init_matrices(), libMesh::InfFE< Dim, T_radial, T_map >::init_radial_shape_functions(), libMesh::InfFE< Dim, T_radial, T_map >::init_shape_functions(), libMesh::FESubdivision::init_shape_functions(), libMesh::FEXYZ< Dim >::init_shape_functions(), libMesh::ParmetisPartitioner::initialize(), LinearElasticityWithContact::initialize_contact_load_paths(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::EpetraVector< T >::inputValues(), libMesh::TreeNode< N >::insert(), libMesh::NumericVector< Number >::insert(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::insert_id(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::insert_ids(), libMesh::Elem::interior_parent(), libMesh::BoundingBox::intersects(), libMesh::InfFEMap::inverse_map(), libMesh::FEMap::inverse_map(), libMesh::SystemNorm::is_discrete(), libMesh::Xdr::is_eof(), libMesh::Elem::is_mid_infinite_edge_node(), libMesh::DifferentiablePhysics::is_time_evolving(), libMesh::SparsityPattern::Build::join(), libMesh::DistributedVector< T >::l1_norm(), libMesh::EigenSparseVector< T >::l1_norm(), libMesh::LaspackVector< T >::l1_norm(), libMesh::EpetraVector< T >::l1_norm(), libMesh::EpetraMatrix< T >::l1_norm(), libMesh::PetscVector< libMesh::Number >::l1_norm(), libMesh::PetscMatrix< libMesh::Number >::l1_norm(), libMesh::DenseMatrix< Real >::l1_norm(), libMesh::DistributedVector< T >::l2_norm(), libMesh::EigenSparseVector< T >::l2_norm(), libMesh::LaspackVector< T >::l2_norm(), libMesh::EpetraVector< T >::l2_norm(), libMesh::PetscVector< libMesh::Number >::l2_norm(), libMesh::DistributedVector< T >::last_local_index(), libMesh::EigenSparseVector< T >::last_local_index(), libMesh::LaspackVector< T >::last_local_index(), libMesh::EpetraVector< T >::last_local_index(), libMesh::PetscVector< libMesh::Number >::last_local_index(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), 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_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_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Elem::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_node_pointers(), libMesh::Elem::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::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_petsc_DMCoarsen(), libmesh_petsc_DMCreateInterpolation(), libmesh_petsc_DMCreateRestriction(), libmesh_petsc_DMRefine(), libmesh_petsc_snes_fd_residual(), libmesh_petsc_snes_jacobian(), libmesh_petsc_snes_mffd_residual(), libmesh_petsc_snes_postcheck(), libmesh_petsc_snes_residual(), libmesh_petsc_snes_residual_helper(), libMesh::LibMeshInit::LibMeshInit(), libMesh::DistributedVector< T >::linfty_norm(), libMesh::EigenSparseVector< T >::linfty_norm(), libMesh::LaspackVector< T >::linfty_norm(), libMesh::EpetraVector< T >::linfty_norm(), libMesh::EpetraMatrix< T >::linfty_norm(), libMesh::PetscVector< libMesh::Number >::linfty_norm(), libMesh::PetscMatrix< libMesh::Number >::linfty_norm(), libMesh::DenseMatrix< Real >::linfty_norm(), libMesh::System::local_dof_indices(), libMesh::PetscMatrix< libMesh::Number >::local_m(), libMesh::PetscMatrix< libMesh::Number >::local_n(), libMesh::NumericVector< Number >::local_relative_compare(), libMesh::DistributedVector< T >::local_size(), libMesh::EigenSparseVector< T >::local_size(), libMesh::LaspackVector< T >::local_size(), libMesh::EpetraVector< T >::local_size(), libMesh::PetscVector< libMesh::Number >::local_size(), libMesh::DofMap::local_variable_indices(), libMesh::EigenSparseVector< T >::localize(), libMesh::DistributedVector< T >::localize(), libMesh::LaspackVector< T >::localize(), libMesh::EpetraVector< T >::localize(), libMesh::PetscVector< libMesh::Number >::localize(), libMesh::DistributedVector< T >::localize_to_one(), libMesh::EpetraVector< T >::localize_to_one(), libMesh::SumShellMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::m(), libMesh::LaspackMatrix< T >::m(), libMesh::EpetraMatrix< T >::m(), libMesh::PetscMatrix< libMesh::Number >::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::InfFEMap::map(), libMesh::FEMap::map(), libMesh::FEMap::map_deriv(), libMesh::PetscVector< libMesh::Number >::map_global_to_local_index(), libMesh::EpetraMatrix< T >::mat(), libMesh::PetscMatrix< libMesh::Number >::mat(), libMesh::DenseSubVector< Number >::max(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::EpetraVector< T >::max(), libMesh::DenseVector< Output >::max(), libMesh::DenseMatrix< Real >::max(), libMesh::DofMap::max_constraint_error(), libMesh::Elem::max_descendant_p_level(), libMesh::DofMap::merge_ghost_functor_outputs(), libMesh::MeshOutput< MeshBase >::mesh(), libMesh::FEMSystem::mesh_position_set(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::DefaultCoupling::mesh_reinit(), libMesh::PointNeighborCoupling::mesh_reinit(), libMesh::MeshBase::MeshBase(), libMesh::DenseSubVector< Number >::min(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), libMesh::EpetraVector< T >::min(), libMesh::DenseVector< Output >::min(), libMesh::DenseMatrix< Real >::min(), libMesh::Elem::min_new_p_level_by_neighbor(), libMesh::Elem::min_p_level_by_neighbor(), libMesh::SumShellMatrix< T >::n(), libMesh::EigenSparseMatrix< T >::n(), libMesh::LaspackMatrix< T >::n(), libMesh::EpetraMatrix< T >::n(), libMesh::PetscMatrix< libMesh::Number >::n(), libMesh::MeshBase::n_elem_on_proc(), libMesh::FrequencySystem::n_frequencies(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::QBase::n_points(), libMesh::FE< Dim, LAGRANGE_VEC >::n_quadrature_points(), libMesh::InfFE< Dim, T_radial, T_map >::n_quadrature_points(), libMesh::PeriodicBoundaries::neighbor(), libMesh::InfFE< Dim, T_radial, T_map >::nodal_soln(), libMesh::FE< Dim, LAGRANGE_VEC >::nodal_soln(), libMesh::Elem::node_id(), libMesh::TetGenIO::node_in(), libMesh::ReplicatedMesh::node_ptr(), libMesh::Elem::node_ptr(), libMesh::DistributedMesh::node_ptr(), libMesh::AdaptiveTimeSolver::nonlocal_residual(), libMesh::EigenTimeSolver::nonlocal_residual(), libMesh::DofMap::old_dof_indices(), on_command_line(), libMesh::Xdr::open(), libMesh::CompareElemIdsByLevel::operator()(), AugmentSparsityOnInterface::operator()(), libMesh::Predicates::abstract_multi_predicate< T >::operator()(), libMesh::WrappedFunction< Output >::operator()(), libMesh::AnalyticFunction< Output >::operator()(), libMesh::DefaultCoupling::operator()(), libMesh::PointNeighborCoupling::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PointLocatorTree::operator()(), libMesh::ElemCutter::operator()(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::MeshFunction::operator()(), libMesh::LaspackMatrix< T >::operator()(), libMesh::EpetraMatrix< T >::operator()(), libMesh::DistributedVector< T >::operator()(), libMesh::EigenSparseVector< T >::operator()(), libMesh::LaspackVector< T >::operator()(), libMesh::EpetraVector< T >::operator()(), libMesh::BuildProjectionList::operator()(), libMesh::PetscMatrix< libMesh::Number >::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), Pred< IterType, PredType >::operator()(), libMesh::EigenSparseVector< T >::operator*=(), libMesh::EpetraVector< T >::operator*=(), libMesh::ConstCouplingRowConstIterator::operator++(), libMesh::DistributedVector< T >::operator+=(), libMesh::EigenSparseVector< T >::operator+=(), libMesh::LaspackVector< T >::operator+=(), libMesh::EpetraVector< T >::operator+=(), libMesh::PetscVector< libMesh::Number >::operator+=(), libMesh::DistributedVector< T >::operator-=(), libMesh::EigenSparseVector< T >::operator-=(), libMesh::LaspackVector< T >::operator-=(), libMesh::EpetraVector< T >::operator-=(), libMesh::PetscVector< libMesh::Number >::operator-=(), libMesh::EigenSparseVector< T >::operator/=(), libMesh::EpetraVector< T >::operator/=(), libMesh::Xdr::operator<<(), libMesh::DistributedVector< T >::operator=(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), libMesh::PetscVector< libMesh::Number >::operator=(), libMesh::ConstCouplingRow::operator==(), libMesh::ConstCouplingRowConstIterator::operator==(), libMesh::Xdr::operator>>(), libMesh::vectormap< Key, Tp >::operator[](), libMesh::Hex::opposite_node(), libMesh::Edge::opposite_node(), libMesh::Quad::opposite_node(), libMesh::DistributedMesh::own_node(), libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Parallel::Packing< const Elem * >::pack(), libMesh::XdrIO::pack_element(), 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::RBEIMConstruction::plot_parametrized_functions_in_training_set(), libMesh::Elem::point(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::MeshBase::point_locator(), libMesh::System::point_value(), libMesh::PerfLog::pop(), libMesh::LaspackMatrix< T >::pos(), libMesh::METIS_CSR_Graph< IndexType >::prepare_for_use(), libMesh::MeshBase::prepare_for_use(), libMesh::MeshTools::Subdivision::prepare_subdivision_mesh(), libMesh::SparseMatrix< ValOut >::print(), libMesh::NumericVector< Number >::print(), libMesh::NumericVector< Number >::print_global(), libMesh::QBase::print_info(), libMesh::PetscMatrix< libMesh::Number >::print_matlab(), libMesh::PetscVector< libMesh::Number >::print_matlab(), libMesh::EpetraMatrix< T >::print_personal(), libMesh::PetscMatrix< libMesh::Number >::print_personal(), libMesh::DofMap::process_constraints(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::System::project_vector(), libMesh::ParameterVector::push_back(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::QComposite< QSubCell >::QComposite(), libMesh::ReplicatedMesh::query_elem_ptr(), libMesh::DistributedMesh::query_elem_ptr(), query_ghosting_functors(), libMesh::ReplicatedMesh::query_node_ptr(), libMesh::DistributedMesh::query_node_ptr(), libMesh::BoundaryInfo::raw_boundary_ids(), libMesh::BoundaryInfo::raw_edge_boundary_ids(), libMesh::BoundaryInfo::raw_shellface_boundary_ids(), libMesh::TransientRBEvaluation::rb_solve_again(), libMesh::AbaqusIO::read(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::CheckpointIO::read(), libMesh::PltLoader::read_block_data(), libMesh::CheckpointIO::read_connectivity(), libMesh::PltLoader::read_data(), 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::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), 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::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::MeshTools::Modification::redistribute(), libMesh::TreeNode< N >::refine(), libMesh::Elem::refine(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::MeshRefinement::refine_elements(), libMesh::AdaptiveTimeSolver::reinit(), libMesh::DifferentiableSystem::reinit(), libMesh::TimeSolver::reinit(), libMesh::FE< Dim, LAGRANGE_VEC >::reinit(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::FEXYZ< Dim >::reinit(), libMesh::DofMap::reinit(), libMesh::BoundaryInfo::remove(), libMesh::DofMap::remove_adjoint_dirichlet_boundary(), libMesh::DofMap::remove_dirichlet_boundary(), libMesh::BoundaryInfo::remove_edge(), libMesh::Elem::remove_links_to_me(), libMesh::BoundaryInfo::remove_node(), libMesh::BoundaryInfo::remove_shellface(), libMesh::BoundaryInfo::remove_side(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::ReplicatedMesh::renumber_elem(), libMesh::DistributedMesh::renumber_elem(), libMesh::ReplicatedMesh::renumber_node(), libMesh::DistributedMesh::renumber_node(), libMesh::ReplicatedMesh::renumber_nodes_and_elements(), libMesh::Elem::replace_child(), libMesh::PetscMatrix< libMesh::Number >::reset_preallocation(), libMesh::ParameterVector::resize(), libMesh::EpetraMatrix< T >::row_start(), libMesh::PetscMatrix< libMesh::Number >::row_start(), libMesh::EpetraMatrix< T >::row_stop(), libMesh::PetscMatrix< libMesh::Number >::row_stop(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::DofMap::SCALAR_dof_indices(), libMesh::EigenSparseVector< T >::scale(), libMesh::LaspackVector< T >::scale(), libMesh::DistributedVector< T >::scale(), libMesh::HPCoarsenTest::select_refinement(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::EquationSystems::sensitivity_solve(), libMesh::ParameterPointer< T >::set(), libMesh::ParameterMultiPointer< T >::set(), libMesh::ParameterMultiAccessor< T >::set(), libMesh::EigenSparseMatrix< T >::set(), libMesh::LaspackMatrix< T >::set(), libMesh::EpetraMatrix< T >::set(), libMesh::DistributedVector< T >::set(), libMesh::EigenSparseVector< T >::set(), libMesh::LaspackVector< T >::set(), libMesh::PetscMatrix< libMesh::Number >::set(), libMesh::Elem::set_child(), libMesh::DofObject::set_dof_number(), libMesh::RBTemporalDiscretization::set_euler_theta(), libMesh::FrequencySystem::set_frequencies(), libMesh::ParsedFEMFunction< T >::set_inline_value(), libMesh::ParsedFunction< T >::set_inline_value(), libMesh::Elem::set_interior_parent(), 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::RBConstructionBase< CondensedEigenSystem >::set_params_from_training_set_and_broadcast(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::SFCPartitioner::set_sfc_type(), libMesh::SystemNorm::set_type(), libMesh::SystemNorm::set_weight(), setup(), libMesh::Singleton::setup(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::BoundaryInfo::shellface_boundary_ids(), libMesh::Side< SideType, ParentType >::Side(), libMesh::FEMContext::side_fe_reinit(), libMesh::AdaptiveTimeSolver::side_residual(), libMesh::EigenTimeSolver::side_residual(), libMesh::SideEdge< EdgeType, ParentType >::SideEdge(), libMesh::DistributedVector< T >::size(), libMesh::EigenSparseVector< T >::size(), libMesh::LaspackVector< T >::size(), libMesh::EpetraVector< T >::size(), libMesh::PetscVector< libMesh::Number >::size(), libMesh::TwostepTimeSolver::solve(), libMesh::NewtonSolver::solve(), libMesh::CondensedEigenSystem::solve(), libMesh::TaoOptimizationSolver< T >::solve(), libMesh::EigenSystem::solve(), libMesh::TimeSolver::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::FrequencySystem::solve(), libMesh::EquationSystems::solve(), libMesh::ContinuationSystem::solve_tangent(), libMesh::DofObject::start_idx_ints(), libMesh::DofMap::stash_dof_constraints(), libMesh::MemorySolutionHistory::store(), libMesh::MeshBase::sub_point_locator(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubProjector::SubProjector(), libMesh::DistributedVector< T >::sum(), libMesh::EigenSparseVector< T >::sum(), libMesh::LaspackVector< T >::sum(), libMesh::EpetraVector< T >::sum(), libMesh::PetscVector< libMesh::Number >::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::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), PointNeighborCouplingTest::testCoupling(), ParallelSyncTest::testPushMultimapVecVecImpl(), libMesh::Elem::top_parent(), libMesh::MeshRefinement::topological_neighbor(), libMesh::ElemInternal::total_family_tree_by_neighbor(), libMesh::ElemInternal::total_family_tree_by_subneighbor(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::DirectSolutionTransfer::transfer(), libMesh::DTKSolutionTransfer::transfer(), libMesh::Tree< N >::Tree(), libMesh::TreeNode< N >::TreeNode(), libMesh::SystemNorm::type(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DofObject::unique_id(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DofObject::unpack_indexing(), libMesh::DofMap::unstash_dof_constraints(), 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::EpetraVector< T >::vec(), libMesh::PetscVector< libMesh::Number >::vec(), libMesh::System::vector_is_adjoint(), libMesh::System::vector_name(), libMesh::Edge3::volume(), 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::Prism::which_node_am_i(), libMesh::Pyramid::which_node_am_i(), libMesh::InfPrism::which_node_am_i(), libMesh::InfQuad6::which_node_am_i(), libMesh::InfHex16::which_node_am_i(), libMesh::Prism15::which_node_am_i(), libMesh::Pyramid13::which_node_am_i(), libMesh::Prism18::which_node_am_i(), libMesh::Pyramid14::which_node_am_i(), libMesh::InfHex18::which_node_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::CheckpointIO::write_connectivity(), libMesh::Elem::write_connectivity(), libMesh::MeshOutput< MeshBase >::write_discontinuous_equation_systems(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::MeshOutput< MeshBase >::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::XdrIO::write_parallel(), libMesh::System::write_parallel_data(), libMesh::CheckpointIO::write_remote_elem(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::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::TypeVector< Real >::write_unformatted(), libMesh::TypeTensor< T >::write_unformatted(), libMesh::DistributedVector< T >::zero(), libMesh::EigenSparseVector< T >::zero(), libMesh::LaspackVector< T >::zero(), libMesh::EpetraMatrix< T >::zero(), libMesh::EpetraVector< T >::zero(), libMesh::PetscVector< libMesh::Number >::zero(), libMesh::PetscMatrix< libMesh::Number >::zero(), and libMesh::PetscMatrix< libMesh::Number >::zero_rows().

◆ libmesh_cast_int()

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

Definition at line 620 of file libmesh_common.h.

621 {
622  // we use the less redundantly named libMesh::cast_int now
623  return cast_int<Tnew>(oldvar);
624 }

◆ libmesh_cast_ptr()

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

Definition at line 595 of file libmesh_common.h.

596 {
597  // we use the less redundantly named libMesh::cast_ptr now
598  return cast_ptr<Tnew>(oldvar);
599 }

◆ libmesh_cast_ref()

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

Definition at line 562 of file libmesh_common.h.

563 {
564  // we use the less redundantly named libMesh::cast_ref now
565  libmesh_deprecated();
566  return cast_ref<Tnew>(oldvar);
567 }

◆ libmesh_conj() [1/2]

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

Definition at line 173 of file libmesh_common.h.

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

◆ libmesh_conj() [2/2]

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

◆ libmesh_ignore()

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

Definition at line 526 of file libmesh_common.h.

526 { }

Referenced by add_cube_convex_hull_to_mesh(), libMesh::DynaIO::add_spline_constraints(), assemble(), assemble_1D(), assemble_biharmonic(), assemble_cd(), assemble_laplace(), assemble_mass(), assemble_matrices(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), libMesh::System::boundary_project_vector(), libMesh::ShellMatrix< Number >::build(), libMesh::OptimizationSolver< T >::build(), libMesh::LinearSolver< Number >::build(), libMesh::SparseMatrix< ValOut >::build(), libMesh::Preconditioner< Number >::build_preconditioner(), libMesh::FEMap::compute_inverse_map_second_derivs(), connect_children(), connect_families(), libMesh::TypeVector< Real >::cross(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshCommunication::find_global_indices(), libMesh::MeshTools::Modification::flatten(), libMesh::PetscMatrix< libMesh::Number >::init(), integrate_function(), libMesh::Elem::is_vertex_on_parent(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), line_print(), main(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::RBEIMConstruction::plot_parametrized_functions_in_training_set(), libMesh::System::project_vector(), libMesh::CheckpointIO::read_connectivity(), Biharmonic::JR::residual_and_jacobian(), libMesh::MeshTools::Modification::rotate(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), set_lid_driven_bcs(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::Sphere::Sphere(), TIMPI::StandardType< Point >::StandardType(), libMesh::Sphere::surface_coords(), InfFERadialTest::testSingleOrder(), tetrahedralize_domain(), triangulate_domain(), triple_product(), libMesh::TypeTensor< T >::TypeTensor(), libMesh::TypeVector< Real >::TypeVector(), and write_output().

◆ libmesh_isinf() [1/2]

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

Definition at line 188 of file libmesh_common.h.

189 { 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 185 of file libmesh_common.h.

185 { return std::isinf(x); }

Referenced by libMesh::InfFEMap::inverse_map().

◆ libmesh_isnan() [1/2]

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

Definition at line 180 of file libmesh_common.h.

181 { return (std::isnan(std::real(a)) || std::isnan(std::imag(a))); }

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

◆ libmesh_isnan() [2/2]

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

◆ 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 219 of file petsc_dm_wrapper.C.

220  {
221  libmesh_assert(dmc);
222  libmesh_assert(dmf);
223 
224  PetscErrorCode ierr;
225 
226  // Extract our context from the incoming dmf
227  void * ctx_f = nullptr;
228  ierr = DMShellGetContext(dmf, &ctx_f);CHKERRQ(ierr);
229  libmesh_assert(ctx_f);
230  PetscDMContext * p_ctx_f = static_cast<PetscDMContext*>(ctx_f);
231 
232  // First, ensure that there exists a coarse DM that we want to
233  // set. There ought to be as we created it while walking the
234  // hierarchy.
235  libmesh_assert(p_ctx_f->coarser_dm);
236  libmesh_assert(*(p_ctx_f->coarser_dm));
237 
238  // In situations using fieldsplit we need to provide a coarser
239  // DM which only has the relevant subfields in it. Since we
240  // create global DMs for each mesh level, we need to also create
241  // the subDMs. We do this by checking the number of fields. When
242  // less than all the fields are used, we need to create the
243  // proper subDMs. We get the number of fields and their names
244  // from the incoming fine DM and the global reference DM
245  PetscInt nfieldsf, nfieldsg;
246  char ** fieldnamesf;
247  char ** fieldnamesg;
248 
249  libmesh_assert(p_ctx_f->global_dm);
250  DM * globaldm = p_ctx_f->global_dm;
251  ierr = DMCreateFieldIS(dmf, &nfieldsf, &fieldnamesf, nullptr);
252  CHKERRQ(ierr);
253  ierr = DMCreateFieldIS(*globaldm, &nfieldsg, &fieldnamesg, nullptr);
254  CHKERRQ(ierr);
255 
256  // If the probed number of fields is less than the number of
257  // global fields, this amounts to PETSc 'indicating' to us we
258  // are doing FS. So, we must create subDMs for the coarser
259  // DMs.
260  if ( nfieldsf < nfieldsg )
261  {
262  p_ctx_f->subfields.clear();
263  p_ctx_f->subfields.resize(nfieldsf);
264 
265  // To select the subDM fields we match fine grid DM field
266  // names to their global DM counterparts. Since PETSc can
267  // internally reassign field numbering under a fieldsplit,
268  // we must extract subsections via the field names. This is
269  // admittedly gross, but c'est la vie.
270  for (int i = 0; i < nfieldsf ; i++)
271  {
272  for (int j = 0; j < nfieldsg ;j++)
273  if ( strcmp( fieldnamesg[j], fieldnamesf[i] ) == 0 )
274  p_ctx_f->subfields[i] = j;
275  }
276 
277  // Next, for the found fields we create a subDM
278  DM subdm;
279  libmesh_petsc_DMCreateSubDM(*(p_ctx_f->coarser_dm), nfieldsf,
280  p_ctx_f->subfields.data(), nullptr, &subdm);
281 
282  // Extract our coarse context from the created subDM so we
283  // can set its subfields for use in createInterp.
284  void * ctx_c = nullptr;
285  ierr = DMShellGetContext(subdm, &ctx_c);
286  CHKERRQ(ierr);
287  libmesh_assert(ctx_c);
288  PetscDMContext * p_ctx_c = static_cast<PetscDMContext*>(ctx_c);
289 
290  // propogate subfield info to subDM
291  p_ctx_c->subfields = p_ctx_f->subfields;
292 
293  // return created subDM to PETSc
294  *(dmc) = subdm;
295  }
296  else {
297  // No fieldsplit was requested so set the coarser DM to the
298  // global coarser DM.
299  *(dmc) = *(p_ctx_f->coarser_dm);
300  }
301 
302  return 0;
303  }

References CHKERRQ(), libMesh::PetscDMContext::coarser_dm, libMesh::PetscDMContext::global_dm, ierr, libmesh_assert(), libmesh_petsc_DMCreateSubDM(), subdm, and libMesh::PetscDMContext::subfields.

Referenced by libMesh::PetscDMWrapper::init_and_attach_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 307 of file petsc_dm_wrapper.C.

309  {
310  libmesh_assert(dmc);
311  libmesh_assert(dmf);
312  libmesh_assert(mat);
313  libmesh_assert(vec); // Optional scaling (not needed for mg)
314 
315  // Get a communicator from incoming DM
316  PetscErrorCode ierr;
317  MPI_Comm comm;
318  PetscObjectGetComm((PetscObject)dmc, &comm);
319 
320  // Extract our coarse context from the incoming DM
321  void * ctx_c = nullptr;
322  ierr = DMShellGetContext(dmc, &ctx_c);
323  CHKERRQ(ierr);
324  libmesh_assert(ctx_c);
325  PetscDMContext * p_ctx_c = static_cast<PetscDMContext*>(ctx_c);
326 
327  // Extract our fine context from the incoming DM
328  void * ctx_f = nullptr;
329  ierr = DMShellGetContext(dmf, &ctx_f);CHKERRQ(ierr);
330  libmesh_assert(ctx_f);
331  PetscDMContext * p_ctx_f = static_cast<PetscDMContext*>(ctx_f);
332 
333  // Check for existing global projection matrix
334  libmesh_assert(p_ctx_c->K_interp_ptr);
335 
336  // If were doing fieldsplit we need to construct sub projection
337  // matrices. We compare the passed in number of DMs fields to a
338  // global DM in order to determine if a subprojection is needed.
339  PetscInt nfieldsf, nfieldsg;
340 
341  libmesh_assert(p_ctx_c->global_dm);
342  DM * globaldm = p_ctx_c->global_dm;
343 
344  ierr = DMCreateFieldIS(dmf, &nfieldsf, nullptr, nullptr);
345  CHKERRQ(ierr);
346  ierr = DMCreateFieldIS(*globaldm, &nfieldsg, nullptr, nullptr);
347  CHKERRQ(ierr);
348 
349  // If the probed number of fields is less than the number of
350  // global fields, this amounts to PETSc 'indicating' to us we
351  // are doing FS.
352  if ( nfieldsf < nfieldsg)
353  {
354  // Loop over the fields and merge their index sets.
355  std::vector<std::vector<numeric_index_type>> allrows,allcols;
356  std::vector<numeric_index_type> rows,cols;
357  allrows = p_ctx_f->dof_vec;
358  allcols = p_ctx_c->dof_vec;
359 
360  // For internal libmesh submat extraction need to merge all
361  // field dofs and then sort the vectors so that they match
362  // the Projection Matrix ordering
363  const int n_subfields = p_ctx_f->subfields.size();
364  if ( n_subfields >= 1 )
365  {
366  for (int i : p_ctx_f->subfields)
367  {
368  rows.insert(rows.end(), allrows[i].begin(), allrows[i].end());
369  cols.insert(cols.end(), allcols[i].begin(), allcols[i].end());
370  }
371  std::sort(rows.begin(),rows.end());
372  std::sort(cols.begin(),cols.end());
373  }
374 
375  // Now that we have merged the fine and coarse index sets
376  // were ready to make the submatrix and pass it off to PETSc
377  p_ctx_c->K_interp_ptr->create_submatrix (*p_ctx_c->K_sub_interp_ptr, rows, cols);
378 
379  // return to PETSc the created submatrix
380  *(mat) = p_ctx_c->K_sub_interp_ptr->mat();
381 
382  } // endif less incoming DM fields than global DM fields
383  else
384  {
385  // We are not doing fieldsplit, so return global projection
386  *(mat) = p_ctx_c->K_interp_ptr->mat();
387  }
388 
389  // Vec scaling isnt needed so were done.
390  *(vec) = PETSC_NULL;
391 
392  return 0;
393  } // end libmesh_petsc_DMCreateInterpolation

References CHKERRQ(), libMesh::SparseMatrix< T >::create_submatrix(), libMesh::PetscDMContext::dof_vec, libMesh::PetscDMContext::global_dm, ierr, libMesh::PetscDMContext::K_interp_ptr, libMesh::PetscDMContext::K_sub_interp_ptr, libmesh_assert(), libMesh::PetscMatrix< T >::mat(), and libMesh::PetscDMContext::subfields.

Referenced by libMesh::PetscDMWrapper::init_and_attach_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 397 of file petsc_dm_wrapper.C.

398  {
399  libmesh_assert(dmc);
400  libmesh_assert(dmf);
401  libmesh_assert(mat);
402 
403  PetscErrorCode ierr;
404 
405  // get a communicator from incoming DM
406  MPI_Comm comm;
407  PetscObjectGetComm((PetscObject)dmc, &comm);
408 
409  // extract our fine context from the incoming DM
410  void * ctx_f = nullptr;
411  ierr = DMShellGetContext(dmf, &ctx_f);CHKERRQ(ierr);
412  libmesh_assert(ctx_f);
413  PetscDMContext * p_ctx_f = static_cast<PetscDMContext*>(ctx_f);
414 
415  // check / give PETSc its matrix
416  libmesh_assert(p_ctx_f->K_restrict_ptr);
417  *(mat) = p_ctx_f->K_restrict_ptr->mat();
418 
419  return 0;
420  }

References CHKERRQ(), ierr, libMesh::PetscDMContext::K_restrict_ptr, libmesh_assert(), and libMesh::PetscMatrix< T >::mat().

Referenced by libMesh::PetscDMWrapper::init_and_attach_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_and_attach_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 197 of file petsc_dm_wrapper.C.

198  {
199  libmesh_assert(dmc);
200  libmesh_assert(dmf);
201 
202  PetscErrorCode ierr;
203 
204  // extract our context from the incoming dmc
205  void * ctx_c = nullptr;
206  ierr = DMShellGetContext(dmc, & ctx_c);CHKERRQ(ierr);
207  libmesh_assert(ctx_c);
208  PetscDMContext * p_ctx = static_cast<PetscDMContext * >(ctx_c);
209 
210  // check / set the finer DM
213  *(dmf) = *(p_ctx->finer_dm);
214 
215  return 0;
216  }

References CHKERRQ(), libMesh::PetscDMContext::finer_dm, ierr, libmesh_assert(), and p_ctx.

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

◆ libmesh_petsc_linesearch_shellfunc()

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

Definition at line 400 of file petsc_nonlinear_solver.C.

401  {
402  // No way to safety-check this cast, since we got a void *...
403  PetscNonlinearSolver<Number> * solver =
404  static_cast<PetscNonlinearSolver<Number> *> (ctx);
405 
406  solver->linesearch_object->linesearch(linesearch);
407  return 0;
408  }

References ctx, and libMesh::PetscNonlinearSolver< T >::linesearch_object.

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

◆ libmesh_petsc_preconditioner_apply() [1/2]

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

Definition at line 88 of file petsc_linear_solver.C.

89  {
90  void * ctx;
91  PetscErrorCode ierr = PCShellGetContext(pc,&ctx);CHKERRQ(ierr);
92  Preconditioner<Number> * preconditioner = static_cast<Preconditioner<Number> *>(ctx);
93 
94  PetscVector<Number> x_vec(x, preconditioner->comm());
95  PetscVector<Number> y_vec(y, preconditioner->comm());
96 
97  preconditioner->apply(x_vec,y_vec);
98 
99  return 0;
100  }

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

Referenced by libMesh::PetscLinearSolver< Number >::init().

◆ libmesh_petsc_preconditioner_apply() [2/2]

PetscErrorCode libMesh::libmesh_petsc_preconditioner_apply ( void *  ctx,
Vec  x,
Vec  y 
)

This function is called by PETSc to actually apply the preconditioner.

ctx will hold the Preconditioner.

Definition at line 62 of file petsc_linear_solver.C.

63  {
64  Preconditioner<Number> * preconditioner = static_cast<Preconditioner<Number> *>(ctx);
65 
66  PetscVector<Number> x_vec(x, preconditioner->comm());
67  PetscVector<Number> y_vec(y, preconditioner->comm());
68 
69  preconditioner->apply(x_vec,y_vec);
70 
71  return 0;
72  }

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

Referenced by __libmesh_petsc_preconditioner_apply(), and libMesh::PetscNonlinearSolver< Number >::init().

◆ libmesh_petsc_preconditioner_setup() [1/2]

PetscErrorCode libMesh::libmesh_petsc_preconditioner_setup ( PC  pc)

Definition at line 74 of file petsc_linear_solver.C.

75  {
76  void * ctx;
77  PetscErrorCode ierr = PCShellGetContext(pc,&ctx);CHKERRQ(ierr);
78  Preconditioner<Number> * preconditioner = static_cast<Preconditioner<Number> *>(ctx);
79 
80  if (!preconditioner->initialized())
81  libmesh_error_msg("Preconditioner not initialized! Make sure you call init() before solve!");
82 
83  preconditioner->setup();
84 
85  return 0;
86  }

References CHKERRQ(), ctx, ierr, libMesh::Preconditioner< T >::initialized(), and libMesh::Preconditioner< T >::setup().

Referenced by libMesh::PetscLinearSolver< Number >::init().

◆ libmesh_petsc_preconditioner_setup() [2/2]

PetscErrorCode libMesh::libmesh_petsc_preconditioner_setup ( void *  ctx)

This function is called by PETSc to initialize the preconditioner.

ctx will hold the Preconditioner.

Definition at line 49 of file petsc_linear_solver.C.

50  {
51  Preconditioner<Number> * preconditioner = static_cast<Preconditioner<Number> *>(ctx);
52 
53  if (!preconditioner->initialized())
54  libmesh_error_msg("Preconditioner not initialized! Make sure you call init() before solve!");
55 
56  preconditioner->setup();
57 
58  return 0;
59  }

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

Referenced by __libmesh_petsc_preconditioner_setup(), and libMesh::PetscNonlinearSolver< Number >::init().

◆ libmesh_petsc_snes_fd_residual()

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

Definition at line 206 of file petsc_nonlinear_solver.C.

207  {
208  ResidualContext rc = libmesh_petsc_snes_residual_helper(snes, x, ctx);
209 
210  libmesh_assert(r);
211  PetscVector<Number> R(r, rc.sys.comm());
212 
213  if (rc.solver->_zero_out_residual)
214  R.zero();
215 
216  if (rc.solver->fd_residual_object != nullptr)
217  rc.solver->fd_residual_object->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
218 
219  else if (rc.solver->residual_object != nullptr)
220  rc.solver->residual_object->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
221 
222  else
223  libmesh_error_msg("Error! Unable to compute residual for forming finite difference Jacobian!");
224 
225  R.close();
226  PetscVector<Number> X(x, rc.sys.comm());
227  rc.sys.get_dof_map().enforce_constraints_on_residual(rc.sys, &R, &X);
228 
229  R.close();
230 
231  return rc.ierr;
232  }

References libMesh::PetscNonlinearSolver< T >::_zero_out_residual, libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_on_residual(), libMesh::NonlinearSolver< T >::fd_residual_object, libMesh::System::get_dof_map(), libMesh::ResidualContext::ierr, libmesh_assert(), libmesh_petsc_snes_residual_helper(), libMesh::NonlinearImplicitSystem::ComputeResidual::residual(), libMesh::NonlinearSolver< T >::residual_object, libMesh::ResidualContext::solver, libMesh::ResidualContext::sys, and libMesh::PetscVector< T >::zero().

Referenced by __libmesh_petsc_snes_fd_residual().

◆ libmesh_petsc_snes_jacobian() [1/3]

PetscErrorCode libMesh::libmesh_petsc_snes_jacobian ( #if PETSC_RELEASE_LESS_THAN(3, 5, 0) SNES  snes,
Vec  x,
Mat *  jac,
Mat *  pc,
MatStructure *  msflag,
void *ctx #else SNES  snes,
Vec  x,
Mat  jac,
Mat  pc,
void *ctx endif 
)

Definition at line 301 of file petsc_nonlinear_solver.C.

308  {
309  LOG_SCOPE("jacobian()", "PetscNonlinearSolver");
310 
311  PetscErrorCode ierr=0;
312 
314 
315  // No way to safety-check this cast, since we got a void *...
316  PetscNonlinearSolver<Number> * solver =
317  static_cast<PetscNonlinearSolver<Number> *> (ctx);
318 
319  // Get the current iteration number from the snes object,
320  // store it in the PetscNonlinearSolver object for possible use
321  // by the user's Jacobian function.
322  {
323  PetscInt n_iterations = 0;
324  ierr = SNESGetIterationNumber(snes, &n_iterations);
325  CHKERRABORT(solver->comm().get(),ierr);
326  solver->_current_nonlinear_iteration_number = cast_int<unsigned>(n_iterations);
327  }
328 
329  NonlinearImplicitSystem & sys = solver->system();
330 #if PETSC_RELEASE_LESS_THAN(3,5,0)
331  PetscMatrix<Number> PC(*pc, sys.comm());
332  PetscMatrix<Number> Jac(*jac, sys.comm());
333 #else
334  PetscMatrix<Number> PC(pc, sys.comm());
335  PetscMatrix<Number> Jac(jac, sys.comm());
336 #endif
337  PetscVector<Number> & X_sys = *cast_ptr<PetscVector<Number> *>(sys.solution.get());
338  PetscVector<Number> X_global(x, sys.comm());
339 
340  // Set the dof maps
341  PC.attach_dof_map(sys.get_dof_map());
342  Jac.attach_dof_map(sys.get_dof_map());
343 
344  // Use the systems update() to get a good local version of the parallel solution
345  X_global.swap(X_sys);
346  sys.update();
347  X_global.swap(X_sys);
348 
349  // Enforce constraints (if any) exactly on the
350  // current_local_solution. This is the solution vector that is
351  // actually used in the computation of the residual below, and is
352  // not locked by debug-enabled PETSc the way that "x" is.
353  sys.get_dof_map().enforce_constraints_exactly(sys, sys.current_local_solution.get());
354 
355  if (solver->_zero_out_jacobian)
356  PC.zero();
357 
358  //-----------------------------------------------------------------------------
359  // if the user has provided both function pointers and objects only the pointer
360  // will be used, so catch that as an error
361  if (solver->jacobian && solver->jacobian_object)
362  libmesh_error_msg("ERROR: cannot specify both a function and object to compute the Jacobian!");
363 
364  if (solver->matvec && solver->residual_and_jacobian_object)
365  libmesh_error_msg("ERROR: cannot specify both a function and object to compute the combined Residual & Jacobian!");
366 
367  if (solver->jacobian != nullptr)
368  solver->jacobian(*sys.current_local_solution.get(), PC, sys);
369 
370  else if (solver->jacobian_object != nullptr)
371  solver->jacobian_object->jacobian(*sys.current_local_solution.get(), PC, sys);
372 
373  else if (solver->matvec != nullptr)
374  solver->matvec(*sys.current_local_solution.get(), nullptr, &PC, sys);
375 
376  else if (solver->residual_and_jacobian_object != nullptr)
377  solver->residual_and_jacobian_object->residual_and_jacobian (*sys.current_local_solution.get(), nullptr, &PC, sys);
378 
379  else
380  libmesh_error_msg("Error! Unable to compute residual and/or Jacobian!");
381 
382  PC.close();
383  sys.get_dof_map().enforce_constraints_on_jacobian(sys, &PC);
384 
385  PC.close();
386  Jac.close();
387 #if PETSC_RELEASE_LESS_THAN(3,5,0)
388  *msflag = SAME_NONZERO_PATTERN;
389 #endif
390 
391  return ierr;
392  }

References libMesh::PetscNonlinearSolver< T >::_current_nonlinear_iteration_number, libMesh::PetscNonlinearSolver< T >::_zero_out_jacobian, libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::DofMap::enforce_constraints_on_jacobian(), libMesh::System::get_dof_map(), ierr, libMesh::NonlinearImplicitSystem::ComputeJacobian::jacobian(), libMesh::NonlinearSolver< T >::jacobian, libMesh::NonlinearSolver< T >::jacobian_object, libmesh_assert(), libMesh::NonlinearSolver< T >::matvec, libMesh::NonlinearImplicitSystem::ComputeResidualandJacobian::residual_and_jacobian(), libMesh::NonlinearSolver< T >::residual_and_jacobian_object, libMesh::System::solution, libMesh::PetscVector< T >::swap(), libMesh::NonlinearSolver< T >::system(), and libMesh::System::update().

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

◆ libmesh_petsc_snes_jacobian() [2/3]

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

◆ libmesh_petsc_snes_jacobian() [3/3]

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

◆ libmesh_petsc_snes_mffd_interface()

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

Definition at line 280 of file petsc_nonlinear_solver.C.

281  {
282  // No way to safety-check this cast, since we got a void *...
283  PetscNonlinearSolver<Number> * solver =
284  static_cast<PetscNonlinearSolver<Number> *> (ctx);
285 
286  return libmesh_petsc_snes_mffd_residual(solver->snes(), x, r, ctx);
287  }

References ctx, libmesh_petsc_snes_mffd_residual(), and libMesh::PetscNonlinearSolver< T >::snes().

Referenced by __libmesh_petsc_snes_mffd_interface(), and libMesh::PetscNonlinearSolver< Number >::solve().

◆ libmesh_petsc_snes_mffd_residual()

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

Definition at line 247 of file petsc_nonlinear_solver.C.

248  {
249  ResidualContext rc = libmesh_petsc_snes_residual_helper(snes, x, ctx);
250 
251  libmesh_assert(r);
252  PetscVector<Number> R(r, rc.sys.comm());
253 
254  if (rc.solver->_zero_out_residual)
255  R.zero();
256 
257  if (rc.solver->mffd_residual_object != nullptr)
258  rc.solver->mffd_residual_object->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
259 
260  else if (rc.solver->residual_object != nullptr)
261  rc.solver->residual_object->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
262 
263  else
264  libmesh_error_msg("Error! Unable to compute residual for forming finite differenced"
265  "Jacobian-vector products!");
266 
267  R.close();
268  PetscVector<Number> X(x, rc.sys.comm());
269  rc.sys.get_dof_map().enforce_constraints_on_residual(rc.sys, &R, &X);
270 
271  R.close();
272 
273  return rc.ierr;
274  }

References libMesh::PetscNonlinearSolver< T >::_zero_out_residual, libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_on_residual(), libMesh::System::get_dof_map(), libMesh::ResidualContext::ierr, libmesh_assert(), libmesh_petsc_snes_residual_helper(), libMesh::NonlinearSolver< T >::mffd_residual_object, libMesh::NonlinearImplicitSystem::ComputeResidual::residual(), libMesh::NonlinearSolver< T >::residual_object, libMesh::ResidualContext::solver, libMesh::ResidualContext::sys, and libMesh::PetscVector< T >::zero().

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 123 of file petsc_nonlinear_solver.C.

124  {
125  //PetscErrorCode ierr=0;
126 
127  //if (its > 0)
128  libMesh::out << " NL step "
129  << std::setw(2) << its
130  << std::scientific
131  << ", |residual|_2 = " << fnorm
132  << std::endl;
133 
134  //return ierr;
135  return 0;
136  }

References out.

Referenced by __libmesh_petsc_snes_monitor(), and libMesh::PetscNonlinearSolver< Number >::init().

◆ libmesh_petsc_snes_postcheck()

PetscErrorCode libMesh::libmesh_petsc_snes_postcheck ( #if PETSC_VERSION_LESS_THAN(3, 3, 0)  SNES,
Vec  x,
Vec  y,
Vec  w,
void *  context,
PetscBool changed_y,
PetscBool *changed_w #else  SNESLineSearch,
Vec  x,
Vec  y,
Vec  w,
PetscBool changed_y,
PetscBool changed_w,
void *context #  endif 
)

Definition at line 441 of file petsc_nonlinear_solver.C.

448  {
449  LOG_SCOPE("postcheck()", "PetscNonlinearSolver");
450 
451  PetscErrorCode ierr = 0;
452 
453  // PETSc almost certainly initializes these to false already, but
454  // it doesn't hurt to be explicit.
455  *changed_w = PETSC_FALSE;
456  *changed_y = PETSC_FALSE;
457 
458  libmesh_assert(context);
459 
460  // Cast the context to a NonlinearSolver object.
461  PetscNonlinearSolver<Number> * solver =
462  static_cast<PetscNonlinearSolver<Number> *> (context);
463 
464  // If the user has provided both postcheck function pointer and
465  // object, this is ambiguous, so throw an error.
466  if (solver->postcheck && solver->postcheck_object)
467  libmesh_error_msg("ERROR: cannot specify both a function and object for performing the solve postcheck!");
468 
469  // It's also possible that we don't need to do anything at all, in
470  // that case return early...
471  NonlinearImplicitSystem & sys = solver->system();
472 
473  if (!solver->postcheck && !solver->postcheck_object)
474  return ierr;
475 
476  // We definitely need to wrap at least "w"
477  PetscVector<Number> petsc_w(w, sys.comm());
478 
479  // The user sets these flags in his/her postcheck function to
480  // indicate whether they changed something.
481  bool
482  changed_search_direction = false,
483  changed_new_soln = false;
484 
485  if (solver->postcheck || solver->postcheck_object)
486  {
487  PetscVector<Number> petsc_x(x, sys.comm());
488  PetscVector<Number> petsc_y(y, sys.comm());
489 
490  if (solver->postcheck)
491  solver->postcheck(petsc_x,
492  petsc_y,
493  petsc_w,
494  changed_search_direction,
495  changed_new_soln,
496  sys);
497 
498  else if (solver->postcheck_object)
499  solver->postcheck_object->postcheck(petsc_x,
500  petsc_y,
501  petsc_w,
502  changed_search_direction,
503  changed_new_soln,
504  sys);
505  }
506 
507  // Record whether the user changed the solution or the search direction.
508  if (changed_search_direction)
509  *changed_y = PETSC_TRUE;
510 
511  if (changed_new_soln)
512  *changed_w = PETSC_TRUE;
513 
514  return ierr;
515  }

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

Referenced by __libmesh_petsc_snes_postcheck(), and libMesh::PetscNonlinearSolver< Number >::init().

◆ libmesh_petsc_snes_residual()

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

Definition at line 151 of file petsc_nonlinear_solver.C.

152  {
153  ResidualContext rc = libmesh_petsc_snes_residual_helper(snes, x, ctx);
154 
155  libmesh_assert(r);
156  PetscVector<Number> R(r, rc.sys.comm());
157 
158  if (rc.solver->_zero_out_residual)
159  R.zero();
160 
161  //-----------------------------------------------------------------------------
162  // if the user has provided both function pointers and objects only the pointer
163  // will be used, so catch that as an error
164  if (rc.solver->residual && rc.solver->residual_object)
165  libmesh_error_msg("ERROR: cannot specify both a function and object to compute the Residual!");
166 
167  if (rc.solver->matvec && rc.solver->residual_and_jacobian_object)
168  libmesh_error_msg("ERROR: cannot specify both a function and object to compute the combined Residual & Jacobian!");
169 
170  if (rc.solver->residual != nullptr)
171  rc.solver->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
172 
173  else if (rc.solver->residual_object != nullptr)
174  rc.solver->residual_object->residual(*rc.sys.current_local_solution.get(), R, rc.sys);
175 
176  else if (rc.solver->matvec != nullptr)
177  rc.solver->matvec (*rc.sys.current_local_solution.get(), &R, nullptr, rc.sys);
178 
179  else if (rc.solver->residual_and_jacobian_object != nullptr)
180  rc.solver->residual_and_jacobian_object->residual_and_jacobian (*rc.sys.current_local_solution.get(), &R, nullptr, rc.sys);
181 
182  else
183  libmesh_error_msg("Error! Unable to compute residual and/or Jacobian!");
184 
185  PetscVector<Number> X(x, rc.sys.comm());
186 
187  R.close();
188  rc.sys.get_dof_map().enforce_constraints_on_residual(rc.sys, &R, &X);
189  R.close();
190 
191  return rc.ierr;
192  }

References libMesh::PetscNonlinearSolver< T >::_zero_out_residual, libMesh::PetscVector< T >::close(), libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_on_residual(), libMesh::System::get_dof_map(), libMesh::ResidualContext::ierr, libmesh_assert(), libmesh_petsc_snes_residual_helper(), libMesh::NonlinearSolver< T >::matvec, libMesh::NonlinearImplicitSystem::ComputeResidual::residual(), libMesh::NonlinearSolver< T >::residual, libMesh::NonlinearImplicitSystem::ComputeResidualandJacobian::residual_and_jacobian(), libMesh::NonlinearSolver< T >::residual_and_jacobian_object, libMesh::NonlinearSolver< T >::residual_object, libMesh::ResidualContext::solver, libMesh::ResidualContext::sys, and libMesh::PetscVector< T >::zero().

Referenced by __libmesh_petsc_snes_residual(), and libMesh::PetscNonlinearSolver< Number >::solve().

◆ libmesh_petsc_snes_residual_helper()

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

Definition at line 65 of file petsc_nonlinear_solver.C.

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

References libMesh::PetscNonlinearSolver< T >::_current_nonlinear_iteration_number, libMesh::ParallelObject::comm(), ctx, libMesh::System::current_local_solution, libMesh::DofMap::enforce_constraints_exactly(), libMesh::System::get_dof_map(), ierr, libmesh_assert(), libMesh::System::solution, libMesh::PetscVector< T >::swap(), libMesh::NonlinearSolver< T >::system(), and libMesh::System::update().

Referenced by libmesh_petsc_snes_fd_residual(), libmesh_petsc_snes_mffd_residual(), and libmesh_petsc_snes_residual().

◆ libmesh_real() [1/2]

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

Definition at line 170 of file libmesh_common.h.

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

References std::real().

◆ libmesh_real() [2/2]

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

Definition at line 166 of file libmesh_common.h.

166 { return a; }

Referenced by libMesh::FEMContext::_do_elem_position_set(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::TransientRBEvaluation::compute_residual_dual_norm(), libMesh::RBEvaluation::compute_residual_dual_norm(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::ContinuationSystem::continuation_solve(), libMesh::FEMPhysics::eulerian_residual(), libMesh::RBEvaluation::eval_output_dual_norm(), libMesh::RBSCMConstruction::evaluate_stability_constant(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_params_from_training_set(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), NonlinearNeoHookeCurrentConfig::init_for_qp(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), NumericVectorTest< DistributedVector< Number > >::Localize(), NumericVectorTest< DistributedVector< Number > >::LocalizeIndices(), libMesh::DenseSubVector< Number >::max(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::DenseVector< Output >::max(), libMesh::DenseMatrix< Real >::max(), libMesh::DenseSubVector< Number >::min(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), libMesh::DenseVector< Output >::min(), libMesh::DenseMatrix< Real >::min(), libMesh::FEMSystem::numerical_jacobian(), libMesh::ContinuationSystem::solve_tangent(), MeshFunctionTest::test_p_level(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusCopyElementSolution(), PetscMatrixTest::testGetAndSet(), ParsedFEMFunctionTest::testGradients(), FETest< order, family, elem_type >::testGradU(), FETest< order, family, elem_type >::testGradUComp(), ParsedFEMFunctionTest::testHessians(), ParsedFunctionTest::testInlineGetter(), ParsedFEMFunctionTest::testInlineGetter(), ParsedFunctionTest::testInlineSetter(), ParsedFEMFunctionTest::testInlineSetter(), ParsedFEMFunctionTest::testNormals(), DiagonalMatrixTest::testNumerics(), DenseMatrixTest::testOuterProduct(), SystemsTest::testProjectCubeWithMeshFunction(), EquationSystemsTest::testRepartitionThenReinit(), SlitMeshRefinedSystemTest::testRestart(), TypeVectorTestBase< VectorValue< Number > >::testScalarDiv(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivAssign(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarInit(), TypeVectorTestBase< VectorValue< Number > >::testScalarMult(), TypeVectorTestBase< VectorValue< Number > >::testScalarMultAssign(), TypeVectorTestBase< VectorValue< Number > >::testScalarMultAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarMultBase(), DenseMatrixTest::testSVD(), SlitMeshRefinedSystemTest::testSystem(), FETest< order, family, elem_type >::testU(), ParsedFunctionTest::testValues(), ParsedFEMFunctionTest::testValues(), TypeVectorTestBase< VectorValue< Number > >::testVectorAdd(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddAssign(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddScaled(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddScaledBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorMult(), TypeVectorTestBase< VectorValue< Number > >::testVectorMultBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorSub(), TypeVectorTestBase< VectorValue< Number > >::testVectorSubAssign(), TypeVectorTestBase< VectorValue< Number > >::testVectorSubAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorSubBase(), WriteVecAndScalar::testWrite(), SystemsTest::tripleValueTest(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::GmshIO::write_post(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().

◆ libmesh_terminate_handler()

void libMesh::libmesh_terminate_handler ( )

Definition at line 281 of file libmesh.C.

282 {
283  // If this got called then we're probably crashing; let's print a
284  // stack trace. The trace files that are ultimately written depend on:
285  // 1.) Who throws the exception.
286  // 2.) Whether the C++ runtime unwinds the stack before the
287  // terminate_handler is called (this is implementation defined).
288  //
289  // The various cases are summarized in the table below:
290  //
291  // | libmesh exception | other exception
292  // -------------------------------------
293  // stack unwinds | A | B
294  // stack does not unwind | C | D
295  //
296  // Case A: There will be two stack traces in the file: one "useful"
297  // one, and one nearly empty one due to stack unwinding.
298  // Case B: You will get one nearly empty stack trace (not great, Bob!)
299  // Case C: You will get two nearly identical stack traces, ignore one of them.
300  // Case D: You will get one useful stack trace.
301  //
302  // Cases A and B (where the stack unwinds when an exception leaves
303  // main) appear to be non-existent in practice. I don't have a
304  // definitive list, but the stack does not unwind for GCC on either
305  // Mac or Linux. I think there's good reasons for this behavior too:
306  // it's much easier to get a stack trace when the stack doesn't
307  // unwind, for example.
309 
310  // We may care about performance data pre-crash; it would be sad to
311  // throw that away.
314 
315  // If we have MPI and it has been initialized, we need to be sure
316  // and call MPI_Abort instead of std::abort, so that the parallel
317  // job can die nicely.
318 #if defined(LIBMESH_HAVE_MPI)
319  int mpi_initialized;
320  MPI_Initialized (&mpi_initialized);
321 
322  if (mpi_initialized)
323  MPI_Abort(libMesh::GLOBAL_COMM_WORLD, 1);
324  else
325 #endif
326  // The system terminate_handler may do useful things like printing
327  // uncaught exception information, or the user may have created
328  // their own terminate handler that we want to call.
330 }

References libMesh::PerfLog::clear(), GLOBAL_COMM_WORLD, old_terminate_handler, perflog, libMesh::PerfLog::print_log(), and write_traceout().

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

◆ 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 }

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   
)

◆ make_unique()

template<typename T , typename... Args>
std::unique_ptr<T> libMesh::make_unique ( Args &&...  args)

Definition at line 45 of file auto_ptr.h.

46 {
47  return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
48 }

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

template void libMesh::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

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

template 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

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

template 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

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

template 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

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

◆ 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 836 of file trilinos_epetra_vector.h.

837 {
838  return reinterpret_cast<int *>(const_cast<numeric_index_type *>(p));
839 }

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 898 of file libmesh.C.

899 {
900  // Make sure the command line parser is ready for use
901  libmesh_assert(command_line.get());
902 
903  // Users had better not be asking about an empty string
904  libmesh_assert(!arg.empty());
905 
906  bool found_it = command_line->search(arg);
907 
908  if (!found_it)
909  {
910  // Try with all dashes instead of underscores
911  std::replace(arg.begin(), arg.end(), '_', '-');
912  found_it = command_line->search(arg);
913  }
914 
915  if (!found_it)
916  {
917  // OK, try with all underscores instead of dashes
918  auto name_begin = arg.begin();
919  while (*name_begin == '-')
920  ++name_begin;
921  std::replace(name_begin, arg.end(), '-', '_');
922  found_it = command_line->search(arg);
923  }
924 
925  return found_it;
926 }

References libmesh_assert().

Referenced by Biharmonic::Biharmonic(), libMesh::PetscDMWrapper::build_section(), libMesh::Node::choose_processor_id(), command_line_next(), libMesh::ContinuationSystem::ContinuationSystem(), default_solver_package(), libMesh::DofMap::distribute_dofs(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::NewtonSolver::init(), libMesh::NloptOptimizationSolver< T >::init(), libMesh::TimeSolver::init_data(), libMesh::LibMeshInit::LibMeshInit(), main(), petsc_auto_fieldsplit(), print_trace(), libMesh::System::read_header(), libMesh::TimeSolver::reinit(), libMesh::MacroFunctions::report_error(), libMesh::Partitioner::set_node_processor_ids(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LinearImplicitSystem::solve(), libMesh::NonlinearImplicitSystem::solve(), GetPotTest::testCommandLine(), and libMesh::DofMap::use_coupled_neighbor_dofs().

◆ operator!=() [1/5]

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

Definition at line 95 of file fe_type.h.

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

◆ operator!=() [2/5]

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

Definition at line 141 of file fe_type.h.

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

◆ operator!=() [3/5]

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

Definition at line 143 of file fe_type.h.

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

◆ operator!=() [4/5]

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

Definition at line 140 of file fe_type.h.

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

◆ operator!=() [5/5]

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

Definition at line 142 of file fe_type.h.

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

◆ operator*() [1/4]

template<unsigned int N, typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits<Scalar>::value, TypeNTensor<N,typename CompareTypes<Scalar, T>::supertype> >::type libMesh::operator* ( const Scalar &  ,
const TypeNTensor< N, T > &   
)

Definition at line 266 of file type_n_tensor.h.

267 {
268  libmesh_not_implemented();
269  return TypeNTensor<N,typename CompareTypes<Scalar, T>::supertype>();
270 }

◆ operator*() [2/4]

template<typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits<Scalar>::value, TypeTensor<typename CompareTypes<T, Scalar>::supertype> >::type libMesh::operator* ( const Scalar &  factor,
const TypeTensor< T > &  t 
)
inline

Definition at line 1021 of file type_tensor.h.

1023 {
1024  return t * factor;
1025 }

◆ operator*() [3/4]

template<typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits<Scalar>::value, TypeVector<typename CompareTypes<T, Scalar>::supertype> >::type libMesh::operator* ( const Scalar &  factor,
const TypeVector< T > &  v 
)
inline

Definition at line 804 of file type_vector.h.

806 {
807  return v * factor;
808 }

◆ 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 1242 of file type_tensor.h.

1243 {
1244  return b.left_multiply(a);
1245 }

References libMesh::TypeTensor< T >::left_multiply().

◆ operator/()

template<unsigned int N, typename T , typename Scalar >
boostcopy::enable_if_c< ScalarTraits<Scalar>::value, TypeNTensor<N,typename CompareTypes<Scalar, T>::supertype> >::type libMesh::operator/ ( const Scalar &  ,
const TypeNTensor< N, T > &   
)

Definition at line 276 of file type_n_tensor.h.

277 {
278  libmesh_not_implemented();
279  return TypeNTensor<N,typename CompareTypes<Scalar, T>::supertype>();
280 }

◆ operator<() [1/5]

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

Definition at line 96 of file fe_type.h.

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

References libMesh::OrderWrapper::get_order().

◆ operator<() [2/5]

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

Definition at line 145 of file fe_type.h.

145 { 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 147 of file fe_type.h.

147 { 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 144 of file fe_type.h.

144 { 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 146 of file fe_type.h.

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

References libMesh::OrderWrapper::get_order().

◆ operator<<() [1/10]

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

Definition at line 1861 of file elem.h.

1862 {
1863  e.print_info(os);
1864  return os;
1865 }

References libMesh::Elem::print_info().

◆ operator<<() [2/10]

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

Definition at line 1322 of file equation_systems.C.

1324 {
1325  es.print_info(os);
1326  return os;
1327 }

References libMesh::EquationSystems::print_info().

◆ operator<<() [3/10]

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

Definition at line 834 of file fe_abstract.C.

835 {
836  fe.print_info(os);
837  return os;
838 }

References libMesh::FEAbstract::print_info().

◆ operator<<() [4/10]

std::ostream& libMesh::operator<< ( std::ostream &  os,
const MeshBase m 
)

Definition at line 592 of file mesh_base.C.

593 {
594  m.print_info(os);
595  return os;
596 }

References libMesh::MeshBase::print_info().

◆ operator<<() [5/10]

std::ostream& libMesh::operator<< ( std::ostream &  os,
const MeshfreeInterpolation mfi 
)

Definition at line 55 of file meshfree_interpolation.C.

56 {
57  mfi.print_info(os);
58  return os;
59 }

References libMesh::MeshfreeInterpolation::print_info().

◆ operator<<() [6/10]

std::ostream& libMesh::operator<< ( std::ostream &  os,
const Node n 
)
inline

Definition at line 227 of file node.h.

228 {
229  n.print_info(os);
230  return os;
231 }

References libMesh::Node::print_info().

◆ operator<<() [7/10]

std::ostream& libMesh::operator<< ( std::ostream &  os,
const OrderWrapper order 
)
inline

Overload stream operators.

Definition at line 164 of file fe_type.h.

165 {
166  os << order.get_order();
167  return os;
168 }

References libMesh::OrderWrapper::get_order().

◆ operator<<() [8/10]

std::ostream& libMesh::operator<< ( std::ostream &  os,
const Parameters p 
)
inline

Definition at line 392 of file parameters.h.

393 {
394  p.print(os);
395  return os;
396 }

References libMesh::Parameters::print().

◆ operator<<() [9/10]

std::ostream& libMesh::operator<< ( std::ostream &  os,
const QBase q 
)

Definition at line 252 of file quadrature.C.

253 {
254  q.print_info(os);
255  return os;
256 }

References libMesh::QBase::print_info().

◆ operator<<() [10/10]

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 462 of file sparse_matrix.h.

463 {
464  m.print(os);
465  return os;
466 }

◆ operator<=() [1/5]

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

Definition at line 98 of file fe_type.h.

98 { return !(lhs > rhs); }

◆ operator<=() [2/5]

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

Definition at line 153 of file fe_type.h.

153 { return !(lhs > rhs); }

◆ operator<=() [3/5]

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

Definition at line 155 of file fe_type.h.

155 { return !(lhs > rhs); }

◆ operator<=() [4/5]

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

Definition at line 152 of file fe_type.h.

152 { return !(lhs > rhs); }

◆ operator<=() [5/5]

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

Definition at line 154 of file fe_type.h.

154 { return !(lhs > rhs); }

◆ operator==() [1/4]

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

Overload comparison operators for OrderWrapper.

Definition at line 94 of file fe_type.h.

94 { 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 137 of file fe_type.h.

137 { 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 139 of file fe_type.h.

139 { 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 138 of file fe_type.h.

138 { 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 97 of file fe_type.h.

97 { return rhs < lhs; }

◆ operator>() [2/5]

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

Definition at line 149 of file fe_type.h.

149 { return rhs < lhs; }

◆ operator>() [3/5]

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

Definition at line 151 of file fe_type.h.

151 { return rhs < lhs; }

◆ operator>() [4/5]

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

Definition at line 148 of file fe_type.h.

148 { return rhs < lhs; }

◆ operator>() [5/5]

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

Definition at line 150 of file fe_type.h.

150 { return rhs < lhs; }

◆ operator>=() [1/5]

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

Definition at line 99 of file fe_type.h.

99 { return !(lhs < rhs); }

◆ operator>=() [2/5]

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

Definition at line 157 of file fe_type.h.

157 { return !(lhs < rhs); }

◆ operator>=() [3/5]

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

Definition at line 159 of file fe_type.h.

159 { return !(lhs < rhs); }

◆ operator>=() [4/5]

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

Definition at line 156 of file fe_type.h.

156 { return !(lhs < rhs); }

◆ operator>=() [5/5]

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

Definition at line 158 of file fe_type.h.

158 { return !(lhs < rhs); }

◆ OrderWrapperOperators()

libMesh::OrderWrapperOperators ( int  )

Definition at line 129 of file fe_type.h.

136  { return lhs == rhs.get_order(); }

References libMesh::OrderWrapper::get_order().

◆ out()

OStreamProxy libMesh::out ( std::cout  )

◆ outer_product()

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 1435 of file type_tensor.h.

1436 {
1437  TypeTensor<typename CompareTypes<T, T2>::supertype> ret;
1438  for (unsigned int i=0; i<LIBMESH_DIM; i++)
1439  for (unsigned int j=0; j<LIBMESH_DIM; j++)
1440  ret(i,j) = a(i) * libmesh_conj(b(j));
1441 
1442  return ret;
1443 }

References libmesh_conj().

Referenced by TypeTensorTest::testOuterProduct().

◆ 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 58 of file petsc_auto_fieldsplit.C.

60 {
61  std::string sys_prefix = "--solver_group_";
62 
63  if (libMesh::on_command_line("--solver-system-names"))
64  {
65  sys_prefix = sys_prefix + sys.name() + "_";
66  }
67 
68  std::map<std::string, std::vector<dof_id_type>> group_indices;
69 
70  if (libMesh::on_command_line("--solver-variable-names"))
71  {
72  for (auto v : IntRange<unsigned int>(0, sys.n_vars()))
73  {
74  const std::string & var_name = sys.variable_name(v);
75 
76  std::vector<dof_id_type> var_idx;
78  (var_idx, sys.get_mesh(), v);
79 
80  std::string group_command = sys_prefix + var_name;
81 
82  const std::string empty_string;
83 
84  std::string group_name = libMesh::command_line_value
85  (group_command, empty_string);
86 
87  if (group_name != empty_string)
88  {
89  std::vector<dof_id_type> & indices =
90  group_indices[group_name];
91  const bool prior_indices = !indices.empty();
92  indices.insert(indices.end(), var_idx.begin(),
93  var_idx.end());
94  if (prior_indices)
95  std::sort(indices.begin(), indices.end());
96  }
97  else
98  {
99  indices_to_fieldsplit (sys.comm(), var_idx, my_pc, var_name);
100  }
101  }
102  }
103 
104  for (const auto & pr : group_indices)
105  indices_to_fieldsplit(sys.comm(), pr.second, my_pc, pr.first);
106 }

References libMesh::ParallelObject::comm(), command_line_value(), libMesh::System::get_dof_map(), libMesh::System::get_mesh(), libMesh::DofMap::local_variable_indices(), libMesh::System::n_vars(), libMesh::System::name(), on_command_line(), and libMesh::System::variable_name().

Referenced by libMesh::PetscLinearSolver< Number >::init_names(), and libMesh::PetscDiffSolver::setup_petsc_data().

◆ 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< Number >::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/5]

template<>
void libMesh::print_helper ( std::ostream &  os,
const char *  param 
)
inline

Definition at line 537 of file parameters.h.

538 {
539  // Specialization so that we don't print out unprintable characters
540  os << static_cast<int>(*param);
541 }

◆ print_helper() [2/5]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const P *  param 
)

Helper functions for printing scalar, vector and vector<vector> types.

Called from Parameters::Parameter<T>::print(...).

Definition at line 530 of file parameters.h.

531 {
532  os << *param;
533 }

Referenced by libMesh::Parameters::Parameter< T >::print().

◆ print_helper() [3/5]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const std::vector< P > *  param 
)

Definition at line 553 of file parameters.h.

554 {
555  for (const auto & p : *param)
556  os << p << " ";
557 }

◆ print_helper() [4/5]

template<typename P >
void libMesh::print_helper ( std::ostream &  os,
const std::vector< std::vector< P >> *  param 
)

Definition at line 561 of file parameters.h.

562 {
563  for (const auto & pv : *param)
564  for (const auto & p : pv)
565  os << p << " ";
566 }

◆ print_helper() [5/5]

template<>
void libMesh::print_helper ( std::ostream &  os,
const unsigned char *  param 
)
inline

Definition at line 545 of file parameters.h.

546 {
547  // Specialization so that we don't print out unprintable characters
548  os << static_cast<int>(*param);
549 }

◆ print_trace()

void libMesh::print_trace ( std::ostream &  out_stream = std::cerr)

Print a stack trace (for code compiled with gcc)

Definition at line 196 of file print_trace.C.

197 {
198  // First try a GDB backtrace. They are better than what you get
199  // from calling backtrace() because you don't have to do any
200  // demangling, and they include line numbers! If the GDB backtrace
201  // fails, for example if your system does not have GDB, fall back to
202  // calling backtrace().
203  bool gdb_worked = false;
204 
205  // Let the user disable GDB backtraces by configuring with
206  // --without-gdb-command or with a command line option.
207  if (std::string(LIBMESH_GDB_COMMAND) != std::string("no") &&
208  !libMesh::on_command_line("--no-gdb-backtrace"))
209  gdb_worked = gdb_backtrace(out_stream);
210 
211  // This part requires that your compiler at least supports
212  // backtraces. Demangling is also nice, but it will still run
213  // without it.
214 #if defined(LIBMESH_HAVE_GLIBC_BACKTRACE)
215  if (!gdb_worked)
216  {
217  void * addresses[40];
218  char ** strings;
219 
220  int size = backtrace(addresses, 40);
221  strings = backtrace_symbols(addresses, size);
222  out_stream << "Stack frames: " << size << std::endl;
223  for (int i = 0; i < size; i++)
224  out_stream << i << ": " << process_trace(strings[i]) << std::endl;
225  std::free(strings);
226  }
227 #endif
228 }

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,
std::set< const Elem *, CompareElemIdsByLevel > &  connected_elements 
)

Definition at line 138 of file mesh_communication.C.

143 {
144  for (auto & gf :
147  {
148  GhostingFunctor::map_type elements_to_ghost;
149  libmesh_assert(gf);
150  (*gf)(elem_it, elem_end, pid, elements_to_ghost);
151 
152  // We can ignore the CouplingMatrix in ->second, but we
153  // need to ghost all the elements in ->first.
154  for (auto & pr : elements_to_ghost)
155  {
156  const Elem * elem = pr.first;
157  libmesh_assert(elem != remote_elem);
158  connected_elements.insert(elem);
159  }
160  }
161 
162  // The GhostingFunctors won't be telling us about the elements from
163  // pid; we need to add those ourselves.
164  for (; elem_it != elem_end; ++elem_it)
165  connected_elements.insert(*elem_it);
166 }

References as_range(), libMesh::MeshBase::ghosting_functors_begin(), libMesh::MeshBase::ghosting_functors_end(), libmesh_assert(), mesh, and remote_elem.

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

◆ reconnect_nodes()

void libMesh::reconnect_nodes ( const std::set< const Elem *, CompareElemIdsByLevel > &  connected_elements,
std::set< const Node * > &  connected_nodes 
)

Definition at line 259 of file mesh_communication.C.

261 {
262  // We're done using the nodes list for element decisions; now
263  // let's reuse it for nodes of the elements we've decided on.
264  connected_nodes.clear();
265 
266  for (const auto & elem : connected_elements)
267  for (auto & n : elem->node_ref_range())
268  connected_nodes.insert(&n);
269 }

References libMesh::Elem::node_ref_range().

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

◆ REINIT_ERROR() [1/15]

libMesh::REINIT_ERROR ( ,
BERNSTEIN  ,
edge_reinit   
)

Definition at line 105 of file fe_boundary.C.

105 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D BERNSTEIN elements!"); }

◆ REINIT_ERROR() [2/15]

libMesh::REINIT_ERROR ( ,
HERMITE  ,
edge_reinit   
)

Definition at line 91 of file fe_boundary.C.

91 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D HERMITE elements!"); }

◆ REINIT_ERROR() [3/15]

libMesh::REINIT_ERROR ( ,
HIERARCHIC  ,
edge_reinit   
)

Definition at line 92 of file fe_boundary.C.

92 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D HIERARCHIC elements!"); }

◆ REINIT_ERROR() [4/15]

libMesh::REINIT_ERROR ( ,
L2_HIERARCHIC  ,
edge_reinit   
)

Definition at line 93 of file fe_boundary.C.

93 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D L2_HIERARCHIC elements!"); }

◆ REINIT_ERROR() [5/15]

libMesh::REINIT_ERROR ( ,
L2_LAGRANGE  ,
edge_reinit   
)

Definition at line 96 of file fe_boundary.C.

96 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D L2_LAGRANGE elements!"); }

◆ REINIT_ERROR() [6/15]

libMesh::REINIT_ERROR ( ,
LAGRANGE  ,
edge_reinit   
)

Definition at line 94 of file fe_boundary.C.

94 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D LAGRANGE elements!"); }

◆ REINIT_ERROR() [7/15]

libMesh::REINIT_ERROR ( ,
LAGRANGE_VEC  ,
edge_reinit   
)

Definition at line 95 of file fe_boundary.C.

95 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D LAGRANGE_VEC elements!"); }

◆ REINIT_ERROR() [8/15]

libMesh::REINIT_ERROR ( ,
MONOMIAL  ,
edge_reinit   
)

Definition at line 98 of file fe_boundary.C.

98 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D MONOMIAL elements!"); }

◆ REINIT_ERROR() [9/15]

libMesh::REINIT_ERROR ( ,
MONOMIAL_VEC  ,
edge_reinit   
)

Definition at line 99 of file fe_boundary.C.

99 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D MONOMIAL_VEC elements!"); }

◆ REINIT_ERROR() [10/15]

libMesh::REINIT_ERROR ( ,
NEDELEC_ONE  ,
edge_reinit   
)

Definition at line 102 of file fe_boundary.C.

102 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D NEDELEC_ONE elements!"); }

◆ REINIT_ERROR() [11/15]

libMesh::REINIT_ERROR ( ,
NEDELEC_ONE  ,
reinit   
)

Definition at line 101 of file fe_boundary.C.

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

◆ REINIT_ERROR() [12/15]

libMesh::REINIT_ERROR ( ,
RATIONAL_BERNSTEIN  ,
edge_reinit   
)

Definition at line 107 of file fe_boundary.C.

107 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D RATIONAL_BERNSTEIN elements!"); }

◆ REINIT_ERROR() [13/15]

libMesh::REINIT_ERROR ( ,
SCALAR  ,
edge_reinit   
)

Definition at line 100 of file fe_boundary.C.

100 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D SCALAR elements!"); }

◆ REINIT_ERROR() [14/15]

libMesh::REINIT_ERROR ( ,
SZABAB  ,
edge_reinit   
)

Definition at line 106 of file fe_boundary.C.

106 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D SZABAB elements!"); }

◆ REINIT_ERROR() [15/15]

libMesh::REINIT_ERROR ( ,
XYZ  ,
edge_reinit   
)

Definition at line 97 of file fe_boundary.C.

97 { libmesh_error_msg("ERROR: Cannot edge_reinit 1D XYZ elements!"); }

◆ 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()

libMesh::SIDEMAP_ERROR ( ,
NEDELEC_ONE  ,
side_map   
)

Definition at line 103 of file fe_boundary.C.

103 { libmesh_error_msg("ERROR: Cannot side_map 1D NEDELEC_ONE 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 std::abs().

Referenced by libMesh::NewtonSolver::line_search().

◆ 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 134 of file checkpoint_io.C.

135 {
136  // There is currently an issue with DofObjects not being properly
137  // reset if the mesh is not first repartitioned onto 1 processor
138  // *before* being repartitioned onto the desired number of
139  // processors. So, this is a workaround, but not a particularly
140  // onerous one.
141  mesh.partition(1);
142  mesh.partition(nsplits);
143 
144  processor_id_type my_num_chunks = 0;
145  processor_id_type my_first_chunk = 0;
146  chunking(mesh.comm().size(), mesh.comm().rank(), nsplits, my_num_chunks, my_first_chunk);
147 
148  auto cpr = libmesh_make_unique<CheckpointIO>(mesh);
149  cpr->current_processor_ids().clear();
150  for (processor_id_type i = my_first_chunk; i < my_first_chunk + my_num_chunks; i++)
151  cpr->current_processor_ids().push_back(i);
152  cpr->current_n_processors() = nsplits;
153  cpr->parallel() = true;
154  return cpr;
155 }

References libMesh::ParallelObject::comm(), mesh, and libMesh::MeshBase::partition().

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   
)

◆ triple_product()

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

Definition at line 1106 of file type_vector.h.

1109 {
1110 #if LIBMESH_DIM == 3
1111  return
1112  a(0)*(b(1)*c(2) - b(2)*c(1)) -
1113  a(1)*(b(0)*c(2) - b(2)*c(0)) +
1114  a(2)*(b(0)*c(1) - b(1)*c(0));
1115 #else
1116  libmesh_ignore(a, b, c);
1117  return 0;
1118 #endif
1119 }

References libmesh_ignore().

Referenced by libMesh::Tri3::contains_point(), libMesh::Pyramid5::volume(), libMesh::Prism6::volume(), libMesh::Hex8::volume(), libMesh::Tet4::volume(), libMesh::Pyramid13::volume(), libMesh::Tet10::volume(), libMesh::Prism15::volume(), libMesh::Hex20::volume(), libMesh::Pyramid14::volume(), libMesh::Hex27::volume(), and libMesh::Prism18::volume().

◆ 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 233 of file print_trace.C.

234 {
235 #ifdef LIBMESH_ENABLE_TRACEFILES
236  std::stringstream outname;
237  outname << "traceout_" << static_cast<std::size_t>(libMesh::global_processor_id()) << '_' << getpid() << ".txt";
238  std::ofstream traceout(outname.str().c_str(), std::ofstream::app);
239  libMesh::print_trace(traceout);
240 #endif
241 }

References global_processor_id(), and print_trace().

Referenced by libmesh_terminate_handler(), and libMesh::MacroFunctions::report_error().

◆ Xdr::data< std::complex< double > >()

template void libMesh::Xdr::data< std::complex< double > > ( std::complex< double > &  ,
const char *   
)

◆ Xdr::data< std::complex< float > >()

template void libMesh::Xdr::data< std::complex< float > > ( std::complex< float > &  ,
const char *   
)

◆ Xdr::data< std::complex< long double > >()

template void libMesh::Xdr::data< std::complex< long double > > ( std::complex< long double > &  ,
const char *   
)

◆ Xdr::data< std::complex< Real > >()

template void libMesh::Xdr::data< std::complex< Real > > ( std::complex< Real > &  ,
const char *   
)

◆ Xdr::data< std::string >()

template void libMesh::Xdr::data< std::string > ( std::string &  ,
const char *   
)

◆ Xdr::data< std::vector< char > >()

template void libMesh::Xdr::data< std::vector< char > > ( std::vector< char > &  ,
const char *   
)

◆ Xdr::data< std::vector< double > >()

template void libMesh::Xdr::data< std::vector< double > > ( std::vector< double > &  ,
const char *   
)

◆ Xdr::data< std::vector< float > >()

template void libMesh::Xdr::data< std::vector< float > > ( std::vector< float > &  ,
const char *   
)

◆ Xdr::data< std::vector< int > >()

template void libMesh::Xdr::data< std::vector< int > > ( std::vector< int > &  ,
const char *   
)

◆ Xdr::data< std::vector< long double > >()

template void libMesh::Xdr::data< std::vector< long double > > ( std::vector< long double > &  ,
const char *   
)

◆ Xdr::data< std::vector< long int > >()

template void libMesh::Xdr::data< std::vector< long int > > ( std::vector< long int > &  ,
const char *   
)

◆ Xdr::data< std::vector< long long > >()

template void libMesh::Xdr::data< std::vector< long long > > ( std::vector< long long > &  ,
const char *   
)

◆ Xdr::data< std::vector< Real > >()

template void libMesh::Xdr::data< std::vector< Real > > ( std::vector< Real > &  ,
const char *   
)

◆ Xdr::data< std::vector< short int > >()

template void libMesh::Xdr::data< std::vector< short int > > ( std::vector< short int > &  ,
const char *   
)

◆ Xdr::data< std::vector< signed char > >()

template void libMesh::Xdr::data< std::vector< signed char > > ( std::vector< signed char > &  ,
const char *   
)

◆ Xdr::data< std::vector< std::complex< double > > >()

template void libMesh::Xdr::data< std::vector< std::complex< double > > > ( std::vector< std::complex< double >> &  ,
const char *   
)

◆ Xdr::data< std::vector< std::complex< float > > >()

template void libMesh::Xdr::data< std::vector< std::complex< float > > > ( std::vector< std::complex< float >> &  ,
const char *   
)

◆ Xdr::data< std::vector< std::complex< long double > > >()

template void libMesh::Xdr::data< std::vector< std::complex< long double > > > ( std::vector< std::complex< long double >> &  ,
const char *   
)

◆ Xdr::data< std::vector< std::complex< Real > > >()

template void libMesh::Xdr::data< std::vector< std::complex< Real > > > ( std::vector< std::complex< Real >> &  ,
const char *   
)

◆ Xdr::data< std::vector< std::string > >()

template void libMesh::Xdr::data< std::vector< std::string > > ( std::vector< std::string > &  ,
const char *   
)

◆ Xdr::data< std::vector< unsigned char > >()

template void libMesh::Xdr::data< std::vector< unsigned char > > ( std::vector< unsigned char > &  ,
const char *   
)

◆ Xdr::data< std::vector< unsigned int > >()

template void libMesh::Xdr::data< std::vector< unsigned int > > ( std::vector< unsigned int > &  ,
const char *   
)

◆ Xdr::data< std::vector< unsigned long int > >()

template void libMesh::Xdr::data< std::vector< unsigned long int > > ( std::vector< unsigned long int > &  ,
const char *   
)

◆ Xdr::data< std::vector< unsigned long long > >()

template void libMesh::Xdr::data< std::vector< unsigned long long > > ( std::vector< unsigned long long > &  ,
const char *   
)

◆ Xdr::data< std::vector< unsigned short int > >()

template void libMesh::Xdr::data< std::vector< unsigned short int > > ( std::vector< unsigned short int > &  ,
const char *   
)

Variable Documentation

◆ ctx

void* libMesh::ctx = nullptr

Definition at line 71 of file petsc_dm_wrapper.C.

Referenced by __libmesh_petsc_diff_solver_jacobian(), __libmesh_petsc_diff_solver_monitor(), __libmesh_petsc_diff_solver_residual(), __libmesh_petsc_preconditioner_apply(), __libmesh_petsc_preconditioner_setup(), __libmesh_petsc_snes_fd_residual(), __libmesh_petsc_snes_jacobian(), __libmesh_petsc_snes_mffd_interface(), __libmesh_petsc_snes_residual(), __libmesh_tao_equality_constraints(), __libmesh_tao_equality_constraints_jacobian(), __libmesh_tao_gradient(), __libmesh_tao_hessian(), __libmesh_tao_inequality_constraints(), __libmesh_tao_inequality_constraints_jacobian(), __libmesh_tao_objective(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult_add(), if(), libmesh_petsc_linesearch_shellfunc(), libmesh_petsc_preconditioner_apply(), libmesh_petsc_preconditioner_setup(), libmesh_petsc_snes_fd_residual(), libmesh_petsc_snes_jacobian(), libmesh_petsc_snes_mffd_interface(), libmesh_petsc_snes_mffd_residual(), libmesh_petsc_snes_residual(), libmesh_petsc_snes_residual_helper(), libMesh::PetscVector< libMesh::Number >::localize_to_one(), SNESFunction_DMlibMesh(), SNESJacobian_DMlibMesh(), libMesh::Parallel::Packing< const Elem * >::unpack(), and libMesh::Parallel::Packing< const Node * >::unpack().

◆ cube_number_column

const unsigned char libMesh::cube_number_column

Definition at line 84 of file number_lookups.C.

◆ cube_number_page

const unsigned char libMesh::cube_number_page

Definition at line 308 of file number_lookups.C.

◆ cube_number_row

const unsigned char libMesh::cube_number_row

Definition at line 196 of file number_lookups.C.

◆ err

OStreamProxy libMesh::err(std::cerr)

Referenced by libMesh::ExactSolution::_compute_error(), libMesh::QComposite< QSubCell >::add_subelem_values(), libMesh::LaspackLinearSolver< T >::adjoint_solve(), libMesh::MeshTools::Modification::all_tri(), assemble_SchroedingerEquation(), libMesh::FEMSystem::assembly(), assert_argument(), 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(), libMesh::FEMap::compute_single_point_map(), libMesh::Elem::contains_point(), libMesh::GMVIO::copy_nodal_solution(), libMesh::ElemCutter::cut_2D(), libMesh::ElemCutter::cut_3D(), libMesh::ParsedFEMFunction< T >::eval(), libMesh::ParsedFunction< T >::eval(), libMesh::PerfLog::fast_pop(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::PetscLinearSolver< Number >::get_converged_reason(), libMesh::PetscLinearSolver< Number >::get_initial_residual(), libMesh::UNVIO::groups_in(), libMesh::MacroFunctions::here(), libMesh::PointLocatorTree::init(), libMesh::QJacobi::init_1D(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::EpetraVector< T >::inputNonlocalValues(), libMesh::FEMap::inverse_map(), libMesh::FEInterface::inverse_map(), libMesh::LibMeshInit::LibMeshInit(), main(), libMesh::InfFE< Dim, T_radial, T_map >::nodal_soln(), libMesh::ErrorVector::plot_error(), libMesh::TetGenMeshInterface::process_hull_integrity_result(), libMesh::Elem::quality(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::GMVIO::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::DofMap::reinit(), libMesh::MacroFunctions::report_error(), libMesh::LaspackLinearSolver< T >::set_laspack_preconditioner_type(), libMesh::PetscPreconditioner< T >::set_petsc_preconditioner_type(), libMesh::PetscLinearSolver< Number >::set_petsc_solver_type(), libMesh::SlepcEigenSolver< libMesh::Number >::set_slepc_problem_type(), libMesh::SlepcEigenSolver< libMesh::Number >::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_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), libMesh::EigenSparseLinearSolver< T >::solve(), libMesh::LaspackLinearSolver< T >::solve(), start_output(), StreamRedirector::StreamRedirector(), libMesh::NameBasedIO::write(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::TecplotIO::write_binary(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::VTKIO::write_nodal_data(), libMesh::NameBasedIO::write_nodal_data(), libMesh::GmshIO::write_post(), 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")

◆ fields

PetscErrorCode PetscInt const PetscInt libMesh::fields[]

Definition at line 60 of file petsc_dm_wrapper.C.

Referenced by if().

◆ 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 222 of file libmesh_common.h.

Referenced by libmesh_terminate_handler(), and libMesh::LibMeshInit::LibMeshInit().

◆ ierr

libMesh::ierr = DMShellGetContext(dm, & ctx)

Definition at line 72 of file petsc_dm_wrapper.C.

Referenced by __libmesh_petsc_diff_solver_monitor(), __libmesh_tao_equality_constraints(), __libmesh_tao_equality_constraints_jacobian(), __libmesh_tao_gradient(), __libmesh_tao_hessian(), __libmesh_tao_inequality_constraints(), __libmesh_tao_inequality_constraints_jacobian(), __libmesh_tao_objective(), libMesh::PetscLinearSolver< Number >::_create_complement_is(), libMesh::PetscVector< libMesh::Number >::_get_array(), libMesh::PetscVector< libMesh::Number >::_restore_array(), libMesh::PetscLinearSolver< Number >::_restrict_solve_to_is_local_size(), libMesh::PetscVector< libMesh::Number >::abs(), libMesh::PetscVector< libMesh::Number >::add(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::PetscVector< libMesh::Number >::add_vector(), libMesh::PetscVector< libMesh::Number >::add_vector_transpose(), libMesh::PetscPreconditioner< T >::apply(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::PetscDMWrapper::check_section_n_dofs(), libMesh::PetscPreconditioner< T >::clear(), libMesh::PetscShellMatrix< T >::clear(), libMesh::PetscDiffSolver::clear(), libMesh::TaoOptimizationSolver< T >::clear(), PetscSolverConfiguration::configure_solver(), SlepcSolverConfiguration::configure_solver(), libMesh::PetscVector< libMesh::Number >::conjugate(), libMesh::PetscVector< libMesh::Number >::create_subvector(), DMCreate_libMesh(), DMCreateDomainDecomposition_libMesh(), DMCreateDomainDecompositionDM_libMesh(), DMCreateFieldDecomposition_libMesh(), DMCreateFieldDecompositionDM_libMesh(), DMCreateGlobalVector_libMesh(), DMDestroy_libMesh(), DMlibMeshCreateDomainDecompositionDM(), DMlibMeshCreateFieldDecompositionDM(), DMlibMeshFunction(), DMlibMeshGetBlocks(), DMlibMeshGetSystem_libMesh(), DMlibMeshGetVariables(), DMlibMeshJacobian(), DMlibMeshParseDecompositionDescriptor_Private(), DMlibMeshSetSystem_libMesh(), DMlibMeshSetUpName_Private(), DMSetUp_libMesh(), DMVariableBounds_libMesh(), DMView_libMesh(), libMesh::PetscVector< libMesh::Number >::dot(), libMesh::TaoOptimizationSolver< T >::get_converged_reason(), libMesh::PetscShellMatrix< T >::get_diagonal(), libMesh::TaoOptimizationSolver< T >::get_dual_variables(), if(), libMesh::PetscVector< libMesh::Number >::indefinite_dot(), libMesh::PetscPreconditioner< T >::init(), libMesh::PetscShellMatrix< T >::init(), libMesh::TaoOptimizationSolver< T >::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::PetscVector< libMesh::Number >::insert(), libMesh::PetscVector< libMesh::Number >::l1_norm(), libMesh::PetscVector< libMesh::Number >::l2_norm(), libmesh_petsc_DMCoarsen(), libmesh_petsc_DMCreateInterpolation(), libmesh_petsc_DMCreateRestriction(), libmesh_petsc_DMRefine(), libmesh_petsc_preconditioner_apply(), libmesh_petsc_preconditioner_setup(), libmesh_petsc_snes_jacobian(), libmesh_petsc_snes_postcheck(), libmesh_petsc_snes_residual_helper(), libMesh::LibMeshInit::LibMeshInit(), libMesh::PetscVector< libMesh::Number >::linfty_norm(), libMesh::PetscShellMatrix< T >::local_m(), libMesh::PetscShellMatrix< T >::local_n(), libMesh::PetscVector< libMesh::Number >::localize(), libMesh::PetscVector< libMesh::Number >::localize_to_one(), libMesh::PetscShellMatrix< T >::m(), libMesh::PetscShellMatrix< T >::n(), libMesh::PetscVector< libMesh::Number >::operator*=(), libMesh::PetscVector< libMesh::Number >::operator/=(), libMesh::PetscVector< libMesh::Number >::operator=(), libMesh::PetscVector< libMesh::Number >::pointwise_mult(), libMesh::PetscVector< libMesh::Number >::print_matlab(), libMesh::GMVIO::read(), libMesh::PetscVector< libMesh::Number >::reciprocal(), libMesh::PetscVector< libMesh::Number >::scale(), libMesh::PetscVector< libMesh::Number >::set(), libMesh::PetscPreconditioner< T >::set_petsc_preconditioner_type(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), SNESFunction_DMlibMesh(), SNESJacobian_DMlibMesh(), libMesh::PetscDiffSolver::solve(), libMesh::TaoOptimizationSolver< T >::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::PetscVector< libMesh::Number >::sum(), libMesh::PetscShellMatrix< T >::vector_mult(), libMesh::PetscShellMatrix< T >::vector_mult_add(), and libMesh::TecplotIO::write_binary().

◆ imaginary

const Number libMesh::imaginary

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 571 of file fe.C.

◆ INSTANTIATE_SUBDIVISION_MAPS

libMesh::INSTANTIATE_SUBDIVISION_MAPS

Definition at line 2118 of file fe_map.C.

◆ 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.

Definition at line 249 of file libmesh.h.

Referenced by libMesh::FEMContext::_do_elem_position_set(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::MeshRefinement::add_node(), libMesh::Elem::as_parent_node(), libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFunction< Output >::attach_subfunction(), libMesh::CompositeFEMFunction< Output >::component(), libMesh::CompositeFunction< Output >::component(), libMesh::InfFE< Dim, T_radial, T_map >::compute_node_indices_fast(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_indices(), libMesh::Xdr::data_stream(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_value(), libMesh::DofMap::dof_indices(), libMesh::FEMContext::elem_position_get(), libMesh::FEMPhysics::eulerian_residual(), libMesh::MeshTools::find_nodal_neighbors(), 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::MeshFunction::gradient(), libMesh::DofObject::has_dofs(), libMesh::MeshFunction::hessian(), libMesh::MeshTools::Generation::Private::idx(), libMesh::DofMap::is_evaluable(), 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(), main(), libMesh::FEMSystem::mesh_position_get(), libMesh::DofObject::n_dofs(), libMesh::PeriodicBoundaries::neighbor(), libMesh::FEMSystem::numerical_jacobian(), libMesh::DofMap::old_dof_indices(), libMesh::MeshFunction::operator()(), libMesh::Elem::parent_bracketing_nodes(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::BoundaryInfo::side_with_boundary_id(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::Node::valence(), libMesh::Elem::which_child_am_i(), libMesh::Elem::which_neighbor_am_i(), libMesh::Elem::which_side_am_i(), and libMesh::System::write_serialized_blocked_dof_objects().

◆ is

PetscErrorCode PetscInt const PetscInt IS* libMesh::is

◆ libmesh_errhandler

MPI_Errhandler libMesh::libmesh_errhandler

Definition at line 240 of file libmesh.C.

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

◆ MIN_ELEM_PER_PROC

const unsigned int libMesh::MIN_ELEM_PER_PROC = 4

◆ numFields

PetscErrorCode PetscInt libMesh::numFields

Definition at line 60 of file petsc_dm_wrapper.C.

Referenced by if().

◆ old_terminate_handler

std::terminate_handler libMesh::old_terminate_handler

Definition at line 279 of file libmesh.C.

Referenced by libmesh_terminate_handler(), and libMesh::LibMeshInit::LibMeshInit().

◆ out

OStreamProxy libMesh::out(std::cout)

Referenced by __libmesh_nlopt_objective(), __libmesh_petsc_diff_solver_jacobian(), __libmesh_petsc_diff_solver_monitor(), __libmesh_petsc_diff_solver_residual(), libMesh::ParmetisPartitioner::_do_repartition(), add_matching_tests_to_runner(), 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::TransientRBConstruction::assemble_misc_matrices(), libMesh::RBConstruction::assemble_misc_matrices(), libMesh::FEMSystem::assembly(), libMesh::System::attach_assemble_function(), libMesh::System::attach_assemble_object(), libMesh::System::attach_constraint_function(), libMesh::System::attach_constraint_object(), libMesh::System::attach_init_function(), libMesh::System::attach_init_object(), libMesh::System::attach_QOI_derivative(), libMesh::System::attach_QOI_derivative_object(), libMesh::System::attach_QOI_function(), libMesh::System::attach_QOI_object(), 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(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_side_list_from_node_list(), libMesh::DofMap::build_sparsity(), libMesh::MeshRefinement::coarsen_elements(), libMesh::System::compare(), libMesh::EquationSystems::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::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::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ContinuationSystem::continuation_solve(), libMesh::ExodusII_IO_Helper::create(), libMesh::Nemesis_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::TransientRBConstruction::enrich_RB_space(), libMesh::RBSCMConstruction::evaluate_stability_constant(), exact_grad(), exact_value(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_deterministic(), 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::TransientRBConstruction::greedy_termination_test(), libMesh::RBConstruction::greedy_termination_test(), libMesh::StatisticsVector< ErrorVectorReal >::histogram(), Biharmonic::init(), Biharmonic::JR::initialize(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), integrate_function(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libmesh_petsc_snes_monitor(), libMesh::LibMeshInit::LibMeshInit(), libMesh::NewtonSolver::line_search(), main(), libMesh::MeshInput< MeshBase >::MeshInput(), libMesh::MeshOutput< MeshBase >::MeshOutput(), libMesh::ExodusII_IO_Helper::message(), libMesh::UNVIO::nodes_in(), libMesh::UNVIO::nodes_out(), libMesh::Xdr::open(), 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(), libMesh::RBEIMConstruction::plot_parametrized_functions_in_training_set(), NavierSystem::postprocess(), libMesh::RadialBasisInterpolation< KDDim, RBF >::prepare_for_use(), libMesh::DofMap::prepare_send_list(), libMesh::RBParameters::print(), libMesh::RBConstruction::print_basis_function_orthogonality(), libMesh::NloptOptimizationSolver< T >::print_converged_reason(), libMesh::TaoOptimizationSolver< T >::print_converged_reason(), libMesh::LaspackLinearSolver< T >::print_converged_reason(), libMesh::AztecLinearSolver< T >::print_converged_reason(), libMesh::PetscNonlinearSolver< Number >::print_converged_reason(), libMesh::LinearSolver< Number >::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::RBEIMConstruction::print_info(), libMesh::TransientRBConstruction::print_info(), libMesh::RBSCMConstruction::print_info(), libMesh::RBConstruction::print_info(), libMesh::PerfLog::print_log(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Tet::qual_bounds(), libMesh::Hex::qual_bounds(), libMesh::Tri::qual_bounds(), libMesh::Quad::qual_bounds(), libMesh::InfQuad::qual_bounds(), FEMParameters::read(), libMesh::TetGenIO::read(), libMesh::Nemesis_IO::read(), libMesh::PltLoader::read(), libMesh::EquationSystems::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::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::ExodusII_IO_Helper::read_var_names_impl(), libMesh::VariationalMeshSmoother::readgr(), libMesh::MeshRefinement::refine_elements(), Biharmonic::run(), run_timestepping(), libMesh::TetGenWrapper::set_switches(), set_system_parameters(), libMesh::ContinuationSystem::set_Theta(), libMesh::ContinuationSystem::set_Theta_LOCA(), libMesh::TwostepTimeSolver::solve(), libMesh::EigenSparseLinearSolver< T >::solve(), libMesh::NewtonSolver::solve(), libMesh::UnsteadySolver::solve(), libMesh::EigenTimeSolver::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::ContinuationSystem::solve_tangent(), start_output(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::MacroFunctions::stop(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), libMesh::RBConstruction::train_reduced_basis(), libMesh::DTKSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_solve(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::ContinuationSystem::update_solution(), libMesh::RBEIMConstruction::update_system(), libMesh::TransientRBConstruction::update_system(), libMesh::RBConstruction::update_system(), usage(), usage_error(), libMesh::RBParametrized::valid_params(), Biharmonic::viewParameters(), libMesh::XdrIO::write(), libMesh::TecplotIO::write_ascii(), libMesh::MeshOutput< MeshBase >::write_discontinuous_equation_systems(), libMesh::Nemesis_IO::write_element_data(), libMesh::MeshOutput< MeshBase >::write_equation_systems(), libMesh::Nemesis_IO_Helper::write_nodesets(), write_output_footers(), write_output_solvedata(), libMesh::GmshIO::write_post(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_var_names_impl(), and libMesh::VariationalMeshSmoother::writegr().

◆ p_ctx

PetscDMContext* libMesh::p_ctx = static_cast<PetscDMContext * >(ctx)

Definition at line 75 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 87 of file elem.C.

Referenced by libMesh::Elem::parent_bracketing_nodes().

◆ parent_indices_mutex

Threads::spin_mutex libMesh::parent_indices_mutex

Definition at line 86 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_terminate_handler(), and libMesh::LibMeshInit::LibMeshInit().

◆ pi

const Real libMesh::pi

◆ Real

DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE libMesh::Real

Definition at line 121 of file libmesh_common.h.

Referenced by __libmesh_nlopt_objective(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::NewmarkSolver::_general_residual(), 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(), adjoint_initial_grad(), adjoint_initial_value(), libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::VariationalMeshSmoother::adp_renew(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::ContinuationSystem::apply_predictor(), assemble(), assemble_biharmonic(), assemble_cd(), assemble_ellipticdg(), assemble_helmholtz(), assemble_laplace(), assemble_poisson(), libMesh::ImplicitSystem::assemble_residual_derivatives(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), libMesh::FEMSystem::assembly(), libMesh::VariationalMeshSmoother::avertex(), libMesh::VariationalMeshSmoother::basisA(), AssemblyA1::boundary_assembly(), 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_delaunay_square(), libMesh::InfElemBuilder::build_inf_elem(), ExtraIntegersTest::build_mesh(), MixedDimensionNonUniformRefinement3D::build_mesh(), libMesh::TransientRBEvaluation::cache_online_residual_terms(), libMesh::SystemNorm::calculate_norm(), libMesh::System::calculate_norm(), NonlinearNeoHookeCurrentConfig::calculate_stress(), NonlinearNeoHookeCurrentConfig::calculate_tangent(), libMesh::DofMap::check_for_constraint_loops(), libMesh::OldSolutionBase< Output, point_output >::check_old_context(), libMesh::Tet::choose_diagonal(), libMesh::NewmarkSystem::clear(), SolutionFunction::component(), SolutionGradient::component(), libMesh::RBEIMConstruction::compute_best_fit_error(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEMap::compute_edge_map(), libMesh::FEXYZMap::compute_face_map(), libMesh::FEMap::compute_face_map(), compute_jacobian(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::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::FEMap::compute_single_point_map(), LinearElasticityWithContact::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::QConical::conical_product_pyramid(), libMesh::BoundingBox::contains_point(), libMesh::InfQuad4::contains_point(), libMesh::InfPrism::contains_point(), libMesh::InfHex::contains_point(), libMesh::Tri3::contains_point(), libMesh::ContinuationSystem::continuation_solve(), libMesh::ExodusII_IO_Helper::create(), libMesh::Nemesis_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::ExodusII_IO_Helper::MappedOutputVector::data(), libMesh::ExodusII_IO_Helper::MappedInputVector::data(), libMesh::DenseMatrix< Real >::det(), disc_thirds_test(), libMesh::Sphere::distance(), libMesh::QGauss::dunavant_rule2(), elasticity_tensor(), ElasticitySystem::elasticity_tensor(), LinearElasticityWithContact::elasticity_tensor(), LargeDeformationElasticity::elasticity_tensor(), LinearElasticity::elasticity_tensor(), PoissonSystem::element_postprocess(), LaplaceSystem::element_postprocess(), LaplaceQoI::element_qoi(), LaplaceQoI::element_qoi_derivative(), LaplaceSystem::element_qoi_derivative(), PoissonSystem::element_time_derivative(), ElasticitySystem::element_time_derivative(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EquationSystems::EquationSystems(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::AdjointResidualErrorEstimator::estimate_error(), libMesh::OldSolutionCoefs< Output, point_output >::eval_at_point(), eval_elasticity_tensor(), libMesh::RBEvaluation::eval_output_dual_norm(), ShiftedGaussian::evaluate(), Gx::evaluate(), Gy::evaluate(), Gz::evaluate(), 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(), CurlCurlSystem::exact_solution(), exact_solution(), exact_solution_u(), exact_solution_v(), exact_value(), ConstantSecondOrderODE< SystemBase >::F(), fill_dirichlet_bc(), libMesh::MeshCommunication::find_global_indices(), libMesh::ElemCutter::find_intersection_points(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::ExactErrorEstimator::find_squared_element_error(), 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(), CurlCurlExactSolution::forcing(), LaplaceSystem::forcing(), CurlCurlSystem::forcing(), NavierSystem::forcing(), forcing_function(), forcing_function_2D(), forcing_function_3D(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::VariationalMeshSmoother::full_smooth(), libMesh::DofMap::gather_constraints(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::GaussLobattoRedistributionFunction(), libMesh::VariationalMeshSmoother::gener(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_deterministic(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_random(), libMesh::RBParametrized::get_closest_value(), libMesh::RBEvaluation::get_error_bound_normalization(), libMesh::ParsedFEMFunction< T >::get_inline_value(), libMesh::ParsedFunction< T >::get_inline_value(), LinearElasticityWithContact::get_least_and_max_gap_function(), libMesh::ImplicitSystem::get_linear_solve_parameters(), NonlinearNeoHookeCurrentConfig::get_linearized_stiffness(), libMesh::RBConstructionBase< CondensedEigenSystem >::get_params_from_training_set(), libMesh::RBEIMConstruction::get_RB_error_bound(), libMesh::RBConstruction::get_RB_error_bound(), AzimuthalPeriodicBoundary::get_rotation_matrix(), libMesh::RBSCMEvaluation::get_SCM_LB(), libMesh::RBSCMEvaluation::get_SCM_UB(), libMesh::BoundaryInfo::get_side_and_node_maps(), libMesh::NumericVector< Number >::global_relative_compare(), libMesh::QGrundmann_Moller::gm_rule(), CurlCurlExactSolution::grad(), libMesh::RBConstruction::greedy_termination_test(), HeatSystem::HeatSystem(), libMesh::FEHermite< Dim >::hermite_raw_shape(), libMesh::FEHermite< Dim >::hermite_raw_shape_deriv(), libMesh::FEHermite< Dim >::hermite_raw_shape_second_deriv(), libMesh::StatisticsVector< ErrorVectorReal >::histogram(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::PointLocatorTree::init(), libMesh::FEComputeData::init(), libMesh::QGaussLobatto::init_1D(), libMesh::QGrid::init_1D(), libMesh::QGauss::init_1D(), libMesh::QSimpson::init_1D(), libMesh::QNodal::init_1D(), libMesh::QJacobi::init_1D(), libMesh::QGrid::init_2D(), libMesh::QTrap::init_2D(), libMesh::QGauss::init_2D(), libMesh::QSimpson::init_2D(), libMesh::QNodal::init_2D(), libMesh::QMonomial::init_2D(), libMesh::QGrid::init_3D(), libMesh::QTrap::init_3D(), libMesh::QGauss::init_3D(), libMesh::QSimpson::init_3D(), libMesh::QNodal::init_3D(), libMesh::QMonomial::init_3D(), libMesh::QGrundmann_Moller::init_3D(), init_cd(), HeatSystem::init_data(), libMesh::FESubdivision::init_shape_functions(), 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::ContinuationSystem::initialize_tangent(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), integrate_function(), A0::interior_assembly(), AssemblyA0::interior_assembly(), AssemblyA1::interior_assembly(), A1::interior_assembly(), AssemblyA2::interior_assembly(), OutputAssembly::interior_assembly(), AssemblyF1::interior_assembly(), libMesh::LaplacianErrorEstimator::internal_side_integration(), libMesh::DiscontinuityMeasure::internal_side_integration(), libMesh::KellyErrorEstimator::internal_side_integration(), libMesh::InverseDistanceInterpolation< KDDim >::interpolate(), libMesh::RadialBasisInterpolation< KDDim, RBF >::interpolate_field_data(), libMesh::InverseDistanceInterpolation< KDDim >::interpolate_field_data(), libMesh::BoundingBox::intersects(), libMesh::InfFEMap::inverse_map(), libMesh::FEMap::inverse_map(), libMesh::Tet::is_child_on_side_helper(), libMesh::ElemCutter::is_cut(), libMesh::RBParametrized::is_value_in_list(), LargeDeformationElasticity::jacobian(), libMesh::QGauss::keast_rule(), libMesh::LocationMap< T >::key(), libMesh::QMonomial::kim_rule(), libMesh::DenseSubVector< Number >::l1_norm(), libMesh::DistributedVector< T >::l1_norm(), libMesh::EpetraVector< T >::l1_norm(), libMesh::DenseVector< Output >::l1_norm(), libMesh::PetscMatrix< libMesh::Number >::l1_norm(), libMesh::StatisticsVector< ErrorVectorReal >::l2_norm(), libMesh::DenseSubVector< Number >::l2_norm(), libMesh::DistributedVector< T >::l2_norm(), libMesh::EpetraVector< T >::l2_norm(), libMesh::DenseVector< Output >::l2_norm(), libMesh::TransientRBEvaluation::legacy_read_offline_data_from_files(), libMesh::RBEIMEvaluation::legacy_read_offline_data_from_files(), libMesh::RBSCMEvaluation::legacy_read_offline_data_from_files(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), line_print(), libMesh::NewtonSolver::line_search(), linear_test(), libMesh::EigenSparseMatrix< T >::linfty_norm(), libMesh::DenseSubVector< Number >::linfty_norm(), libMesh::DistributedVector< T >::linfty_norm(), libMesh::EpetraVector< T >::linfty_norm(), libMesh::DenseVector< Output >::linfty_norm(), libMesh::PetscMatrix< libMesh::Number >::linfty_norm(), libMesh::RBDataDeserialization::load_parameter_ranges(), libMesh::RBDataDeserialization::load_rb_scm_evaluation_data(), libMesh::VariationalMeshSmoother::localP(), libMesh::PointLocatorBase::locate_node(), libMesh::FESubdivision::loop_subdivision_mask(), libMesh::Edge4::loose_bounding_box(), libMesh::Edge3::loose_bounding_box(), libMesh::Quad8::loose_bounding_box(), libMesh::Tri6::loose_bounding_box(), libMesh::Quad9::loose_bounding_box(), ConstantFirstOrderODE::M(), ConstantSecondOrderODE< SystemBase >::M(), main(), libMesh::InfFEMap::map(), libMesh::HCurlFETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_curl(), libMesh::H1FETransformation< OutputShape >::map_div(), 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::DenseSubVector< Number >::max(), libMesh::DistributedVector< T >::max(), libMesh::EigenSparseVector< T >::max(), libMesh::LaspackVector< T >::max(), libMesh::DenseVector< Output >::max(), libMesh::DofMap::max_constraint_error(), libMesh::VariationalMeshSmoother::maxE(), libMesh::ErrorVector::mean(), libMesh::StatisticsVector< ErrorVectorReal >::mean(), libMesh::StatisticsVector< ErrorVectorReal >::median(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::VariationalMeshSmoother::metr_data_gen(), libMesh::DenseSubVector< Number >::min(), libMesh::DistributedVector< T >::min(), libMesh::EigenSparseVector< T >::min(), libMesh::LaspackVector< T >::min(), libMesh::DenseVector< Output >::min(), libMesh::Tri3::min_and_max_angle(), libMesh::Tet4::min_and_max_angle(), libMesh::VariationalMeshSmoother::minJ(), libMesh::VariationalMeshSmoother::minJ_BC(), libMesh::VariationalMeshSmoother::minq(), new_linear_test(), libMesh::NewmarkSystem::NewmarkSystem(), libMesh::TetGenIO::node_in(), libMesh::UNVIO::nodes_out(), libMesh::NonlinearImplicitSystem::NonlinearImplicitSystem(), libMesh::TypeTensor< T >::norm_sq(), libMesh::StatisticsVector< ErrorVectorReal >::normalize(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMSystem::numerical_jacobian_h_for_var(), libMesh::FEAbstract::on_reference_element(), libMesh::Plane::on_surface(), libMesh::ExodusII_IO_Helper::open(), LaplaceExactSolution::operator()(), CurlCurlExactSolution::operator()(), SlitFunc::operator()(), SolutionFunction::operator()(), BdyFunction::operator()(), LaplaceExactGradient::operator()(), SolutionGradient::operator()(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), output_norms(), libMesh::Parallel::Packing< const Node * >::pack(), libMesh::Node::packed_size(), libMesh::ParsedFEMFunction< T >::partial_reparse(), libMesh::ParsedFunction< T >::partial_reparse(), libMesh::VariationalMeshSmoother::pcg_ic0(), libMesh::StatisticsVector< ErrorVectorReal >::plot_histogram(), libMesh::TriangleInterface::PolygonHole::point(), libMesh::Elem::point_test(), libMesh::RadialBasisInterpolation< KDDim, RBF >::prepare_for_use(), libMesh::QBase::print_info(), libMesh::DofMap::process_constraints(), libMesh::TransientRBConstruction::process_parameters_file(), libMesh::RBSCMConstruction::process_parameters_file(), libMesh::RBConstruction::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(), libMesh::Hex::quality(), libMesh::Tri::quality(), libMesh::InfHex::quality(), libMesh::Quad::quality(), rational_test(), rational_test_grad(), libMesh::TransientRBEvaluation::rb_solve(), libMesh::RBEvaluation::rb_solve(), libMesh::RBEIMEvaluation::rb_solve(), 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::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::VariationalMeshSmoother::readgr(), 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::MemorySolutionHistory::retrieve(), libMesh::MeshTools::Modification::rotate(), Biharmonic::run(), TimeSolverTestImplementation< NewmarkSolver >::run_test_with_exact_soln(), run_timestepping(), libMesh::MeshTools::Modification::scale(), libMesh::QBase::scale(), libMesh::HPCoarsenTest::select_refinement(), libMesh::NewmarkSystem::set_newmark_parameters(), libMesh::FEMSystem::set_numerical_jacobian_h_for_var(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), ElemTest< elem_type >::setUp(), RationalMapTest< elem_type >::setUp(), FETest< order, family, elem_type >::setUp(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), NavierSystem::side_constraint(), LaplaceSystem::side_constraint(), LaplaceSystem::side_postprocess(), CoupledSystemQoI::side_qoi(), CoupledSystemQoI::side_qoi_derivative(), LaplaceSystem::side_qoi_derivative(), SolidSystem::side_time_derivative(), CurlCurlSystem::side_time_derivative(), libMesh::BoundingBox::signed_distance(), libMesh::MeshTools::Modification::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::TwostepTimeSolver::solve(), libMesh::NewtonSolver::solve(), libMesh::NoxNonlinearSolver< Number >::solve(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::FrequencySystem::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::PetscNonlinearSolver< Number >::solve(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), libMesh::ContinuationSystem::solve_tangent(), libMesh::PatchRecoveryErrorEstimator::specpoly(), libMesh::Sphere::Sphere(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::QMonomial::stroud_rule(), libMesh::MeshTools::subdomain_bounding_sphere(), libMesh::NumericVector< Number >::subset_l1_norm(), libMesh::NumericVector< Number >::subset_l2_norm(), libMesh::NumericVector< Number >::subset_linfty_norm(), libMesh::Sphere::surface_coords(), QuadratureTest::test1DWeights(), QuadratureTest::test2DWeights(), QuadratureTest::test3DWeights(), ExtraIntegersTest::test_and_set_initial_data(), ElemTest< elem_type >::test_bounding_box(), ExtraIntegersTest::test_final_integers(), BBoxTest::test_no_degenerate(), BBoxTest::test_one_degenerate(), BBoxTest::test_signed_distance(), BBoxTest::test_two_degenerate(), DofObjectTest< Node >::testAddExtraData(), ParallelPointTest::testAllGatherPairPointPoint(), ParallelPointTest::testAllGatherPairRealPoint(), ParallelPointTest::testAllGatherPoint(), SystemsTest::testBoundaryProjectCube(), ParallelPointTest::testBroadcastPoint(), RationalMapTest< elem_type >::testContainsPoint(), ContainsPointTest::testContainsPointTet4(), SystemsTest::testDofCouplingWithVarGroups(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), DenseMatrixTest::testEVDcomplex(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), FETest< order, family, elem_type >::testGradU(), FETest< order, family, elem_type >::testGradUComp(), QuadratureTest::testJacobi(), PointLocatorTest::testLocator(), MappedSubdomainPartitionerTest::testMappedSubdomainPartitioner(), ParallelTest::testMaxlocReal(), ParallelTest::testMinlocReal(), QuadratureTest::testMonomialQuadrature(), NewmarkSolverTest::testNewmarkSolverLinearTimeSecondOrderODEFirstOrderStyle(), NewmarkSolverTest::testNewmarkSolverLinearTimeSecondOrderODESecondOrderStyle(), TypeVectorTestBase< VectorValue< Number > >::testNorm(), TypeVectorTestBase< VectorValue< Number > >::testNormBase(), TypeVectorTestBase< VectorValue< Number > >::testNormSq(), TypeVectorTestBase< VectorValue< Number > >::testNormSqBase(), SystemsTest::testProjectCube(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectLine(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), SystemsTest::testProjectSquare(), EquationSystemsTest::testRepartitionThenReinit(), TypeVectorTestBase< VectorValue< Number > >::testScalarDiv(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivAssign(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivBase(), DenseMatrixTest::testSVD(), QuadratureTest::testTetQuadrature(), CompositeFunctionTest::testTimeDependence(), QuadratureTest::testTriQuadrature(), FETest< order, family, elem_type >::testU(), GetPotTest::testVariables(), WriteSidesetData::testWrite(), WriteVecAndScalar::testWrite(), libMesh::TransientRBConstruction::train_reduced_basis(), libMesh::RBConstruction::train_reduced_basis(), transform_mesh_and_plot(), triangulate_domain(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::TransientRBConstruction::truth_solve(), ConstantFirstOrderODE::u(), ConstantSecondOrderODE< SystemBase >::u(), LinearTimeFirstOrderODE::u(), libMesh::TransientRBEvaluation::uncached_compute_residual_dual_norm(), libMesh::Parallel::Packing< Node * >::unpack(), LinearElasticityWithContact::update_lambdas(), libMesh::ContinuationSystem::update_solution(), libMesh::JacobiPolynomials::value(), libMesh::ErrorVector::variance(), libMesh::StatisticsVector< ErrorVectorReal >::variance(), libMesh::VariationalMeshSmoother::vertex(), libMesh::Quad4::volume(), libMesh::Edge3::volume(), libMesh::Prism6::volume(), libMesh::Edge4::volume(), libMesh::Quad8::volume(), libMesh::Tri6::volume(), libMesh::Quad9::volume(), libMesh::Pyramid13::volume(), libMesh::Tet10::volume(), libMesh::Hex20::volume(), libMesh::Prism15::volume(), libMesh::Pyramid14::volume(), libMesh::Hex27::volume(), libMesh::Prism18::volume(), libMesh::Elem::volume(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::ImplicitSystem::weighted_sensitivity_solve(), 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(), libMesh::VariationalMeshSmoother::writegr(), x_plus_y(), and libMesh::ExodusII_IO_Helper::MappedInputVector::~MappedInputVector().

◆ remote_elem

const RemoteElem * libMesh::remote_elem

Definition at line 57 of file remote_elem.C.

Referenced by libMesh::Elem::add_child(), libMesh::BoundaryInfo::add_elements(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::Elem::ancestor(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::Elem::coarsen(), libMesh::FEAbstract::compute_node_constraints(), connect_children(), connect_families(), 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::Elem::interior_parent(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_amr_interior_parents(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::Elem::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::LibMeshInit::LibMeshInit(), 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::Elem::nullify_neighbors(), libMesh::GhostPointNeighbors::operator()(), libMesh::DefaultCoupling::operator()(), libMesh::Parallel::Packing< const Elem * >::pack(), query_ghosting_functors(), libMesh::CheckpointIO::read_remote_elem(), libMesh::Elem::refine(), libMesh::Elem::remove_links_to_me(), BoundaryMeshTest::sanityCheck(), libMesh::Elem::set_interior_parent(), libMesh::MeshRefinement::test_level_one(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::CheckpointIO::write_remote_elem(), and libMesh::RemoteElem::~RemoteElem().

◆ return

libMesh::return

Definition at line 193 of file petsc_dm_wrapper.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.

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

◆ 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.

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

◆ subdm

PetscErrorCode PetscInt const PetscInt IS DM* libMesh::subdm
Initial value:
{
PetscErrorCode ierr

Definition at line 62 of file petsc_dm_wrapper.C.

Referenced by if(), and libmesh_petsc_DMCoarsen().

◆ TOLERANCE

static const Real libMesh::TOLERANCE = 2.5e-3
static

Definition at line 128 of file libmesh_common.h.

Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::assemble_residual_derivatives(), assemble_wave(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), libMesh::RBSCMConstruction::compute_SCM_bounding_box(), libMesh::Elem::contains_point(), ContainsPointTest::containsPointTri3Helper(), libMesh::EquationSystems::EquationSystems(), libMesh::RBSCMConstruction::evaluate_stability_constant(), fill_dirichlet_bc(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MemorySolutionHistory::find_stored_entry(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), NonlinearNeoHookeCurrentConfig::init_for_qp(), libMesh::LocationMap< T >::key(), NumericVectorTest< DistributedVector< Number > >::Localize(), NumericVectorTest< DistributedVector< Number > >::LocalizeIndices(), main(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::MeshTools::Generation::Private::GaussLobattoRedistributionFunction::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), libMesh::TypeTensor< T >::operator==(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::MemorySolutionHistory::retrieve(), BoundaryMeshTest::sanityCheck(), QuadratureTest::setUp(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), LaplaceSystem::side_constraint(), libMesh::NewtonSolver::solve(), libMesh::ReplicatedMesh::stitching_helper(), libMesh::MemorySolutionHistory::store(), BBoxTest::test_no_degenerate(), BBoxTest::test_one_degenerate(), MeshFunctionTest::test_p_level(), BBoxTest::test_signed_distance(), BBoxTest::test_two_degenerate(), SystemsTest::testBoundaryProjectCube(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), SystemsTest::testDofCouplingWithVarGroups(), MeshInputTest::testDynaReadPatch(), DenseMatrixTest::testEVDcomplex(), DenseMatrixTest::testEVDreal(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), PetscVectorTest::testGetArray(), ParsedFEMFunctionTest::testGradients(), FETest< order, family, elem_type >::testGradU(), FETest< order, family, elem_type >::testGradUComp(), ParsedFEMFunctionTest::testHessians(), ParsedFunctionTest::testInlineGetter(), ParsedFEMFunctionTest::testInlineGetter(), ParsedFunctionTest::testInlineSetter(), ParsedFEMFunctionTest::testInlineSetter(), PointLocatorTest::testLocator(), TypeVectorTestBase< VectorValue< Number > >::testNorm(), ParsedFEMFunctionTest::testNormals(), TypeVectorTestBase< VectorValue< Number > >::testNormBase(), TypeVectorTestBase< VectorValue< Number > >::testNormSq(), TypeVectorTestBase< VectorValue< Number > >::testNormSqBase(), DenseMatrixTest::testOuterProduct(), TypeTensorTest::testOuterProduct(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), EquationSystemsTest::testRepartitionThenReinit(), SlitMeshRefinedSystemTest::testRestart(), TypeVectorTestBase< VectorValue< Number > >::testScalarDiv(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivAssign(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarDivBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarInit(), TypeVectorTestBase< VectorValue< Number > >::testScalarMult(), TypeVectorTestBase< VectorValue< Number > >::testScalarMultAssign(), TypeVectorTestBase< VectorValue< Number > >::testScalarMultAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testScalarMultBase(), DenseMatrixTest::testSVD(), SlitMeshRefinedSystemTest::testSystem(), FETest< order, family, elem_type >::testU(), ParsedFunctionTest::testValues(), ParsedFEMFunctionTest::testValues(), TypeVectorTestBase< VectorValue< Number > >::testVectorAdd(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddAssign(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddAssignBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddScaled(), TypeVectorTestBase< VectorValue< Number > >::testVectorAddScaledBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorMult(), TypeVectorTestBase< VectorValue< Number > >::testVectorMultBase(), TypeVectorTestBase< VectorValue< Number > >::testVectorSub(), TypeVectorTestBase< VectorValue< Number > >::testVectorSubAssign(), TypeVectorTestBase< VectorValue< Number > >::testVectorSubAssignBase(), TypeVectorTestBase< VectorValue< Number > >::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::RBParametrized::valid_params(), libMesh::Edge3::volume(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().

◆ 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.

◆ 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.

◆ warned_about_auto_ptr

bool libMesh::warned_about_auto_ptr

◆ zero

const Number libMesh::zero = 0.
libMesh::DISCRETE_L_INF
Definition: enum_norm_type.h:54
libMesh::C_ONE
Definition: enum_fe_family.h:80
libMesh::INVALID_POSITION_OF_SPECTRUM
Definition: enum_eigen_solver_type.h:86
libMesh::HEX20
Definition: enum_elem_type.h:48
libMesh::MeshBase::ghosting_functors_begin
std::set< GhostingFunctor * >::const_iterator ghosting_functors_begin() const
Beginning of range of ghosting functors.
Definition: mesh_base.h:1113
libMesh::DIVERGED_BREAKDOWN_BICG
Definition: enum_convergence_flags.h:49
libMesh::fe_lagrange_1D_linear_shape
Real fe_lagrange_1D_linear_shape(const unsigned int i, const Real xi)
Definition: fe_lagrange_shape_1D.h:30
libMesh::INVALID_PRECONDITIONER
Definition: enum_preconditioner_type.h:49
libMesh::THIRTYFOURTH
Definition: enum_order.h:75
libMesh::PRISM6
Definition: enum_elem_type.h:50
libMesh::System::n_vars
unsigned int n_vars() const
Definition: system.h:2155
libMesh::LU_PRECOND
Definition: enum_preconditioner_type.h:44
libMesh::CONVERGED_STEP_LENGTH
Definition: enum_convergence_flags.h:42
libMesh::UNKNOWN_FLAG
Definition: enum_convergence_flags.h:58
libMesh::MeshBase::ghosting_functors_end
std::set< GhostingFunctor * >::const_iterator ghosting_functors_end() const
End of range of ghosting functors.
Definition: mesh_base.h:1119
libMesh::TREE_LOCAL_ELEMENTS
Definition: enum_point_locator_type.h:38
libMesh::STRETCH
Definition: enum_elem_quality.h:45
libMesh::QMONOMIAL
Definition: enum_quadrature_type.h:41
libMesh::TWENTYFIFTH
Definition: enum_order.h:66
libMesh::TARGET_IMAGINARY
Definition: enum_eigen_solver_type.h:83
libMesh::TREE
Definition: enum_point_locator_type.h:36
libMesh::Elem::total_family_tree
void total_family_tree(std::vector< const Elem * > &family, bool reset=true) const
Same as the family_tree() member, but also adds any subactive descendants.
Definition: elem.C:1457
libMesh::THIRTYSECOND
Definition: enum_order.h:73
libMesh::GHIEP
Definition: enum_eigen_solver_type.h:59
libMesh::DIVERGED_INDEFINITE_MAT
Definition: enum_convergence_flags.h:53
libMesh::HEP
Definition: enum_eigen_solver_type.h:56
libMesh::CLOUGH
Definition: enum_fe_family.h:53
libMesh::LAPACK
Definition: enum_eigen_solver_type.h:35
libMesh::fe_lagrange_1D_cubic_shape_second_deriv
Real fe_lagrange_1D_cubic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Definition: fe_lagrange_shape_1D.h:264
libMesh::p_ctx
PetscDMContext * p_ctx
Definition: petsc_dm_wrapper.C:75
libMesh::libMeshPrivateData::_processor_id
processor_id_type _processor_id
The local processor id.
Definition: libmesh.C:243
libMesh::libmesh_petsc_snes_residual
PetscErrorCode libmesh_petsc_snes_residual(SNES, Vec x, Vec r, void *ctx)
Definition: petsc_nonlinear_solver.C:151
libMesh::THIRTYFIFTH
Definition: enum_order.h:76
libMesh::POWER
Definition: enum_eigen_solver_type.h:34
libMesh::PETSC_SOLVERS
Definition: enum_solver_package.h:36
libMesh::PerfLog::clear
void clear()
Clears all the internal data and restores the data structures to a pristine state.
Definition: perf_log.C:78
libMesh::PerfLog::print_log
void print_log() const
Print the log.
Definition: perf_log.C:684
libMesh::INVALID_INF_MAP
Definition: enum_inf_map_type.h:39
libMesh::L_INF
Definition: enum_norm_type.h:42
libMesh::DISTORTION
Definition: enum_elem_quality.h:42
libMesh::PARALLEL
Definition: enum_parallel_type.h:36
libMesh::L2_HIERARCHIC
Definition: enum_fe_family.h:40
libMesh::TARGET_REAL
Definition: enum_eigen_solver_type.h:80
libMesh::QCLOUGH
Definition: enum_quadrature_type.h:44
libMesh::BICGSTAB
Definition: enum_solver_type.h:42
libMesh::H1_Y_SEMINORM
Definition: enum_norm_type.h:58
libMesh::HEX8
Definition: enum_elem_type.h:47
libMesh::DIVERGED_BREAKDOWN
Definition: enum_convergence_flags.h:48
libMesh::NINETEENTH
Definition: enum_order.h:60
libMesh::NLOPT_SOLVERS
Definition: enum_solver_package.h:41
libMesh::SMALLEST_REAL
Definition: enum_eigen_solver_type.h:79
libMesh::DIVERGED_DTOL
Definition: enum_convergence_flags.h:47
libMesh::GLOBAL_COMM_WORLD
MPI_Comm GLOBAL_COMM_WORLD
MPI Communicator used to initialize libMesh.
Definition: libmesh_common.h:222
libMesh::INFINITE_MAP
Definition: enum_fe_family.h:48
libMesh::EDGE4
Definition: enum_elem_type.h:37
libMesh::INFHEX8
Definition: enum_elem_type.h:60
libMesh::SIXTH
Definition: enum_order.h:47
libMesh::DIVERGED_ITS
Definition: enum_convergence_flags.h:46
libMesh::AIJ
Definition: petsc_matrix.h:73
libMesh::INVALID_MAP
Definition: enum_elem_type.h:85
libMesh::INFQUAD4
Definition: enum_elem_type.h:58
libMesh::LARGEST_REAL
Definition: enum_eigen_solver_type.h:78
libMesh::HERMITE
Definition: enum_fe_family.h:54
libMesh::TYPE_SCALAR
Definition: enum_fe_family.h:93
libMesh::INVALID
Definition: enum_error_estimator_type.h:34
libMesh::AMG_PRECOND
Definition: enum_preconditioner_type.h:47
libMesh::JACOBI
Definition: enum_solver_type.h:46
libMesh::BICG
Definition: enum_solver_type.h:41
libMesh::FOURTEENTH
Definition: enum_order.h:55
libMesh::DISCRETE_L2
Definition: enum_norm_type.h:53
libMesh::TREE_ELEMENTS
Definition: enum_point_locator_type.h:37
libMesh::INVALID_LOCATOR
Definition: enum_point_locator_type.h:40
libMesh::FORTYSECOND
Definition: enum_order.h:83
libMesh::System::variable_name
const std::string & variable_name(const unsigned int i) const
Definition: system.h:2203
libMesh::IDENTITY_PRECOND
Definition: enum_preconditioner_type.h:34
libMesh::CR
Definition: enum_solver_type.h:37
libMesh::EXACT
Definition: enum_error_estimator_type.h:38
libMesh::SERIAL
Definition: enum_parallel_type.h:35
libMesh::index_range
IntRange< std::size_t > index_range(const std::vector< T > &vec)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...
Definition: int_range.h:106
libMesh::libMeshPrivateData::_n_threads
int _n_threads
Total number of threads possible.
Definition: libmesh.C:245
libMesh::JACOBI_20_00
Definition: enum_fe_family.h:49
libMesh::L1
Definition: enum_norm_type.h:41
libMesh::operator<<
std::ostream & operator<<(std::ostream &os, const OrderWrapper &order)
Overload stream operators.
Definition: fe_type.h:164
libMesh::TET10
Definition: enum_elem_type.h:46
libMesh::XYZ
Definition: enum_fe_family.h:46
libMesh::JACOBI_PRECOND
Definition: enum_preconditioner_type.h:35
libMesh::H1_SEMINORM
Definition: enum_norm_type.h:43
libMesh::SYSTEM_VARIABLE_ORDER
Definition: dirichlet_boundaries.h:61
libMesh::SSOR
Definition: enum_solver_type.h:49
libMesh::SOR_FORWARD
Definition: enum_solver_type.h:47
libMesh::INVALID_IO_PACKAGE
Definition: enum_io_package.h:48
libMesh::RICHARDSON
Definition: enum_solver_type.h:50
std::sqrt
MetaPhysicL::DualNumber< T, D > sqrt(const MetaPhysicL::DualNumber< T, D > &in)
libMesh::MINRES
Definition: enum_solver_type.h:43
libMesh::DIVERGED_NULL
Definition: enum_convergence_flags.h:45
libMesh::ParallelObject::comm
const Parallel::Communicator & comm() const
Definition: parallel_object.h:94
libMesh::libmesh_petsc_snes_fd_residual
PetscErrorCode libmesh_petsc_snes_fd_residual(SNES, Vec x, Vec r, void *ctx)
Definition: petsc_nonlinear_solver.C:206
libMesh::UNIFORM_REFINEMENT
Definition: enum_error_estimator_type.h:43
libMesh::GHOSTED
Definition: enum_parallel_type.h:37
libMesh::GhostingFunctor::map_type
std::unordered_map< const Elem *, const CouplingMatrix * > map_type
What elements do we care about and what variables do we care about on each element?
Definition: ghosting_functor.h:171
libMesh::MONOMIAL_VEC
Definition: enum_fe_family.h:62
libMesh::cross_norm_sq
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)....
Definition: type_vector.h:1129
libMesh::ASPECT_RATIO_BETA
Definition: enum_elem_quality.h:47
libMesh::libmesh_conj
T libmesh_conj(T a)
Definition: libmesh_common.h:167
libMesh::write_traceout
void write_traceout()
Writes a stack trace to a uniquely named file if –enable-tracefiles has been set by configure,...
Definition: print_trace.C:233
libMesh::SMALLEST_IMAGINARY
Definition: enum_eigen_solver_type.h:82
libMesh::fe_lagrange_1D_quadratic_shape
Real fe_lagrange_1D_quadratic_shape(const unsigned int i, const Real xi)
Definition: fe_lagrange_shape_1D.h:51
libMesh::W2_INF_SEMINORM
Definition: enum_norm_type.h:50
libMesh::H2
Definition: enum_norm_type.h:38
libMesh::WRITE
Definition: enum_xdr_mode.h:40
libMesh::EISENSTAT_PRECOND
Definition: enum_preconditioner_type.h:39
mesh
MeshBase & mesh
Definition: mesh_communication.C:1257
libMesh::FIFTH
Definition: enum_order.h:46
libMesh::PATCH_RECOVERY
Definition: enum_error_estimator_type.h:41
libMesh::W1_INF_SEMINORM
Definition: enum_norm_type.h:49
libMesh::GMV
Definition: enum_io_package.h:40
libMesh::THIRTEENTH
Definition: enum_order.h:54
libMesh::QMR
Definition: enum_solver_type.h:38
libMesh::CONVERGED_CG_CONSTRAINED
Definition: enum_convergence_flags.h:41
libMesh::SUBSET_COPY_RHS
Definition: enum_subset_solve_mode.h:40
libMesh::DIAGONAL
Definition: enum_elem_quality.h:46
libMesh::THIRTYSEVENTH
Definition: enum_order.h:78
libMesh::SECOND
Definition: enum_order.h:43
libMesh::CONVERGED_ITERATING
Definition: enum_convergence_flags.h:56
libMesh::QGAUSS
Definition: enum_quadrature_type.h:34
libMesh::INVALID_FE
Definition: enum_fe_family.h:66
libMesh::THIRTIETH
Definition: enum_order.h:71
libMesh::WEIGHTED_PATCH_RECOVERY
Definition: enum_error_estimator_type.h:42
libMesh::INFEDGE2
Definition: enum_elem_type.h:57
libMesh::TWENTIETH
Definition: enum_order.h:61
libMesh::Elem::active
bool active() const
Definition: elem.h:2345
libMesh::DIVA
Definition: enum_io_package.h:43
libMesh::LIBMESH
Definition: enum_io_package.h:46
libMesh::DIVERGED_NONSYMMETRIC
Definition: enum_convergence_flags.h:50
libMesh::RATIONAL_BERNSTEIN_MAP
Definition: enum_elem_type.h:84
libMesh::TWELFTH
Definition: enum_order.h:53
libMesh::LAPLACIAN
Definition: enum_error_estimator_type.h:40
libMesh::SSOR_PRECOND
Definition: enum_preconditioner_type.h:38
libMesh::TWENTYEIGHTH
Definition: enum_order.h:69
libMesh::SUBSET_ZERO
Definition: enum_subset_solve_mode.h:37
libMesh::libmesh_petsc_snes_mffd_residual
PetscErrorCode libmesh_petsc_snes_mffd_residual(SNES snes, Vec x, Vec r, void *ctx)
Definition: petsc_nonlinear_solver.C:247
libMesh::FORTYTHIRD
Definition: enum_order.h:84
libMesh::TET4
Definition: enum_elem_type.h:45
libMesh::KELLY
Definition: enum_error_estimator_type.h:39
libMesh::CARTESIAN
Definition: enum_inf_map_type.h:35
libMesh::GMSH
Definition: enum_io_package.h:41
libMesh::QSIMPSON
Definition: enum_quadrature_type.h:37
libMesh::PRISM15
Definition: enum_elem_type.h:51
libMesh::SZABAB
Definition: enum_fe_family.h:44
libMesh::THIRTYEIGHTH
Definition: enum_order.h:79
libMesh::CONVERGED_RTOL
Definition: enum_convergence_flags.h:37
libMesh::numFields
PetscErrorCode PetscInt numFields
Definition: petsc_dm_wrapper.C:60
libMesh::INFPRISM6
Definition: enum_elem_type.h:63
libMesh::libmesh_assert
libmesh_assert(ctx)
libMesh::DISCONTINUITY_MEASURE
Definition: enum_error_estimator_type.h:37
libMesh::LOCAL_VARIABLE_ORDER
Definition: dirichlet_boundaries.h:62
libMesh::libmesh_petsc_preconditioner_apply
PetscErrorCode libmesh_petsc_preconditioner_apply(PC pc, Vec x, Vec y)
Definition: petsc_linear_solver.C:88
libMesh::SOR_BACKWARD
Definition: enum_solver_type.h:48
libMesh::IntRange
The IntRange templated class is intended to make it easy to loop over integers which are indices of a...
Definition: int_range.h:53
libMesh::ELEVENTH
Definition: enum_order.h:52
libMesh::CG
Definition: enum_solver_type.h:34
libMesh::EIGHTTEENTH
Definition: enum_order.h:59
libMesh::INVALID_SOLVER
Definition: enum_solver_type.h:54
libMesh::TFQMR
Definition: enum_solver_type.h:40
std::abs
MetaPhysicL::DualNumber< T, D > abs(const MetaPhysicL::DualNumber< T, D > &in)
libMesh::perflog
PerfLog perflog
A PerfLog object to log performance.
libMesh::JACOBI_30_00
Definition: enum_fe_family.h:50
libMesh::HEX27
Definition: enum_elem_type.h:49
libMesh::TWENTYSECOND
Definition: enum_order.h:63
libMesh::CGS
Definition: enum_solver_type.h:36
libMesh::DofMap::local_variable_indices
void local_variable_indices(std::vector< dof_id_type > &idx, const MeshBase &mesh, unsigned int var_num) const
Fills an array of those dof indices which belong to the given variable number and live on the current...
Definition: dof_map.C:1084
libMesh::INVALID_Q_RULE
Definition: enum_quadrature_type.h:48
libMesh::TWENTYTHIRD
Definition: enum_order.h:64
libMesh::DECODE
Definition: enum_xdr_mode.h:39
libMesh::libmesh_petsc_DMCreateSubDM
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.
libMesh::QTRAP
Definition: enum_quadrature_type.h:38
libMesh::QNODAL
Definition: enum_quadrature_type.h:46
libMesh::PS
PetscScalar PS(T val)
Definition: petsc_macro.h:168
libMesh::TWENTYFIRST
Definition: enum_order.h:62
libMesh::FORTYFIRST
Definition: enum_order.h:82
libMesh::REMOTEELEM
Definition: enum_elem_type.h:68
libMesh::INVALID_SOLVER_PACKAGE
Definition: enum_solver_package.h:43
libMesh::System::get_mesh
const MeshBase & get_mesh() const
Definition: system.h:2083
libMesh::TWENTYSIXTH
Definition: enum_order.h:67
libMesh::libmesh_ignore
void libmesh_ignore(const Args &...)
Definition: libmesh_common.h:526
libMesh::INFHEX18
Definition: enum_elem_type.h:62
libMesh::libmesh_petsc_snes_monitor
PetscErrorCode libmesh_petsc_snes_monitor(SNES, PetscInt its, PetscReal fnorm, void *)
Definition: petsc_nonlinear_solver.C:123
libMesh::QUAD4
Definition: enum_elem_type.h:41
libMesh::SHEAR
Definition: enum_elem_quality.h:37
libMesh::THIRTYFIRST
Definition: enum_order.h:72
libMesh::TCQMR
Definition: enum_solver_type.h:39
libMesh::ADJOINT_RESIDUAL
Definition: enum_error_estimator_type.h:36
libMesh::command_line_value
T command_line_value(const std::string &, T)
Definition: libmesh.C:931
libMesh::FORTIETH
Definition: enum_order.h:81
libMesh::processor_id_type
uint8_t processor_id_type
Definition: id_types.h:104
libMesh::DISCONTINUOUS
Definition: enum_fe_family.h:78
libMesh::LARGEST_IMAGINARY
Definition: enum_eigen_solver_type.h:81
libMesh::libmesh_petsc_preconditioner_setup
PetscErrorCode libmesh_petsc_preconditioner_setup(PC pc)
Definition: petsc_linear_solver.C:74
libMesh::CHOLESKY_PRECOND
Definition: enum_preconditioner_type.h:41
libMesh::TRI3
Definition: enum_elem_type.h:39
libMesh::H_CURL
Definition: enum_fe_family.h:81
libMesh::C_ZERO
Definition: enum_fe_family.h:79
libMesh::SOR_PRECOND
Definition: enum_preconditioner_type.h:37
libMesh::BLOCK_JACOBI_PRECOND
Definition: enum_preconditioner_type.h:36
libMesh::libmesh_petsc_snes_jacobian
PetscErrorCode libmesh_petsc_snes_jacobian(#if PETSC_RELEASE_LESS_THAN(3, 5, 0) SNES snes, Vec x, Mat *jac, Mat *pc, MatStructure *msflag, void *ctx #else SNES snes, Vec x, Mat jac, Mat pc, void *ctx #endif)
Definition: petsc_nonlinear_solver.C:301
libMesh::LEGENDRE
Definition: enum_fe_family.h:51
libMesh::H1_X_SEMINORM
Definition: enum_norm_type.h:57
libMesh::MAX_ANGLE
Definition: enum_elem_quality.h:39
libMesh::CONSTANT
Definition: enum_order.h:41
libMesh::TWENTYSEVENTH
Definition: enum_order.h:68
libMesh::INVALID_Postion_of_Spectrum
Definition: enum_eigen_solver_type.h:85
libMesh::as_range
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
Helper function that allows us to treat a homogenous pair as a range.
Definition: simple_range.h:57
libMesh::PetscDMContext::mesh_dim
int mesh_dim
Definition: petsc_dm_wrapper.h:56
libMesh::EIGHTH
Definition: enum_order.h:49
libMesh::RATIONAL_BERNSTEIN
Definition: enum_fe_family.h:64
libMesh::BERNSTEIN
Definition: enum_fe_family.h:43
libMesh::INFHEX16
Definition: enum_elem_type.h:61
libMesh::ASPECT_RATIO
Definition: enum_elem_quality.h:35
libMesh::TENTH
Definition: enum_order.h:51
libMesh::LASPACK_SOLVERS
Definition: enum_solver_package.h:38
libMesh::H2_SEMINORM
Definition: enum_norm_type.h:44
libMesh::READ
Definition: enum_xdr_mode.h:41
libMesh::CONVERGED_HAPPY_BREAKDOWN
Definition: enum_convergence_flags.h:43
libMesh::GMRES
Definition: enum_solver_type.h:44
libMesh::is
PetscErrorCode PetscInt const PetscInt IS * is
Definition: petsc_dm_wrapper.C:60
libMesh::KRYLOVSCHUR
Definition: enum_eigen_solver_type.h:39
libMesh::INVALID_ORDER
Definition: enum_order.h:86
libMesh::SPHERICAL
Definition: enum_inf_map_type.h:36
libMesh::ELLIPSOIDAL
Definition: enum_inf_map_type.h:37
libMesh::fields
PetscErrorCode PetscInt const PetscInt fields[]
Definition: petsc_dm_wrapper.C:60
libMesh::numeric_index_type
dof_id_type numeric_index_type
Definition: id_types.h:99
libMesh::HIERARCHIC
Definition: enum_fe_family.h:37
libMesh::MONOMIAL
Definition: enum_fe_family.h:39
libMesh::JACOBIAN
Definition: enum_elem_quality.h:50
libMesh::INFPRISM12
Definition: enum_elem_type.h:64
libMesh::HCURL
Definition: enum_norm_type.h:39
libMesh::SIZE
Definition: enum_elem_quality.h:49
libMesh::UNKNOWN
Definition: enum_xdr_mode.h:37
libMesh::FOURTH
Definition: enum_order.h:45
libMesh::CONDITION
Definition: enum_elem_quality.h:41
libMesh::TWENTYNINTH
Definition: enum_order.h:70
libMesh::CONVERGED_RTOL_NORMAL
Definition: enum_convergence_flags.h:35
libMesh::DIVERGED_INDEFINITE_PC
Definition: enum_convergence_flags.h:51
libMesh::Elem::parent
const Elem * parent() const
Definition: elem.h:2434
libMesh::TRILINOS_SOLVERS
Definition: enum_solver_package.h:37
libMesh::initialized
bool initialized()
Checks that library initialization has been done.
Definition: libmesh.C:265
libMesh::TRI6
Definition: enum_elem_type.h:40
libMesh::LAGRANGE_MAP
Definition: enum_elem_type.h:83
libMesh::ENCODE
Definition: enum_xdr_mode.h:38
libMesh::old_terminate_handler
std::terminate_handler old_terminate_handler
Definition: libmesh.C:279
libMesh::INVALID_ELEM
Definition: enum_elem_type.h:75
libMesh::HDIV_SEMINORM
Definition: enum_norm_type.h:47
libMesh::CONVERGED_CG_NEG_CURVE
Definition: enum_convergence_flags.h:40
libMesh::libMeshPrivateData::_solver_package
SolverPackage _solver_package
The default solver package to use.
Definition: libmesh.C:247
libMesh::ARNOLDI
Definition: enum_eigen_solver_type.h:37
libMesh::SHAPE
Definition: enum_elem_quality.h:38
libMesh::MIN_ANGLE
Definition: enum_elem_quality.h:40
libMesh::SMALLEST_MAGNITUDE
Definition: enum_eigen_solver_type.h:76
libMesh::LARGEST_MAGNITUDE
Definition: enum_eigen_solver_type.h:75
libMesh::ASPECT_RATIO_GAMMA
Definition: enum_elem_quality.h:48
libMesh::CONVERGED_ATOL_NORMAL
Definition: enum_convergence_flags.h:36
libMesh::HCURL_SEMINORM
Definition: enum_norm_type.h:46
libMesh::QCOMPOSITE
Definition: enum_quadrature_type.h:45
libMesh::SUBSET_DONT_TOUCH
Definition: enum_subset_solve_mode.h:45
libMesh::NHEP
Definition: enum_eigen_solver_type.h:55
libMesh::CONVERGED_ITS
Definition: enum_convergence_flags.h:39
libMesh::libMeshPrivateData::_is_initialized
bool _is_initialized
Flag that tells if init() has been called.
Definition: libmesh.C:246
libMesh::libmesh_petsc_snes_residual_helper
ResidualContext libmesh_petsc_snes_residual_helper(SNES snes, Vec x, void *ctx)
Definition: petsc_nonlinear_solver.C:65
libMesh::DISCRETE_L1
Definition: enum_norm_type.h:52
libMesh::SUBSPACE
Definition: enum_eigen_solver_type.h:36
libMesh::QGAUSS_LOBATTO
Definition: enum_quadrature_type.h:43
libMesh::INFQUAD6
Definition: enum_elem_type.h:59
libMesh::QJACOBI_1_0
Definition: enum_quadrature_type.h:35
libMesh::SEVENTH
Definition: enum_order.h:48
libMesh::SHELL_PRECOND
Definition: enum_preconditioner_type.h:46
libMesh::ICC_PRECOND
Definition: enum_preconditioner_type.h:42
value
static const bool value
Definition: xdr_io.C:56
libMesh::QUADSHELL8
Definition: enum_elem_type.h:73
libMesh::PYRAMID5
Definition: enum_elem_type.h:53
libMesh::print_trace
void print_trace(std::ostream &out_stream=std::cerr)
Print a stack trace (for code compiled with gcc)
Definition: print_trace.C:196
libMesh::System::name
const std::string & name() const
Definition: system.h:2067
libMesh::fe_lagrange_1D_cubic_shape
Real fe_lagrange_1D_cubic_shape(const unsigned int i, const Real xi)
Definition: fe_lagrange_shape_1D.h:75
libMesh::NEDELEC_ONE
Definition: enum_fe_family.h:61
libMesh::ASM_PRECOND
Definition: enum_preconditioner_type.h:40
std
Definition: float128_shims.h:27
libMesh::INVALID_PARALLELIZATION
Definition: enum_parallel_type.h:39
libMesh::CONVERGED_ATOL
Definition: enum_convergence_flags.h:38
libMesh::TYPE_VECTOR
Definition: enum_fe_family.h:94
libMesh::WARP
Definition: enum_elem_quality.h:44
libMesh::EDGE3
Definition: enum_elem_type.h:36
libMesh::LSQR
Definition: enum_solver_type.h:45
libMesh::INVALID_EIGENSOLVER
Definition: enum_eigen_solver_type.h:41
libMesh::Elem::has_children
bool has_children() const
Definition: elem.h:2383
libMesh::H1_Z_SEMINORM
Definition: enum_norm_type.h:59
libMesh::GHEP
Definition: enum_eigen_solver_type.h:58
libMesh::ADJOINT_REFINEMENT
Definition: enum_error_estimator_type.h:35
libMesh::QUADSHELL4
Definition: enum_elem_type.h:72
libMesh::DIVERGED_PCSETUP_FAILED
Definition: enum_convergence_flags.h:54
libMesh::FIFTEENTH
Definition: enum_order.h:56
libMesh::DIVERGED_NAN
Definition: enum_convergence_flags.h:52
libMesh::L2
Definition: enum_norm_type.h:36
libMesh::ctx
void * ctx
Definition: petsc_dm_wrapper.C:71
libMesh::Elem
This is the base class from which all geometric element types are derived.
Definition: elem.h:100
libMesh::on_command_line
bool on_command_line(std::string arg)
Definition: libmesh.C:898
libMesh::SLEPC_SOLVERS
Definition: enum_solver_package.h:39
libMesh::NODEELEM
Definition: enum_elem_type.h:66
libMesh::THIRTYNINTH
Definition: enum_order.h:80
libMesh::QJACOBI_2_0
Definition: enum_quadrature_type.h:36
libMesh::get_libmesh_version
int get_libmesh_version()
Definition: libmesh_version.C:46
libMesh::TETGEN
Definition: enum_io_package.h:44
libMesh::VTK
Definition: enum_io_package.h:42
libMesh::USER_PRECOND
Definition: enum_preconditioner_type.h:45
data
IterBase * data
Ideally this private member data should have protected access.
Definition: variant_filter_iterator.h:337
libMesh::libmesh_petsc_snes_mffd_interface
PetscErrorCode libmesh_petsc_snes_mffd_interface(void *ctx, Vec x, Vec r)
Definition: petsc_nonlinear_solver.C:280
libMesh::THIRTYTHIRD
Definition: enum_order.h:74
libMesh::TAPER
Definition: enum_elem_quality.h:43
libMesh::L2_LAGRANGE
Definition: enum_fe_family.h:41
libMesh::AUTOMATIC
Definition: enum_parallel_type.h:34
libMesh::SIXTEENTH
Definition: enum_order.h:57
libMesh::THIRD
Definition: enum_order.h:44
libMesh::INVALID_NORM
Definition: enum_norm_type.h:61
libMesh::TARGET_MAGNITUDE
Definition: enum_eigen_solver_type.h:77
libMesh::QUAD9
Definition: enum_elem_type.h:43
libMesh::System::get_dof_map
const DofMap & get_dof_map() const
Definition: system.h:2099
libMesh::LAGRANGE_VEC
Definition: enum_fe_family.h:60
libMesh::INVALID_EIGENPROBLEMTYPE
Definition: enum_eigen_solver_type.h:61
libMesh::NINTH
Definition: enum_order.h:50
libMesh::err
OStreamProxy err
libMesh::LAGRANGE
Definition: enum_fe_family.h:36
libMesh::SCALAR
Definition: enum_fe_family.h:58
libMesh::SUBDIVISION
Definition: enum_fe_family.h:55
libMesh::CHEBYSHEV
Definition: enum_solver_type.h:51
CHKERRQ
CHKERRQ(ierr)
libMesh::GNHEP
Definition: enum_eigen_solver_type.h:57
libMesh::TRI3SUBDIVISION
Definition: enum_elem_type.h:69
libMesh::H1
Definition: enum_norm_type.h:37
libMesh::Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Definition: libmesh_common.h:121
libMesh::QCONICAL
Definition: enum_quadrature_type.h:42
libMesh::libMeshPrivateData::_n_processors
processor_id_type _n_processors
Total number of processors used.
Definition: libmesh.C:242
ierr
PetscErrorCode ierr
Definition: petscdmlibmeshimpl.C:1028
libMesh::PetscDMContext::finer_dm
DM * finer_dm
Definition: petsc_dm_wrapper.h:58
libMesh::CGN
Definition: enum_solver_type.h:35
libMesh::TWENTYFOURTH
Definition: enum_order.h:65
libMesh::HYPRE
Definition: petsc_matrix.h:74
libMesh::SPARSELU
Definition: enum_solver_type.h:52
libMesh::PRISM18
Definition: enum_elem_type.h:52
libMesh::TRISHELL3
Definition: enum_elem_type.h:71
libMesh::libmesh_petsc_snes_postcheck
PetscErrorCode libmesh_petsc_snes_postcheck(#if PETSC_VERSION_LESS_THAN(3, 3, 0) SNES, Vec x, Vec y, Vec w, void *context, PetscBool *changed_y, PetscBool *changed_w #else SNESLineSearch, Vec x, Vec y, Vec w, PetscBool *changed_y, PetscBool *changed_w, void *context #endif)
Definition: petsc_nonlinear_solver.C:441
libMesh::out
OStreamProxy out
libMesh::global_processor_id
processor_id_type global_processor_id()
Definition: libmesh_base.h:85
libMesh::UCD
Definition: enum_io_package.h:45
libMesh::FIRST
Definition: enum_order.h:42
libMesh::fe_lagrange_1D_quadratic_shape_deriv
Real fe_lagrange_1D_quadratic_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Definition: fe_lagrange_shape_1D.h:152
libMesh::EIGEN_SOLVERS
Definition: enum_solver_package.h:40
libMesh::remote_elem
const RemoteElem * remote_elem
Definition: remote_elem.C:57
libMesh::fe_lagrange_1D_quadratic_shape_second_deriv
Real fe_lagrange_1D_quadratic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
Definition: fe_lagrange_shape_1D.h:238
std::imag
boost::multiprecision::float128 imag(const boost::multiprecision::float128)
Definition: float128_shims.h:83
libMesh::THIRTYSIXTH
Definition: enum_order.h:77
libMesh::subdm
PetscErrorCode PetscInt const PetscInt IS DM * subdm
Definition: petsc_dm_wrapper.C:62
libMesh::TECPLOT
Definition: enum_io_package.h:39
libMesh::HDIV
Definition: enum_norm_type.h:40
libMesh::fe_lagrange_1D_linear_shape_deriv
Real fe_lagrange_1D_linear_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
Definition: fe_lagrange_shape_1D.h:128
libMesh::PYRAMID13
Definition: enum_elem_type.h:54
libMesh::Quality::name
std::string name(const ElemQuality q)
This function returns a string containing some name for q.
Definition: elem_quality.C:42
libMesh::PYRAMID14
Definition: enum_elem_type.h:55
libMesh::fe_lagrange_1D_cubic_shape_deriv
Real fe_lagrange_1D_cubic_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Definition: fe_lagrange_shape_1D.h:179
libMesh::EDGE2
Definition: enum_elem_type.h:35
libMesh::QUAD8
Definition: enum_elem_type.h:42
libMesh::QGRUNDMANN_MOLLER
Definition: enum_quadrature_type.h:40
libMesh::QGRID
Definition: enum_quadrature_type.h:39
std::real
boost::multiprecision::float128 real(const boost::multiprecision::float128 in)
Definition: float128_shims.h:77
libMesh::LANCZOS
Definition: enum_eigen_solver_type.h:38
libMesh::SEVENTEENTH
Definition: enum_order.h:58
libMesh::SKEW
Definition: enum_elem_quality.h:36
libMesh::ILU_PRECOND
Definition: enum_preconditioner_type.h:43