276 {
279 m_field.
get_moab().get_entities_by_handle(
m->meshset, ents,
true);
280 return ents;
281 };
282
283 auto get_expansion = [&]() {
285 if (block_data.size() > 2) {
286 expansion[1] = block_data[2];
287 }
288 if (
SPACE_DIM == 3 && block_data.size() > 3) {
289 expansion[2] = block_data[3];
290 }
291 return expansion;
292 };
293
294 auto coeff_exp_vec = get_expansion();
295
297 << " ref_temp = " << block_data[0]
298 << " expansion = " << coeff_exp_vec;
299
300 blockData.push_back({block_data[0], coeff_exp_vec, get_block_ents()});
301 }
304 }
305
306 boost::shared_ptr<VectorDouble> expansionPtr;
307 boost::shared_ptr<double> refTempPtr;
308 };
309
310 pipeline.push_back(new OpMatThermoElasticBlocks(
311 blockedParamsPtr->getCoeffExpansionPtr(),
312 blockedParamsPtr->getRefTempPtr(), local_coeff_expansion, local_ref_temp,
313 m_field, sev,
314
315
316 m_field.
getInterface<MeshsetsManager>()->getCubitMeshsetPtr(std::regex(
317
318 (boost::format("%s(.*)") % block_name).str()
319
320 ))
321
322 ));
323
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
constexpr int SPACE_DIM
[Define dimension]
#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.
UBlasVector< double > VectorDouble
FTensor::Index< 'm', 3 > m
virtual moab::Interface & get_moab()=0
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.