22#ifndef __B2MODEL_DATABASE_H__
23#define __B2MODEL_DATABASE_H__
27#include "b2ppconfig.h"
32#include "utils/b2database.H"
37namespace b2000::b2dbv3 {
50 void set_parameters(
const std::string& dbname,
Dictionary* cmdline_set_ =
nullptr)
override;
52 std::string get_logging_directory()
override {
53 return DataBaseFieldSet::get_logging_directory();
56 void init(
const std::string& dbname =
"",
Dictionary* cmdline_set_ =
nullptr)
override;
81 Case*
get_case()
override {
return current_case; }
89 int b2ip_version_comp(
int a1,
int a2,
int a3) {
90 std::vector<mcInt32> b2ip_version(3);
91 adir.
get(
"VERSION", b2ip_version);
92 if (a1 < b2ip_version[0]) {
94 }
else if (a1 > b2ip_version[0]) {
97 if (a2 < b2ip_version[1]) {
99 }
else if (a2 > b2ip_version[1]) {
102 if (a3 < b2ip_version[2]) {
104 }
else if (a3 > b2ip_version[2]) {
110 using type_t = ObjectTypeComplete<Model, b2000::Model::type_t>;
114 Case* current_case{};
115 std::unique_ptr<Solver> solver{};
119 Dictionary* cmdline_set{};
122 CaseList* case_list{};
123 int current_subcase_id{};
125 NaturalBoundaryCondition* natural_boundary_condition{};
126 EssentialBoundaryCondition* essential_boundary_condition{};
127 ModelReductionBoundaryCondition* model_reduction_boundary_condition{};
128 std::unique_ptr<InitialCondition> initial_condition{};
129 Solution* solution{};
Interface to C++ representations of FE solvers.
Definition b2dictionary.H:48
Definition b2boundary_condition.H:159
Definition b2initial_condition.H:43
Definition b2boundary_condition.H:266
Definition b2boundary_condition.H:40
Definition b2object.H:340
T get(const std::string &key) const
Definition b2rtable.H:647
Definition b2solution.H:227
A Solver instance executes an FE analysis. It is created and initialized by the Model instance and,...
Definition b2solver.H:50
A in-core implementation of the b2dbv3::Domain. All the Element, Node and ElementProperty objects are...
Definition b2domain_database.H:62
Definition b2model_database.H:44
Solution & get_solution() override
Definition b2model_database.C:239
Domain & get_domain() override
Definition b2model_database.C:164
Case * get_case() override
Definition b2model_database.H:81
void init(const std::string &dbname="", Dictionary *cmdline_set_=nullptr) override
Definition b2model_database.C:47
CaseList & get_case_list() override
Definition b2model_database.C:154
NaturalBoundaryCondition & get_natural_boundary_condition(ObjectTypeIncomplete< NaturalBoundaryCondition > *bc_type) override
Definition b2model_database.C:169
void get_subcase_ids(std::set< int > &subcase_ids_) const override
Definition b2model_database.C:132
const int get_handle() override
Definition b2model_database.C:77
Solver & get_solver() override
Definition b2model_database.C:276
void set_case(b2000::Case &case_) override
Definition b2model_database.C:81
InitialCondition & get_initial_condition() override
Definition b2model_database.C:223
void set_subcase_id(const int subcase_id_) override
Definition b2model_database.C:110
EssentialBoundaryCondition & get_essential_boundary_condition(ObjectTypeIncomplete< EssentialBoundaryCondition > *bc_type) override
Definition b2model_database.C:185
ModelReductionBoundaryCondition & get_model_reduction_boundary_condition(ObjectTypeIncomplete< ModelReductionBoundaryCondition > *bc_type) override
Definition b2model_database.C:197
int get_subcase_id() const override
Definition b2model_database.H:83