26#include "utils/b2database.H"
27#include "utils/b2linear_algebra.H"
29namespace b2000::component {
31class DomainTemp :
public DomainComponent {
33 std::string get_id()
const override {
return id; }
36 const std::string& id_, TimeFunction* scalef_, Model& model_,
const Case& case_,
37 int subcase_id_)
override {
38 database = &
dynamic_cast<DataBase&
>(model_);
41 subcase_id = subcase_id_;
44 void set_subcase_id(
const int subcase_id_) { subcase_id = subcase_id_; }
46 int get_subcase_id()
const override {
return subcase_id; }
48 bool get_temperatures(
49 const int branch_id, b2linalg::Matrix<double, b2linalg::Mrectangle>& values)
const {
50 SetName set_name = id;
51 set_name.branch(branch_id);
52 assert(database !=
nullptr);
53 if (database->has_key(set_name)) {
54 database->get(set_name, values);
60 TimeFunction* get_scalef() {
return scalef; }
62 typedef ObjectTypeComplete<DomainTemp, DomainComponent::type_t> type_t;