GEOSX
|
#include <FieldSpecificationBase.hpp>
Classes | |
struct | groupKeyStruct |
Group keys. More... | |
struct | viewKeyStruct |
View keys. More... | |
Public Types | |
using | CatalogInterface = dataRepository::CatalogInterface< FieldSpecificationBase, string const &, dataRepository::Group *const > |
Public Types inherited from geosx::dataRepository::Group | |
using | subGroupMap = MappedVector< Group, Group *, keyType, indexType > |
The template specialization of MappedVector to use for the collection of sub-Group objects. | |
using | wrapperMap = MappedVector< WrapperBase, WrapperBase *, keyType, indexType > |
The template specialization of MappedVector to use for the collection wrappers objects. | |
using | CatalogInterface = dataRepository::CatalogInterface< Group, std::string const &, Group *const > |
Type alias for catalog interface used by this class. See CatalogInterface. | |
Public Member Functions | |
virtual const string | getCatalogName () const |
return the catalog name More... | |
FieldSpecificationBase (string const &name, dataRepository::Group *parent) | |
constructor More... | |
virtual | ~FieldSpecificationBase () override |
template<typename FIELD_OP , typename POLICY , typename T , int N, int USD> | |
void | ApplyFieldValueKernel (ArrayView< T, N, USD > const &field, SortedArrayView< localIndex const > const &targetSet, real64 const time, Group *dataGroup) const |
template<typename FIELD_OP , typename POLICY = parallelHostPolicy> | |
void | ApplyFieldValue (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group *dataGroup, string const &fieldname) const |
template<typename FIELD_OP , typename LAI > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, string const &fieldName, string const &dofMapName, integer const &dofDim, typename LAI::ParallelMatrix &matrix, typename LAI::ParallelVector &rhs) const |
Function to apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename LAI , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, integer const &dofDim, typename LAI::ParallelMatrix &matrix, typename LAI::ParallelVector &rhs, LAMBDA &&lambda) const |
Function to apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename LAI , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, real64 const dt, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, integer const &dofDim, typename LAI::ParallelMatrix &matrix, typename LAI::ParallelVector &rhs, LAMBDA &&lambda) const |
Function to apply a boundary condition to a system of equations. More... | |
template<typename LAI > | |
void | ZeroSystemRowsForBoundaryCondition (SortedArrayView< localIndex const > const &targetSet, arrayView1d< globalIndex const > const &dofMap, typename LAI::ParallelMatrix &matrix) const |
Zero matrix rows to apply boundary conditions. More... | |
template<typename FIELD_OP , typename POLICY , typename T , int NDIM, int USD> | |
void | ApplyBoundaryConditionToSystemKernel (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs, ArrayView< T const, NDIM, USD > const &fieldView) const |
Apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename POLICY > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, string const &fieldName, string const &dofMapName, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs) const |
Apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename POLICY , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs, LAMBDA &&lambda) const |
Apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename POLICY , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, real64 const dt, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs, LAMBDA &&lambda) const |
Apply a boundary condition to a system of equations. More... | |
template<typename POLICY > | |
void | ZeroSystemRowsForBoundaryCondition (SortedArrayView< localIndex const > const &targetSet, arrayView1d< globalIndex const > const &dofMap, CRSMatrixView< real64, globalIndex const > const &matrix) const |
Function to zero matrix rows to apply boundary conditions. More... | |
string const & | GetFunctionName () const |
virtual const string & | GetObjectPath () const |
virtual const string & | GetFieldName () const |
virtual int | GetComponent () const |
virtual const R1Tensor & | GetDirection (real64 time) |
real64 | GetStartTime () const |
real64 | GetEndTime () const |
string_array const & | GetSetNames () const |
int | initialCondition () const |
real64 | GetScale () const |
void | SetFieldName (string const &fieldName) |
void | SetObjectPath (string const &objectPath) |
void | SetScale (real64 const &scale) |
void | InitialCondition (bool isInitialCondition) |
void | AddSetName (string const &setName) |
Public Member Functions inherited from geosx::dataRepository::Group | |
Group (std::string const &name, Group *const parent) | |
Constructor. More... | |
Group (Group &&source) | |
Move constructor. More... | |
virtual | ~Group () |
Destructor, deletes all Groups and Wrappers owned by this Group. | |
Group ()=delete | |
Deleted default constructor. | |
Group (Group const &)=delete | |
Deleted copy constructor. | |
Group (Group const &&)=delete | |
Deleted move constructor. | |
Group & | operator= (Group const &)=delete |
Deleted copy assignment operator. More... | |
Group & | operator= (Group &&)=delete |
Deleted move assignment operator. More... | |
virtual const std::type_info & | get_typeid () const |
Get typeid for current group. More... | |
bool | CheckTypeID (std::type_info const &typeToCheck) const |
Check a type_info against the type_info of this Group. More... | |
void | PrintDataHierarchy (integer indent=0) |
Prints the data hierarchy recursively. More... | |
string | dumpInputOptions () const |
template<typename T = Group> | |
T * | RegisterGroup (std::string const &name, std::unique_ptr< T > newObject) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (std::string const &name, T *newObject) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (std::string const &name) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (subGroupMap::KeyIndex const &keyIndex) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group, typename TBASE = Group> | |
T * | RegisterGroup (std::string const &name, std::string const &catalogName) |
Register a new Group as a sub-group of current Group. More... | |
void | deregisterGroup (std::string const &name) |
Removes a child group from this group. More... | |
virtual Group * | CreateChild (string const &childKey, string const &childName) |
Creates a new sub-Group using the ObjectCatalog functionality. More... | |
template<typename T = Group> | |
T * | GetGroup (localIndex index) |
Retrieve a sub-group from the current Group using an index. More... | |
template<typename T = Group> | |
T const * | GetGroup (localIndex index) const |
Retrieve a sub-group from the current Group using an index. More... | |
template<typename T = Group> | |
T * | GetGroup (string const &name) |
Retrieve a sub-group from the current Group using a string. More... | |
template<typename T = Group> | |
T const * | GetGroup (string const &name) const |
Retrieve a sub-group from the current Group using a string. More... | |
template<typename T = Group> | |
T & | getGroupReference (string const &key) |
template<typename T = Group> | |
T const & | getGroupReference (string const &key) const |
template<typename T = Group> | |
T & | GetGroupReference (subGroupMap::KeyIndex const &key) |
template<typename T = Group> | |
T const & | GetGroupReference (subGroupMap::KeyIndex const &key) const |
template<typename T = Group> | |
T * | GetGroup (subGroupMap::KeyIndex const &key) |
Retrieve a sub-group from the current Group using a KeyIndexT. More... | |
template<typename T = Group> | |
T const * | GetGroup (subGroupMap::KeyIndex const &key) const |
Retrieve a sub-group from the current Group using a KeyIndexT. More... | |
template<typename T = Group> | |
T * | GetGroupByPath (string const &path) |
Retrieve a group from the hierarchy using a path. More... | |
template<typename T = Group> | |
T const * | GetGroupByPath (string const &path) const |
Retrieve a group from the hierarchy using a path. More... | |
subGroupMap & | GetSubGroups () |
Get the subgroups object. More... | |
subGroupMap const & | GetSubGroups () const |
Get the subgroups object. More... | |
localIndex | numSubGroups () const |
return the number of sub groups in this Group More... | |
bool | hasGroup (std::string const &name) const |
Check whether a sub-group exists. More... | |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > | |
void | forSubGroups (LAMBDA lambda) |
Apply the given functor to subgroups that can be casted to one of specified types. More... | |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > | |
void | forSubGroups (LAMBDA lambda) const |
Apply the given functor to subgroups that can be casted to one of specified types. More... | |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > | |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA lambda) |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > | |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA lambda) const |
template<typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) |
Apply the given functor to wrappers. More... | |
template<typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) const |
Apply the given functor to wrappers. More... | |
template<typename TYPE , typename ... TYPES, typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) |
Apply the given functor to wrappers that can be cast to one of specified types. More... | |
template<typename TYPE , typename ... TYPES, typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) const |
Apply the given functor to wrappers that can be cast to one of specified types. More... | |
void | Initialize (Group *const group) |
Run initialization functions on this and all subgroups. More... | |
virtual void | InitializationOrder (string_array &order) |
Sets the initialization order for sub-Groups. More... | |
void | InitializePostInitialConditions (Group *const group) |
Initialization routine to be called after calling ApplyInitialConditions(). More... | |
void | postRestartInitializationRecursive (Group *const domain) |
Initialization routine to be called after calling reading a restart file. More... | |
void | ProcessInputFileRecursive (xmlWrapper::xmlNode &targetNode) |
Recursively read values using ProcessInputFile() from the input file and put them into the wrapped values for this group. More... | |
void | PostProcessInputRecursive () |
Recursively call PostProcessInput() to apply post processing after reading input values. | |
template<typename T , typename TBASE = T> | |
Wrapper< TBASE > * | registerWrapper (std::string const &name, wrapperMap::KeyIndex::index_type *const rkey=nullptr) |
Create and register a Wrapper around a new object. More... | |
template<typename T , typename TBASE = T> | |
Wrapper< TBASE > * | registerWrapper (Group::wrapperMap::KeyIndex const &viewKey) |
template<typename T > | |
Wrapper< T > * | registerWrapper (std::string const &name, std::unique_ptr< T > newObject) |
Register a Wrapper around a given object and take ownership. More... | |
template<typename T > | |
Wrapper< T > * | registerWrapper (std::string const &name, T *newObject) |
Register a Wrapper around an existing object, does not take ownership of the object. More... | |
WrapperBase * | registerWrapper (string const &name, std::unique_ptr< WrapperBase > wrapper) |
Register and take ownership of an existing Wrapper. More... | |
void | deregisterWrapper (string const &name) |
Removes a Wrapper from this group. More... | |
void | GenerateDataStructureSkeleton (integer const level) |
Build a complete datastructure for schema generation. More... | |
virtual void | ExpandObjectCatalogs () |
Expand any catalogs in the data structure. | |
virtual void | SetSchemaDeviations (xmlWrapper::xmlNode schemaRoot, xmlWrapper::xmlNode schemaParent, integer documentationType) |
Inform the schema generator of any deviations between the xml and GEOS data structures. More... | |
virtual void | RegisterDataOnMeshRecursive (Group *const meshBodies) |
Calls RegisterDataOnMesh() recursively. More... | |
virtual void | RegisterDataOnMesh (Group *const meshBodies) |
Register data on mesh entities. More... | |
virtual localIndex | PackSize (string_array const &wrapperNames, integer const recursive, bool on_device=false) const |
Get the size required to pack a list of wrappers. More... | |
virtual localIndex | PackSize (string_array const &wrapperNames, arrayView1d< localIndex const > const &packList, integer const recursive, bool on_device=false) const |
Get the size required to pack a list of indices within a list of wrappers. More... | |
virtual localIndex | Pack (buffer_unit_type *&buffer, string_array const &wrapperNames, integer const recursive, bool on_device=false) const |
Pack a list of wrappers to a buffer. More... | |
virtual localIndex | Pack (buffer_unit_type *&buffer, string_array const &wrapperNames, arrayView1d< localIndex const > const &packList, integer const recursive, bool on_device=false) const |
Pack a list of indices within a list of wrappers. More... | |
virtual localIndex | Unpack (buffer_unit_type const *&buffer, arrayView1d< localIndex > &packList, integer const recursive, bool on_device=false) |
Unpack a buffer. More... | |
WrapperBase const * | getWrapperBase (indexType const index) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (indexType const index) |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase const * | getWrapperBase (std::string const &name) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (std::string const &name) |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase const * | getWrapperBase (wrapperMap::KeyIndex const &keyIndex) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (wrapperMap::KeyIndex const &keyIndex) |
Retrieve a WrapperBase stored in this group. More... | |
indexType | getWrapperIndex (std::string const &name) const |
wrapperMap const & | wrappers () const |
Get access to the internal wrapper storage. More... | |
wrapperMap & | wrappers () |
Get access to the internal wrapper storage. More... | |
template<typename LOOKUP_TYPE > | |
bool | hasWrapper (LOOKUP_TYPE const &lookup) const |
Check if a wrapper exists. More... | |
template<typename T , typename LOOKUP_TYPE > | |
Wrapper< T > const * | getWrapper (LOOKUP_TYPE const &index) const |
Retrieve a Wrapper stored in this group. More... | |
template<typename T , typename LOOKUP_TYPE > | |
Wrapper< T > * | getWrapper (LOOKUP_TYPE const &index) |
Retrieve a Wrapper stored in this group. More... | |
template<typename T > | |
Wrapper< T > const * | getWrapper (char const *const key) const |
Retrieve a Wrapper stored in this group. More... | |
template<typename T > | |
Wrapper< T > * | getWrapper (char const *const key) |
Retrieve a Wrapper stored in this group. More... | |
template<typename T , typename LOOKUP_TYPE > | |
GEOSX_DECLTYPE_AUTO_RETURN | getReference (LOOKUP_TYPE const &lookup) const |
Look up a wrapper and get reference to wrapped object. More... | |
template<typename T , typename LOOKUP_TYPE > | |
T & | getReference (LOOKUP_TYPE const &lookup) |
Look up a wrapper and get reference to wrapped object. More... | |
template<typename T > | |
GEOSX_DECLTYPE_AUTO_RETURN | getReference (char const *const name) const |
template<typename T > | |
T & | getReference (char const *const name) |
virtual void | resize (localIndex const newSize) |
Resize the group and all contained wrappers that resize with parent. More... | |
virtual void | reserve (indexType const newsize) |
Set the new capacity and reserve it in all wrappers that resize with parent. More... | |
localIndex | capacity () const |
Get the "capacity" of the group, which determines the capacity of resizable wrappers. More... | |
localIndex | size () const |
Get the "size" of the group, which determines the number of elements in resizable wrappers. More... | |
const string | getName () const |
Get group name. More... | |
Group * | getParent () |
Access the group's parent. More... | |
Group const * | getParent () const |
Access the group's parent. More... | |
localIndex | getIndexInParent () const |
Get the group's index withing its parent group. More... | |
integer | sizedFromParent () const |
Check whether this Group is resized when its parent is resized. More... | |
Group * | setSizedFromParent (int val) |
Set whether this wrapper is resized when its parent is resized. More... | |
RestartFlags | getRestartFlags () const |
Get flags that control restart output of this group. More... | |
void | setRestartFlags (RestartFlags flags) |
Set flags that control restart output of this group. More... | |
InputFlags | getInputFlags () const |
Get input flags for schema generation. More... | |
void | setInputFlags (InputFlags flags) |
Set input flags for schema generation. More... | |
conduit::Node & | getConduitNode () |
Get the Conduit node object associated with this group. More... | |
void | prepareToWrite () |
Register the group and its wrappers with Conduit. | |
void | finishWriting () |
Write the group and its wrappers into Conduit. | |
void | loadFromConduit () |
Read the group and its wrappers from Conduit. | |
void | enableLogLevelInput () |
Enable verbosity input for object. | |
integer | getLogLevel () const |
template<typename T > | |
T | group_cast () |
Downcast this Group. More... | |
template<typename T > | |
T | group_cast () const |
Downcast this Group. More... | |
Static Public Member Functions | |
static CatalogInterface::CatalogType & | GetCatalog () |
static function to return static catalog. More... | |
static string | CatalogName () |
Static Factory Catalog Functions. More... | |
Static Public Member Functions inherited from geosx::dataRepository::Group | |
template<typename T0 , typename T1 , typename ... CASTTYPES, typename CONTAINERTYPE , typename LAMBDA > | |
static bool | applyLambdaToContainer (CONTAINERTYPE &container, LAMBDA &&lambda) |
Apply a given functor to a container if the container can be cast to one of the specified types. More... | |
static CatalogInterface::CatalogType & | GetCatalog () |
Get the singleton catalog for this class. More... | |
template<typename T > | |
static T | group_cast (Group *group) |
Downcast a Group *. More... | |
template<typename T > | |
static T | group_cast (Group const *group) |
Downcast a Group const *. More... | |
Public Attributes | |
struct geosx::FieldSpecificationBase::viewKeyStruct | viewKeys |
viewKeys | |
struct geosx::FieldSpecificationBase::groupKeyStruct | groupKeys |
groupKeys | |
Protected Member Functions | |
void | PostProcessInput () override final |
Protected Member Functions inherited from geosx::dataRepository::Group | |
virtual void | InitializePreSubGroups (Group *const group) |
Called by Initialize() prior to initializing sub-Groups. More... | |
virtual void | InitializePostSubGroups (Group *const group) |
Called by Initialize() after to initializing sub-Groups. More... | |
virtual void | InitializePostInitialConditions_PreSubGroups (Group *const group) |
Called by InitializePostInitialConditions() prior to initializing sub-Groups. More... | |
virtual void | InitializePostInitialConditions_PostSubGroups (Group *const group) |
Called by InitializePostInitialConditions() after to initializing sub-Groups. More... | |
virtual void | postRestartInitialization (Group *const domain) |
Performs initialization required after reading from a restart file. More... | |
Protected Attributes | |
bool | m_normalizeBySetSize |
The flag used to decide if the BC value is normalized by the size of the set on which it is applied. | |
A class to hold values for and administer a single boundary condition
Definition at line 42 of file FieldSpecificationBase.hpp.
geosx::FieldSpecificationBase::FieldSpecificationBase | ( | string const & | name, |
dataRepository::Group * | parent | ||
) |
constructor
name | the name of the FieldSpecificationBase in the data repository |
parent | the parent group of this group. |
|
overridevirtual |
destructor
|
inline |
Mutator
[in] | setName | The name of the set |
Definition at line 560 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystem | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
dataRepository::Group const *const | dataGroup, | ||
string const & | fieldName, | ||
string const & | dofMapName, | ||
integer const & | dofDim, | ||
typename LAI::ParallelMatrix & | matrix, | ||
typename LAI::ParallelVector & | rhs | ||
) | const |
Function to apply a boundary condition to a system of equations.
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
[in] | dataGroup | The Group that contains the field to apply the boundary condition to. |
[in] | fieldName | The name of the field to apply the boundary condition to. |
[in] | dofMapName | The name of the map from the local index of the primary field to the global degree of freedom number. |
[in] | dofDim | The number of degrees of freedom per index of the primary field. For instance this will be 1 for a pressure degree of freedom, and 3 for a displacement degree of freedom. |
[in,out] | matrix | A ParallelMatrix object: the system matrix. |
[in,out] | rhs | A ParallelVector object: the right-hand side. |
This function applies the boundary condition to a linear system of equations. This function is typically called from within the lambda to a call to BoundaryConditionManager::ApplyBoundaryCondition().
Definition at line 689 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystem | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
dataRepository::Group const *const | dataGroup, | ||
arrayView1d< globalIndex const > const & | dofMap, | ||
integer const & | dofDim, | ||
typename LAI::ParallelMatrix & | matrix, | ||
typename LAI::ParallelVector & | rhs, | ||
LAMBDA && | lambda | ||
) | const |
Function to apply a boundary condition to a system of equations.
FIELD_OP | A wrapper struct to define how the boundary condition operates on the variables. Either OpEqual or OpAdd. |
LAMBDA | The type of lambda function passed into the parameter list. |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
[in] | dataGroup | The Group that contains the field to apply the boundary condition to. |
[in] | dofMap | The map from the local index of the primary field to the global degree of freedom number. |
[in] | dofDim | The number of degrees of freedom per index of the primary field. For instance this will be 1 for a pressure degree of freedom, and 3 for a displacement degree of freedom. |
[in,out] | matrix | A ParallelMatrix object: the system matrix. |
[in,out] | rhs | A ParallelVector object: the right-hand side |
[in] | lambda | A lambda function which defines how the value that is passed into the functions provided by the FIELD_OP templated type. |
This function applies the boundary condition to a linear system of equations. This function is typically called from within the lambda to a call to BoundaryConditionManager::ApplyBoundaryCondition().
Definition at line 722 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystem | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
real64 const | dt, | ||
dataRepository::Group const *const | dataGroup, | ||
arrayView1d< globalIndex const > const & | dofMap, | ||
integer const & | dofDim, | ||
typename LAI::ParallelMatrix & | matrix, | ||
typename LAI::ParallelVector & | rhs, | ||
LAMBDA && | lambda | ||
) | const |
Function to apply a boundary condition to a system of equations.
FIELD_OP | A wrapper struct to define how the boundary condition operates on the variables. Either OpEqual or OpAdd. |
LAMBDA | The type of lambda function passed into the parameter list. |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
[in] | dt | time step size which is applied as a factor to bc values |
[in] | dataGroup | The Group that contains the field to apply the boundary condition to. |
[in] | dofMap | The map from the local index of the primary field to the global degree of freedom number. |
[in] | dofDim | The number of degrees of freedom per index of the primary field. For instance this will be 1 for a pressure degree of freedom, and 3 for a displacement degree of freedom. |
[in,out] | matrix | A ParallelMatrix object: the system matrix. |
[in,out] | rhs | A ParallelVector object: the right-hand side |
[in] | lambda | A lambda function which defines how the value that is passed into the functions provided by the FIELD_OP templated type. |
This function applies the boundary condition to a linear system of equations. This function is typically called from within the lambda to a call to BoundaryConditionManager::ApplyBoundaryCondition().
Definition at line 821 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystem | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
dataRepository::Group const *const | dataGroup, | ||
string const & | fieldName, | ||
string const & | dofMapName, | ||
globalIndex const | dofRankOffset, | ||
CRSMatrixView< real64, globalIndex const > const & | matrix, | ||
arrayView1d< real64 > const & | rhs | ||
) | const |
Apply a boundary condition to a system of equations.
FIELD_OP | A wrapper struct to define how the boundary condition operates on the variables. Either OpEqual or OpAdd. |
POLICY | Execution policy to use when iterating over target set. |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
[in] | dataGroup | The Group that contains the field to apply the boundary condition to. |
[in] | fieldName | The name of the field to apply the boundary condition to. |
[in] | dofMapName | The name of the map from the local index of the primary field to the global degree of freedom number. |
[in] | dofRankOffset | Offset of dof indices on current rank. |
[in,out] | matrix | Local part of the system matrix. |
[in,out] | rhs | Local part of the system rhs vector. |
This function applies the boundary condition to a linear system of equations. This function is typically called from within the lambda to a call to BoundaryConditionManager::ApplyBoundaryCondition().
Definition at line 954 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystem | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
dataRepository::Group const *const | dataGroup, | ||
arrayView1d< globalIndex const > const & | dofMap, | ||
globalIndex const | dofRankOffset, | ||
CRSMatrixView< real64, globalIndex const > const & | matrix, | ||
arrayView1d< real64 > const & | rhs, | ||
LAMBDA && | lambda | ||
) | const |
Apply a boundary condition to a system of equations.
FIELD_OP | A wrapper struct to define how the boundary condition operates on the variables. Either OpEqual or OpAdd. |
POLICY | Execution policy to use when iterating over target set. |
LAMBDA | The type of lambda function passed into the parameter list. |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
[in] | dataGroup | The Group that contains the field to apply the boundary condition to. |
[in] | dofMap | The map from the local index of the primary field to the global degree of freedom number. |
[in] | dofRankOffset | Offset of dof indices on current rank. |
[in,out] | matrix | Local part of the system matrix. |
[in,out] | rhs | Local part of the system rhs vector. |
[in] | lambda | A lambda function which defines how the value that is passed into the functions provided by the FIELD_OP templated type. |
This function applies the boundary condition to a linear system of equations. This function is typically called from within the lambda to a call to BoundaryConditionManager::ApplyBoundaryCondition().
Definition at line 978 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystem | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
real64 const | dt, | ||
dataRepository::Group const *const | dataGroup, | ||
arrayView1d< globalIndex const > const & | dofMap, | ||
globalIndex const | dofRankOffset, | ||
CRSMatrixView< real64, globalIndex const > const & | matrix, | ||
arrayView1d< real64 > const & | rhs, | ||
LAMBDA && | lambda | ||
) | const |
Apply a boundary condition to a system of equations.
FIELD_OP | A wrapper struct to define how the boundary condition operates on the variables. Either OpEqual or OpAdd. |
POLICY | Execution policy to use when iterating over target set. |
LAMBDA | The type of lambda function passed into the parameter list. |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
[in] | dt | time step size which is applied as a factor to bc values |
[in] | dataGroup | The Group that contains the field to apply the boundary condition to. |
[in] | dofMap | The map from the local index of the primary field to the global degree of freedom number. |
[in] | dofRankOffset | Offset of dof indices on current rank. |
[in,out] | matrix | Local part of the system matrix. |
[in,out] | rhs | Local part of the system rhs vector. |
[in] | lambda | A lambda function which defines how the value that is passed into the functions provided by the FIELD_OP templated type. |
This function applies the boundary condition to a linear system of equations. This function is typically called from within the lambda to a call to BoundaryConditionManager::ApplyBoundaryCondition().
Definition at line 1001 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyBoundaryConditionToSystemKernel | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
dataRepository::Group const *const | dataGroup, | ||
arrayView1d< globalIndex const > const & | dofMap, | ||
globalIndex const | dofRankOffset, | ||
CRSMatrixView< real64, globalIndex const > const & | matrix, | ||
arrayView1d< real64 > const & | rhs, | ||
ArrayView< T const, NDIM, USD > const & | fieldView | ||
) | const |
Apply a boundary condition to a system of equations.
FIELD_OP | A wrapper struct to define how the boundary condition operates on the variables. Either OpEqual or OpAdd. |
POLICY | Execution policy to use when iterating over the target set. |
T | Data type of the field. |
NDIM | Number of dimensions in the field array. |
USD | Unit stride dimension of the field array. |
targetSet | The set of indices which the boundary condition will be applied. |
time | The time at which any time dependent functions are to be evaluated as part of the application of the boundary condition. |
dataGroup | The Group that contains the field to apply the boundary condition to. |
dofMap | The map from the local index of the primary field to the global degree of freedom number. |
dofRankOffset | Offset of dof indices on current rank. |
matrix | Local part of the system matrix. |
rhs | Local part of the system rhs vector. |
fieldView | Array view of the field data. |
Definition at line 934 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyFieldValue | ( | SortedArrayView< localIndex const > const & | targetSet, |
real64 const | time, | ||
dataRepository::Group * | dataGroup, | ||
string const & | fieldname | ||
) | const |
FIELD_OP | type that contains static functions to apply the value to the field |
[in] | targetSet | the set of indices which the value will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the value. |
[in] | dataGroup | the Group that contains the field to apply the value to. |
[in] | fieldname | the name of the field to apply the value to. |
This function applies the value to a field variable. This function is typically called from within the lambda to a call to FieldSpecificationManager::ApplyFieldValue().
Definition at line 668 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ApplyFieldValueKernel | ( | ArrayView< T, N, USD > const & | field, |
SortedArrayView< localIndex const > const & | targetSet, | ||
real64 const | time, | ||
Group * | dataGroup | ||
) | const |
FIELD_OP | type that contains static functions to apply the value to the field |
[in] | field | the field to apply the value to. |
[in] | targetSet | the set of indices which the value will be applied. |
[in] | time | The time at which any time dependent functions are to be evaluated as part of the application of the value. |
[in] | dataGroup | the Group that contains the field to apply the value to. |
This function applies the value to a field variable.
Definition at line 619 of file FieldSpecificationBase.hpp.
|
inlinevirtual |
Accessor
[in] | time | Time |
Definition at line 469 of file FieldSpecificationBase.hpp.
|
inline |
|
inlinevirtual |
Accessor
Definition at line 450 of file FieldSpecificationBase.hpp.
|
inline |
Accessor
Definition at line 432 of file FieldSpecificationBase.hpp.
|
inlinevirtual |
Accessor
Definition at line 441 of file FieldSpecificationBase.hpp.
|
inline |
|
inline |
Accessor
Definition at line 497 of file FieldSpecificationBase.hpp.
|
inline |
|
inline |
|
inline |
Mutator
[in] | isInitialCondition | Logical value to indicate if it is an initial condition |
Definition at line 551 of file FieldSpecificationBase.hpp.
|
finaloverrideprotectedvirtual |
This function provides capability to post process input values prior to any other initialization operations.
Reimplemented from geosx::dataRepository::Group.
|
inline |
Mutator
[in] | fieldName | The name of the field |
Definition at line 524 of file FieldSpecificationBase.hpp.
|
inline |
Mutator
[in] | objectPath | The path for the object |
Definition at line 533 of file FieldSpecificationBase.hpp.
|
inline |
Mutator
[in] | scale | Scaling factor |
Definition at line 542 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ZeroSystemRowsForBoundaryCondition | ( | SortedArrayView< localIndex const > const & | targetSet, |
arrayView1d< globalIndex const > const & | dofMap, | ||
typename LAI::ParallelMatrix & | matrix | ||
) | const |
Zero matrix rows to apply boundary conditions.
LAI | The linear algebra interface |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | dofMap | The map from the local index of the primary field to the global degree of freedom number. |
[in,out] | matrix | A ParallelMatrix object: the system matrix. |
This function zeroes the rows of the matrix that correspond to boundary conditions.
Definition at line 920 of file FieldSpecificationBase.hpp.
void geosx::FieldSpecificationBase::ZeroSystemRowsForBoundaryCondition | ( | SortedArrayView< localIndex const > const & | targetSet, |
arrayView1d< globalIndex const > const & | dofMap, | ||
CRSMatrixView< real64, globalIndex const > const & | matrix | ||
) | const |
Function to zero matrix rows to apply boundary conditions.
POLICY | the execution policy to use when zeroing rows |
[in] | targetSet | The set of indices which the boundary condition will be applied. |
[in] | dofMap | The map from the local index of the primary field to the global degree of freedom number. |
[in,out] | matrix | the local system matrix |
This function zeroes the rows of the matrix that correspond to boundary conditions.
Definition at line 1092 of file FieldSpecificationBase.hpp.