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

#include <src/boundary_conditions/NaturalMeshsetType.hpp>

Inheritance diagram for MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >:
[legend]
Collaboration diagram for MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 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

 OpFluxRhsImpl (const std::string field_name, FTensor::Tensor1< double, FIELD_DIM > t_force, boost::shared_ptr< Range > ents_ptr, std::vector< boost::shared_ptr< ScalingMethod > > smv)
 

Protected Member Functions

 OpFluxRhsImpl (const std::string field_name, std::vector< boost::shared_ptr< ScalingMethod > > smv)
 

Protected Attributes

FTensor::Tensor1< double, FIELD_DIMtForce
 
VecOfTimeScalingMethods vecOfTimeScalingMethods
 

Detailed Description

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase>
struct MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >

Definition at line 70 of file NaturalMeshsetType.hpp.

Member Typedef Documentation

◆ OpSource

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

Definition at line 74 of file NaturalMeshsetType.hpp.

Constructor & Destructor Documentation

◆ OpFluxRhsImpl() [1/2]

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >::OpFluxRhsImpl ( const std::string  field_name,
FTensor::Tensor1< double, FIELD_DIM t_force,
boost::shared_ptr< Range ents_ptr,
std::vector< boost::shared_ptr< ScalingMethod > >  smv 
)

Definition at line 188 of file NaturalMeshsetType.hpp.

193 : OpFluxRhsImpl(field_name, smv) {
195 this->tForce(i) = t_force(i);
196 this->entsPtr = ents_ptr;
197}
FTensor::Index< 'i', SPACE_DIM > i
constexpr auto field_name
OpFluxRhsImpl(const std::string field_name, FTensor::Tensor1< double, FIELD_DIM > t_force, boost::shared_ptr< Range > ents_ptr, std::vector< boost::shared_ptr< ScalingMethod > > smv)

◆ OpFluxRhsImpl() [2/2]

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >::OpFluxRhsImpl ( const std::string  field_name,
std::vector< boost::shared_ptr< ScalingMethod > >  smv 
)
protected

Definition at line 200 of file NaturalMeshsetType.hpp.

203 : OpSource(
205
206 [this](const double, const double, const double) { return tForce; }
207
208 ),
210 this->timeScalingFun = [this](const double t) {
211 double s = 1;
212 for (auto &o : vecOfTimeScalingMethods) {
213 s *= o->getScale(t);
214 }
215 return s;
216 };
217
218 static_assert(FIELD_DIM > 1, "Is not implemented for scalar field");
219}
static Index< 'o', 3 > o
constexpr int FIELD_DIM
constexpr double t
plate stiffness
Definition: plate.cpp:59
typename FormsIntegrators< OpBase >::template Assembly< A >::template LinearForm< I >::template OpSource< 1, FIELD_DIM > OpSource

Member Data Documentation

◆ tForce

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
FTensor::Tensor1<double, FIELD_DIM> MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >::tForce
protected

Definition at line 85 of file NaturalMeshsetType.hpp.

◆ vecOfTimeScalingMethods

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
VecOfTimeScalingMethods MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >::vecOfTimeScalingMethods
protected

Definition at line 86 of file NaturalMeshsetType.hpp.


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