GEOS
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE > Class Template Reference

#include <StressStrainAverageKernels.hpp>

Inheritance diagram for geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >:
Inheritance graph
[legend]

Classes

struct  StackVariables
 Kernel variables allocated on the stack. More...
 

Public Types

using Base = AverageOverQuadraturePointsBase< CellElementSubRegion, FE_TYPE >
 Alias for the base class;.
 

Public Member Functions

 AverageStressStrainOverQuadraturePoints (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, CellElementSubRegion const &elementSubRegion, FE_TYPE const &finiteElementSpace, SOLID_TYPE const &solidModel, fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const displacement, fields::solidMechanics::arrayViewConst2dLayoutIncrDisplacement const displacementInc, fields::solidMechanics::arrayView2dLayoutStrain const avgStrain, fields::solidMechanics::arrayView2dLayoutStrain const avgPlasticStrain, arrayView3d< real64 const, solid::STRESS_USD > const stress, fields::solidMechanics::arrayView2dLayoutAvgStress const avgStress)
 Constructor for the class. More...
 
GEOS_HOST_DEVICE void setup (localIndex const k, StackVariables &stack) const
 Performs the setup phase for the kernel. More...
 
GEOS_HOST_DEVICE void quadraturePointKernel (localIndex const k, localIndex const q, StackVariables &stack) const
 Increment the average property with the contribution of the property at this quadrature point. More...
 
- Public Member Functions inherited from geos::AverageOverQuadraturePointsBase< CellElementSubRegion, FE_TYPE >
 AverageOverQuadraturePointsBase (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, CellElementSubRegion const &elementSubRegion, FE_TYPE const &finiteElementSpace)
 Constructor for the class. More...
 
GEOS_HOST_DEVICE void setup (localIndex const k, StackVariables &stack) const
 Performs the setup phase for the kernel. More...
 

Static Public Member Functions

template<typename POLICY , typename KERNEL_TYPE >
static void kernelLaunch (localIndex const numElems, KERNEL_TYPE const &kernelComponent)
 Launch the kernel over the elements in the subRegion. More...
 

Protected Attributes

SOLID_TYPE::KernelWrapper const m_solidUpdate
 The material.
 
fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const m_displacement
 The displacement solution.
 
fields::solidMechanics::arrayViewConst2dLayoutIncrDisplacement const m_displacementInc
 The displacement increment.
 
fields::solidMechanics::arrayView2dLayoutStrain const m_avgStrain
 The average strain.
 
fields::solidMechanics::arrayView2dLayoutStrain const m_avgPlasticStrain
 The average plastic strain.
 
arrayView3d< real64 const, solid::STRESS_USD > const m_stress
 The stress solution.
 
fields::solidMechanics::arrayView2dLayoutAvgStress const m_avgStress
 The average stress.
 
- Protected Attributes inherited from geos::AverageOverQuadraturePointsBase< CellElementSubRegion, FE_TYPE >
FE_TYPE const & m_finiteElementSpace
 
traits::ViewTypeConst< typename SUBREGION_TYPE::NodeMapType::base_type > const m_elemsToNodes
 The element to nodes map.
 
arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const m_X
 The reference position of the nodes.
 
arrayView1d< real64 const > const m_elementVolume
 The volume of the elements.
 
FE_TYPE::template MeshData< CellElementSubRegionm_meshData
 Data structure containing mesh data used to setup the finite element.
 

Detailed Description

template<typename FE_TYPE, typename SOLID_TYPE>
class geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >

Template Parameters
SUBREGION_TYPEthe subRegion type
FE_TYPEthe finite element type
SOLID_TYPEthe solid mechanics constitutuve type

Definition at line 43 of file StressStrainAverageKernels.hpp.

Constructor & Destructor Documentation

◆ AverageStressStrainOverQuadraturePoints()

template<typename FE_TYPE , typename SOLID_TYPE >
geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::AverageStressStrainOverQuadraturePoints ( NodeManager nodeManager,
EdgeManager const &  edgeManager,
FaceManager const &  faceManager,
CellElementSubRegion const &  elementSubRegion,
FE_TYPE const &  finiteElementSpace,
SOLID_TYPE const &  solidModel,
fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const  displacement,
fields::solidMechanics::arrayViewConst2dLayoutIncrDisplacement const  displacementInc,
fields::solidMechanics::arrayView2dLayoutStrain const  avgStrain,
fields::solidMechanics::arrayView2dLayoutStrain const  avgPlasticStrain,
arrayView3d< real64 const, solid::STRESS_USD > const  stress,
fields::solidMechanics::arrayView2dLayoutAvgStress const  avgStress 
)
inline

Constructor for the class.

Parameters
nodeManagerthe node manager
edgeManagerthe edge manager
faceManagerthe face manager
elementSubRegionthe element subRegion
finiteElementSpacethe finite element space
displacementthe displacement solution field
avgStrainthe strain averaged over quadrature points
stressthe stress solution field
avgStressthe stress averaged over quadrature points

Definition at line 69 of file StressStrainAverageKernels.hpp.

Member Function Documentation

◆ kernelLaunch()

template<typename FE_TYPE , typename SOLID_TYPE >
template<typename POLICY , typename KERNEL_TYPE >
static void geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::kernelLaunch ( localIndex const  numElems,
KERNEL_TYPE const &  kernelComponent 
)
inlinestatic

Launch the kernel over the elements in the subRegion.

Template Parameters
POLICYthe kernel policy
KERNEL_TYPEthe type of kernel
Parameters
numElemsthe number of elements in the subRegion
kernelComponentthe kernel component

Definition at line 180 of file StressStrainAverageKernels.hpp.

◆ quadraturePointKernel()

template<typename FE_TYPE , typename SOLID_TYPE >
GEOS_HOST_DEVICE void geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::quadraturePointKernel ( localIndex const  k,
localIndex const  q,
StackVariables stack 
) const
inline

Increment the average property with the contribution of the property at this quadrature point.

Parameters
kThe element index
qThe quadrature point index
stackThe StackVariables object that hold the stack variables.

Definition at line 137 of file StressStrainAverageKernels.hpp.

◆ setup()

template<typename FE_TYPE , typename SOLID_TYPE >
GEOS_HOST_DEVICE void geos::AverageStressStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::setup ( localIndex const  k,
StackVariables stack 
) const
inline

Performs the setup phase for the kernel.

Parameters
kThe element index.
stackThe StackVariable object that hold the stack variables.

Definition at line 108 of file StressStrainAverageKernels.hpp.


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