17 std::vector<boost::shared_ptr<ScalingMethod>> smv)
18 : mField(m_field), fePtr(fe_ptr), vecOfTimeScalingMethods(smv) {}
23 if (
auto fe_method_ptr = fePtr.lock()) {
25 auto bc_mng = mField.getInterface<
BcManager>();
27 const auto problem_name = fe_method_ptr->problemPtr->getName();
29 for (
auto bc : bc_mng->getBcMapByBlockName()) {
30 if (
auto temp_bc = bc.second->tempBcPtr) {
32 auto &bc_id = bc.first;
34 auto regex_str = (boost::format(
"%s_(.*)") % problem_name).str();
35 if (std::regex_match(bc_id, std::regex(regex_str))) {
41 <<
"Apply EssentialPreProc<TemperatureCubitBcData>: "
42 << problem_name <<
"_" <<
field_name <<
"_" << block_name;
44 auto verts = bc.second->bcEnts.subset_by_type(MBVERTEX);
45 auto v = temp_bc->data.value1;
46 for (
auto s : vecOfTimeScalingMethods) {
47 v *= s->getScale(fe_method_ptr->ts_t);
50 auto lambda = [&](boost::shared_ptr<FieldEntity> field_entity_ptr) {
52 for (
auto &
d : field_entity_ptr->getEntFieldData())
63 "Can not lock shared pointer");