b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2model.H
Go to the documentation of this file.
1//------------------------------------------------------------------------
2// b2model.H --
3//
4//
5// written by Mathias Doreille, SMR SA
6// Thomas Ludwig, SMR SA
7// Silvio Merazzi, SMR SA <merazzi@smr.ch>
8//
9// Copyright (c) 2004-2012 SMR Engineering & Development SA
10// 2502 Bienne, Switzerland
11//
12// All Rights Reserved. Proprietary source code. The contents of
13// this file may not be disclosed to third parties, copied or
14// duplicated in any form, in whole or in part, without the prior
15// written permission of SMR.
16//------------------------------------------------------------------------
17
18#ifndef __B2MODEL_H__
19#define __B2MODEL_H__
20
21#include "b2ppconfig.h"
22#include "utils/b2dictionary.H"
23#include "utils/b2object.H"
24
29namespace b2000 {
30class Case;
31class CaseList;
32class Domain;
33class Solver;
34
35class NaturalBoundaryCondition;
36class EssentialBoundaryCondition;
37class ModelReductionBoundaryCondition;
38class InitialCondition;
39class Solution;
40
69class Model : public Object {
70public:
72
73 virtual void set_parameters(const std::string& dbname, Dictionary* cmdline_set_ = nullptr) = 0;
74
75 virtual std::string get_logging_directory() = 0;
76
79 virtual void init(const std::string& dbname = "", Dictionary* cmdline_set_ = nullptr) = 0;
80
83 virtual CaseList& get_case_list() = 0;
84
87 virtual const int get_handle() = 0;
88
90 virtual Domain& get_domain() = 0;
91
96
101
106
110
113 virtual Solution& get_solution() = 0;
114
117 virtual Solver& get_solver() = 0;
118
120 virtual void run();
121
129 virtual void set_case(Case& case_) = 0;
130
136 virtual Case* get_case() = 0;
137
140 virtual void get_subcase_ids(std::set<int>& subcase_ids_) const = 0;
141
143 virtual void set_subcase_id(const int subcase_id_) = 0;
144
146 virtual int get_subcase_id() const = 0;
147
148 static type_t type;
149};
150
151} // namespace b2000
152
153#endif
Definition b2case.H:154
Definition b2case.H:110
Definition b2dictionary.H:48
Definition b2domain.H:70
Definition b2boundary_condition.H:159
Definition b2initial_condition.H:43
Definition b2boundary_condition.H:266
Definition b2model.H:69
virtual void run()
Definition b2model.C:21
virtual Case * get_case()=0
virtual Solver & get_solver()=0
virtual Solution & get_solution()=0
virtual CaseList & get_case_list()=0
virtual EssentialBoundaryCondition & get_essential_boundary_condition(ObjectTypeIncomplete< EssentialBoundaryCondition > *bc_type)=0
virtual NaturalBoundaryCondition & get_natural_boundary_condition(ObjectTypeIncomplete< NaturalBoundaryCondition > *bc_type)=0
virtual const int get_handle()=0
virtual void set_case(Case &case_)=0
virtual InitialCondition & get_initial_condition()=0
virtual void set_subcase_id(const int subcase_id_)=0
virtual int get_subcase_id() const =0
virtual void init(const std::string &dbname="", Dictionary *cmdline_set_=nullptr)=0
virtual Domain & get_domain()=0
virtual ModelReductionBoundaryCondition & get_model_reduction_boundary_condition(ObjectTypeIncomplete< ModelReductionBoundaryCondition > *bc_type)=0
virtual void get_subcase_ids(std::set< int > &subcase_ids_) const =0
Definition b2boundary_condition.H:40
Definition b2object.H:340
Definition b2object.H:456
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
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32