v0.13.2
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase > Struct Template Reference

#include <src/boundary_conditions/EssentialDisplacementCubitBcData.hpp>

Inheritance diagram for MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase >:
[legend]
Collaboration diagram for MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase >:
[legend]

Public Types

using OpSource = typename FormsIntegrators< OpBase >::template Assembly< A >::template LinearForm< I >::template OpSource< 1, FIELD_DIM >
 

Public Member Functions

 OpEssentialRhsImpl (const std::string field_name, boost::shared_ptr< DisplacementCubitBcData > bc_data, boost::shared_ptr< Range > ents_ptr, std::vector< boost::shared_ptr< ScalingMethod > > smv)
 

Private Attributes

FTensor::Tensor1< double, FIELD_DIMtVal
 
VecOfTimeScalingMethods vecOfTimeScalingMethods
 

Detailed Description

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase>
struct MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase >

Definition at line 40 of file EssentialDisplacementCubitBcData.hpp.

Member Typedef Documentation

◆ OpSource

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
using MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase >::OpSource = typename FormsIntegrators<OpBase>::template Assembly< A>::template LinearForm<I>::template OpSource<1, FIELD_DIM>

Definition at line 44 of file EssentialDisplacementCubitBcData.hpp.

Constructor & Destructor Documentation

◆ OpEssentialRhsImpl()

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase >::OpEssentialRhsImpl ( const std::string  field_name,
boost::shared_ptr< DisplacementCubitBcData bc_data,
boost::shared_ptr< Range ents_ptr,
std::vector< boost::shared_ptr< ScalingMethod > >  smv 
)

Definition at line 58 of file EssentialDisplacementCubitBcData.hpp.

63 : OpSource(
64 field_name, [this](double, double, double) { return tVal; },
65 ents_ptr),
67 static_assert(FIELD_DIM > 1, "Is not implemented for scalar field");
68
70 tVal(i) = 0;
71 if (bc_data->data.flag1 == 1)
72 tVal(0) = -bc_data->data.value1;
73 if (bc_data->data.flag2 == 1 && FIELD_DIM > 1)
74 tVal(1) = -bc_data->data.value2;
75 if (bc_data->data.flag3 == 1 && FIELD_DIM > 2)
76 tVal(2) = -bc_data->data.value3;
77
78 this->timeScalingFun = [this](const double t) {
79 double s = 1;
80 for (auto &o : vecOfTimeScalingMethods) {
81 s *= o->getScale(t);
82 }
83 return s;
84 };
85}
static Index< 'o', 3 > o
constexpr int FIELD_DIM
T data[Tensor_Dim]
FTensor::Index< 'i', SPACE_DIM > i
constexpr double t
plate stiffness
Definition: plate.cpp:59
constexpr auto field_name
typename FormsIntegrators< OpBase >::template Assembly< A >::template LinearForm< I >::template OpSource< 1, FIELD_DIM > OpSource

Member Data Documentation

◆ tVal

Definition at line 53 of file EssentialDisplacementCubitBcData.hpp.

◆ vecOfTimeScalingMethods

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
VecOfTimeScalingMethods MoFEM::OpEssentialRhsImpl< DisplacementCubitBcData, 1, FIELD_DIM, A, I, OpBase >::vecOfTimeScalingMethods
private

Definition at line 54 of file EssentialDisplacementCubitBcData.hpp.


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