16#include <ElasticSpring.hpp>
17#include <FluidLevel.hpp>
21struct AddFluxToRhsPipelineImpl<
28 AddFluxToRhsPipelineImpl() =
delete;
31 typename NaturalBC<OpBase>::template Assembly<A>::template
LinearForm<I>;
38 using OpFluidLevelRhs =
44 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
46 std::vector<boost::shared_ptr<ScalingMethod>> smv, Sev sev
50 CHKERR T::template AddFluxToPipeline<OpForce>::add(
51 pipeline, m_field,
field_name, smv,
"FORCE", sev);
52 CHKERR T::template AddFluxToPipeline<OpFluidLevelRhs>::add(
53 pipeline, m_field,
field_name, smv, 1,
"FLUID_PRESSURE", sev);
54 auto u_ptr = boost::make_shared<MatrixDouble>();
56 new OpCalculateVectorFieldValues<SPACE_DIM>(
field_name, u_ptr));
57 CHKERR T::template AddFluxToPipeline<OpSpringRhs>::add(
58 pipeline, m_field,
field_name, u_ptr, 1,
"SPRING", sev);
65struct AddFluxToLhsPipelineImpl<
72 AddFluxToLhsPipelineImpl() =
delete;
74 using T =
typename NaturalBC<OpBase>::template Assembly<
83 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
88 CHKERR T::template AddFluxToPipeline<OpSpringLhs>::add(
96struct AddFluxToRhsPipelineImpl<
103 AddFluxToRhsPipelineImpl() =
delete;
106 typename NaturalBC<OpBase>::template Assembly<A>::template
LinearForm<I>;
112 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
114 std::vector<boost::shared_ptr<ScalingMethod>> smv, Sev sev
118 CHKERR T::template AddFluxToPipeline<OpBodyForce>::add(
119 pipeline, m_field,
field_name, smv,
"BODY_FORCE", sev);
constexpr int SPACE_DIM
[Define dimension]
#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.
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
constexpr IntegrationType I
constexpr AssemblyType A
[Define dimension]
constexpr auto field_name
Boundary conditions marker.
Deprecated interface functions.
BoundaryNaturalBC::OpFlux< NaturalForceMeshsets, 1, SPACE_DIM > OpForce
DomainNaturalBCRhs::OpFlux< NaturalMeshsetType< BLOCKSET >, 1, SPACE_DIM > OpBodyForce