GEOS
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
geos Namespace Reference

Namespaces

 acousticFirstOrderWaveEquationSEMKernels
 Namespace to contain the first order acoustic wave kernels.
 
 acousticVTIWaveEquationSEMKernels
 Namespace to contain the acoustic wave kernels.
 
 acousticWaveEquationSEMKernels
 Namespace to contain the acoustic wave kernels.
 
 dataRepository
 
 elasticFirstOrderWaveEquationSEMKernels
 Namespace to contain the elastic wave kernels.
 
 elasticVTIWaveEquationSEMKernels
 Namespace to contain the elastic wave kernels.
 
 elasticWaveEquationSEMKernels
 Namespace to contain the elastic wave kernels.
 
 fields
 
 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  mapBase
 Base template for ordered and unordered maps. More...
 
struct  OpEqual
 OpEqual Operator that sets a value. More...
 
struct  OpAdd
 OpAdd Operator that adds a value. More...
 
struct  FieldSpecificationOp
 FieldSpecificationOp. More...
 
struct  FieldSpecificationEqual
 
struct  FieldSpecificationAdd
 
class  FixedSizeDeque
 Implement a double ended queue with fixed number of fixed size buffer to be stored. More...
 
class  FixedSizeDequeWithMutexes
 Associate mutexes with the fixedSizeDeque. More...
 
struct  EnumStrings
 Provides enum <-> string conversion facilities. More...
 
class  TableData
 Class for managing table data. More...
 
class  TableData2D
 Class for managing 2D table m_data. More...
 
class  TableFormatter
 abstract class for formatting table data More...
 
class  TableCSVFormatter
 class for CSV formatting More...
 
class  TableTextFormatter
 class for log formatting More...
 
class  TableLayout
 Class for setup the table layout. More...
 
struct  CommandLineOptions
 
class  LifoStorage
 
class  LifoStorageCommon
 
class  LifoStorageCuda
 
class  LifoStorageHost
 
struct  InputError
 Exception class used to report errors in user input. More...
 
struct  SimulationError
 Exception class used to report errors in user input. More...
 
struct  BadTypeError
 Exception class used to report errors from type conversion. More...
 
class  NotAnError
 Exception class used for special control flow. More...
 
class  MemoryInfos
 Class to fetch and store memory information for different resource types. More...
 
struct  MpiWrapper
 
class  MultiMutexesLock
 Class to handle locks using 2 mutexes. More...
 
class  Path
 Class describing a file Path. More...
 
class  Span
 Lightweight non-owning wrapper over a contiguous range of elements. More...
 
class  Stopwatch
 Class defining a simple stopwatch for interval timing. More...
 
class  Tensor
 Lightweight wrapper around a c-array. More...
 
class  Timer
 Object that times the duration of its existence. More...
 
class  InterObjectRelation
 
class  ExecutableGroup
 
class  HistoryMetadata
 A minimal class to specify information about time history information being collected and output. More...
 
class  LogLevelsRegistry
 Keep track of log level documention for a group. More...
 
class  MappedVector
 
class  ReferenceWrapper
 
class  ChomboCoupler
 A class managing data exchange with CHOMBO. More...
 
class  BlueprintOutput
 A class for creating Conduit blueprint-based outputs. More...
 
class  ChomboIO
 
class  OutputBase
 
class  OutputManager
 
class  PythonOutput
 Performs no actual output but returns control to the Python interpreter. More...
 
class  RestartOutput
 
class  SiloOutput
 
class  TimeHistoryOutput
 
class  VTKOutput
 A class for creating vtk outputs. More...
 
class  SiloFile
 
class  BufferedHistoryIO
 An abstract class for performing buffered history output. More...
 
class  HDFFile
 
class  HDFHistoryIO
 Perform buffered history I/O for a single type(really just output) on using HDF5. More...
 
class  HistoryCollection
 
class  HistoryCollectionBase
 Intermediate class for code factorisation. It mainly deals with collector and buffer management. It delegates the actual collection to derived classes. More...
 
class  PackCollection
 
class  LinearOperator
 Abstract base class for linear operators. More...
 
class  LinearSolverBase
 Simple interface for linear solvers that allows to extract solution results. More...
 
class  PreconditionerBase
 Common interface for preconditioning operators. 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  SuiteSparse
 Wrapper for UMFPACK direct solver from SuiteSparse package. More...
 
class  SuperLUDist
 Wrapper for SuperLU_Dist parallel direct solver. More...
 
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...
 
class  HypreSolver
 This class creates and provides basic support for Hypre solvers. More...
 
struct  HyprePrecWrapper
 Container for hypre preconditioner function pointers. More...
 
class  HypreVector
 Wrapper class for hypre's ParVector. More...
 
class  MatrixBase
 Common base template for all matrix wrapper types. More...
 
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  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
 Wrapper around Trilinos' Epetra_Vector object. 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  VectorBase
 Common base template for all vector wrapper types. More...
 
class  BicgstabSolver
 This class implements Bi-Conjugate Gradient Stabilized method (right-preconditioned) for monolithic and block linear operators. More...
 
class  BlockPreconditioner
 General 2x2 block preconditioner. More...
 
class  CgSolver
 This class implements Conjugate Gradient method for monolithic and block linear operators. More...
 
class  GmresSolver
 This class implements Generalized Minimized RESidual method (right-preconditioned) for monolithic and block linear operators. More...
 
class  KrylovSolver
 Base class for Krylov solvers. 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  SeparateComponentPreconditioner
 Separate component filter implemented as a compound preconditioner. 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  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  ComponentMask
 Utility class that represents a mask for included/excluded component of a mask. More...
 
class  InverseNormalOperator
 Wraps a matrix A and represents A^{-1} * A^{-T} as a linear operator. More...
 
struct  LinearSolverParameters
 Set of parameters for a linear solver or preconditioner. More...
 
struct  LinearSolverResult
 Results/stats of a linear solve. More...
 
class  NormalOperator
 Wraps a matrix A and represents A^T * A as a linear operator. More...
 
class  TransposeOperator
 Simple class that wraps a matrix and represents its transpose as a linear operator. More...
 
class  CellElementRegion
 
class  CellElementRegionSelector
 
class  CellElementSubRegion
 
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...
 
struct  surfaceWithGhostNodes
 Struct defining an embedded element which has at least on node which is a ghost on this rank. More...
 
class  EmbeddedSurfaceSubRegion
 
class  ExternalDataSourceBase
 The ExternalDataSourceBase class provides an abstract base class implementation for different mesh types. The ExternalDataSourceBase is the Group specialization for different type of mesh handling. More...
 
class  ExternalDataSourceManager
 This class manages a data repository whereof objects can be imported to GEOS (reservoir mesh, well mesh) More...
 
class  FaceElementSubRegion
 
class  FaceManager
 The FaceManager class provides an interface to ObjectManagerBase in order to manage face data. More...
 
class  FieldIdentifiers
 
class  CellBlock
 
class  CellBlockABC
 
class  CellBlockManager
 The CellBlockManager class provides an interface to ObjectManagerBase in order to manage CellBlock data. More...
 
class  CellBlockManagerABC
 Abstract base class for CellBlockManager. More...
 
struct  ToCellRelation
 Container for maps from a mesh object (node, edge or face) to cells. More...
 
class  ExternalMeshGeneratorBase
 Base class for external mesh generators (importers). More...
 
class  FaceBlock
 Simple implementation of the FaceBlockABC contract. More...
 
class  FaceBlockABC
 Block of 2d elements (geometrical surfaces in 3d). 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  LineBlock
 
class  LineBlockABC
 
class  MeshComponentBase
 
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  ParticleBlock
 
class  ParticleBlockABC
 
class  ParticleBlockManager
 The ParticleBlockManager class provides an interface to ObjectManagerBase in order to manage ParticleBlock data. More...
 
class  ParticleBlockManagerABC
 Abstract base class for ParticleBlockManager. More...
 
class  ParticleMeshGenerator
 The ParticleMeshGenerator class is a class handling import of particle data from an externel particle file. More...
 
class  PartitionDescriptor
 Simple utility to retrieve partition information in case of Metis or Spatial partition. More...
 
class  Region
 Region parameters with Group capabilities. More...
 
class  VTKHierarchicalDataSource
 This class provides an API to access VTKPartitionedDataSetCollection through a vtkDataAssembly. More...
 
class  VTKMeshGenerator
 The VTKMeshGenerator class provides a class implementation of VTK generated meshes. More...
 
class  VTKWellGenerator
 The VTKWellGenerator class provides a class implementation of VTK generated well. More...
 
class  WellGeneratorBase
 
class  MeshBody
 The class is used to manage mesh body. 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...
 
class  MeshObjectPath
 Class to hold the path to a collection of mesh objects. More...
 
class  NodeManager
 The NodeManager class provides an interface to ObjectManagerBase in order to manage node data. More...
 
class  ObjectManagerBase
 The ObjectManagerBase is the base object of all object managers in the mesh data hierachy. More...
 
class  ParticleManager
 The ParticleManager class provides an interface to ObjectManagerBase in order to manage ParticleRegion data. More...
 
class  ParticleRegion
 
class  ParticleRegionBase
 The ParticleRegionBase is the base class to manage the data stored at the particle level. More...
 
class  ParticleSubRegion
 
class  ParticleSubRegionBase
 
class  Perforation
 
class  PerforationData
 
class  Box
 Class to represent a geometric box in GEOSX. More...
 
class  CustomPolarObject
 Class to represent a geometric disc in GEOSX. More...
 
class  Cylinder
 Class to represent a geometric cylinder in GEOSX. More...
 
class  Disc
 Class to represent a geometric disc in GEOSX. More...
 
class  GeometricObjectManager
 Manager of the simple geometric objects. More...
 
class  PlanarGeometricObject
 Abstract class to implement functions used by all bounded geometric objects in GEOSX, such as disc or plane. More...
 
class  Rectangle
 Class to represent a geometric box in GEOSX. More...
 
class  SimpleGeometricObjectBase
 Base class for the geometric objects (box, plane, cylinder). More...
 
class  ThickPlane
 Class to represent a geometric thick plane in GEOSX. More...
 
class  SurfaceElementRegion
 
class  SurfaceElementSubRegion
 
class  ToElementRelation
 A relationship to an element. More...
 
class  ToParticleRelation
 A relationship to a particle. More...
 
class  AverageOverQuadraturePointsBase
 
class  AverageOverQuadraturePoints1D
 
class  AverageOverQuadraturePoints1DKernelFactory
 Class to create and launch the kernel. More...
 
class  CIcomputationKernel
 Kernel to compute EDFM connectivity index. More...
 
struct  NodeKeyHasher
 Strucure used to hash interpolation arrays representing high-order nodes. 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...
 
class  ContactSolverBase
 
class  SolidMechanicsAugmentedLagrangianContact
 
class  SolidMechanicsEmbeddedFractures
 
class  SolidMechanicsLagrangeContact
 
class  SolidMechanicsLagrangeContactBubbleStab
 
class  SolidMechanicsPenaltyContact
 
class  FieldStatisticsBase
 
class  CompositionalMultiphaseBase
 
class  CompositionalMultiphaseFVM
 
class  CompositionalMultiphaseHybridFVM
 
class  CompositionalMultiphaseStatistics
 
class  FlowSolverBase
 
class  ProppantTransport
 
class  ReactiveCompositionalMultiphaseOBL
 
class  SinglePhaseBase
 
class  SinglePhaseFVM
 
class  SinglePhaseHybridFVM
 
class  SinglePhaseProppantBase
 
class  SinglePhaseStatistics
 
class  SourceFluxStatsAggregator
 
struct  StencilAccessors
 A struct to automatically construct and store element view accessors. More...
 
struct  StencilMaterialAccessors
 A struct to automatically construct and store element view accessors. More...
 
class  StencilDataCollection
 
class  CompositionalMultiphaseWell
 
struct  NoOpStuct
 
class  SinglePhaseWell
 
struct  WellConstants
 A container for constants used in the well solver. More...
 
class  WellControls
 This class describes the controls used to operate a well. More...
 
class  WellSolverBase
 
class  QuasiDynamicEQ
 
class  SeismicityRate
 
class  LinearSolverParametersInput
 Linear solver parameters with Group capabilities. More...
 
class  CompositionalMultiphaseReservoirAndWells
 
class  CoupledReservoirAndWellsBase
 
class  CoupledSolver
 
class  FlowProppantTransportSolver
 
class  HydrofractureSolver
 
class  MultiphasePoromechanics
 
class  PhaseFieldFractureSolver
 
struct  DamageInterpolationKernel
 
class  PoromechanicsInitialization
 
class  PoromechanicsSolver
 
class  SinglePhasePoromechanics
 
class  SinglePhasePoromechanicsConformingFractures
 
class  SinglePhasePoromechanicsEmbeddedFractures
 
class  SinglePhaseReservoirAndWells
 
class  NonlinearSolverParameters
 
class  PhysicsSolverBase
 Base class for all physics solvers. More...
 
class  PhysicsSolverManager
 
class  LaplaceBaseH1
 
class  LaplaceFEM
 
class  LaplaceFEMKernel
 Implements kernels for solving Laplace's equation. More...
 
class  PhaseFieldDamageFEM
 
class  PhaseFieldDamageKernel
 Implements kernels for solving the Damage(or phase-field) equation in a phase-field fracture problem. More...
 
class  AverageStrainOverQuadraturePoints
 
class  AverageStrainOverQuadraturePointsKernelFactory
 Class to create and launch the kernel. More...
 
class  SolidMechanicsLagrangianFEM
 
class  SolidMechanicsLagrangianSSLE
 
class  SolidMechanicsMPM
 
class  SolidMechanicsStateReset
 
class  SolidMechanicsStatistics
 
class  SolverStatistics
 This class is used to log the solver statistics. More...
 
struct  NewObjectLists
 
class  EmbeddedSurfaceGenerator
 
struct  ModifiedObjectLists
 
class  SurfaceGenerator
 
class  AcousticFirstOrderWaveEquationSEM
 
class  AcousticVTIWaveEquationSEM
 
struct  AcousticPMLSEM
 
class  AcousticWaveEquationSEM
 
struct  AcousticMatricesSEM
 
struct  AcousticTimeSchemeSEM
 
class  CoupledWaveSolver
 
class  AcousticElasticWaveEquationSEM
 
struct  AcoustoElasticTimeSchemeSEM
 
class  ElasticFirstOrderWaveEquationSEM
 
class  ElasticWaveEquationSEM
 
struct  ElasticMatricesSEM
 
struct  ElasticTimeSchemeSEM
 
struct  PreComputeSourcesAndReceivers
 
class  WaveSolverBase
 
struct  WaveSolverUtils
 
class  BoundaryStencilWrapper
 
class  BoundaryStencil
 Provides management of the boundary stencil points (stencils used to prescribe boundary conditions on domain boundaries, i.e. faces) More...
 
class  CellElementStencilMPFA
 Provides management of the interior stencil points when using a Multi-point flux approximation. More...
 
class  CellElementStencilTPFAWrapper
 
class  CellElementStencilTPFA
 
class  EmbeddedSurfaceToCellStencilWrapper
 Provide access to the EmbeddedSurfaceToCellStencil that may be called from a kernel function. More...
 
class  EmbeddedSurfaceToCellStencil
 Provides management of the interior stencil points for a face elements when using Two-Point flux approximation. More...
 
class  FaceElementToCellStencilWrapper
 Provides access to the FaceElementToCellStencil that may be called from a kernel function. More...
 
class  FaceElementToCellStencil
 
class  FiniteVolumeManager
 
struct  UpwindingParameters
 
class  FluxApproximationBase
 
class  HybridMimeticDiscretization
 
struct  CellDescriptor
 A structure containing a single cell (element) identifier triplet. More...
 
class  ProjectionEDFMHelper
 A class that contains methods to modify cell and edfm stencils based on projection edfm. More...
 
struct  StencilTraits
 A collection of properties of a stencil type. More...
 
class  StencilWrapperBase
 
class  StencilBase
 Provides management of the interior stencil points when using Two-Point flux approximation. More...
 
class  SurfaceElementStencilWrapper
 Provides access to the SurfaceElementStencil that may be called from a kernel function. More...
 
class  SurfaceElementStencil
 Provides management of the interior stencil points for a face elements when using Two-Point flux approximation. More...
 
class  TwoPointFluxApproximation
 
class  CompositeFunction
 
class  FunctionBase
 
class  FunctionManager
 
class  MultivariableTableFunction
 
class  MultivariableTableFunctionStaticKernel
 
class  SymbolicFunction
 
class  TableFunction
 
class  AquiferBoundaryCondition
 
class  DirichletBoundaryCondition
 
class  EquilibriumInitialCondition
 
class  FieldSpecificationBase
 
class  FieldSpecificationManager
 
class  PerfectlyMatchedLayer
 
class  SourceFluxBoundaryCondition
 
class  TractionBoundaryCondition
 
class  NumericalMethodsManager
 
class  EventBase
 
class  EventManager
 
class  HaltEvent
 
class  PeriodicEvent
 
class  SoloEvent
 
class  TaskBase
 
class  TasksManager
 A class to manage and execute tasks. More...
 
class  GeosxState
 Holds the global GEOSX state. This is a singleton class, no more than one instance exists at at time. After construction the instance can be accessed from anywhere by the free function getGlobalState(). More...
 
class  ProblemManager
 This is the class handling the operation flow of the problem being ran in GEOS. More...
 

Typedefs

template<int NDIM>
using defaultLayout = camp::make_idx_seq_t< NDIM >
 Defaul permutation type for NDIM-dimensional array. More...
 
using serialPolicy = RAJA::seq_exec
 
using serialAtomic = RAJA::seq_atomic
 
using serialReduce = RAJA::seq_reduce
 
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<size_t BLOCK_SIZE = 0>
using parallelDevicePolicy = parallelHostPolicy
 
template<size_t 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 = GEOS_CONCAT(GEOS_LA_INTERFACE, Interface)
 Alias for current interface.
 
using ParallelMatrix = LAInterface::ParallelMatrix
 Alias for ParallelMatrix.
 
using ParallelVector = LAInterface::ParallelVector
 Alias for ParallelVector.
 
using pmet_idx_t = int64_t
 Typedef to allow us to specify required parmetis integer type.
 
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.
 
typedef ToParticleRelation< array2d< localIndex > > FixedToManyParticleRelation
 A ToParticleRelation where each object is related to the same number of particles.
 
typedef ToParticleRelation< ArrayOfArrays< localIndex > > OrderedVariableToManyParticleRelation
 A ToParticleRelation where each object is related to an arbitrary number of particles.
 
using LaplaceFEMKernelFactory = finiteElement::KernelFactory< LaplaceFEMKernel, arrayView1d< globalIndex const > const, globalIndex const, CRSMatrixView< real64, globalIndex const > const, arrayView1d< real64 > const, real64 const, string const >
 The factory used to construct a LaplaceFEMKernel.
 
using PhaseFieldDamageKernelFactory = finiteElement::KernelFactory< PhaseFieldDamageKernel, arrayView1d< globalIndex const > const, globalIndex, CRSMatrixView< real64, globalIndex const > const, arrayView1d< real64 > const, real64 const, string const, PhaseFieldDamageKernelLocalDissipation >
 
using CellElementStencilMPFATraits = StencilTraits< ArrayOfArrays, 2, 18, 1 >
 Describes properties of CellElementStencilMPFA. More...
 
using TwoPointStencilTraits = StencilTraits< array2d, 2, 2, 1 >
 Describes properties of a standard two-point stencil.
 
using SurfaceElementStencilTraits = StencilTraits< ArrayOfArrays, 6, 6, 15 >
 Describes properties of SurfaceElementStencil. More...
 
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 = GEOS_LOCALINDEX_TYPE
 Local index type (for indexing objects within an MPI partition).
 
using globalIndex = GEOS_GLOBALINDEX_TYPE
 Global index type (for indexing objects across MPI partitions).
 
using string = std::string
 String type.
 
using string_view = std::string_view
 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.
 
Alias for timestamp in GEOSX.
using Timestamp = unsigned long long int
 Timestamp type (used to perform actions such a sparsity pattern computation after mesh modifications)
 
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 R1Tensor32 = Tensor< real32, 3 >
 Alias for a local (stack-based) rank-1 tensor type using 32 bits integers.
 
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 , typename INDEX_TYPE = localIndex>
using ArrayOfArrays = LvArray::ArrayOfArrays< T, INDEX_TYPE, LvArray::ChaiBuffer >
 Array of variable-sized arrays. See LvArray::ArrayOfArrays for details.
 
template<typename T , typename INDEX_TYPE = localIndex, bool CONST_SIZES = std::is_const< T >::value>
using ArrayOfArraysView = LvArray::ArrayOfArraysView< T, INDEX_TYPE const, CONST_SIZES, LvArray::ChaiBuffer >
 View of array of variable-sized arrays. See LvArray::ArrayOfArraysView for details.
 
template<typename T , typename INDEX_TYPE = localIndex>
using ArrayOfSets = LvArray::ArrayOfSets< T, INDEX_TYPE, LvArray::ChaiBuffer >
 Array of variable-sized sets. See LvArray::ArrayOfSets for details.
 
template<typename T , typename INDEX_TYPE = localIndex>
using ArrayOfSetsView = LvArray::ArrayOfSetsView< T, INDEX_TYPE 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 geos::integer types.
 
using real32_array = array1d< real32 >
 A 1-dimensional array of geos::real32 types.
 
using real64_array = array1d< real64 >
 A 1-dimensional array of geos::real64 types.
 
using string_array = array1d< string >
 A 1-dimensional array of geos::string types.
 
using path_array = array1d< Path >
 A 1-dimensional array of geos::Path types.
 
using localIndex_array = array1d< localIndex >
 A 1-dimensional array of geos::localIndex types.
 
using globalIndex_array = array1d< globalIndex >
 A 1-dimensional array of geos::globalIndex types.
 
using integer_array2d = array2d< integer >
 A 2-dimensional array of geos::integer types.
 
using real32_array2d = array2d< real32 >
 A 2-dimensional array of geos::real32 types.
 
using real64_array2d = array2d< real64 >
 A 2-dimensional array of geos::real64 types.
 
using localIndex_array2d = array2d< localIndex >
 A 2-dimensional array of geos::localIndex types.
 
using globalIndex_array2d = array2d< globalIndex >
 A 2-dimensional array of geos::globalIndex types.
 
using integer_array3d = array3d< integer >
 A 3-dimensional array of geos::integer types.
 
using real32_array3d = array3d< real32 >
 A 3-dimensional array of geos::real32 types.
 
using real64_array3d = array3d< real64 >
 A 3-dimensional array of geos::real64 types.
 
using localIndex_array3d = array3d< localIndex >
 A 3-dimensional array of geos::localIndex types.
 
using globalIndex_array3d = array3d< globalIndex >
 A 3-dimensional array of geos::globalIndex types.
 
using integer_array4d = array4d< integer >
 A 4-dimensional array of geos::integer types.
 
using real32_array4d = array4d< real32 >
 A 4-dimensional array of geos::real32 types.
 
using real64_array4d = array4d< real64 >
 A 4-dimensional array of geos::real64 types.
 
using localIndex_array4d = array4d< localIndex >
 A 4-dimensional array of geos::localIndex types.
 
using globalIndex_array4d = array4d< globalIndex >
 A 4-dimensional array of geos::globalIndex types.
 

Enumerations

enum class  LAIOutputFormat {
  NATIVE_ASCII , NATIVE_BINARY , MATLAB_ASCII , MATLAB_BINARY ,
  MATRIX_MARKET
}
 
enum class  RowSumType { SumValues , SumAbsValues , SumSqrValues , MaxAbsValues }
 Type of row sum to compute.
 
enum class  MatrixPatternOp { Same , Subset , Restrict , Extend }
 Describes relationship between and treatment of nonzero patterns of arguments in matrix functions like addEntries().
 
enum class  SchurComplementOption { None , FirstBlockDiagonal , RowsumDiagonalProbing , FirstBlockUserDefined }
 Type of Schur complement approximation used. More...
 
enum class  BlockScalingOption { None , FrobeniusNorm , UserProvided }
 Type of block row scaling to apply. More...
 
enum class  BlockShapeOption { Diagonal , UpperTriangular , LowerUpperTriangular }
 Shape of the block preconditioner. More...
 
enum class  ElementType : integer {
  Vertex , Line , Triangle , Quadrilateral ,
  Polygon , Tetrahedron , Pyramid , Wedge ,
  Hexahedron , Prism5 , Prism6 , Prism7 ,
  Prism8 , Prism9 , Prism10 , Prism11 ,
  Polyhedron
}
 Denotes type of cell/element shape. More...
 
enum class  FieldLocation { Elem , Face , Edge , Node }
 Enum defining the possible location of a field on the mesh. More...
 
enum class  ParticleType : integer { SinglePoint , CPDI , CPTI , CPDI2 }
 Denotes type of particle shape/interpolation scheme. More...
 
enum class  PhaseFieldDamageKernelLocalDissipation { Linear , Quadratic }
 
enum class  UpwindingScheme : integer { PPU , C1PPU , IHU }
 Upwinding scheme. More...
 
enum class  State { UNINITIALIZED = 0 , INITIALIZED = 1 , READY_TO_RUN = 2 , COMPLETED = 3 }
 A description of the global state.
 

Functions

void RAJA_INLINE parallelHostSync ()
 
void RAJA_INLINE parallelDeviceSync ()
 
template<typename POLICY , typename RESOURCE , typename LAMBDA >
RAJA_INLINE parallelDeviceEvent forAll (RESOURCE &&GEOS_UNUSED_PARAM(stream), const localIndex end, LAMBDA &&body)
 
RAJA_INLINE bool testAllDeviceEvents (parallelDeviceEvents &events)
 
RAJA_INLINE void waitAllDeviceEvents (parallelDeviceEvents &events)
 
template<typename POLICY , typename INDEX , typename LAMBDA >
RAJA_INLINE void forAll (INDEX const end, LAMBDA &&body)
 
template<typename POLICY , typename INDEX , typename LAMBDA >
RAJA_INLINE void forRange (INDEX const begin, INDEX const 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...
 
template<typename ... Mutexes>
auto make_multilock (Mutexes &&... mutexes)
 Helper to construct MultiMutexesLock (usage auto lock = make_multilock( mutex1, mutex2, ... )) More...
 
std::string getAbsolutePath (std::string const &path)
 Gets the absolute path of a file. More...
 
bool isAbsolutePath (std::string const &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 const numComps, 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 const numComps, 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 const numComps, 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 const numComps, 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 const numComps, 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 const numComps, localIndex sizeOverride)
 Fall-through implementation to catch attempts to collect history that cannot be collected/output. More...
 
template<typename LOG_LEVEL_INFO >
std::enable_if_t< is_log_level_info< LOG_LEVEL_INFO >, bool > isLogLevelActive (integer level)
 Verify if a log level is active. 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", "l1jacobi", "fgs", "sgs", "l1sgs", "chebyshev", "iluk", "ilut", "icc", "ict", "amg", "mgr", "block", "direct", "bgs")
 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", "thermalSinglePhasePoromechanics", "hybridSinglePhasePoromechanics", "singlePhasePoromechanicsEmbeddedFractures", "singlePhasePoromechanicsConformingFractures", "singlePhasePoromechanicsReservoirFVM", "compositionalMultiphaseFVM", "compositionalMultiphaseHybridFVM", "compositionalMultiphaseReservoirFVM", "compositionalMultiphaseReservoirHybridFVM", "reactiveCompositionalMultiphaseOBL", "thermalCompositionalMultiphaseFVM", "thermalCompositionalMultiphaseReservoirFVM", "multiphasePoromechanics", "multiphasePoromechanicsReservoirFVM", "thermalMultiphasePoromechanics", "hydrofracture", "lagrangianContactMechanics", "solidMechanicsEmbeddedFractures")
 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", "fgs", "bgs", "sgs", "l1sgs", "chebyshev", "ilu0", "ilut", "ic0", "ict")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::CoarseType, "default", "jacobi", "l1jacobi", "fgs", "sgs", "l1sgs", "chebyshev", "direct", "bgs", "gsElimWPivoting", "gsElimWInverse")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::CoarseningType, "default", "CLJP", "RugeStueben", "Falgout", "PMIS", "HMIS")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::InterpType, "default", "modifiedClassical", "direct", "multipass", "extendedI", "standard", "extended", "directBAMG", "modifiedExtended", "modifiedExtendedI", "modifiedExtendedE")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (LinearSolverParameters::AMG::AggInterpType, "default", "extendedIStage2", "standardStage2", "extendedStage2", "multipass", "modifiedExtended", "modifiedExtendedI", "modifiedExtendedE", "modifiedMultipass")
 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.
 
constexpr integer numElementTypes ()
 
int getElementDim (ElementType const elementType)
 Get number of spatial dimensions of element type. More...
 
 ENUM_STRINGS (ElementType, "Vertex", "BEAM", "C2D3", "C2D4", "Polygon", "C3D4", "C3D5", "C3D6", "C3D8", "PentagonalPrism", "HexagonalPrism", "HeptagonalPrism", "OctagonalPrism", "NonagonalPrism", "DecagonalPrism", "HendecagonalPrism", "Polyhedron")
 Strings for ElementType.
 
string getElementTypeName (ElementType const type)
 Returns a string describing the element. More...
 
localIndex buildEdgeMaps (localIndex numNodes, ArrayOfArraysView< localIndex const > const &faceToNodeMap, ArrayOfArrays< localIndex > &faceToEdgeMap, ArrayOfArrays< localIndex > &edgeToFaceMap, array2d< localIndex > &edgeToNodeMap)
 Free function that generates face to edges, edge to faces and edge to nodes mappings. More...
 
localIndex getFaceNodes (ElementType const elementType, localIndex const elemIdx, localIndex const faceNumber, arrayView2d< localIndex const, cells::NODE_MAP_USD > const &elementToNodes, Span< localIndex > const faceNodes)
 Get the local indices of the nodes in a face of the element. More...
 
template<typename POLICY , typename T , typename COMP = std::equal_to<>>
array1d< localIndexcomputeUniqueValueOffsets (ArrayOfArraysView< T const > const &sortedLists, COMP &&comp={})
 Find and count ranges of repeated values in an array of sorted arrays and compute offsets. More...
 
template<localIndex N>
localIndex getFaceNodesPrism (localIndex const faceNum, arraySlice1d< localIndex const, cells::NODE_MAP_USD - 1 > const &elemNodes, Span< localIndex > const faceNodes)
 Get the local indices of the nodes in a face of the prism with N-sided polygon base. More...
 
real64 writeNodes (integer const logLevel, vtkDataSet &mesh, string_array &nodesetNames, CellBlockManager &cellBlockManager, const geos::R1Tensor &translate, const geos::R1Tensor &scale)
 Build all the vertex blocks. More...
 
void writeCells (integer const logLevel, vtkDataSet &mesh, const geos::vtk::CellMapType &cellMap, CellBlockManager &cellBlockManager)
 Build all the cell blocks. More...
 
void writeSurfaces (integer const logLevel, vtkDataSet &mesh, const geos::vtk::CellMapType &cellMap, CellBlockManager &cellBlockManager)
 Build the "surface" node sets from the surface information. More...
 
template<class POLICY = serialPolicy, typename LAMBDA = void>
void forAllElemsInMesh (MeshLevel const &mesh, LAMBDA &&lambda)
 Loop over all elements in a geos::MeshLevel. More...
 
template<typename LAMBDA >
auto minLocOverElemsInMesh (MeshLevel const &mesh, LAMBDA &&lambda)
 
 ENUM_STRINGS (MeshObjectPath::ObjectTypes, MeshLevel::groupStructKeys::nodeManagerString(), MeshLevel::groupStructKeys::edgeManagerString(), MeshLevel::groupStructKeys::faceManagerString(), MeshLevel::groupStructKeys::elemManagerString(), "invalid")
 Create conversion functions for ObjectTypes.
 
 ENUM_STRINGS (ParticleType, "SinglePoint", "CPDI", "CPTI", "CPDI2")
 Strings for ParticleType.
 
 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...
 
void erase (OrderedVariableToManyParticleRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
 Remove a particle relation from an object in the relation. More...
 
void insert (OrderedVariableToManyParticleRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
 Insert a particle relation for an object in the relation. Checks for existing membership. More...
 
void fastInsert (OrderedVariableToManyParticleRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
 Insert a particle relation for an object in the relation. This is slightly faster than "insert" because it does NOT check for existing membership. More...
 
void insertMany (OrderedVariableToManyParticleRelation &relation, localIndex const firstIndex, std::vector< localIndex > const &erArray, std::vector< localIndex > const &esrArray, std::vector< localIndex > const &eiArray)
 Insert a particle relation for several objects in the relation. Does NOT check for existing membership. More...
 
void reserveNeighbors (OrderedVariableToManyParticleRelation &relation, int const numToReserve)
 Reserve a set number of entities for a particle to relate to. More...
 
template<typename T >
static std::array< T, 6 > createNodeKey (T v)
 
template<typename T >
static std::array< T, 6 > createNodeKey (T v1, T v2, int a, int order)
 
template<typename T >
static std::array< T, 6 > createNodeKey (T v1, T v2, T v3, T v4, int a, int b, int order)
 
template<typename T >
static std::array< T, 6 > createNodeKey (T const (&elemNodes)[8], int q1, int q2, int q3, int order)
 
 ENUM_STRINGS (CompositionalMultiphaseFVM::ScalingType, "Global", "Local")
 
 ENUM_STRINGS (WellControls::Type, "producer", "injector")
 
 ENUM_STRINGS (WellControls::Control, "BHP", "phaseVolRate", "totalVolRate", "massRate", "uninitialized")
 
 ENUM_STRINGS (HydrofractureSolver< SinglePhasePoromechanics< SinglePhaseBase > >::InitializationType, "Pressure", "Displacement")
 
 ENUM_STRINGS (NonlinearSolverParameters::LineSearchAction, "None", "Attempt", "Require")
 
 ENUM_STRINGS (NonlinearSolverParameters::LineSearchInterpolationType, "Linear", "Parabolic")
 
 ENUM_STRINGS (NonlinearSolverParameters::CouplingType, "FullyImplicit", "Sequential")
 
 ENUM_STRINGS (NonlinearSolverParameters::SequentialConvergenceCriterion, "ResidualNorm", "NumberOfNonlinearIterations", "SolutionIncrements")
 
 ENUM_STRINGS (NonlinearSolverParameters::NonlinearAccelerationType, "None", "Aitken")
 
 ENUM_STRINGS (LaplaceBaseH1::TimeIntegrationOption, "SteadyState", "ImplicitTransient")
 
 ENUM_STRINGS (PhaseFieldDamageFEM::LocalDissipation, "Linear", "Quadratic")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (PhaseFieldDamageFEM::TimeIntegrationOption, "SteadyState", "ImplicitTransient", "ExplicitTransient")
 
 ENUM_STRINGS (SolidMechanicsLagrangianFEM::TimeIntegrationOption, "QuasiStatic", "ImplicitDynamic", "ExplicitDynamic")
 
 ENUM_STRINGS (SolidMechanicsMPM::TimeIntegrationOption, "QuasiStatic", "ImplicitDynamic", "ExplicitDynamic")
 
 ENUM_STRINGS (SolidMechanicsMPM::BoundaryConditionOption, "Outflow", "Symmetry")
 
 ENUM_STRINGS (WaveSolverUtils::DASType, "none", "dipole", "strainIntegration")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (WaveSolverUtils::AttenuationType, "none", "sls")
 
 ENUM_STRINGS (UpwindingScheme, "PPU", "C1PPU", "IHU")
 Strings for upwinding scheme.
 
 ENUM_STRINGS (TableFunction::InterpolationType, "linear", "nearest", "upper", "lower")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (TractionBoundaryCondition::TractionType, "vector", "normal", "stress")
 Declare strings associated with enumeration values.
 
 ENUM_STRINGS (EventManager::TimeOutputFormat, "seconds", "minutes", "hours", "days", "years", "full")
 valid strings fort the time output enum.
 
string durationToString (std::chrono::system_clock::duration const duration)
 Return a string representing duration in seconds. More...
 
std::ostream & operator<< (std::ostream &os, State const state)
 Stream printer for a State. More...
 
GeosxStategetGlobalState ()
 Return the current GeosxState. More...
 
std::unique_ptr< CommandLineOptionsparseCommandLineOptions (int argc, char **argv)
 Parse the command line options and populate commandLineOptions with the results. More...
 
std::unique_ptr< CommandLineOptionsbasicSetup (int argc, char *argv[], bool const parseCommandLine=false)
 Perform the basic GEOSX initialization and optionally parse the command line input. More...
 
void basicCleanup ()
 Perform the basic GEOSX cleanup.
 
std::string getVersion ()
 Get GEOSX version. More...
 
void outputVersionInfo ()
 output version info for dependencies to log
 

Variables

template<typename PERM >
static constexpr int getUSD = LvArray::typeManipulation::getStrideOneDimension( PERM {} )
 Just a handy shortcut for LvArray::typeManipulation::getStrideOneDimension. More...
 
constexpr static auto GLOBALINDEX_MAX = std::numeric_limits< globalIndex >::max()
 A variable for the maximum value of a geos::globalIndex.
 
constexpr static auto LOCALINDEX_MAX = std::numeric_limits< localIndex >::max()
 A variable for the maximum value of a geos::localIndex.
 
constexpr static localIndex unmappedLocalIndexValue = -1
 A global variable for the value of a object that has not been assigned a geos::globalIndex.
 
auto const hostMemorySpace = LvArray::MemorySpace::host
 
auto const parallelHostMemorySpace = hostMemorySpace
 
auto const parallelDeviceMemorySpace = parallelHostMemorySpace
 
int MPI_COMM_GEOS
 Global MPI communicator used by GEOSX.
 
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...
 
template<typename LOG_LEVEL_INFO >
static constexpr bool is_log_level_info
 Trait used to check whether a LOG_LEVEL_INFO structure is valid. More...
 
constexpr auto generalMeshErrorAdvice
 String available for mesh errors. 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

namespace to encapsulate GEOSX

Typedef Documentation

◆ CellElementStencilMPFATraits

Describes properties of CellElementStencilMPFA.

This type of stencil supports connecting exactly two elements in each flux with a larger number of points involved in the flux computation.

Definition at line 34 of file CellElementStencilMPFA.hpp.

◆ defaultLayout

template<int NDIM>
using geos::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 37 of file DataLayouts.hpp.

◆ SurfaceElementStencilTraits

Describes properties of SurfaceElementStencil.

This type of stencil allows for up to 6 surface elements to be connected in a flux computation. The total number of pairwise connections is thus: 6*(6-1)/2 = 15.

Definition at line 34 of file SurfaceElementStencil.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 47 of file BlockPreconditioner.hpp.

◆ BlockShapeOption

Shape of the block preconditioner.

Enumerator
Diagonal 

(D)^{-1}

UpperTriangular 

(DU)^{-1}

LowerUpperTriangular 

(LDU)^{-1}

Definition at line 57 of file BlockPreconditioner.hpp.

◆ ElementType

enum geos::ElementType : integer
strong

Denotes type of cell/element shape.

Enumerator
Vertex 

Single-node vertex element.

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.

Wedge 

Six-node wedge element.

Hexahedron 

Eight-node hexahedral element.

Prism5 

Ten-node pentagonal prism.

Prism6 

Twelve-node hexagonal prism.

Prism7 

Heptagonal prism.

Prism8 

Octagonal prism.

Prism9 

Nonagonal prism.

Prism10 

Decagonal prism.

Prism11 

Hendecagonal prism.

Polyhedron 

General polyhedral element.

Definition at line 31 of file ElementType.hpp.

◆ FieldLocation

enum geos::FieldLocation
strong

Enum defining the possible location of a field on the mesh.

Enumerator
Elem 

location is element (like pressure in finite volumes)

Face 

location is face (like flux in mixed finite elements)

Edge 

location is edge (like flux between fracture elements)

Node 

location is node (like displacements in finite elements)

Definition at line 33 of file FieldIdentifiers.hpp.

◆ LAIOutputFormat

enum geos::LAIOutputFormat
strong

Enumeration of available output formats for LAI objects

Definition at line 141 of file common.hpp.

◆ ParticleType

enum geos::ParticleType : integer
strong

Denotes type of particle shape/interpolation scheme.

Enumerator
SinglePoint 

Single-point (delta dirac characteristic function)

CPDI 

Convected particle domain interpolation, parallelepiped domain.

CPTI 

Convected particle tetrahedral-domain interpolation, tet domain.

CPDI2 

"2nd-order" CPDI, hexahedral domain

Definition at line 31 of file ParticleType.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 36 of file BlockPreconditioner.hpp.

◆ UpwindingScheme

Upwinding scheme.

Enumerator
PPU 

PPU upwinding.

C1PPU 

C1-PPU upwinding from https://doi.org/10.1016/j.advwatres.2017.07.028.

IHU 

IHU as in https://link.springer.com/content/pdf/10.1007/s10596-019-09835-6.pdf.

Definition at line 38 of file FluxApproximationBase.hpp.

Function Documentation

◆ ArnoldiLargestEigenvalue()

template<typename VECTOR >
real64 geos::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 37 of file Arnoldi.hpp.

◆ basicSetup()

std::unique_ptr< CommandLineOptions > geos::basicSetup ( int  argc,
char *  argv[],
bool const  parseCommandLine = false 
)

Perform the basic GEOSX initialization and optionally parse the command line input.

Parameters
[in]argcThe number of command line arguments.
[in,out]argvThe command line arguments.
[in]parseCommandLineTrue iff the command line options should be parsed.
Returns
The command line options, if parseCommandLine is false then the returned value is default constructed (empty).

◆ buildEdgeMaps()

localIndex geos::buildEdgeMaps ( localIndex  numNodes,
ArrayOfArraysView< localIndex const > const &  faceToNodeMap,
ArrayOfArrays< localIndex > &  faceToEdgeMap,
ArrayOfArrays< localIndex > &  edgeToFaceMap,
array2d< localIndex > &  edgeToNodeMap 
)

Free function that generates face to edges, edge to faces and edge to nodes mappings.

Parameters
[in]numNodesThe number of nodes.
[in]faceToNodeMapFace to node mappings as an input.
[out]faceToEdgeMapFace to edges will be resized and filled.
[out]edgeToFaceMapEge to faces will be resized and filled.
[out]edgeToNodeMapEdge to nodes will be resized and filled.
Returns
The number of edges.

◆ computeUniqueValueOffsets()

template<typename POLICY , typename T , typename COMP = std::equal_to<>>
array1d< localIndex > geos::computeUniqueValueOffsets ( ArrayOfArraysView< T const > const &  sortedLists,
COMP &&  comp = {} 
)

Find and count ranges of repeated values in an array of sorted arrays and compute offsets.

Template Parameters
POLICYexecution policy
Tvalue type of input arrays
COMPA comparator used to compare the values.
Parameters
[in]sortedListsthe input array of sorted arrays of values.
[in]compthe comparator used to compare the values in sortedLists.
Returns
an array of size sortedLists.size() + 1, where element i contains starting index of unique values from sub-array i in a global list of unique values, while the last value contains the total number of unique edges (i.e. an exclusive scan + total reduction).

Definition at line 105 of file CellBlockUtilities.hpp.

◆ createNodeKey() [1/4]

template<typename T >
static std::array< T, 6 > geos::createNodeKey ( T const (&)  elemNodes[8],
int  q1,
int  q2,
int  q3,
int  order 
)
static
Returns
the unique interpolation array representing a Gauss-Lobatto node inside an element.
Template Parameters
Ttype of node index, usually a local or global index
Parameters
elemNodesindices of the nodes defining the element
q1first interpolation parameter
q2second interpolation parameter
q3third interpolation parameter
orderthe order of the discretization

Definition at line 338 of file MeshMapUtilities.hpp.

◆ createNodeKey() [2/4]

template<typename T >
static std::array< T, 6 > geos::createNodeKey ( v)
static
Returns
a unique interpolation array representing a high-order node coincident with a mesh vertex.
Template Parameters
Ttype of node index, usually a local or global index
Parameters
vthe mesh vertex on which the high-order node lies.

Definition at line 244 of file MeshMapUtilities.hpp.

◆ createNodeKey() [3/4]

template<typename T >
static std::array< T, 6 > geos::createNodeKey ( v1,
v2,
int  a,
int  order 
)
static
Returns
a unique interpolation array representing a high-order node on an edge.
Template Parameters
Ttype of node index, usually a local or global index
Parameters
v1the first mesh vertex defining the edge.
v2the second mesh vertex defining the edge.
athe interpolation parameter, meaning that the node is 'a' steps away from v1 towards v2
orderthe order of the discretization

Definition at line 258 of file MeshMapUtilities.hpp.

◆ createNodeKey() [4/4]

template<typename T >
static std::array< T, 6 > geos::createNodeKey ( v1,
v2,
v3,
v4,
int  a,
int  b,
int  order 
)
static
Returns
a unique interpolation array representing a high-order node on an face.
Template Parameters
Ttype of node index, usually a local or global index
Parameters
v1the first mesh vertex defining the face.
v2the second mesh vertex defining the face.
v3the third mesh vertex defining the face.
v4the fourth mesh vertex defining the face.
athe first interpolation parameter, meaning that the node is 'a' steps away from v1 towards v2 (and v3 towards v4)
bthe second interpolation parameter, meaning that the node is 'b' steps away from v1 towards v2 (and v3 towards v4)
orderthe order of the discretization

Definition at line 286 of file MeshMapUtilities.hpp.

◆ durationToString()

string geos::durationToString ( std::chrono::system_clock::duration const  duration)

Return a string representing duration in seconds.

Parameters
durationThe duration to convert to a string.
Returns
A string representing duration in seconds.

◆ erase() [1/2]

void geos::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.

◆ erase() [2/2]

void geos::erase ( OrderedVariableToManyParticleRelation relation,
localIndex const  firstIndex,
localIndex const  er,
localIndex const  esr,
localIndex const  ei 
)

Remove a particle relation from an object in the relation.

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

◆ fastInsert()

void geos::fastInsert ( OrderedVariableToManyParticleRelation relation,
localIndex const  firstIndex,
localIndex const  er,
localIndex const  esr,
localIndex const  ei 
)

Insert a particle relation for an object in the relation. This is slightly faster than "insert" because it does NOT check for existing membership.

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

◆ forAllElemsInMesh()

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

Loop over all elements in a geos::MeshLevel.

Template Parameters
POLICYThe execution policy for the loop over elements in a geos::ElementSubRegionBase.
LAMBDAThe type of lambda function to execute for each element.
Parameters
meshThe geos::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 42 of file MeshForLoopInterface.hpp.

◆ getAbsolutePath()

std::string geos::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

◆ getElementDim()

int geos::getElementDim ( ElementType const  elementType)
inline

Get number of spatial dimensions of element type.

Parameters
elementTypetype of element
Returns
number of spatial dimensions (1-3)

Definition at line 68 of file ElementType.hpp.

◆ getElementTypeName()

string geos::getElementTypeName ( ElementType const  type)
inline

Returns a string describing the element.

Parameters
[in]typeThe element type.
Returns
The name.
Warning
This information will be visible in the input file... Consider refactoring with great care.

Definition at line 119 of file ElementType.hpp.

◆ getFaceNodes()

localIndex geos::getFaceNodes ( ElementType const  elementType,
localIndex const  elemIdx,
localIndex const  faceNumber,
arrayView2d< localIndex const, cells::NODE_MAP_USD > const &  elementToNodes,
Span< localIndex > const  faceNodes 
)

Get the local indices of the nodes in a face of the element.

Parameters
[in]elementTypeType of the element
[in]elemIdxthe local index of the target element
[in]faceNumberthe local index of the target face in the element (this will be 0-numFacesInElement)
[in]elementToNodesElement to nodes mapping.
[out]faceNodesspace to write node indices to, must be of sufficient size
Returns
number of nodes in the face

◆ getFaceNodesPrism()

template<localIndex N>
localIndex geos::getFaceNodesPrism ( localIndex const  faceNum,
arraySlice1d< localIndex const, cells::NODE_MAP_USD - 1 > const &  elemNodes,
Span< localIndex > const  faceNodes 
)

Get the local indices of the nodes in a face of the prism with N-sided polygon base.

Template Parameters
Nthe number of sides in the polygon base
Parameters
[in]faceNumthe local index of the target face in the element (this will be 0-numFacesInElement)
[in]elemNodesElement to nodes mapping.
[out]faceNodesspace to write node indices to, must be of sufficient size
Returns
number of nodes in the face
Note
The function can be called only for N > 5. For N = 3 and N = 4 function getFaceNodesWedge and getFaceNodesHex, respectively, should be used.

Definition at line 37 of file PrismUtilities.hpp.

◆ getGlobalState()

GeosxState& geos::getGlobalState ( )

Return the current GeosxState.

Returns
The current GeosxState.

◆ getHistoryMetadata() [1/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 geos::getHistoryMetadata ( string const &  name,
ARRAY_T const &  arr,
localIndex const  numComps,
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
numCompsThe number of components in the array
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 221 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [2/6]

template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type geos::getHistoryMetadata ( string const &  name,
ArrayView< T const, 1, 0 > const &  arr,
localIndex const  numComps,
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
numCompsUnused
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 181 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [3/6]

template<typename T >
std::enable_if< can_history_io_container< T > && !can_history_io< typename T::value_type >, HistoryMetadata >::type geos::getHistoryMetadata ( string const &  name,
const T &  type,
localIndex const  numComps,
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
numCompsUnused
sizeOverrideUnused
Returns
A null HistoryMetadata, will never actually return.

Definition at line 259 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [4/6]

template<typename T >
std::enable_if< !can_history_io_container< T > && !can_history_io< T >, HistoryMetadata >::type geos::getHistoryMetadata ( string const &  name,
const T &  type,
localIndex const  numComps,
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
numCompsUnused
sizeOverrideUnused
Returns
A null HistoryMetadata, will never actually return.

Definition at line 277 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [5/6]

template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type geos::getHistoryMetadata ( string const &  name,
const T &  type,
localIndex const  numComps,
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.
numCompsUnused
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 241 of file HistoryDataSpec.hpp.

◆ getHistoryMetadata() [6/6]

template<typename T >
std::enable_if< can_history_io< T >, HistoryMetadata >::type geos::getHistoryMetadata ( string const &  name,
SortedArrayView< T const > const &  arr,
localIndex const  numComps,
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
numCompsUnused
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 201 of file HistoryDataSpec.hpp.

◆ getVersion()

std::string geos::getVersion ( )

Get GEOSX version.

Returns
The full version string.

◆ insert() [1/2]

void geos::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.

◆ insert() [2/2]

void geos::insert ( OrderedVariableToManyParticleRelation relation,
localIndex const  firstIndex,
localIndex const  er,
localIndex const  esr,
localIndex const  ei 
)

Insert a particle relation for an object in the relation. Checks for existing membership.

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

◆ insertMany()

void geos::insertMany ( OrderedVariableToManyParticleRelation relation,
localIndex const  firstIndex,
std::vector< localIndex > const &  erArray,
std::vector< localIndex > const &  esrArray,
std::vector< localIndex > const &  eiArray 
)

Insert a particle relation for several objects in the relation. Does NOT check for existing membership.

Parameters
relationThe relationship mapping to insert a single particle relation for a single object into.
firstIndexThe object index to insert a particle relation from.
erArrayThe array of particle regions to insert.
esrArrayThe array of particle subregions to insert.
eiArrayThe array of particle indices to insert.

◆ isAbsolutePath()

bool geos::isAbsolutePath ( std::string const &  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 152 of file Path.hpp.

◆ isLogLevelActive()

template<typename LOG_LEVEL_INFO >
std::enable_if_t< is_log_level_info< LOG_LEVEL_INFO >, bool > geos::isLogLevelActive ( integer  level)

Verify if a log level is active.

Template Parameters
LOG_LEVEL_INFOThe structure containing log level information.
Parameters
levelLog level to be checked.
Returns
true if the log level is active, false otherwise.
Precondition
LOG_LEVEL_INFO must satisfy logInfo::is_log_level_info.

Definition at line 54 of file LogLevelsInfo.hpp.

◆ joinPath()

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

Join parts of a path.

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

Definition at line 189 of file Path.hpp.

◆ make_multilock()

template<typename ... Mutexes>
auto geos::make_multilock ( Mutexes &&...  mutexes)

Helper to construct MultiMutexesLock (usage auto lock = make_multilock( mutex1, mutex2, ... ))

Parameters
mutexesList of mutex parameters
Returns
A MultiMutexesLock using the mutexes given in parameter.

Definition at line 85 of file MultiMutexesLock.hpp.

◆ makeDirectory()

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

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

Parameters
pathThe path to create.

◆ makeDirsForPath()

void geos::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 geos::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 geos::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 63 of file MeshForLoopInterface.hpp.

◆ numElementTypes()

constexpr integer geos::numElementTypes ( )
inlineconstexpr
Returns
number of supported element types
Note
this MUST be updated if a new element type is inserted after Polyhedron

Definition at line 58 of file ElementType.hpp.

◆ operator<<() [1/3]

template<typename VECTOR >
std::ostream& geos::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 402 of file BlockVectorView.hpp.

◆ operator<<() [2/3]

std::ostream& geos::operator<< ( std::ostream &  os,
State const  state 
)

Stream printer for a State.

Parameters
osThe stream to print to.
stateThe state to print.
Returns
os.

◆ operator<<() [3/3]

template<typename K , typename V , typename SORTED >
std::ostream& geos::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 356 of file DataTypes.hpp.

◆ operator>>()

std::istream& geos::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

◆ parseCommandLineOptions()

std::unique_ptr< CommandLineOptions > geos::parseCommandLineOptions ( int  argc,
char **  argv 
)

Parse the command line options and populate commandLineOptions with the results.

Parameters
argcThe number of command line arguments.
argvThe command line arguments.
Returns
The command line options.

◆ pushStatsIntoAdiak()

template<typename T >
void geos::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 171 of file initializeEnvironment.hpp.

◆ readDirectory()

std::vector< std::string > geos::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

◆ reserveNeighbors()

void geos::reserveNeighbors ( OrderedVariableToManyParticleRelation relation,
int const  numToReserve 
)

Reserve a set number of entities for a particle to relate to.

Parameters
relationThe relationship mapping to insert a single particle relation for a single object into.
numToReserveNumber of entities to reserve

◆ setupEnvironment()

void geos::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 geos::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 > geos::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 geos::trimPath ( std::string const &  path)
inline

Remove the trailing slash is if present.

Parameters
paththe input path
Returns
the trimmed path

Definition at line 170 of file Path.hpp.

◆ writeCells()

void geos::writeCells ( integer const  logLevel,
vtkDataSet &  mesh,
const geos::vtk::CellMapType cellMap,
CellBlockManager cellBlockManager 
)

Build all the cell blocks.

Parameters
[in]logLevelthe log level
[in]meshThe vtkUnstructuredGrid or vtkStructuredGrid that is loaded
[in]cellMapMap from the surfaces index to the list of cells in this surface in this rank.
[in]cellBlockManagerThe instance that stores the cell blocks.

◆ writeNodes()

real64 geos::writeNodes ( integer const  logLevel,
vtkDataSet &  mesh,
string_array nodesetNames,
CellBlockManager cellBlockManager,
const geos::R1Tensor translate,
const geos::R1Tensor scale 
)

Build all the vertex blocks.

Parameters
[in]logLevelthe log level
[in]meshThe vtkUnstructuredGrid or vtkStructuredGrid that is loaded
[in]nodesetNames
[in]cellBlockManagerThe instance that stores the vertex blocks.
[in]translatetranslate the dataset
[in]scalescale the dataset
Returns
size of the dataset on x-axis

◆ writeSurfaces()

void geos::writeSurfaces ( integer const  logLevel,
vtkDataSet &  mesh,
const geos::vtk::CellMapType cellMap,
CellBlockManager cellBlockManager 
)

Build the "surface" node sets from the surface information.

Parameters
[in]logLevelthe log level
[in]meshThe vtkUnstructuredGrid or vtkStructuredGrid that is loaded
[in]cellMapMap from the surfaces index to the list of cells in this surface in this rank.
[out]cellBlockManagerThe instance that stores the node sets.
Note
surfacesIdsToCellsIds will contain all the surface ids across all the MPI ranks, but only its cell ids. If the current MPI rank has no cell id for a given surface, then an empty set will be created.

Variable Documentation

◆ can_history_io

template<typename T >
constexpr bool geos::can_history_io
constexpr
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

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

Definition at line 32 of file HistoryDataSpec.hpp.

◆ can_history_io_container

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

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

Template Parameters
TThe type to check.

Definition at line 166 of file HistoryDataSpec.hpp.

◆ generalMeshErrorAdvice

constexpr auto geos::generalMeshErrorAdvice
inlineconstexpr
Initial value:
= "Consider checking the validity of your mesh with "
"the `mesh_doctor` GEOS python tools (documentation at "
"https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/pythonTools/mesh_doctor.html)."

String available for mesh errors.

Definition at line 144 of file ElementType.hpp.

◆ getUSD

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

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

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

Definition at line 45 of file DataLayouts.hpp.

◆ is_log_level_info

template<typename LOG_LEVEL_INFO >
constexpr bool geos::is_log_level_info
staticconstexpr
Initial value:
=
std::is_same_v< integer, decltype(LOG_LEVEL_INFO::getMinLogLevel()) > &&
std::is_same_v< std::string_view, decltype(LOG_LEVEL_INFO::getDescription()) >
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:82
std::string_view string_view
String type.
Definition: DataTypes.hpp:94

Trait used to check whether a LOG_LEVEL_INFO structure is valid.

Template Parameters
LOG_LEVEL_INFOThe log level structure to check.

A log level structure must have this following struct LogName { static constexpr int getMinLogLevel() { return 1; } static constexpr std::string_view getDescription() { return "Log level description"; } };

Definition at line 40 of file LogLevelsInfo.hpp.