21 {
22
24
25 auto cubit_meshset_ptr =
26 m_field.
getInterface<MeshsetsManager>()->getCubitMeshsetPtr(ms_id,
28 auto *json_config = m_field.
getInterface<JsonConfigManager>();
29 const auto params_from_json =
30 json_config->getParamsFromBlockset("RADIATION", ms_id);
31 if (!params_from_json.empty()) {
32 stefan_boltzmann_constant =
33 params_from_json.at("stefan_boltzmann_constant");
34 emissivity_parameter = params_from_json.at("emissivity");
35 ambient_temperature = params_from_json.at("ambient_temperature");
36 } else {
37 std::vector<double> block_data;
38 CHKERR cubit_meshset_ptr->getAttributes(block_data);
39 if (block_data.size() < 3) {
41 "Expected that radiation block has three attributes "
42 "(Stefan–Boltzmann "
43 "constant, emissivity parameter, and ambient temperature)");
44 }
45 stefan_boltzmann_constant = block_data[0];
46 emissivity_parameter = block_data[1];
47 ambient_temperature = block_data[2];
48 }
49
52 << "Stefan–Boltzmann constant " << stefan_boltzmann_constant;
54 << "Emissivity parameter " << emissivity_parameter;
56 << "Ambient temperature " << ambient_temperature;
57
58 ents = boost::make_shared<Range>();
59 CHKERR m_field.
get_moab().get_entities_by_handle(cubit_meshset_ptr->meshset,
60 *(ents), true);
61
65
67 }
#define MOFEM_LOG_SEVERITY_SYNC(comm, severity)
Synchronise "SYNC" on curtain severity level.
#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.
virtual moab::Interface & get_moab()=0
virtual MPI_Comm & get_comm() const =0
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.