v0.14.0
NaturalTemperatureMeshsets.hpp
Go to the documentation of this file.
1 /**
2  * @file NaturalTemperatureMeshsets.hpp
3  * @brief
4  * @version 0.1
5  * @date 2022-09-18
6  *
7  * @copyright Copyright (c) 2022
8  *
9  */
10 
11 #ifndef _NATURAL_TEMPERATURE_MESHSETS_HPP_
12 #define _NATURAL_TEMPERATURE_MESHSETS_HPP_
13 
14 namespace MoFEM {
15 
16 /**
17  * @brief Type generating specialisation for temperature meshsets
18  *
19  */
21 
22 template <int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase>
24 
25 template <int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I,
26  typename OpBase>
28 
30  OpBase>,
31  A, I, OpBase
32 
33  > {
34 
35  AddFluxToRhsPipelineImpl() = delete;
36 
38 
39  boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pipeline,
40  MoFEM::Interface &m_field, const std::string field_name,
41  std::vector<boost::shared_ptr<ScalingMethod>> smv,
42  const std::string block_name, Sev sev
43 
44  ) {
46 
47  using OpFluxTempSet =
48  typename NaturalBC<OpBase>::template Assembly<A>::template LinearForm<
50  FIELD_DIM>;
51  using OpFluxBlockset =
52  typename NaturalBC<OpBase>::template Assembly<A>::template LinearForm<
54  FIELD_DIM>;
55 
56  CHKERR
57  NaturalBC<OpBase>::template Assembly<A>::template LinearForm<
58  I>::template AddFluxToPipeline<OpFluxTempSet>::add(pipeline, m_field,
59  field_name, smv,
60  block_name, sev);
61  CHKERR
62  NaturalBC<OpBase>::template Assembly<A>::template LinearForm<
63  I>::template AddFluxToPipeline<OpFluxBlockset>::add(pipeline, m_field,
64  field_name, smv,
65  block_name, sev);
66 
68  }
69 };
70 
71 } // namespace MoFEM
72 
73 #endif // _NATURAL_TEMPERATURE_MESHSETS_HPP_
MoFEM::OpFluxRhsImpl
Definition: Natural.hpp:39
MoFEM::AddFluxToRhsPipelineImpl< OpFluxRhsImpl< NaturalTemperatureMeshsets, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::add
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)
Definition: NaturalTemperatureMeshsets.hpp:37
MoFEM::NaturalBC
Natural boundary conditions.
Definition: Natural.hpp:57
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::OpBaseImpl
Definition: FormsIntegrators.hpp:170
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
OpFlux
Definition: hcurl_divergence_operator_2d.cpp:56
MoFEM::LogManager::SeverityLevel
SeverityLevel
Severity levels.
Definition: LogManager.hpp:33
MoFEM::AddFluxToRhsPipelineImpl
Definition: Natural.hpp:46
MoFEM::NaturalTemperatureMeshsets
Type generating specialisation for temperature meshsets.
Definition: NaturalTemperatureMeshsets.hpp:20
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
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