11#include <ElasticSpring.hpp>
23struct AddFluxToRhsPipelineImpl<
30 AddFluxToRhsPipelineImpl() =
delete;
33 typename NaturalBC<OpBase>::template Assembly<A>::template
LinearForm<I>;
39 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
41 std::vector<boost::shared_ptr<ScalingMethod>> smv, Sev sev
45 CHKERR T::template AddFluxToPipeline<OpBodyForce>::add(
46 pipeline, m_field,
field_name, smv,
"BODY_FORCE", sev);
53struct AddFluxToRhsPipelineImpl<
60 AddFluxToRhsPipelineImpl() =
delete;
63 typename NaturalBC<OpBase>::template Assembly<A>::template
LinearForm<I>;
73 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
75 std::vector<boost::shared_ptr<ScalingMethod>> smv, Sev sev
79 CHKERR T::template AddFluxToPipeline<OpForce>::add(
80 pipeline, m_field,
field_name, smv,
"FORCE", sev);
81 auto u_ptr = boost::make_shared<MatrixDouble>();
83 new OpCalculateVectorFieldValues<SPACE_DIM>(
field_name, u_ptr));
84 CHKERR T::template AddFluxToPipeline<OpSpringRhs>::add(
85 pipeline, m_field,
field_name, u_ptr, 1,
"SPRING", sev);
92struct AddFluxToLhsPipelineImpl<
99 AddFluxToLhsPipelineImpl() =
delete;
101 using T =
typename NaturalBC<OpBase>::template Assembly<
110 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
115 CHKERR T::template AddFluxToPipeline<OpSpringLhs>::add(
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