v0.14.0
NaturalDomainBC.hpp
Go to the documentation of this file.
1 /**
2  * @file NaturalDomainBC.hpp
3  * @brief Boundary conditions in domain, i.e. body forces.
4  * @version 0.13.2
5  * @date 2022-09-22
6  *
7  * @copyright Copyright (c) 2022
8  *
9  */
10 
11 template <int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I,
12  typename OpBase>
13 struct AddFluxToRhsPipelineImpl<
14 
15  OpFluxRhsImpl<DomainBCs, BASE_DIM, FIELD_DIM, A, I, OpBase>, A, I, OpBase
16 
17  > {
18 
19  AddFluxToRhsPipelineImpl() = delete;
20 
21  using T =
22  typename NaturalBC<OpBase>::template Assembly<A>::template LinearForm<I>;
23  using OpBodyForce = typename T::template OpFlux<NaturalMeshsetType<BLOCKSET>,
25 
27 
28  boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
29  MoFEM::Interface &m_field, std::string field_name, Sev sev
30 
31  ) {
33  CHKERR T::template AddFluxToPipeline<OpBodyForce>::add(
34  pipeline, m_field, field_name, {}, "BODY_FORCE", sev);
36  }
37 };
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
A
constexpr AssemblyType A
Definition: operators_tests.cpp:30
BASE_DIM
constexpr int BASE_DIM
Definition: dg_projection.cpp:15
MoFEM::DeprecatedCoreInterface
Deprecated interface functions.
Definition: DeprecatedCoreInterface.hpp:16
FIELD_DIM
constexpr int FIELD_DIM
Definition: child_and_parent.cpp:15
I
constexpr IntegrationType I
Definition: operators_tests.cpp:31
MoFEM::Sev
MoFEM::LogManager::SeverityLevel Sev
Definition: CoreTemplates.hpp:17
MoFEM::OpBaseImpl
Definition: FormsIntegrators.hpp:170
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
AddFluxToRhsPipelineImpl< OpFluxRhsImpl< DomainBCs, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::OpBodyForce
typename T::template OpFlux< NaturalMeshsetType< BLOCKSET >, BASE_DIM, FIELD_DIM > OpBodyForce
Definition: NaturalDomainBC.hpp:24
AddFluxToRhsPipelineImpl< OpFluxRhsImpl< DomainBCs, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::T
typename NaturalBC< OpBase >::template Assembly< A >::template LinearForm< I > T
Definition: NaturalDomainBC.hpp:22
OpFlux
Definition: hcurl_divergence_operator_2d.cpp:56
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
MoFEM::IntegrationType
IntegrationType
Form integrator integration types.
Definition: FormsIntegrators.hpp:128
MoFEM::AssemblyType
AssemblyType
[Storage and set boundary conditions]
Definition: FormsIntegrators.hpp:104
DomainBCs
[OpInternalForce]
Definition: elastic.cpp:45
AddFluxToRhsPipelineImpl< OpFluxRhsImpl< DomainBCs, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::add
static MoFEMErrorCode add(boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline, MoFEM::Interface &m_field, std::string field_name, Sev sev)
Definition: NaturalDomainBC.hpp:26
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346