v0.13.2
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
MoFEM::AddFluxToRhsPipelineImpl< OpFluxRhsImpl< NaturalMeshsetTypeVectorScaling< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase > Struct Template Reference

#include <src/boundary_conditions/NaturalMeshsetType.hpp>

Public Member Functions

 AddFluxToRhsPipelineImpl ()=delete
 

Static Public Member Functions

static MoFEMErrorCode add (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline, MoFEM::Interface &m_field, const std::string field_name, std::vector< boost::shared_ptr< ScalingMethod > > smv, std::vector< boost::shared_ptr< TimeScaleVector< FIELD_DIM > > > vsmv, std::string block_name, Sev sev)
 

Detailed Description

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase>
struct MoFEM::AddFluxToRhsPipelineImpl< OpFluxRhsImpl< NaturalMeshsetTypeVectorScaling< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >

Definition at line 779 of file NaturalMeshsetType.hpp.

Constructor & Destructor Documentation

◆ AddFluxToRhsPipelineImpl()

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
MoFEM::AddFluxToRhsPipelineImpl< OpFluxRhsImpl< NaturalMeshsetTypeVectorScaling< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::AddFluxToRhsPipelineImpl ( )
delete

Member Function Documentation

◆ add()

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
static MoFEMErrorCode MoFEM::AddFluxToRhsPipelineImpl< OpFluxRhsImpl< NaturalMeshsetTypeVectorScaling< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::add ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pipeline,
MoFEM::Interface m_field,
const std::string  field_name,
std::vector< boost::shared_ptr< ScalingMethod > >  smv,
std::vector< boost::shared_ptr< TimeScaleVector< FIELD_DIM > > >  vsmv,
std::string  block_name,
Sev  sev 
)
inlinestatic

Definition at line 789 of file NaturalMeshsetType.hpp.

797 {
799
800 using OPV =
801 typename NaturalBC<OpBase>::template Assembly<A>::template LinearForm<
804
805 auto add_opv = [&](auto &&meshset_vec_ptr) {
806 for (auto m : meshset_vec_ptr) {
807 MOFEM_TAG_AND_LOG("WORLD", sev, "OpFlux") << "Add " << *m;
808 pipeline.push_back(
809 new OPV(m_field, m->getMeshsetId(), field_name, vsmv));
810 }
811 MOFEM_LOG_CHANNEL("WORLD");
812 };
813
814 switch (BCTYPE) {
815 case BLOCKSET:
816 add_opv(
817
818 m_field.getInterface<MeshsetsManager>()->getCubitMeshsetPtr(
819 std::regex(
820
821 (boost::format("%s(.*)") % block_name).str()
822
823 ))
824
825 );
826
827 break;
828 default:
829 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
830 "Handling of bc type not implemented");
831 break;
832 }
834 }
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
Definition: LogManager.hpp:362
constexpr int FIELD_DIM
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
@ BLOCKSET
Definition: definitions.h:148
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
FTensor::Index< 'm', SPACE_DIM > m
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
Definition: LogManager.hpp:284
constexpr int BASE_DIM
constexpr IntegrationType I
constexpr auto field_name
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.

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