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

#include <src/boundary_conditions/EssentialHeatFluxCubitBcData.hpp>

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

Public Types

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

Public Member Functions

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

Private Attributes

double heatFlux
 
VecOfTimeScalingMethods vecOfTimeScalingMethods
 

Detailed Description

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

Definition at line 17 of file EssentialHeatFluxCubitBcData.hpp.

Member Typedef Documentation

◆ OpSource

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

Definition at line 21 of file EssentialHeatFluxCubitBcData.hpp.

Constructor & Destructor Documentation

◆ OpEssentialRhsImpl()

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

Definition at line 36 of file EssentialHeatFluxCubitBcData.hpp.

41 : OpSource(
42 field_name, [this](double, double, double) { return heatFlux; },
43 ents_ptr),
45 heatFlux = -bc_data->data.value1;
46 this->timeScalingFun = [this](const double t) {
47 double s = 1;
48 for (auto &o : vecOfTimeScalingMethods) {
49 s *= o->getScale(t);
50 }
51 return s;
52 };
53}
static Index< 'o', 3 > o
constexpr double t
plate stiffness
Definition: plate.cpp:59
constexpr auto field_name
typename FormsIntegrators< OpBase >::template Assembly< A >::template LinearForm< I >::template OpSource< 3, FIELD_DIM, SourceBoundaryNormalSpecialization > OpSource

Member Data Documentation

◆ heatFlux

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
double MoFEM::OpEssentialRhsImpl< HeatFluxCubitBcData, 3, FIELD_DIM, A, I, OpBase >::heatFlux
private

Definition at line 31 of file EssentialHeatFluxCubitBcData.hpp.

◆ vecOfTimeScalingMethods

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

Definition at line 32 of file EssentialHeatFluxCubitBcData.hpp.


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