GEOSX
Public Types | Static Public Member Functions | List of all members
geosx::FieldSpecificationAdd Struct Reference

#include <FieldSpecificationOps.hpp>

Inheritance diagram for geosx::FieldSpecificationAdd:
Inheritance graph
[legend]

Public Types

using base_type = FieldSpecificationOp< OpAdd >
 Alias for FieldSpecificationOp< OpAdd >
 
- Public Types inherited from geosx::FieldSpecificationOp< OpAdd >
using OpType = OpAdd
 Alias for OP, the operator.
 

Static Public Member Functions

static GEOSX_HOST_DEVICE void SpecifyFieldValue (globalIndex const dof, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, real64 &rhs, real64 const bcValue, real64 const fieldValue)
 Function to apply a value to a vector field for a single dof. More...
 
template<typename LAI >
static void prescribeRhsValues (typename LAI::ParallelVector &rhs, localIndex const num, globalIndex *const dof, real64 *const values)
 Function to add some values of a vector. More...
 
template<typename POLICY >
static void prescribeRhsValues (arrayView1d< real64 > const &rhs, arrayView1d< globalIndex const > const &dof, globalIndex const dofRankOffset, arrayView1d< real64 const > const &values)
 Function to add some values of a vector. More...
 
- Static Public Member Functions inherited from geosx::FieldSpecificationOp< OpAdd >
static GEOSX_HOST_DEVICE std::enable_if< !traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView1d< T > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field. More...
 
static GEOSX_HOST_DEVICE std::enable_if< traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView1d< T > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< !traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView2d< T, USD > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView2d< T, USD > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< !traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView3d< T, USD > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView3d< T, USD > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< !traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView4d< T, USD > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< traits::is_tensorT< T >, void >::type SpecifyFieldValue (arrayView4d< T, USD > const &field, localIndex const index, integer const component, real64 const value)
 Pointwise application of a value to a field variable. More...
 
static GEOSX_HOST_DEVICE std::enable_if< !traits::is_tensorT< T >, void >::type readFieldValue (arrayView1d< T const > const &field, localIndex const index, integer const component, real64 &value)
 Read a field value. More...
 
static GEOSX_HOST_DEVICE std::enable_if< traits::is_tensorT< T >, void >::type readFieldValue (arrayView1d< T const > const &field, localIndex const index, integer const component, real64 &value)
 Read a field value. More...
 
static GEOSX_HOST_DEVICE std::enable_if< !traits::is_tensorT< T >, void >::type readFieldValue (arrayView2d< T const, USD > const &field, localIndex const index, integer const component, real64 &value)
 Read value from a 2d field. More...
 
static GEOSX_HOST_DEVICE std::enable_if< traits::is_tensorT< T >, void >::type readFieldValue (arrayView2d< T const, USD > const &field, localIndex const index, integer const component, real64 &value)
 This function is not meaningful. It exists for generic purposes, but will result in an error if called. More...
 
static GEOSX_HOST_DEVICE void readFieldValue (arrayView3d< T const, USD > const &field, localIndex const index, integer const component, real64 &value)
 This function is not meaningful. It exists for generic purposes, but will result in an error if called. More...
 
static GEOSX_HOST_DEVICE void readFieldValue (arrayView4d< T const, USD > const &field, localIndex const index, integer const component, real64 &value)
 This function is not meaningful. It exists for generic purposes, but will result in an error if called. More...
 

Detailed Description

this struct a collection of static functions which adhere to an assumed interface for adding a value for a field.

Definition at line 683 of file FieldSpecificationOps.hpp.

Member Function Documentation

◆ prescribeRhsValues() [1/2]

template<typename LAI >
static void geosx::FieldSpecificationAdd::prescribeRhsValues ( typename LAI::ParallelVector &  rhs,
localIndex const  num,
globalIndex *const  dof,
real64 *const  values 
)
inlinestatic

Function to add some values of a vector.

Parameters
rhsA ParallelVector object.
numThe number of values in rhs to replace
dofA pointer to the global DOF to be replaced
valuesA pointer to the values corresponding to dof that will be added to rhs.

Definition at line 723 of file FieldSpecificationOps.hpp.

◆ prescribeRhsValues() [2/2]

template<typename POLICY >
static void geosx::FieldSpecificationAdd::prescribeRhsValues ( arrayView1d< real64 > const &  rhs,
arrayView1d< globalIndex const > const &  dof,
globalIndex const  dofRankOffset,
arrayView1d< real64 const > const &  values 
)
inlinestatic

Function to add some values of a vector.

Template Parameters
POLICYthe execution policy to use when setting values
Parameters
rhsthe target right-hand side vector
dofa list of global DOF indices to be set
dofRankOffsetoffset of dof indices on current rank
valuesa list of values corresponding to dof that will be added to rhs.

Definition at line 740 of file FieldSpecificationOps.hpp.

◆ SpecifyFieldValue()

static GEOSX_HOST_DEVICE void geosx::FieldSpecificationAdd::SpecifyFieldValue ( globalIndex const  dof,
globalIndex const  dofRankOffset,
CRSMatrixView< real64, globalIndex const > const &  matrix,
real64 rhs,
real64 const  bcValue,
real64 const  fieldValue 
)
inlinestatic

Function to apply a value to a vector field for a single dof.

Parameters
[in]dofThe degree of freedom that is to be modified.
[in]dofRankOffsetoffset of dof indices on current rank
[in]matrixA ParalleMatrix object: the system matrix.
[out]rhsThe rhs contribution to be modified
[in]bcValueThe value to add to rhs
[in]fieldValueunused.

Definition at line 701 of file FieldSpecificationOps.hpp.


The documentation for this struct was generated from the following file: