11#ifndef _NATURAL_FORCE_MESHSETS_HPP_
12#define _NATURAL_FORCE_MESHSETS_HPP_
22template <
int FIELD_DIM, AssemblyType A, IntegrationType I,
typename OpBase>
38 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
40 std::vector<boost::shared_ptr<ScalingMethod>> smv,
41 const std::string block_name,
Sev sev
46 using OpFluxForceset =
50 using OpFluxPressureset =
54 using OpFluxBlockset =
61 I>::template AddFluxToPipeline<OpFluxForceset>::add(pipeline, m_field,
66 I>::template AddFluxToPipeline<OpFluxPressureset>::add(pipeline,
72 I>::template AddFluxToPipeline<OpFluxBlockset>::add(pipeline, m_field,
86template <
int FIELD_DIM, AssemblyType A, IntegrationType I,
typename OpBase>
104 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
106 std::vector<boost::shared_ptr<ScalingMethod>> smv,
107 const std::string block_name,
Sev sev
110 return add(pipeline, m_field,
field_name, smv, block_name, sev);
115 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
117 std::vector<boost::shared_ptr<ScalingMethod>> smv,
119 const std::string block_name,
Sev sev
124 using OpFluxForceset =
128 using OpFluxPressureset =
132 using OpFluxBlockset =
137 using OpFluxBlocksetVectorScaling =
144 I>::template AddFluxToPipeline<OpFluxForceset>::add(pipeline, m_field,
149 I>::template AddFluxToPipeline<OpFluxPressureset>::add(pipeline,
155 I>::template AddFluxToPipeline<OpFluxBlockset>::add(pipeline, m_field,
160 template AddFluxToPipeline<OpFluxBlocksetVectorScaling>::add(
161 pipeline, m_field,
field_name, vsmv, block_name, sev);
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
SeverityLevel
Severity levels.
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
implementation of Data Operators for Forces and Sources
constexpr IntegrationType I
constexpr auto field_name
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, const std::string block_name, Sev sev)
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, const std::string block_name, Sev sev)
AddFluxToRhsPipelineImpl()=delete
AddFluxToRhsPipelineImpl()=delete
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, const std::string block_name, Sev sev)
Deprecated interface functions.
Natural boundary conditions.
Type generating specialisation for force meshsets.
Type generating specialisation for force meshsets.
Force scale operator for reading four columns (time and vector)