307    {
  309 
  311        typename EssentialBC<OpBase>::template Assembly<A>::template 
LinearForm<
 
  312            I>::template OpEssentialRhs<DisplacementCubitBcData, 
BASE_DIM,
 
  314    using OpInternal = typename FormsIntegrators<OpBase>::template Assembly<
  317 
  318    auto add_op = [&](auto &bcs) {
  320      for (
auto &
m : bcs) {
 
  321        if (
auto bc = 
m.second->dispBcPtr) {
 
  322          auto &bc_id = 
m.first;
 
  323          auto regex_str =
  324              (boost::format(
"%s_%s_(.*)") % problem_name % 
field_name).str();
 
  325          if (std::regex_match(bc_id, std::regex(regex_str))) {
  327            pipeline.push_back(
  328                new OpSetBc(
field_name, 
false, 
m.second->getBcMarkersPtr()));
 
  329            pipeline.push_back(
  331            pipeline.push_back(new OpInternal(
  333                [](double, double, double) constexpr { return 1.; },
  334                m.second->getBcEntsPtr()));
 
  335            pipeline.push_back(
new OpUnSetBc(
field_name));
 
  336          }
  337        }
  338      }
  341    };
  342 
  344 
  346  }
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#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.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
constexpr IntegrationType I
constexpr auto field_name
FTensor::Index< 'm', 3 > m
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.