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

#include <src/boundary_conditions/NaturalMeshsetType.hpp>

Inheritance diagram for MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >:
[legend]
Collaboration diagram for MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >:
[legend]

Public Types

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

Public Member Functions

 OpFluxRhsImpl (const std::string field_name, double value, boost::shared_ptr< Range > ents_ptr, std::vector< boost::shared_ptr< ScalingMethod >> smv, ScalarFun user_fun=[](double, double, double) { return 1;})
 

Protected Member Functions

 OpFluxRhsImpl (const std::string field_name, std::vector< boost::shared_ptr< ScalingMethod >> smv, ScalarFun user_fun=[](double, double, double) { return 1;})
 
MoFEMErrorCode getMeshsetData (MoFEM::Interface &m_field, int ms_id)
 

Protected Attributes

double scalarValue = 0
 
ScalarFun userFun
 
VecOfTimeScalingMethods vecOfTimeScalingMethods
 

Detailed Description

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

Definition at line 121 of file NaturalMeshsetType.hpp.

Member Typedef Documentation

◆ OpSource

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

Definition at line 126 of file NaturalMeshsetType.hpp.

Constructor & Destructor Documentation

◆ OpFluxRhsImpl() [1/2]

template<AssemblyType A, IntegrationType I, typename OpBase >
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::OpFluxRhsImpl ( const std::string  field_name,
double  value,
boost::shared_ptr< Range ents_ptr,
std::vector< boost::shared_ptr< ScalingMethod >>  smv,
ScalarFun  user_fun = [](doubledoubledouble) { return 1; } 
)

Definition at line 461 of file NaturalMeshsetType.hpp.

465  : OpFluxRhsImpl(field_name, smv, user_fun) {
466  this->scalarValue = value;
467  this->entsPtr = ents_ptr;
468 }

◆ OpFluxRhsImpl() [2/2]

template<AssemblyType A, IntegrationType I, typename OpBase >
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::OpFluxRhsImpl ( const std::string  field_name,
std::vector< boost::shared_ptr< ScalingMethod >>  smv,
ScalarFun  user_fun = [](doubledoubledouble) { return 1; } 
)
protected

Definition at line 472 of file NaturalMeshsetType.hpp.

476 
477  [this](const double x, const double y, const double z) {
478  return scalarValue * userFun(x, y, z);
479  }
480 
481  ),
482  vecOfTimeScalingMethods(smv), userFun(user_fun) {
483 
484  this->timeScalingFun = [this](const double t) {
485  double s = 1;
486  for (auto &o : vecOfTimeScalingMethods) {
487  s *= o->getScale(t);
488  }
489  return s;
490  };
491 }

Member Function Documentation

◆ getMeshsetData()

template<AssemblyType A, IntegrationType I, typename OpBase >
MoFEMErrorCode MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::getMeshsetData ( MoFEM::Interface m_field,
int  ms_id 
)
protected

Member Data Documentation

◆ scalarValue

template<AssemblyType A, IntegrationType I, typename OpBase >
double MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::scalarValue = 0
protected

Definition at line 142 of file NaturalMeshsetType.hpp.

◆ userFun

template<AssemblyType A, IntegrationType I, typename OpBase >
ScalarFun MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::userFun
protected

Definition at line 143 of file NaturalMeshsetType.hpp.

◆ vecOfTimeScalingMethods

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

Definition at line 145 of file NaturalMeshsetType.hpp.


The documentation for this struct was generated from the following file:
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::userFun
ScalarFun userFun
Definition: NaturalMeshsetType.hpp:143
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::vecOfTimeScalingMethods
VecOfTimeScalingMethods vecOfTimeScalingMethods
Definition: NaturalMeshsetType.hpp:145
t
constexpr double t
plate stiffness
Definition: plate.cpp:59
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::scalarValue
double scalarValue
Definition: NaturalMeshsetType.hpp:142
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::OpSource
typename FormsIntegrators< OpBase >::template Assembly< A >::template LinearForm< I >::template OpSource< 1, 1 > OpSource
Definition: NaturalMeshsetType.hpp:126
MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, 1, A, I, OpBase >::OpFluxRhsImpl
OpFluxRhsImpl(const std::string field_name, double value, boost::shared_ptr< Range > ents_ptr, std::vector< boost::shared_ptr< ScalingMethod >> smv, ScalarFun user_fun=[](double, double, double) { return 1;})
Definition: NaturalMeshsetType.hpp:461