GEOSX
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
geosx Namespace Reference

Namespaces

 dataRepository
 
 extrinsicMeshData
 
 hypre
 Contains some hypre-specific functions.
 
 meshMapUtilities
 This namespace contains helper functions that facilitate access into the assortment of maps used by GEOSX mesh object managers (e.g. array2d/array1d(array1d)/ArrayOfArrays/ArrayOfSets, etc.)
 
 SiloFileUtilities
 
 SolidMechanicsLagrangianFEMKernels
 Namespace to contain the solid mechanics kernels.
 
 types
 Namespace containing type dispatching facilities.
 
 xmlWrapper
 

Classes

class  AggregateElementSubRegion
 The AggregateElementSubRegion class provides an interface to aggregate fine cells into coarse cells. More...
 
class  BicgstabSolver
 This class implements Bi-Conjugate Gradient Stabilized method for monolithic and block linear operators. More...
 
class  BlasLapackLA
 This class contains a collection of BLAS and LAPACK linear algebra operations for GEOSX array1d and array2d. More...
 
class  BlockOperator
 Concrete representation of a block operator. More...
 
class  BlockOperatorView
 Abstract view of a block operator. More...
 
class  BlockOperatorWrapper
 "Shallow" representation of a block operator. More...
 
class  BlockPreconditioner
 General 2x2 block preconditioner. More...
 
class  BlockVector
 Concrete representation of a block vector. More...
 
class  BlockVectorView
 Abstract view of a block vector. More...
 
class  BlockVectorWrapper
 "Shallow" representation of a block vector. More...
 
class  BlueprintOutput
 A class for creating Conduit blueprint-based outputs. More...
 
class  BoundaryStencil
 
struct  BoundaryStencil_Traits
 
class  BoundedPlane
 Class to represent a geometric box in GEOSX. More...
 
class  Box
 Class to represent a geometric box in GEOSX. More...
 
class  BufferedHistoryIO
 An abstract class for performing buffered history output. More...
 
class  CellBlock
 
class  CellBlockManager
 The CellBlockManager class provides an interface to ObjectManagerBase in order to manage CellBlock data. More...
 
struct  CellDescriptor
 A structure containing a single cell (element) identifier triplet. More...
 
class  CellElementRegion
 
class  CellElementStencilMPFA
 
struct  CellElementStencilMPFA_Traits
 
class  CellElementStencilTPFA
 
struct  CellElementStencilTPFA_Traits
 
class  CellElementStencilTPFAWrapper
 
class  CellElementSubRegion
 
class  CgSolver
 This class implements Conjugate Gradient method for monolithic and block linear operators. More...
 
class  ChomboCoupler
 A class managing data exchange with CHOMBO. More...
 
class  ChomboIO
 
struct  CommandLineOptions
 
class  ComponentMask
 Utility class that represents a mask for included/excluded component of a mask. More...
 
class  Cylinder
 Class to represent a geometric cylinder in GEOSX. More...
 
class  DofManager
 The DoFManager is responsible for allocating global dofs, constructing sparsity patterns, and generally simplifying the interaction between PhysicsSolvers and linear algebra operations. More...
 
class  DomainPartition
 Partition of the decomposed physical domain. It also manages the connexion information to its neighbors. More...
 
class  EdgeManager
 This class provides an interface to ObjectManagerBase in order to manage edge data. More...
 
class  ElementRegionBase
 The ElementRegionBase is the base class to manage the data stored at the element level. More...
 
class  ElementRegionManager
 The ElementRegionManager class provides an interface to ObjectManagerBase in order to manage ElementRegion data. More...
 
class  ElementSubRegionBase
 
class  EmbeddedSurfaceNodeManager
 The EmbeddedSurfaceNodeManager class provides an interface to ObjectManagerBase in order to manage node data. More...
 
class  EmbeddedSurfaceRegion
 
class  EmbeddedSurfaceSubRegion
 
class  EmbeddedSurfaceToCellStencil
 
struct  EmbeddedSurfaceToCellStencil_Traits
 
class  EmbeddedSurfaceToCellStencilWrapper
 
class  EpetraExport
 Facilitates exporting Epetra matrix and associated vector objects (either in parallel or serial). More...
 
class  EpetraMatrix
 Wrapper class for Epetra's CrsMatrix. More...
 
class  EpetraVector
 This class creates and provides basic support for the Epetra_FEVector vector object type used in Trilinos. We use the FE version because Epetra_Vector support for long globalIDs is haphazard. More...
 
class  ExecutableGroup
 
class  FaceElementRegion
 
class  FaceElementSubRegion
 
class  FaceElementToCellStencil
 
struct  FaceElementToCellStencil_Traits
 
class  FaceElementToCellStencilWrapper
 
class  FaceManager
 The FaceManager class provides an interface to ObjectManagerBase in order to manage face data. More...
 
struct  FieldSpecificationAdd
 
struct  FieldSpecificationEqual
 
struct  FieldSpecificationOp
 FieldSpecificationOp. More...
 
class  FiniteVolumeManager
 
class  FluxApproximationBase
 
class  FluxStencil
 
class  GeometricObjectManager
 Manager of the simple geometric objects. More...
 
class  GmresSolver
 This class implements Generalized Minimized RESidual method (right-preconditioned) for monolithic and block linear operators. More...
 
class  HDFFile
 
class  HDFHistIO
 Perform buffered history I/O for a single type(really just output) on using HDF5. More...
 
class  HDFTarget
 An abstract class representing an HDF output target. More...
 
class  HistoryCollection
 
class  HistoryMetadata
 A minimal class to specify information about time history information being collected and output. More...
 
class  HybridMimeticDiscretization
 
class  HypreExport
 Facilitates exporting Hypre matrix and associated vector objects (either in parallel or serial). More...
 
class  HypreInterface
 This class holds aliases based on the Hypre library. More...
 
class  HypreMatrix
 Wrapper class for hypre's ParCSRMatrix. More...
 
struct  HypreMGRData
 Container for hypre preconditioner auxiliary data for MGR. More...
 
class  HyprePreconditioner
 Wrapper around hypre-based preconditioners. More...
 
struct  HyprePrecWrapper
 Container for hypre preconditioner function pointers. More...
 
class  HypreSolver
 This class creates and provides basic support for Hypre solvers. More...
 
class  HypreVector
 Wrapper class for hypre's ParVector. More...
 
struct  InputError
 Exception class used to report errors in user input. More...
 
class  InternalMeshGenerator
 The InternalMeshGenerator class is a class handling GEOSX generated meshes. More...
 
class  InternalWellboreGenerator
 The InternalWellboreGenerator class is a class generating internal wellbore mesh. More...
 
class  InternalWellGenerator
 
class  InterObjectRelation
 
class  InverseNormalOperator
 Wraps a matrix A and represents A^{-1} * A^{-T} as a linear operator. More...
 
class  KrylovSolver
 Base class for Krylov solvers. More...
 
class  LaplaceFEMKernel
 Implements kernels for solving Laplace's equation. More...
 
class  LinearOperator
 Abstract base class for linear operators. More...
 
class  LinearSolverBase
 Simple interface for linear solvers that allows to extract solution results. More...
 
struct  LinearSolverParameters
 Set of parameters for a linear solver or preconditioner. More...
 
struct  LinearSolverResult
 Results/stats of a linear solve. More...
 
class  mapBase
 Base template for ordered and unordered maps. More...
 
class  MappedVector
 
class  MatrixBase
 Common base template for all matrix wrapper types. More...
 
struct  MatrixLayout
 
class  MeshBody
 The class is used to manage mesh body. More...
 
class  MeshGeneratorBase
 The MeshGeneratorBase class provides an abstract base class implementation for different mesh types. The MeshGeneratorBase is the Group specialization for different type of mesh handling. More...
 
class  MeshLevel
 Class facilitating the representation of a multi-level discretization of a MeshBody. More...
 
class  MeshManager
 This class manages the mesh objects in GEOSX (reservoir mesh, well mesh) More...
 
struct  MpiWrapper
 
class  NodeManager
 The NodeManager class provides an interface to ObjectManagerBase in order to manage node data. More...
 
class  NormalOperator
 Wraps a matrix A and represents A^T * A as a linear operator. More...
 
class  NotAnError
 Exception class used for special control flow. More...
 
class  ObjectManagerBase
 The ObjectManagerBase is the base object of all object managers in the mesh data hierachy. More...
 
struct  OpAdd
 OpAdd Operator that adds a value. More...
 
struct  OpEqual
 OpEqual Operator that sets a value. More...
 
class  OutputBase
 
class  OutputManager
 
class  PackCollection
 
class  PAMELAMeshGenerator
 The PAMELAMeshGenerator class provides a class implementation of PAMELA generated meshes. More...
 
class  Path
 Class describing a file Path. More...
 
class  Perforation
 
class  PerforationData
 
class  PetscExport
 Facilitates exporting Petsc matrix and associated vector objects (either in parallel or serial). More...
 
class  PetscInterface
 This class holds aliases based on the Petsc library. More...
 
class  PetscMatrix
 This class creates and provides basic support for the Mat matrix object type used in PETSc. More...
 
class  PetscPreconditioner
 Wrapper around PETSc-based preconditioners. More...
 
class  PetscSolver
 This class creates and provides basic support for PETSc solvers. More...
 
class  PetscVector
 This class creates and provides basic support for Vec vector object type used in PETSc. More...
 
class  PreconditionerBase
 Common interface for preconditioning operators. More...
 
class  PreconditionerBlockJacobi
 Common interface for identity preconditioning operator. More...
 
class  PreconditionerIdentity
 Common interface for identity preconditioning operator. More...
 
class  PreconditionerJacobi
 Common interface for identity preconditioning operator. More...
 
class  ProjectionEDFMHelper
 A class that contains methods to modify cell and edfm stencils based on projection edfm. More...
 
class  PythonOutput
 Performs no actual output but returns control to the Python interpreter. More...
 
class  ReferenceWrapper
 
class  RestartOutput
 
class  rtTypes
 Class to manage the type selection of types at runtime. More...
 
class  SeparateComponentPreconditioner
 Separate component filter implemented as a compound preconditioner. More...
 
class  SiloFile
 
class  SiloOutput
 
class  SimpleGeometricObjectBase
 Base class for the geometric objects (box, plane, cylinder). More...
 
class  Span
 Lightweight non-owning wrapper over a contiguous range of elements. More...
 
class  StencilBase
 
class  StencilWrapperBase
 
class  Stopwatch
 Class defining a simple stopwatch for interval timing. More...
 
class  SuiteSparse
 Wrapper for UMFPACK direct solver from SuiteSparse package. More...
 
class  SuperLUDist
 Wrapper for SuperLU_Dist parallel direct solver. More...
 
class  SurfaceElementRegion
 
class  SurfaceElementStencil
 
struct  SurfaceElementStencil_Traits
 
class  SurfaceElementStencilWrapper
 
class  SurfaceElementSubRegion
 
struct  surfaceWithGhostNodes
 Struct defining an embedded element which has at least on node which is a ghost on this rank. More...
 
class  Tensor
 Lightweight wrapper around a c-array. More...
 
class  ThickPlane
 Class to represent a geometric thick plane in GEOSX. More...
 
class  TimeHistoryOutput
 
class  ToElementRelation
 A relationship to an element. More...
 
class  TransposeOperator
 Simple class that wraps a matrix and represents its transpose as a linear operator. More...
 
class  TrilinosInterface
 This class holds aliases based on the Trilinos library. More...
 
class  TrilinosPreconditioner
 Wrapper around Trilinos-based preconditioners. More...
 
class  TrilinosSolver
 This class creates and provides basic support for AztecOO, Amesos and ML libraries. More...
 
class  TwoPointFluxApproximation
 
struct  TypeName
 Utility class for querying type names at runtime. More...
 
struct  TypeRegex
 Extension point for custom types to provide a validation regexp to schema. More...
 
class  VectorBase
 Common base template for all vector wrapper types. More...
 
class  VTKOutput
 A class for creating vtk outputs. More...
 
class  WellElementRegion
 This class specializes the element region for the case of a well. This class is also in charge of starting the construction of the well data structure in GenerateWell. More...
 
class  WellElementSubRegion
 This class describes a collection of local well elements and perforations. More...
 

Typedefs

template<int NDIM>
using defaultLayout = camp::make_idx_seq_t< NDIM >
 Defaul permutation type for NDIM-dimensional array. More...
 
using serialPolicy = RAJA::loop_exec
 
using serialReduce = RAJA::seq_reduce
 
using serialAtomic = RAJA::seq_atomic
 
using serialStream = RAJA::resources::Host
 
using serialEvent = RAJA::resources::HostEvent
 
using parallelHostPolicy = serialPolicy
 
using parallelHostReduce = serialReduce
 
using parallelHostAtomic = serialAtomic
 
using parallelHostStream = serialStream
 
using parallelHostEvent = serialEvent
 
template<unsigned long BLOCK_SIZE = 0>
using parallelDevicePolicy = parallelHostPolicy
 
template<unsigned long BLOCK_SIZE = 0>
using parallelDeviceAsyncPolicy = parallelHostPolicy
 
using parallelDeviceStream = parallelHostStream
 
using parallelDeviceEvent = parallelHostEvent
 
using parallelDeviceReduce = parallelHostReduce
 
using parallelDeviceAtomic = parallelHostAtomic
 
using parallelDeviceEvents = std::vector< parallelDeviceEvent >
 
template<typename POLICY >
using ReducePolicy = typename internalRajaInterface::PolicyMap< POLICY >::reduce
 
template<typename POLICY >
using AtomicPolicy = typename internalRajaInterface::PolicyMap< POLICY >::atomic
 
using LAInterface = GEOSX_CONCAT(GEOSX_LA_INTERFACE, Interface)
 Alias for current interface.
 
using ParallelMatrix = LAInterface::ParallelMatrix
 Alias for ParallelMatrix.
 
using ParallelVector = LAInterface::ParallelVector
 Alias for ParallelVector.
 
typedef InterObjectRelation< array2d< localIndex > > FixedOneToManyRelation
 A relationship from single objects to many other objects, where each object is related to the same number of objects.
 
typedef ToElementRelation< array2d< localIndex > > FixedToManyElementRelation
 A ToElementRelation where each object is related to the same number of elements.
 
typedef ToElementRelation< ArrayOfArrays< localIndex > > OrderedVariableToManyElementRelation
 A ToElementRelation where each object is related to an arbitrary number of elements.
 
using LaplaceFEMKernelFactory = finiteElement::KernelFactory< LaplaceFEMKernel, arrayView1d< globalIndex const > const &, globalIndex, CRSMatrixView< real64, globalIndex const > const &, arrayView1d< real64 > const &, string const &>
 The factory used to construct a LaplaceFEMKernel.
 
Basic data types used in GEOSX.
using size_t = std::size_t
 Unsigned size type.
 
using integer = std::int32_t
 Signed integer type.
 
using localIndex = GEOSX_LOCALINDEX_TYPE
 Local index type (for indexing objects within an MPI partition).
 
using globalIndex = GEOSX_GLOBALINDEX_TYPE
 Global index type (for indexing objects across MPI partitions).
 
using string = std::string
 String type.
 
using real32 = float
 32-bit floating point type.
 
using real64 = double
 64-bit floating point type.
 
Binary buffer data types.
using buffer_unit_type = signed char
 Type stored in communication buffers.
 
using buffer_type = std::vector< buffer_unit_type >
 Type of storage for communication buffers.
 
Aliases for LvArray::Array class family.
template<typename T , int NDIM, typename PERMUTATION = camp::make_idx_seq_t< NDIM >>
using Array = LvArray::Array< T, NDIM, PERMUTATION, localIndex, LvArray::ChaiBuffer >
 Multidimensional array type. See LvArray:Array for details.
 
template<typename T , int NDIM, int USD = NDIM - 1>
using ArrayView = LvArray::ArrayView< T, NDIM, USD, localIndex, LvArray::ChaiBuffer >
 Multidimensional array view type. See LvArray:ArrayView for details.
 
template<typename T , int NDIM, int USD = NDIM - 1>
using ArraySlice = LvArray::ArraySlice< T, NDIM, USD, localIndex >
 Multidimensional array slice type. See LvArray:ArraySlice for details.
 
template<typename T , int NDIM, int MAXSIZE, typename PERMUTATION = camp::make_idx_seq_t< NDIM >>
using StackArray = LvArray::StackArray< T, NDIM, PERMUTATION, localIndex, MAXSIZE >
 Multidimensional stack-based array type. See LvArray:StackArray for details.
 
Short-hand aliases for commonly used array types.
using R1Tensor = Tensor< real64, 3 >
 Alias for a local (stack-based) rank-1 tensor type.
 
using R2SymTensor = Tensor< real64, 6 >
 Alias for a local (stack-based) rank-2 Voigt tensor type.
 
template<typename T >
using array1d = Array< T, 1 >
 Alias for 1D array.
 
template<typename T >
using arrayView1d = ArrayView< T, 1 >
 Alias for 1D array view.
 
template<typename T , int USD = 0>
using arraySlice1d = ArraySlice< T, 1, USD >
 Alias for 1D array slice.
 
template<typename T , int MAXSIZE>
using stackArray1d = StackArray< T, 1, MAXSIZE >
 Alias for 1D stack array.
 
template<typename T , typename PERMUTATION = camp::make_idx_seq_t< 2 >>
using array2d = Array< T, 2, PERMUTATION >
 Alias for 2D array.
 
template<typename T , int USD = 1>
using arrayView2d = ArrayView< T, 2, USD >
 Alias for 2D array view.
 
template<typename T , int USD = 1>
using arraySlice2d = ArraySlice< T, 2, USD >
 Alias for 2D array slice.
 
template<typename T , int MAXSIZE>
using stackArray2d = StackArray< T, 2, MAXSIZE >
 Alias for 2D stack array.
 
template<typename T , typename PERMUTATION = camp::make_idx_seq_t< 3 >>
using array3d = Array< T, 3, PERMUTATION >
 Alias for 3D array.
 
template<typename T , int USD = 2>
using arrayView3d = ArrayView< T, 3, USD >
 Alias for 3D array view.
 
template<typename T , int USD = 2>
using arraySlice3d = ArraySlice< T, 3, USD >
 Alias for 3D array slice.
 
template<typename T , int MAXSIZE>
using stackArray3d = StackArray< T, 3, MAXSIZE >
 Alias for 3D stack array.
 
template<typename T , typename PERMUTATION = camp::make_idx_seq_t< 4 >>
using array4d = Array< T, 4, PERMUTATION >
 Alias for 4D array.
 
template<typename T , int USD = 3>
using arrayView4d = ArrayView< T, 4, USD >
 Alias for 4D array view.
 
template<typename T , int USD = 3>
using arraySlice4d = ArraySlice< T, 4, USD >
 Alias for 4D array slice.
 
template<typename T , int MAXSIZE>
using stackArray4d = StackArray< T, 4, MAXSIZE >
 Alias for 4D stack array.
 
template<typename T , typename PERMUTATION = camp::make_idx_seq_t< 5 >>
using array5d = Array< T, 5, PERMUTATION >
 Alias for 5D array.
 
template<typename T , int USD = 4>
using arrayView5d = ArrayView< T, 5, USD >
 Alias for 5D array view.
 
template<typename T , int USD = 4>
using arraySlice5d = ArraySlice< T, 5, 4 >
 Alias for 5D array slice.
 
template<typename T , int MAXSIZE>
using stackArray5d = StackArray< T, 5, MAXSIZE >
 Alias for 5D stack array.
 
Aliases for sorted arrays and set types.
template<typename T >
using set = std::set< T >
 A set of local indices.
 
template<typename T >
using SortedArray = LvArray::SortedArray< T, localIndex, LvArray::ChaiBuffer >
 A sorted array of local indices.
 
template<typename T >
using SortedArrayView = LvArray::SortedArrayView< T, localIndex, LvArray::ChaiBuffer >
 A sorted array view of local indices.
 
Aliases for LvArray::ArrayOfArrays class family.
template<typename T >
using ArrayOfArrays = LvArray::ArrayOfArrays< T, localIndex, LvArray::ChaiBuffer >
 Array of variable-sized arrays. See LvArray::ArrayOfArrays for details.
 
template<typename T , bool CONST_SIZES = std::is_const< T >::value>
using ArrayOfArraysView = LvArray::ArrayOfArraysView< T, localIndex const, CONST_SIZES, LvArray::ChaiBuffer >
 View of array of variable-sized arrays. See LvArray::ArrayOfArraysView for details.
 
template<typename T >
using ArrayOfSets = LvArray::ArrayOfSets< T, localIndex, LvArray::ChaiBuffer >
 Array of variable-sized sets. See LvArray::ArrayOfSets for details.
 
template<typename T >
using ArrayOfSetsView = LvArray::ArrayOfSetsView< T, localIndex const, LvArray::ChaiBuffer >
 View of array of variable-sized sets. See LvArray::ArrayOfSetsView for details.
 
template<typename COL_INDEX , typename INDEX_TYPE = localIndex>
using SparsityPattern = LvArray::SparsityPattern< COL_INDEX, INDEX_TYPE, LvArray::ChaiBuffer >
 Alias for Sparsity pattern class.
 
template<typename COL_INDEX , typename INDEX_TYPE = localIndex>
using SparsityPatternView = LvArray::SparsityPatternView< COL_INDEX, INDEX_TYPE const, LvArray::ChaiBuffer >
 Alias for Sparsity pattern View.
 
template<typename T , typename COL_INDEX = globalIndex>
using CRSMatrix = LvArray::CRSMatrix< T, COL_INDEX, localIndex, LvArray::ChaiBuffer >
 Alias for CRS Matrix class.
 
template<typename T , typename COL_INDEX = globalIndex>
using CRSMatrixView = LvArray::CRSMatrixView< T, COL_INDEX, localIndex const, LvArray::ChaiBuffer >
 Alias for CRS Matrix View.
 
Aliases for commonly used array types.
using integer_array = array1d< integer >
 A 1-dimensional array of geosx::integer types.
 
using real32_array = array1d< real32 >
 A 1-dimensional array of geosx::real32 types.
 
using real64_array = array1d< real64 >
 A 1-dimensional array of geosx::real64 types.
 
using string_array = array1d< string >
 A 1-dimensional array of geosx::string types.
 
using path_array = array1d< Path >
 A 1-dimensional array of geosx::Path types.
 
using localIndex_array = array1d< localIndex >
 A 1-dimensional array of geosx::localIndex types.
 
using globalIndex_array = array1d< globalIndex >
 A 1-dimensional array of geosx::globalIndex types.
 
using integer_array2d = array2d< integer >
 A 2-dimensional array of geosx::integer types.
 
using real32_array2d = array2d< real32 >
 A 2-dimensional array of geosx::real32 types.
 
using real64_array2d = array2d< real64 >
 A 2-dimensional array of geosx::real64 types.
 
using localIndex_array2d = array2d< localIndex >
 A 2-dimensional array of geosx::localIndex types.
 
using globalIndex_array2d = array2d< globalIndex >
 A 2-dimensional array of geosx::globalIndex types.
 
using integer_array3d = array3d< integer >
 A 3-dimensional array of geosx::integer types.
 
using real32_array3d = array3d< real32 >
 A 3-dimensional array of geosx::real32 types.
 
using real64_array3d = array3d< real64 >
 A 3-dimensional array of geosx::real64 types.
 
using localIndex_array3d = array3d< localIndex >
 A 3-dimensional array of geosx::localIndex types.
 
using globalIndex_array3d = array3d< globalIndex >
 A 3-dimensional array of geosx::globalIndex types.
 
using integer_array4d = array4d< integer >
 A 4-dimensional array of geosx::integer types.
 
using real32_array4d = array4d< real32 >
 A 4-dimensional array of geosx::real32 types.
 
using real64_array4d = array4d< real64 >
 A 4-dimensional array of geosx::real64 types.
 
using localIndex_array4d = array4d< localIndex >
 A 4-dimensional array of geosx::localIndex types.
 
using globalIndex_array4d = array4d< globalIndex >
 A 4-dimensional array of geosx::globalIndex types.
 

Enumerations

enum  LAIOutputFormat {
  NATIVE_ASCII, NATIVE_BINARY, MATLAB_ASCII, MATLAB_BINARY,
  MATRIX_MARKET
}
 
enum  SchurComplementOption { SchurComplementOption::None, SchurComplementOption::FirstBlockDiagonal, SchurComplementOption::RowsumDiagonalProbing, SchurComplementOption::FirstBlockUserDefined }
 Type of Schur complement approximation used. More...
 
enum  BlockScalingOption { BlockScalingOption::None, BlockScalingOption::FrobeniusNorm, BlockScalingOption::UserProvided }
 Type of block row scaling to apply. More...
 
enum  BlockShapeOption { BlockShapeOption::Diagonal, BlockShapeOption::UpperTriangular, BlockShapeOption::LowerUpperTriangular }
 Shape of the block preconditioner. More...
 
enum  ElementType : integer {
  ElementType::Line, ElementType::Triangle, ElementType::Quadrilateral, ElementType::Polygon,
  ElementType::Tetrahedron, ElementType::Pyramid, ElementType::Prism, ElementType::Hexahedron,
  ElementType::Polyhedron
}
 Denotes type of cell/element shape. More...
 

Functions

template<typename NEW_TYPE , typename EXISTING_TYPE >
NEW_TYPE dynamicCast (EXISTING_TYPE *const val)
 Perform a type cast of base to derived pointer. More...
 
template<typename NEW_TYPE , typename EXISTING_TYPE >
NEW_TYPE dynamicCast (EXISTING_TYPE &val)
 Perform a type cast of base to derived reference. More...
 
void printTypeSummary ()
 Print a short summary of a few select type aliases.
 
void RAJA_INLINE parallelHostSync ()
 
void RAJA_INLINE parallelDeviceSync ()
 
template<typename POLICY , typename RESOURCE , typename LAMBDA >
RAJA_INLINE parallelDeviceEvent forAll (RESOURCE &&GEOSX_UNUSED_PARAM(stream), const localIndex end, LAMBDA &&body)
 
RAJA_INLINE bool testAllDeviceEvents (parallelDeviceEvents &events)
 
RAJA_INLINE void waitAllDeviceEvents (parallelDeviceEvents &events)
 
template<typename POLICY , typename LAMBDA >
RAJA_INLINE void forAll (const localIndex end, LAMBDA &&body)
 
void setupLogger ()
 Initialize the logger.
 
void finalizeLogger ()
 Finalize the logger.
 
void finalizeCaliper ()
 Finalize Caliper and Adiak.
 
void setupLvArray ()
 Setup the LvArray library. This initializes signal handling and the floating point environment.
 
void setupMKL ()
 Setup MKL if in use.
 
void setupOpenMP ()
 Setup OpenMP.
 
void setupMPI (int argc, char *argv[])
 Setup MPI. More...
 
void finalizeMPI ()
 Finalize MPI.
 
void setupEnvironment (int argc, char *argv[])
 Setup/init the environment. More...
 
void cleanupEnvironment ()
 Cleanup/finalize the environment.
 
template<typename T >
void pushStatsIntoAdiak (string const &name, T const value)
 Compute the sum, mean, min, and max of value across ranks and push them into Adiak using name. More...
 
std::string getAbsolutePath (std::string const &path)
 Gets the absolute path of a file. More...
 
bool isAbsolutePath (const std::string &path)
 Tells whether the path is absolute of not. More...
 
std::istream & operator>> (std::istream &is, Path &p)
 Operator use with the class Path while parsing the XML file. More...
 
std::string trimPath (std::string const &path)
 Remove the trailing slash is if present. More...
 
std::pair< std::string, std::string > splitPath (std::string const &path)
 Split the path in two parts: directory name and file name. More...
 
template<typename ... ARGS>
std::string joinPath (ARGS const &... args)
 Join parts of a path. More...
 
std::vector< std::string > readDirectory (std::string const &path)
 List all the files of one directory. More...
 
void makeDirectory (std::string const &path)
 Create a directory path, where parent directories must already exist. More...
 
void makeDirsForPath (std::string const &path)
 Make directories for path. More...
 
template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type getHistoryMetadata (string const &name, ArrayView< T const, 1, 0 > const &arr, localIndex sizeOverride=-1)
 Produce a HistoryMetadata object for a supported one-dimensional array type. More...
 
template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type getHistoryMetadata (string const &name, SortedArrayView< T const > const &arr, localIndex sizeOverride=-1)
 Produce a HistoryMetadata object for a supported one-dimensional array type. More...
 
template<typename ARRAY_T >
std::enable_if<(traits::is_array_type< ARRAY_T >) &&(ARRAY_T::NDIM > 1) &&can_history_io< typename ARRAY_T::value_type >, HistoryMetadata >::type getHistoryMetadata (string const &name, ARRAY_T const &arr, localIndex sizeOverride=-1)
 Produce a HistoryMetadata object for multi-dimensional LvArray::Array/ArrayView types. More...
 
template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type getHistoryMetadata (string const &name, const T &type, localIndex sizeOverride=-1)
 Produce a HistoryMetadata object for a fundamental type that can_history_io. More...
 
template<typename T >
std::enable_if< can_history_io_container< T > &&!can_history_io< typename T::value_type >, HistoryMetadata >::type getHistoryMetadata (string const &name, const T &type, localIndex sizeOverride)
 Fall-through implementation to catch attempts to collect history that cannot be collected/output. More...
 
template<typename T >
std::enable_if< !can_history_io_container< T > &&!can_history_io< T >, HistoryMetadata >::type getHistoryMetadata (string const &name, const T &type, localIndex sizeOverride)
 Fall-through implementation to catch attempts to collect history that cannot be collected/output. More...
 
void setupLAI ()
 High level interface to call the proper LAI initialize function.
 
void finalizeLAI ()
 High level interface to call the proper LAI finalize function.
 
template<typename VECTOR >
real64 ArnoldiLargestEigenvalue (LinearOperator< VECTOR > const &op, localIndex const m=4)
 Function implementing the Arnoldi scheme to compute the largest eigenvalue. More...
 
template<typename VECTOR >
std::ostream & operator<< (std::ostream &os, BlockVectorView< VECTOR > const &vec)
 Stream insertion operator. More...
 
 ENUM_STRINGS (LinearSolverParameters::SolverType, "direct", "cg", "gmres", "fgmres", "bicgstab", "preconditioner")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::PreconditionerType, "none", "jacobi", "l1-jacobi", "gs", "sgs", "l1-sgs", "chebyshev", "iluk", "ilut", "icc", "ict", "amg", "mgr", "block", "direct")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::Direct::ColPerm, "none", "MMD_AtplusA", "MMD_AtA", "colAMD", "metis", "parmetis")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::Direct::RowPerm, "none", "mc64")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::MGR::StrategyType, "invalid", "singlePhaseReservoirFVM", "singlePhaseHybridFVM", "singlePhaseReservoirHybridFVM", "singlePhasePoromechanics", "hybridSinglePhasePoromechanics", "compositionalMultiphaseFVM", "compositionalMultiphaseHybridFVM", "compositionalMultiphaseReservoirFVM", "compositionalMultiphaseReservoirHybridFVM", "multiphasePoromechanics", "hydrofracture", "lagrangianContactMechanics")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::CycleType, "V", "W")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::PreOrPost, "pre", "post", "both")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::SmootherType, "default", "jacobi", "l1jacobi", "gs", "sgs", "l1sgs", "chebyshev", "ilu0", "ilut", "ic0", "ict")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::CoarseType, "default", "jacobi", "l1jacobi", "gs", "sgs", "l1sgs", "chebyshev", "direct")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::NullSpaceType, "constantModes", "rigidBodyModes")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverResult::Status, "InProgress", "Success", "NotConverged", "Breakdown")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (ElementType, "BEAM", "C2D3", "C2D4", "Polygon", "C3D4", "C3D5", "C3D6", "C3D8", "Polyhedron")
 Strings for ElementType.
 
template<class POLICY = serialPolicy, typename LAMBDA = void>
void forAllElemsInMesh (MeshLevel const &mesh, LAMBDA &&lambda)
 Loop over all elements in a geosx::MeshLevel. More...
 
template<typename LAMBDA >
auto minLocOverElemsInMesh (MeshLevel const &mesh, LAMBDA &&lambda)
 
 ENUM_STRINGS (SurfaceElementRegion::SurfaceSubRegionType, "faceElement", "embeddedElement")
 Declare strings associated with enumeration values.
 
void erase (OrderedVariableToManyElementRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
 Remove an element relation from an object in the relation. More...
 
void insert (OrderedVariableToManyElementRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
 Insert an element relation for an object in the relation. More...
 

Variables

template<typename PERM >
static constexpr int getUSD = LvArray::typeManipulation::getStrideOneDimension( PERM {} )
 Just a handy shortcut for LvArray::typeManipulation::getStrideOneDimension. More...
 
int MPI_COMM_GEOSX
 Global MPI communicator used by GEOSX.
 
static constexpr auto GLOBALINDEX_MAX = std::numeric_limits< globalIndex >::max()
 A variable for the maximum value of a geosx::globalIndex.
 
static constexpr auto LOCALINDEX_MAX = std::numeric_limits< localIndex >::max()
 A variable for the maximum value of a geosx::localIndex.
 
static constexpr localIndex unmappedLocalIndexValue = -1
 A global variable for the value of a object that has not been assigned a geosx::globalIndex.
 
template<typename T >
constexpr bool can_history_io
 A constexpr bool to determine wether a type is compatible with the history collected and IO operations. More...
 
template<typename T >
constexpr bool can_history_io_container = ( traits::is_array_type< T > || traits::is_sorted_array_type< T > )
 Whether the type is a supported container for history collection and io operations. More...
 

Ordered and unordered map types.

template<typename TKEY , typename TVAL >
using map = mapBase< TKEY, TVAL, std::integral_constant< bool, true > >
 Ordered map type.
 
template<typename TKEY , typename TVAL >
using unordered_map = mapBase< TKEY, TVAL, std::integral_constant< bool, false > >
 Unordered map type.
 
template<typename K , typename V , typename SORTED >
std::ostream & operator<< (std::ostream &stream, mapBase< K, V, SORTED > const &map)
 Stream output operator for map types. More...
 

Detailed Description

top level geosx namespace contains all code that is specific to GEOSX

namespace to encapsulate GEOSX

Typedef Documentation

◆ defaultLayout

template<int NDIM>
using geosx::defaultLayout = typedef camp::make_idx_seq_t< NDIM >

Defaul permutation type for NDIM-dimensional array.

Template Parameters
NDIMnumber of dimensions
Note
useful when providing default template parameters

Definition at line 36 of file DataLayouts.hpp.

Enumeration Type Documentation

◆ BlockScalingOption

Type of block row scaling to apply.

Enumerator
None 

No scaling.

FrobeniusNorm 

Equilibrate Frobenius norm of the diagonal blocks.

UserProvided 

User-provided scaling.

Definition at line 46 of file BlockPreconditioner.hpp.

◆ BlockShapeOption

Shape of the block preconditioner.

Enumerator
Diagonal 

(D)^{-1}

UpperTriangular 

(DU)^{-1}

LowerUpperTriangular 

(LDU)^{-1}

Definition at line 56 of file BlockPreconditioner.hpp.

◆ ElementType

enum geosx::ElementType : integer
strong

Denotes type of cell/element shape.

Enumerator
Line 

Two-node line segment.

Triangle 

Three-node triangle.

Quadrilateral 

Four-node quadrilateral.

Polygon 

General polygonal element.

Tetrahedron 

Four-node tetrahedral element.

Pyramid 

Five-node pyramid element.

Prism 

Six-node wedge element.

Hexahedron 

Eight-node hexahedral element.

Polyhedron 

General polyhedral element.

Definition at line 30 of file ElementType.hpp.

◆ LAIOutputFormat

Enumeration of available output formats for LAI objects

Definition at line 139 of file common.hpp.

◆ SchurComplementOption

Type of Schur complement approximation used.

Todo:
Need more descriptive names for options
Enumerator
None 

No Schur complement - just block-GS/block-Jacobi preconditioner.

FirstBlockDiagonal 

Approximate first block with its diagonal.

RowsumDiagonalProbing 

Rowsum-preserving diagonal approximation constructed with probing.

FirstBlockUserDefined 

User defined preconditioner for the first block.

Definition at line 35 of file BlockPreconditioner.hpp.

Function Documentation

◆ ArnoldiLargestEigenvalue()

template<typename VECTOR >
real64 geosx::ArnoldiLargestEigenvalue ( LinearOperator< VECTOR > const &  op,
localIndex const  m = 4 
)

Function implementing the Arnoldi scheme to compute the largest eigenvalue.

Template Parameters
VECTORvector type of the linear operator
Parameters
opthe operator whose largest eigenvalue is required
mthe number of iterations (size of the Krylov subspace)
Returns
the largest eigenvalue

Definition at line 36 of file Arnoldi.hpp.

◆ dynamicCast() [1/2]

template<typename NEW_TYPE , typename EXISTING_TYPE >
NEW_TYPE geosx::dynamicCast ( EXISTING_TYPE *const  val)

Perform a type cast of base to derived pointer.

Template Parameters
NEW_TYPEderived pointer type
EXISTING_TYPEbase type
Parameters
valbase pointer to cast
Returns
pointer cast to derived type or nullptr

Definition at line 79 of file DataTypes.hpp.

◆ dynamicCast() [2/2]

template<typename NEW_TYPE , typename EXISTING_TYPE >
NEW_TYPE geosx::dynamicCast ( EXISTING_TYPE &  val)

Perform a type cast of base to derived reference.

Template Parameters
NEW_TYPEderived reference type
EXISTING_TYPEbase type
Parameters
valbase reference to cast
Returns
reference cast to derived type or nullptr

Definition at line 93 of file DataTypes.hpp.

◆ erase()

void geosx::erase ( OrderedVariableToManyElementRelation relation,
localIndex const  firstIndex,
localIndex const  er,
localIndex const  esr,
localIndex const  ei 
)

Remove an element relation from an object in the relation.

Parameters
relationThe relationship mapping to remove a single element relation from a single object from.
firstIndexThe object index to remove an element relation from.
erThe element region to remove.
esrThe element subregion to remove.
eiThe element index to remove.

◆ forAllElemsInMesh()

template<class POLICY = serialPolicy, typename LAMBDA = void>
void geosx::forAllElemsInMesh ( MeshLevel const &  mesh,
LAMBDA &&  lambda 
)

Loop over all elements in a geosx::MeshLevel.

Template Parameters
POLICYThe execution policy for the loop over elements in a geosx::ElementSubRegionBase.
LAMBDAThe type of lambda function to execute for each element.
Parameters
meshThe geosx::MeshLevel that will have all of its elements processed by this function.
lambdaThe type of lambda function to execute for each element.

Definition at line 41 of file MeshForLoopInterface.hpp.

◆ getAbsolutePath()

std::string geosx::getAbsolutePath ( std::string const &  path)

Gets the absolute path of a file.

Parameters
[in]paththe relative path to the file
Returns
the absolute path to the file resolved from current working directory
Exceptions
InputErrorif absolute path could not be resolved

◆ getHistoryMetadata() [1/6]

template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type geosx::getHistoryMetadata ( string const &  name,
ArrayView< T const, 1, 0 > const &  arr,
localIndex  sizeOverride = -1 
)
inline

Produce a HistoryMetadata object for a supported one-dimensional array type.

Template Parameters
TA type stored in an array that can be packed
Parameters
nameThe name to give the metadata, usually dataRepository::Wrapper::getName by default.
arrThe array to produce metadata about
sizeOverrideSpecified in order to overwrite the actual size of the array with the size specified (used when collecting only a portion of the array data).
Returns
HistoryMetadata for the provided one-dimensional array.

Definition at line 178 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [2/6]

template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type geosx::getHistoryMetadata ( string const &  name,
SortedArrayView< T const > const &  arr,
localIndex  sizeOverride = -1 
)
inline

Produce a HistoryMetadata object for a supported one-dimensional array type.

Template Parameters
TA type stored in an array that can be packed
Parameters
nameThe name to give the metadata, usually dataRepository::Wrapper::getName by default.
arrThe array to produce metadata about
sizeOverrideSpecified in order to overwrite the actual size of the array with the size specified (used when collecting only a portion of the array data).
Returns
HistoryMetadata for the provided one-dimensional array.

Definition at line 196 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [3/6]

template<typename ARRAY_T >
std::enable_if< ( traits::is_array_type< ARRAY_T >) && (ARRAY_T::NDIM > 1) && can_history_io< typename ARRAY_T::value_type >, HistoryMetadata >::type geosx::getHistoryMetadata ( string const &  name,
ARRAY_T const &  arr,
localIndex  sizeOverride = -1 
)
inline

Produce a HistoryMetadata object for multi-dimensional LvArray::Array/ArrayView types.

Template Parameters
ARRAY_TAn array type containing a packable type.
Parameters
nameThe name to give the metadata, usually dataRepository::Wrapper::getName by default.
arrThe array to produce metadata about
sizeOverrideSpecified in order to overwrite the actual size of the array with the size specified (used when collecting only a portion of the array data).
Returns
HistoryMetadata for the provided multi-dimensional array.

Definition at line 214 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [4/6]

template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type geosx::getHistoryMetadata ( string const &  name,
const T &  type,
localIndex  sizeOverride = -1 
)
inline

Produce a HistoryMetadata object for a fundamental type that can_history_io.

Template Parameters
TThe type to produce HistoryMetadata for.
Parameters
nameThe name to give the metadata, usually dataRepository::Wrapper::getName by default.
typeThe data of type T to being used for history collection/output.
sizeOverrideSpecified in order to overwrite the actual size of the data. Really only here to make the getHistoryMetadata overloaded function consistent, but is still functional.
Returns
A HistoryMetadata describing a size-zero array with name "NULL" and type_index(typeid(NULL)), will never actually return.

Definition at line 234 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [5/6]

template<typename T >
std::enable_if< can_history_io_container< T > && !can_history_io< typename T::value_type >, HistoryMetadata >::type geosx::getHistoryMetadata ( string const &  name,
const T &  type,
localIndex  sizeOverride 
)
inline

Fall-through implementation to catch attempts to collect history that cannot be collected/output.

Template Parameters
TA history collection/output unsupported type.
Parameters
nameUnused
typeUnused
sizeOverrideUnused
Returns
A null HistoryMetadata, will never actually return.

Definition at line 251 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [6/6]

template<typename T >
std::enable_if< !can_history_io_container< T > && !can_history_io< T >, HistoryMetadata >::type geosx::getHistoryMetadata ( string const &  name,
const T &  type,
localIndex  sizeOverride 
)
inline

Fall-through implementation to catch attempts to collect history that cannot be collected/output.

Template Parameters
TA history collection/output unsupported type.
Parameters
nameUnused
typeUnused
sizeOverrideUnused
Returns
A null HistoryMetadata, will never actually return.

Definition at line 270 of file HistoryDataSpec.hpp.

◆ insert()

void geosx::insert ( OrderedVariableToManyElementRelation relation,
localIndex const  firstIndex,
localIndex const  er,
localIndex const  esr,
localIndex const  ei 
)

Insert an element relation for an object in the relation.

Parameters
relationThe relationship mapping to insert a single element relation for a single object into.
firstIndexThe object index to insert an element relation from.
erThe element region to insert.
esrThe element subregion to insert.
eiThe element index to insert.

◆ isAbsolutePath()

bool geosx::isAbsolutePath ( const std::string &  path)
inline

Tells whether the path is absolute of not.

Parameters
[in]paththe input path
Return values
trueif the path is absolute
falseif the path is relative

Definition at line 91 of file Path.hpp.

◆ joinPath()

template<typename ... ARGS>
std::string geosx::joinPath ( ARGS const &...  args)
inline

Join parts of a path.

Template Parameters
ARGStypes of arguments
Parameters
argsparts of the path
Returns
the combined path

Definition at line 128 of file Path.hpp.

◆ makeDirectory()

void geosx::makeDirectory ( std::string const &  path)

Create a directory path, where parent directories must already exist.

Parameters
pathThe path to create.

◆ makeDirsForPath()

void geosx::makeDirsForPath ( std::string const &  path)

Make directories for path.

Parameters
pathThe path to create.

This function operates similarly to 'mkdir -p'. Everything in path is intended to be a directory. If a directory in the path already exists nothing is done. If a directory doesn't exist it is created.

◆ minLocOverElemsInMesh()

template<typename LAMBDA >
auto geosx::minLocOverElemsInMesh ( MeshLevel const &  mesh,
LAMBDA &&  lambda 
)
Returns
Return the minimum location/indices for a value condition specified by lambda.
Template Parameters
LAMBDAThe type of the lambda function to be used to specify the minimum condition.
Parameters
meshThe geosx::MeshLevel that will have all of its elements processed by this function.
lambdaA lambda function that returns as value that will be used in the minimum comparison.

Definition at line 62 of file MeshForLoopInterface.hpp.

◆ operator<<() [1/2]

template<typename K , typename V , typename SORTED >
std::ostream& geosx::operator<< ( std::ostream &  stream,
mapBase< K, V, SORTED > const &  map 
)
inline

Stream output operator for map types.

Template Parameters
Kkey type
Vvalue type
SORTED
Parameters
streamoutput stream
mapthe map to print
Returns
reference to output stream

Definition at line 380 of file DataTypes.hpp.

◆ operator<<() [2/2]

template<typename VECTOR >
std::ostream& geosx::operator<< ( std::ostream &  os,
BlockVectorView< VECTOR > const &  vec 
)

Stream insertion operator.

Parameters
osthe output stream
vecthe vector to be printed
Returns
reference to the output stream

Definition at line 400 of file BlockVectorView.hpp.

◆ operator>>()

std::istream& geosx::operator>> ( std::istream &  is,
Path p 
)

Operator use with the class Path while parsing the XML file.

Parameters
[in,out]isthe input stream
[in,out]pthe path that will be set to an absolute path relative to the xml file
Returns
the input stream

◆ pushStatsIntoAdiak()

template<typename T >
void geosx::pushStatsIntoAdiak ( string const &  name,
T const  value 
)

Compute the sum, mean, min, and max of value across ranks and push them into Adiak using name.

Template Parameters
TThe type of value.
Parameters
nameThe name to use when adding the stats to Adiak.
valueThe value to compute the statistics of.

Definition at line 164 of file initializeEnvironment.hpp.

◆ readDirectory()

std::vector< std::string > geosx::readDirectory ( std::string const &  path)

List all the files of one directory.

Parameters
[in]pathpath to the directory
Returns
vector containing all the file paths

◆ setupEnvironment()

void geosx::setupEnvironment ( int  argc,
char *  argv[] 
)

Setup/init the environment.

Parameters
[in]argcthe number of command line arguments.
[in,out]argvthe command line arguments.

◆ setupMPI()

void geosx::setupMPI ( int  argc,
char *  argv[] 
)

Setup MPI.

Parameters
[in]argcthe number of command line arguments.
[in,out]argvthe command line arguments.

◆ splitPath()

std::pair< std::string, std::string > geosx::splitPath ( std::string const &  path)

Split the path in two parts: directory name and file name.

Parameters
[in]paththe input path
Returns
a pair of strings, containing names of the directory and the file

◆ trimPath()

std::string geosx::trimPath ( std::string const &  path)
inline

Remove the trailing slash is if present.

Parameters
paththe input path
Returns
the trimmed path

Definition at line 109 of file Path.hpp.

Variable Documentation

◆ can_history_io

template<typename T >
constexpr bool geosx::can_history_io
Initial value:
= std::is_same< std::remove_reference_t< std::remove_const_t< T > >, char >::value ||
std::is_same< std::remove_reference_t< std::remove_const_t< T > >, signed char >::value ||
std::is_same< std::remove_reference_t< std::remove_const_t< T > >, float >::value ||
std::is_same< std::remove_reference_t< std::remove_const_t< T > >, double >::value ||
std::is_same< std::remove_reference_t< std::remove_const_t< T > >, int >::value ||
std::is_same< std::remove_reference_t< std::remove_const_t< T > >, long >::value ||
std::is_same< std::remove_reference_t< std::remove_const_t< T > >, long long >::value
GEOSX_HOST_DEVICE T const & value(arrayView1d< arrayView1d< T const > const > const &map, localIndex const i0, localIndex const i1)

A constexpr bool to determine wether a type is compatible with the history collected and IO operations.

Definition at line 30 of file HistoryDataSpec.hpp.

◆ can_history_io_container

template<typename T >
constexpr bool geosx::can_history_io_container = ( traits::is_array_type< T > || traits::is_sorted_array_type< T > )

Whether the type is a supported container for history collection and io operations.

Template Parameters
TThe type to check.

Definition at line 164 of file HistoryDataSpec.hpp.

◆ getUSD

template<typename PERM >
constexpr int geosx::getUSD = LvArray::typeManipulation::getStrideOneDimension( PERM {} )
static

Just a handy shortcut for LvArray::typeManipulation::getStrideOneDimension.

Template Parameters
PERMsequence type containing layout permutation Value: corresponding unit stride dimension

Definition at line 44 of file DataLayouts.hpp.