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

Namespaces

 dataRepository
 
 extrinsicMeshData
 
 SiloFileUtilities
 
 SolidMechanicsLagrangianFEMKernels
 Namespace to contain the solid mechanics kernels.
 

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  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  CompositeFunction
 
class  Cylinder
 Class to represent a geometric cylinder in GEOSX. More...
 
class  DirichletBoundaryCondition
 
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  EmbeddedSurfaceRegion
 
class  EmbeddedSurfaceSubRegion
 
struct  EnumStrings
 Provides enum <-> string conversion facilities. 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  EventBase
 
class  EventManager
 
class  ExecutableGroup
 
class  FaceElementRegion
 
class  FaceElementStencil
 
struct  FaceElementStencil_Traits
 
class  FaceElementSubRegion
 
class  FaceManager
 The FaceManager class provides an interface to ObjectManagerBase in order to manage face data. More...
 
struct  FieldSpecificationAdd
 
class  FieldSpecificationBase
 
struct  FieldSpecificationEqual
 
class  FieldSpecificationManager
 
struct  FieldSpecificationOp
 FieldSpecificationOp. More...
 
class  FiniteVolumeManager
 
class  FluxApproximationBase
 
class  FluxStencil
 
class  FunctionBase
 
class  FunctionManager
 
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  HaltEvent
 
class  HDFFile
 
class  HDFHistIO
 Perform buffered history I/O for a single type(really just output) on using HDF5. More...
 
class  HDFSerialHistIO
 Perform buffered history I/O for a single type(really just output) on using HDF5 into multiple files on the comm. 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  HypreInterface
 This class holds aliases based on the Hypre library. More...
 
class  HypreMatrix
 Wrapper class for hypre's ParCSRMatrix. More...
 
struct  HyprePrecAuxData
 Container for hypre preconditioner auxiliary data. More...
 
struct  HyprePrecFuncs
 Container for hypre preconditioner function pointers. More...
 
class  HyprePreconditioner
 Wrapper around hypre-based preconditioners. More...
 
class  HypreSolver
 This class creates and provides basic support for Hypre solvers. More...
 
struct  HypreSolverFuncs
 Container for hypre Krylov solver function pointers. More...
 
class  HypreVector
 Wrapper class for hypre's ParVector. More...
 
class  InternalMeshGenerator
 The InternalMeshGenerator class is a class handling GEOSX generated meshes. More...
 
class  InternalWellGenerator
 
class  InterObjectRelation
 
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...
 
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...
 
class  MeshUtilities
 This class is used to generate the utilities for the mesh. More...
 
class  NodeManager
 The NodeManager class provides an interface to ObjectManagerBase in order to manage node data. More...
 
class  NormalOperator
 NormalOperator Simple class to apply the operator A^T * A to a vector. More...
 
class  NumericalMethodsManager
 
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  PeriodicEvent
 
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...
 
struct  PointDescriptor
 A structure describing an arbitrary point participating in a stencil. 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  ProblemManager
 This is the class handling the operation flow of the problem being ran in GEOSX. 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  SoloEvent
 
class  SourceFluxBoundaryCondition
 
class  StencilBase
 
class  Stopwatch
 Class defining a simple stopwatch for interval timing. More...
 
class  SuiteSparse
 This class provides an interface for UMFPACK direct solver from SuiteSparse linear algebra package. More...
 
class  SuperLU_Dist
 
class  SurfaceElementRegion
 
class  SurfaceElementSubRegion
 
class  SymbolicFunction
 
class  TableFunction
 
class  TaskBase
 
class  TasksManager
 A class to manage and execute tasks. 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  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...
 
struct  TypeRegex< ENUM, std::enable_if_t< internal::HasEnumStrings< ENUM > > >
 Specialization of TypeRegex for enumeration types with strings attached (pun intended).
 
class  VectorBase
 Common base template for all vector wrapper types. More...
 
class  VTKOutput
 
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  xmlWrapper
 

Typedefs

using SSInt = SuiteSparse_long
 
using LAInterface = CONCAT(GEOSX_LA_INTERFACE, Interface)
 Alias for current interface.
 
using ParallelMatrix = LAInterface::ParallelMatrix
 Alias for ParallelMatrix.
 
using ParallelVector = LAInterface::ParallelVector
 Alias for ParallelVector.
 
using LinearSolver = LAInterface::LinearSolver
 Alias for LinearSolver.
 
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.
 
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 = std::ptrdiff_t
 Local index type (for indexing objects within an MPI partition).
 
using globalIndex = long long int
 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.
 
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 = 4>
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 = localIndex>
using CRSMatrix = LvArray::CRSMatrix< T, COL_INDEX, localIndex, LvArray::ChaiBuffer >
 Alias for CRS Matrix class.
 
template<typename T , typename COL_INDEX = localIndex>
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.
 

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

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 getAbsolutePath (std::string const &path, std::string &absolutePath)
 Gets the absolute path of a file. More...
 
bool isAbsolutePath (const std::string &path)
 Tells wether 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...
 
void splitPath (std::string const &path, std::string &dirName, std::string &baseName)
 Split the path in two parts : directory name and file name. More...
 
void readDirectory (std::string const &path, std::vector< std::string > &files)
 List all the files of one directory. More...
 
void makeDirsForPath (std::string const &path)
 Make directories for path. More...
 
template<typename Operator >
real64 ArnoldiLargestEigenvalue (Operator const &op, localIndex const m=4)
 Function implementing the Arnoldi scheme to compute the largest eigenvalue. More...
 
SSInt toSuiteSparse_Int (globalIndex const index)
 Convert GEOSX globalIndex value to SuiteSparse int. More...
 
int_t toSuperLU_intT (globalIndex const index)
 Convert GEOSX globalIndex value to SuperLU_Dist int_t. More...
 
int_t * toSuperLU_intT (globalIndex *const index)
 Converts a non-const array from GEOSX globalIndex type to SuperLU_Dist int_t. More...
 
array1d< HYPRE_Int > computeLocalDofComponentLabels (arraySlice1d< localIndex const > const &numComponentsPerField, arraySlice1d< localIndex const > const &numLocalDofsPerField)
 Compute an array of unique component labels. More...
 
void ConvertHypreToSuiteSparseMatrix (HypreMatrix const &matrix, SuiteSparse &SSData)
 Converts a matrix from Hypre to SuiteSparse format. More...
 
int SuiteSparseSolve (SuiteSparse &SSData, HypreVector const &b, HypreVector &x, bool transpose=false)
 Solves a linear system with SuiteSparse (matrix has already been factorized) More...
 
real64 HypreSuiteSparseCond (HypreMatrix const &matrix, SuiteSparse &SSData)
 Computes an accurate condition number (time consuming function!!!) More...
 
void HypreConvertToSuperMatrix (HypreMatrix const &matrix, SuperLU_Dist &SLUDData)
 Converts a matrix from Hypre to SuperLU_Dist format. More...
 
real64 HypreSuperLU_DistCond (HypreMatrix const &matrix, SuperLU_Dist &SLUDData)
 Computes an accurate condition number (time consuming function!!!) More...
 
HYPRE_Int toHYPRE_Int (integer const index)
 Convert GEOSX integer value to hypre int. More...
 
HYPRE_BigInt toHYPRE_BigInt (globalIndex const index)
 Convert GEOSX global index value to hypre bigint. More...
 
HYPRE_BigInt * toHYPRE_BigInt (globalIndex *const index)
 Converts a non-const array from GEOSX globalIndex type to HYPRE_BigInt. More...
 
HYPRE_BigInt const * toHYPRE_BigInt (globalIndex const *const index)
 Converts a const array from GEOSX globalIndex type to HYPRE_BigInt. More...
 
void setupLAI (int &argc, char **&argv)
 High level interface to call the proper LAI initialize function. More...
 
void finalizeLAI ()
 High level interface to call the proper LAI finalize function.
 
void ConvertPetscToSuiteSparseMatrix (PetscMatrix const &matrix, SuiteSparse &SSData)
 Converts a matrix from Petsc to SuiteSparse format. More...
 
int SuiteSparseSolve (SuiteSparse &SSData, PetscVector const &b, PetscVector &x, bool transpose=false)
 Solves a linear system with SuiteSparse (matrix has already been factorized) More...
 
real64 PetscSuiteSparseCond (PetscMatrix const &matrix, SuiteSparse &SSData)
 Computes an accurate condition number (time consuming function!!!) More...
 
void PetscConvertToSuperMatrix (PetscMatrix const &matrix, Mat &localMatrix, SuperLU_Dist &SLUDData)
 Converts a matrix from Petsc to SuperLU_Dist format. More...
 
void PetscDestroyAdditionalData (Mat &localMatrix)
 Destroys data needed to convert a matrix from Petsc to SuperLU_Dist format. More...
 
real64 PetscSuperLU_DistCond (PetscMatrix const &matrix, SuperLU_Dist &SLUDData)
 Computes an accurate condition number (time consuming function!!!) More...
 
PetscInt * toPetscInt (globalIndex *const index)
 Converts a non-const array from GEOSX globalIndex type to PetscInt. More...
 
PetscInt const * toPetscInt (globalIndex const *const index)
 Converts a const array from GEOSX globalIndex type to PetscInt. More...
 
void ConvertEpetraToSuiteSparseMatrix (EpetraMatrix const &matrix, SuiteSparse &SSData, Epetra_Map *&serialMap, Epetra_Import *&importToSerial)
 Converts a matrix from Epetra to SuiteSparse format. More...
 
int SuiteSparseSolve (SuiteSparse &SSData, Epetra_Map const *serialMap, Epetra_Import const *importToSerial, EpetraVector const &b, EpetraVector &x, bool transpose=false)
 Solves a linear system with SuiteSparse (matrix has already been factorized) More...
 
real64 EpetraSuiteSparseCond (EpetraMatrix const &matrix, Epetra_Map const *serialMap, Epetra_Import const *importToSerial, SuiteSparse &SSData)
 Computes an accurate condition number (time consuming function!!!) More...
 
void EpetraConvertToSuperMatrix (EpetraMatrix const &matrix, SuperLU_Dist &SLUDData)
 Converts a matrix from Epetra to SuperLU_Dist format. More...
 
real64 EpetraSuperLU_DistCond (EpetraMatrix const &matrix, SuperLU_Dist &SLUDData)
 Computes an accurate condition number (time consuming function!!!) More...
 
long long * toEpetraLongLong (globalIndex *const index)
 Converts a non-const array from GEOSX globalIndex type to Epetra long long. More...
 
long long const * toEpetraLongLong (globalIndex const *const index)
 Converts a const array from GEOSX globalIndex type to Epetra long long. More...
 
template<typename VECTOR >
std::ostream & operator<< (std::ostream &os, BlockVectorView< VECTOR > const &vec)
 Stream insertion operator. More...
 
template<class POLICY = serialPolicy, typename LAMBDA = void>
void forAllElemsInMesh (MeshLevel const *const mesh, LAMBDA &&lambda)
 Loop over all elements in a geosx::MeshLevel. More...
 
template<typename LAMBDA >
auto minLocOverElemsInMesh (MeshLevel const *const mesh, LAMBDA &&lambda)
 
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 basicSetup (int argc, char *argv[], bool const parseCommandLine=false)
 Perform the basic GEOSX initialization and optionally parse the command line input. More...
 
CommandLineOptions const & getCommandLineOptions ()
 
void overrideInputFileName (std::string const &inputFileName)
 Override the input file name, useful only for tests. More...
 
void basicCleanup ()
 Perform the basic GEOSX cleanup.
 
void setupLogger ()
 Initialize the logger.
 
void finalizeLogger ()
 Finalize the logger.
 
void setupCXXUtils ()
 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.
 
template<typename T >
void pushStatsIntoAdiak (std::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 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...
 

Variables

int MPI_COMM_GEOSX
 Global MPI communicator used by GEOSX.
 
DO_NOT_DOCUMENT 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

◆ SSInt

using geosx::SSInt = typedef SuiteSparse_long

SuiteSparse integer definition

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

◆ 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 Operator >
real64 geosx::ArnoldiLargestEigenvalue ( Operator const &  op,
localIndex const  m = 4 
)

Function implementing the Arnoldi scheme to compute the largest eigenvalue.

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

Definition at line 111 of file Arnoldi.hpp.

◆ basicSetup()

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

◆ computeLocalDofComponentLabels()

array1d< HYPRE_Int > geosx::computeLocalDofComponentLabels ( arraySlice1d< localIndex const > const &  numComponentsPerField,
arraySlice1d< localIndex const > const &  numLocalDofsPerField 
)
inline

Compute an array of unique component labels.

Todo:
Add a detailed description with an example
Parameters
numComponentsPerFieldarray of number of components per field
numLocalDofsPerFieldarray of local number of dofs per field
Returns
array1d of HYPRE_Int labels

Definition at line 40 of file HypreMGRStrategies.hpp.

◆ ConvertEpetraToSuiteSparseMatrix()

void geosx::ConvertEpetraToSuiteSparseMatrix ( EpetraMatrix const &  matrix,
SuiteSparse SSData,
Epetra_Map *&  serialMap,
Epetra_Import *&  importToSerial 
)

Converts a matrix from Epetra to SuiteSparse format.

Parameters
[in]matrixthe EpetraMatrix object
[out]SSDatathe structure containing the matrix in SuiteSparse format
[out]serialMapEpetra map for the serial matrix
[out]importToSerialEpetra import to convert from parallel to serial matrix

◆ ConvertHypreToSuiteSparseMatrix()

void geosx::ConvertHypreToSuiteSparseMatrix ( HypreMatrix const &  matrix,
SuiteSparse SSData 
)

Converts a matrix from Hypre to SuiteSparse format.

Parameters
[in]matrixthe HypreMatrix object
[out]SSDatathe structure containing the matrix in SuiteSparse format

◆ ConvertPetscToSuiteSparseMatrix()

void geosx::ConvertPetscToSuiteSparseMatrix ( PetscMatrix const &  matrix,
SuiteSparse SSData 
)

Converts a matrix from Petsc to SuiteSparse format.

Parameters
[in]matrixthe PetscMatrix object
[out]SSDatathe structure containing the matrix in SuiteSparse format

◆ 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 80 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 94 of file DataTypes.hpp.

◆ EpetraConvertToSuperMatrix()

void geosx::EpetraConvertToSuperMatrix ( EpetraMatrix const &  matrix,
SuperLU_Dist SLUDData 
)

Converts a matrix from Epetra to SuperLU_Dist format.

Parameters
[in]matrixthe EpetraMatrix object
[out]SLUDDatathe structure containing the matrix in SuperLU_Dist format

◆ EpetraSuiteSparseCond()

real64 geosx::EpetraSuiteSparseCond ( EpetraMatrix const &  matrix,
Epetra_Map const *  serialMap,
Epetra_Import const *  importToSerial,
SuiteSparse SSData 
)

Computes an accurate condition number (time consuming function!!!)

Parameters
[in]matrixthe EpetraMatrix object
[in]serialMapEpetra map for the serial matrix
[in]importToSerialEpetra import to convert from parallel to serial matrix
[in]SSDatathe structure containing the matrix in SuiteSparse format
Returns
the condition number

◆ EpetraSuperLU_DistCond()

real64 geosx::EpetraSuperLU_DistCond ( EpetraMatrix const &  matrix,
SuperLU_Dist SLUDData 
)

Computes an accurate condition number (time consuming function!!!)

Parameters
[in]matrixthe EpetraMatrix object
[in]SLUDDatathe structure containing the matrix in SuperLU_Dist format
Returns
the condition number

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

void geosx::getAbsolutePath ( std::string const &  path,
std::string &  absolutePath 
)

Gets the absolute path of a file.

Parameters
[in]paththe relative path to the file
[out]absolutePaththe absolute path to the file

◆ getCommandLineOptions()

CommandLineOptions const& geosx::getCommandLineOptions ( )
Returns
a struct containing all the parsed command line options.

◆ 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 233 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 250 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 269 of file HistoryDataSpec.hpp.

◆ HypreConvertToSuperMatrix()

void geosx::HypreConvertToSuperMatrix ( HypreMatrix const &  matrix,
SuperLU_Dist SLUDData 
)

Converts a matrix from Hypre to SuperLU_Dist format.

Parameters
[in]matrixthe HypreMatrix object
[out]SLUDDatathe structure containing the matrix in SuperLU_Dist format

◆ HypreSuiteSparseCond()

real64 geosx::HypreSuiteSparseCond ( HypreMatrix const &  matrix,
SuiteSparse SSData 
)

Computes an accurate condition number (time consuming function!!!)

Parameters
[in]matrixthe HypreMatrix object
[in]SSDatathe structure containing the matrix in SuiteSparse format
Returns
the condition number

◆ HypreSuperLU_DistCond()

real64 geosx::HypreSuperLU_DistCond ( HypreMatrix const &  matrix,
SuperLU_Dist SLUDData 
)

Computes an accurate condition number (time consuming function!!!)

Parameters
[in]matrixthe HypreMatrix object
[in]SLUDDatathe structure containing the matrix in SuperLU_Dist format
Returns
the condition number

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

Tells wether the path is absolute of not.

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

◆ makeDirsForPath()

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

Make directories for path.

Parameters
pathThe path to create.

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 *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 373 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

◆ overrideInputFileName()

void geosx::overrideInputFileName ( std::string const &  inputFileName)

Override the input file name, useful only for tests.

Parameters
inputFileNamenew input file name

◆ PetscConvertToSuperMatrix()

void geosx::PetscConvertToSuperMatrix ( PetscMatrix const &  matrix,
Mat &  localMatrix,
SuperLU_Dist SLUDData 
)

Converts a matrix from Petsc to SuperLU_Dist format.

Parameters
[in]matrixthe PetscMatrix object
[out]localMatrixlocal matrix in Petsc format
[out]SLUDDatathe structure containing the matrix in SuperLU_Dist format

◆ PetscDestroyAdditionalData()

void geosx::PetscDestroyAdditionalData ( Mat &  localMatrix)

Destroys data needed to convert a matrix from Petsc to SuperLU_Dist format.

Parameters
[in,out]localMatrixlocal matrix in Petsc format

◆ PetscSuiteSparseCond()

real64 geosx::PetscSuiteSparseCond ( PetscMatrix const &  matrix,
SuiteSparse SSData 
)

Computes an accurate condition number (time consuming function!!!)

Parameters
[in]matrixthe PetscMatrix object
[in]SSDatathe structure containing the matrix in SuiteSparse format
Returns
the condition number

◆ PetscSuperLU_DistCond()

real64 geosx::PetscSuperLU_DistCond ( PetscMatrix const &  matrix,
SuperLU_Dist SLUDData 
)

Computes an accurate condition number (time consuming function!!!)

Parameters
[in]matrixthe PetscMatrix object
[in]SLUDDatathe structure containing the matrix in SuperLU_Dist format
Returns
the condition number

◆ pushStatsIntoAdiak()

template<typename T >
void geosx::pushStatsIntoAdiak ( std::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 151 of file initialization.hpp.

◆ readDirectory()

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

List all the files of one directory.

Taken from http://www.martinbroadhurst.com/list-the-files-in-a-directory-in-c.html

Parameters
[in]pathpath to the directory
[out]filesvector containing allt the file path

◆ setupLAI()

void geosx::setupLAI ( int &  argc,
char **&  argv 
)
inline

High level interface to call the proper LAI initialize function.

Parameters
[in]argcstandard argc as in any C main
[in]argvstandard argv as in any C main

Definition at line 61 of file InterfaceTypes.hpp.

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

void geosx::splitPath ( std::string const &  path,
std::string &  dirName,
std::string &  baseName 
)

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

Parameters
[in]paththe input path
[out]dirNamename of the directory
[out]baseNamethe name of the file

◆ SuiteSparseSolve() [1/3]

int geosx::SuiteSparseSolve ( SuiteSparse SSData,
HypreVector const &  b,
HypreVector x,
bool  transpose = false 
)

Solves a linear system with SuiteSparse (matrix has already been factorized)

Parameters
[in,out]SSDatathe structure containing the matrix in SuiteSparse format
[in]bthe right-hand side in Hypre format
[out]xthe solution in Hypre format
[in]transposewhether to solve for the original or the transpose matrix
Returns
info error code

◆ SuiteSparseSolve() [2/3]

int geosx::SuiteSparseSolve ( SuiteSparse SSData,
PetscVector const &  b,
PetscVector x,
bool  transpose = false 
)

Solves a linear system with SuiteSparse (matrix has already been factorized)

Parameters
[in,out]SSDatathe structure containing the matrix in SuiteSparse format
[in]bthe right-hand side in Petsc format
[out]xthe solution in Petsc format
[in]transposewhether to solve for the original or the transpose matrix
Returns
info error code

◆ SuiteSparseSolve() [3/3]

int geosx::SuiteSparseSolve ( SuiteSparse SSData,
Epetra_Map const *  serialMap,
Epetra_Import const *  importToSerial,
EpetraVector const &  b,
EpetraVector x,
bool  transpose = false 
)

Solves a linear system with SuiteSparse (matrix has already been factorized)

Parameters
[in,out]SSDatathe structure containing the matrix in SuiteSparse format
[in]serialMapEpetra map for the serial matrix
[in]importToSerialEpetra import to convert from parallel to serial matrix
[in]bthe right-hand side in Epetra format
[out]xthe solution in Epetra format
[in]transposewhether to solve for the original or the transpose matrix
Returns
info error code

◆ toEpetraLongLong() [1/2]

long long* geosx::toEpetraLongLong ( globalIndex *const  index)
inline

Converts a non-const array from GEOSX globalIndex type to Epetra long long.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 31 of file EpetraUtils.hpp.

◆ toEpetraLongLong() [2/2]

long long const* geosx::toEpetraLongLong ( globalIndex const *const  index)
inline

Converts a const array from GEOSX globalIndex type to Epetra long long.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 41 of file EpetraUtils.hpp.

◆ toHYPRE_BigInt() [1/3]

HYPRE_BigInt geosx::toHYPRE_BigInt ( globalIndex const  index)
inline

Convert GEOSX global index value to hypre bigint.

Parameters
indexthe input value
Returns
the converted value

Definition at line 45 of file HypreUtils.hpp.

◆ toHYPRE_BigInt() [2/3]

HYPRE_BigInt* geosx::toHYPRE_BigInt ( globalIndex *const  index)
inline

Converts a non-const array from GEOSX globalIndex type to HYPRE_BigInt.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 55 of file HypreUtils.hpp.

◆ toHYPRE_BigInt() [3/3]

HYPRE_BigInt const* geosx::toHYPRE_BigInt ( globalIndex const *const  index)
inline

Converts a const array from GEOSX globalIndex type to HYPRE_BigInt.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 65 of file HypreUtils.hpp.

◆ toHYPRE_Int()

HYPRE_Int geosx::toHYPRE_Int ( integer const  index)
inline

Convert GEOSX integer value to hypre int.

Parameters
indexthe input value
Returns
the converted value

Definition at line 35 of file HypreUtils.hpp.

◆ toPetscInt() [1/2]

PetscInt* geosx::toPetscInt ( globalIndex *const  index)
inline

Converts a non-const array from GEOSX globalIndex type to PetscInt.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 33 of file PetscUtils.hpp.

◆ toPetscInt() [2/2]

PetscInt const* geosx::toPetscInt ( globalIndex const *const  index)
inline

Converts a const array from GEOSX globalIndex type to PetscInt.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 43 of file PetscUtils.hpp.

◆ toSuiteSparse_Int()

SSInt geosx::toSuiteSparse_Int ( globalIndex const  index)
inline

Convert GEOSX globalIndex value to SuiteSparse int.

Parameters
indexthe input value
Returns
the converted value

Definition at line 40 of file SuiteSparse.hpp.

◆ toSuperLU_intT() [1/2]

int_t geosx::toSuperLU_intT ( globalIndex const  index)
inline

Convert GEOSX globalIndex value to SuperLU_Dist int_t.

Parameters
indexthe input value
Returns
the converted value

Definition at line 35 of file SuperLU_Dist.hpp.

◆ toSuperLU_intT() [2/2]

int_t* geosx::toSuperLU_intT ( globalIndex *const  index)
inline

Converts a non-const array from GEOSX globalIndex type to SuperLU_Dist int_t.

Parameters
[in]indexthe input array
Returns
the converted array

Definition at line 45 of file SuperLU_Dist.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

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.