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

#include <src/boundary_conditions/NaturalMeshsetType.hpp>

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

Public Types

using Parent = OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >
 
using EntData = EntitiesFieldData::EntData
 
- Public Types inherited from MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >
using OpSource = typename FormsIntegrators< OpBase >::template Assembly< A >::template LinearForm< I >::template OpSource< 1, FIELD_DIM >
 

Public Member Functions

 OpFluxRhsImpl (MoFEM::Interface &m_field, int ms_id, const std::string field_name, std::vector< boost::shared_ptr< ScalingMethod > > smv)
 
- Public Member Functions inherited from 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)
 

Protected Member Functions

MoFEMErrorCode iNtegrate (EntData &data)
 
MoFEMErrorCode getMeshsetData (MoFEM::Interface &m_field, int ms_id)
 
- Protected Member Functions inherited from MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >
 OpFluxRhsImpl (const std::string field_name, std::vector< boost::shared_ptr< ScalingMethod > > smv)
 

Protected Attributes

double surfacePressure
 
- Protected Attributes inherited from MoFEM::OpFluxRhsImpl< NaturalMeshsetType< UNKNOWNSET >, 1, FIELD_DIM, A, I, OpBase >
FTensor::Tensor1< double, FIELD_DIMtForce
 
VecOfTimeScalingMethods vecOfTimeScalingMethods
 

Detailed Description

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

Definition at line 50 of file NaturalMeshsetType.hpp.

Member Typedef Documentation

◆ EntData

Definition at line 56 of file NaturalMeshsetType.hpp.

◆ Parent

Definition at line 54 of file NaturalMeshsetType.hpp.

Constructor & Destructor Documentation

◆ OpFluxRhsImpl()

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

Definition at line 309 of file NaturalMeshsetType.hpp.

313 : OpFluxRhsImpl<NaturalMeshsetType<UNKNOWNSET>, 1, FIELD_DIM, A, I, OpBase>(
314 field_name, smv) {
315 CHK_THROW_MESSAGE(getMeshsetData(m_field, ms_id), "Get meshset data");
316}
constexpr int FIELD_DIM
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
Definition: definitions.h:595
constexpr IntegrationType I
constexpr AssemblyType A
constexpr auto field_name

Member Function Documentation

◆ getMeshsetData()

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

Definition at line 340 of file NaturalMeshsetType.hpp.

340 {
342
343 auto cubit_meshset_ptr =
344 m_field.getInterface<MeshsetsManager>()->getCubitMeshsetPtr(ms_id,
345 SIDESET);
346
347 PressureCubitBcData pressure_data;
348 CHKERR cubit_meshset_ptr->getBcDataStructure(pressure_data);
349 this->surfacePressure = pressure_data.data.value1;
350
351 this->entsPtr = boost::make_shared<Range>();
352 CHKERR m_field.get_moab().get_entities_by_handle(cubit_meshset_ptr->meshset,
353 *(this->entsPtr), true);
354
356}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
@ SIDESET
Definition: definitions.h:147
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
#define CHKERR
Inline error check.
Definition: definitions.h:535
virtual moab::Interface & get_moab()=0
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.

◆ iNtegrate()

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
MoFEMErrorCode MoFEM::OpFluxRhsImpl< NaturalMeshsetType< PRESSURESET >, 1, FIELD_DIM, A, I, OpBase >::iNtegrate ( EntData data)
protected

Definition at line 320 of file NaturalMeshsetType.hpp.

320 {
322
323 auto t_normal = this->getFTensor1Normal();
325
326 this->sourceFun = [&](const double, const double, const double) {
327 this->tForce(i) = t_normal(i);
328 this->tForce.normalize();
329 this->tForce(i) *= this->surfacePressure;
330 return this->tForce;
331 };
332
333 CHKERR Parent::iNtegrate(data);
335}
Tensor1< T, Tensor_Dim > normalize()
FTensor::Index< 'i', SPACE_DIM > i

Member Data Documentation

◆ surfacePressure

template<int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
double MoFEM::OpFluxRhsImpl< NaturalMeshsetType< PRESSURESET >, 1, FIELD_DIM, A, I, OpBase >::surfacePressure
protected

Definition at line 66 of file NaturalMeshsetType.hpp.


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