v0.14.0
Public Member Functions | Private Attributes | List of all members
ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp > Struct Template Reference

#include <users_modules/adolc-plasticity/src/ADOLCPlasticity.hpp>

Inheritance diagram for ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >:
[legend]
Collaboration diagram for ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >:
[legend]

Public Member Functions

 OpRhsImpl (std::string field_name, boost::shared_ptr< CommonData > common_data_ptr)
 
MoFEMErrorCode iNtegrate (EntitiesFieldData::EntData &data)
 [OpRhsImpl integrate] More...
 

Private Attributes

boost::shared_ptr< CommonDatacommonDataPtr
 
MatrixDouble baseStorage
 Store tensorial base functions. More...
 

Detailed Description

template<int DIM, typename AssemblyDomainEleOp>
struct ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >

Definition at line 534 of file ADOLCPlasticity.hpp.

Constructor & Destructor Documentation

◆ OpRhsImpl()

template<int DIM, typename AssemblyDomainEleOp >
ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::OpRhsImpl ( std::string  field_name,
boost::shared_ptr< CommonData common_data_ptr 
)
Examples
ADOLCPlasticity.hpp.

Definition at line 558 of file ADOLCPlasticity.hpp.

560  : AssemblyDomainEleOp(field_name, field_name, AssemblyDomainEleOp::OPROW),
561  commonDataPtr(common_data_ptr) {}

Member Function Documentation

◆ iNtegrate()

template<int DIM, typename AssemblyDomainEleOp >
MoFEMErrorCode ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::iNtegrate ( EntitiesFieldData::EntData data)

[OpRhsImpl integrate]

Examples
ADOLCPlasticity.hpp.

Definition at line 565 of file ADOLCPlasticity.hpp.

566  {
568  using OP = AssemblyDomainEleOp;
571  double *w_ptr = &(OP::getGaussPts()(DIM, 0));
572  // Calulate tensorial base functions. Apply bBar method when needed
574  data, baseStorage, commonDataPtr->bBar, OP::getGaussPts().size2(), w_ptr,
576  auto t_stress = getFTensor2SymmetricFromMat<3>(commonDataPtr->stressMatrix);
577  const auto vol = OP::getMeasure();
578  auto t_w = OP::getFTensor0IntegrationWeight();
579  for (int gg = 0; gg != OP::nbIntegrationPts; gg++) {
580  double alpha = vol * t_w;
581  for (int bb = 0; bb != OP::nbRows; ++bb) {
582  OP::locF[bb] += alpha * (t_stress(i, j) * t_diff(i, j));
583  ++t_diff;
584  }
585  ++t_w;
586  ++t_stress;
587  }
589 }

Member Data Documentation

◆ baseStorage

template<int DIM, typename AssemblyDomainEleOp >
MatrixDouble ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::baseStorage
private

Store tensorial base functions.

Definition at line 541 of file ADOLCPlasticity.hpp.

◆ commonDataPtr

template<int DIM, typename AssemblyDomainEleOp >
boost::shared_ptr<CommonData> ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::commonDataPtr
private

Definition at line 540 of file ADOLCPlasticity.hpp.


The documentation for this struct was generated from the following file:
ADOLCPlasticity::MakeB::getFTensor2SymmetricDiffBase
static FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 6 >, 3 > getFTensor2SymmetricDiffBase(DataForcesAndSourcesCore::EntData &data, MatrixDouble &storage, const bool b_bar, const int nb_integration_pts, double *w_ptr, FTensor::Number< 2 >)
Definition: ADOLCPlasticity.cpp:186
ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::baseStorage
MatrixDouble baseStorage
Store tensorial base functions.
Definition: ADOLCPlasticity.hpp:541
FTensor::Number
Definition: Number.hpp:11
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
FTensor::Index< 'i', 3 >
ADOLCPlasticity::OpRhsImpl< DIM, GAUSS, AssemblyDomainEleOp >::commonDataPtr
boost::shared_ptr< CommonData > commonDataPtr
Definition: ADOLCPlasticity.hpp:540
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
AssemblyDomainEleOp
FormsIntegrators< DomainEleOp >::Assembly< A >::OpBase AssemblyDomainEleOp
Definition: tensor_divergence_operator.cpp:59
OP
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359