207    {
  209 
  210    using OP_SOURCE = typename FormsIntegrators<OpBase>::template Assembly<
  212    using OP_TEMP = typename FormsIntegrators<OpBase>::template Assembly<
  214 
  215    auto add_op = [&](auto &&meshset_vec_ptr) {
  217      for (
auto m : meshset_vec_ptr) {
 
  218        std::vector<double> block_data;
  219        m->getAttributes(block_data);
 
  220        if (block_data.size() < 2) {
  222                  "Expected two parameters");
  223        }
  224        double target_temperature = block_data[0];
  225        double beta =
  226            block_data[1]; 
  227        auto ents_ptr = boost::make_shared<Range>();
  229                                                         *(ents_ptr), true);
  230 
  232            << 
"Add " << *
m << 
" target temperature " << target_temperature
 
  233            << " penalty " << beta;
  234 
  235        pipeline.push_back(new OP_SOURCE(
  237            [target_temperature, beta](double, double, double) {
  238              return target_temperature * beta;
  239            },
  240            ents_ptr));
  241        pipeline.push_back(new OP_TEMP(
  243            [beta](double, double, double) { return -beta; }, ents_ptr));
  244      }
  246    };
  247 
  249 
  250        m_field.
getInterface<MeshsetsManager>()->getCubitMeshsetPtr(std::regex(
 
  251 
  252            (boost::format("%s(.*)") % block_name).str()
  253 
  254                ))
  255 
  256    );
  257 
  259 
  261  }
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_DATA_INCONSISTENCY
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
constexpr auto field_name
FTensor::Index< 'm', 3 > m
virtual moab::Interface & get_moab()=0
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.