v0.16.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ThermoElasticOps::ConvectionBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase > Struct Template Reference

#include "tutorials/adv-2_thermo_elasticity/src/ThermalConvection.hpp"

Public Member Functions

 AddFluxToLhsPipelineImpl ()=delete
 
 AddFluxToLhsPipelineImpl ()=delete
 

Static Public Member Functions

static MoFEMErrorCode add (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline, MoFEM::Interface &m_field, std::string row_field_name, std::string col_field_name, std::string block_name, Sev sev)
 
static MoFEMErrorCode add (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline, MoFEM::Interface &m_field, std::string row_field_name, std::string col_field_name, std::string block_name, Sev sev)
 

Detailed Description

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase>
struct AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ThermoElasticOps::ConvectionBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >

Definition at line 279 of file ThermalConvection.hpp.

Constructor & Destructor Documentation

◆ AddFluxToLhsPipelineImpl() [1/2]

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ThermoElasticOps::ConvectionBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::AddFluxToLhsPipelineImpl ( )
delete

◆ AddFluxToLhsPipelineImpl() [2/2]

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ThermoElasticOps::ConvectionBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::AddFluxToLhsPipelineImpl ( )
delete

Member Function Documentation

◆ add() [1/2]

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
static MoFEMErrorCode AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ThermoElasticOps::ConvectionBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::add ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pipeline,
MoFEM::Interface m_field,
std::string  row_field_name,
std::string  col_field_name,
std::string  block_name,
Sev  sev 
)
inlinestatic

Definition at line 289 of file ThermalConvection.hpp.

295 {
297
298 using OP = OpFluxLhsImpl<ThermoElasticOps::ConvectionBcType<BLOCKSET>,
300
301 auto add_op = [&](auto &&meshset_vec_ptr) {
302 for (auto m : meshset_vec_ptr) {
303 MOFEM_TAG_AND_LOG("WORLD", sev, "OpConvectionLhs") << "Add " << *m;
304 pipeline.push_back(
305 new OP(m_field, m->getMeshsetId(), row_field_name, col_field_name));
306 }
307 MOFEM_LOG_CHANNEL("WORLD");
308 };
309
310 switch (BCTYPE) {
311 case BLOCKSET:
312 add_op(
313
314 m_field.getInterface<MeshsetsManager>()->getCubitMeshsetPtr(
315 std::regex(
316
317 (boost::format("%s(.*)") % block_name).str()
318
319 ))
320
321 );
322
323 break;
324 default:
325 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
326 "Handling of bc type not implemented");
327 break;
328 }
330 }
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
constexpr int FIELD_DIM
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ BLOCKSET
@ MOFEM_NOT_IMPLEMENTED
Definition definitions.h:32
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
constexpr int BASE_DIM
@ GAUSS
Gaussian quadrature integration.
@ PETSC
Standard PETSc assembly.
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
FTensor::Index< 'm', 3 > m
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.

◆ add() [2/2]

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
static MoFEMErrorCode AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ThermoElasticOps::ConvectionBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase >::add ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pipeline,
MoFEM::Interface m_field,
std::string  row_field_name,
std::string  col_field_name,
std::string  block_name,
Sev  sev 
)
inlinestatic

Definition at line 277 of file ThermalConvection.hpp.

283 {
285
286 using OP = OpFluxLhsImpl<ThermoElasticOps::ConvectionBcType<BLOCKSET>,
288
289 auto add_op = [&](auto &&meshset_vec_ptr) {
290 for (auto m : meshset_vec_ptr) {
291 MOFEM_TAG_AND_LOG("WORLD", sev, "OpConvectionLhs") << "Add " << *m;
292 pipeline.push_back(
293 new OP(m_field, m->getMeshsetId(), row_field_name, col_field_name));
294 }
295 MOFEM_LOG_CHANNEL("WORLD");
296 };
297
298 switch (BCTYPE) {
299 case BLOCKSET:
300 add_op(
301
302 m_field.getInterface<MeshsetsManager>()->getCubitMeshsetPtr(
303 std::regex(
304
305 (boost::format("%s(.*)") % block_name).str()
306
307 ))
308
309 );
310
311 break;
312 default:
313 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
314 "Handling of bc type not implemented");
315 break;
316 }
318 }

The documentation for this struct was generated from the following files: