v0.14.0
Public Member Functions | Static Public Member Functions | List of all members
AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ElasticExample::SpringBcType< BCTYPE >, BASE_DIM, FIELD_DIM, A, I, OpBase >, A, I, OpBase > Struct Template Reference

#include <users_modules/tutorials/vec-0/src/ElasticSpring.hpp>

Public Member Functions

 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)
 

Detailed Description

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

Definition at line 302 of file ElasticSpring.hpp.

Constructor & Destructor Documentation

◆ AddFluxToLhsPipelineImpl()

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

Member Function Documentation

◆ add()

template<CubitBC BCTYPE, int BASE_DIM, int FIELD_DIM, AssemblyType A, IntegrationType I, typename OpBase >
static MoFEMErrorCode AddFluxToLhsPipelineImpl< OpFluxLhsImpl< ElasticExample::SpringBcType< 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 312 of file ElasticSpring.hpp.

318  {
320 
321  using OP = OpFluxLhsImpl<ElasticExample::SpringBcType<BLOCKSET>, BASE_DIM,
323 
324  auto add_op = [&](auto &&meshset_vec_ptr) {
325  for (auto m : meshset_vec_ptr) {
326  MOFEM_TAG_AND_LOG("WORLD", sev, "OpSpringLhs") << "Add " << *m;
327  pipeline.push_back(
328  new OP(m_field, m->getMeshsetId(), row_field_name, col_field_name));
329  }
330  MOFEM_LOG_CHANNEL("WORLD");
331  };
332 
333  switch (BCTYPE) {
334  case BLOCKSET:
335  add_op(
336 
337  m_field.getInterface<MeshsetsManager>()->getCubitMeshsetPtr(
338  std::regex(
339 
340  (boost::format("%s(.*)") % block_name).str()
341 
342  ))
343 
344  );
345 
346  break;
347  default:
348  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
349  "Handling of bc type not implemented");
350  break;
351  }
353  }

The documentation for this struct was generated from the following file:
MoFEM::UnknownInterface::getInterface
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.
Definition: UnknownInterface.hpp:93
MOFEM_LOG_CHANNEL
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
Definition: LogManager.hpp:284
MoFEM::PETSC
@ PETSC
Definition: FormsIntegrators.hpp:104
BASE_DIM
constexpr int BASE_DIM
Definition: dg_projection.cpp:15
FIELD_DIM
constexpr int FIELD_DIM
Definition: child_and_parent.cpp:15
MoFEM::OpBaseImpl
Definition: FormsIntegrators.hpp:170
MoFEM::GAUSS
@ GAUSS
Definition: FormsIntegrators.hpp:128
MOFEM_TAG_AND_LOG
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
Definition: LogManager.hpp:362
BLOCKSET
@ BLOCKSET
Definition: definitions.h:148
m
FTensor::Index< 'm', 3 > m
Definition: shallow_wave.cpp:80
OP
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MOFEM_NOT_IMPLEMENTED
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346