MIDAS  0.75
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
problem.h
Go to the documentation of this file.
1 #ifndef MIDAS_PROBLEM_H
2 #define MIDAS_PROBLEM_H
3 
4 #include "alias.h"
5 #include "taux.h"
6 
7 #include "gpa.h"
8 
9 
16 namespace midaspace {
17 
22 
25  PDBO_allElemsProp1 , // all elements should have property 0
26  PDBO_BondEndRFran , // reinforcement node on endface is bonded by: 0 - hangingnodes, 1 - rigidarmnode
28  PDBO_MultipNode , // multiple nodes will be eliminated ; after elimination, this bool is set to false
29  PDBO_MultipElem , // multiple elements will be eliminated ; after elimination, this bool is set to false
30  PDBO_preserveGeom , // preserve input geometry, zatim je to primitivne, jen pro jeden vtx soubor
31  PDBO_RIGIDmatToRAN , // convert RIGID material to Rigid Arm
32  PDBO_divideQuads, // divide quadrangles into two triangles
33  PDBO_hingedBeamToTruss, // beam with condensed rotation DOFs is converted to truss
34  PDBO_tmpFileWrite2hdd, // control print sovler input file in solver2design mode
35  PDBO_cutRF, // cut outside reinforcement bars
39  PDBO_OUT_print_CSusage , // print cross section usage
40  PDBO_OUT_Test , // print test
41  PDBO_OUT_MeshQual , // print mesh quality file
42  PDBO_OUT_MeshStats , // print mesh stats
43  PDBO_OUT_origelemid , // print original element ids
45  PDBO_OUT_charVTK, // print vtk with IDs of materials, CSs,
46  PDBO_OUT_solverINctrl, // control print sovler input file in solver2design mode
47  PDBO_OUT_args, // print argumets to extra file
48  // T3d
49  PDBO_P_mesh_quads, // print argumets to extra file
50  // OOFEM
51  PDBO_P_rershell, // rershell
52  PDBO_P_dw, // zatim docasne, nez vyresim ncomp u BC_DW
53  PDBO_P_refder, // zatim docasne, refder
54  //
55  PDBO_ansys, // docasne jen pro ansys stabilitu
56  PDBO_stability, // docasne jen pro stabilitu v donkym pomoci parametru
58  PDBO_Vlna , // for temporary project VLNA
59  PDBO_melnik , // for temporary project melnik
60 
61  cPDBO }; // count of ...
62 //PDBO_OUT_Rslts , // print results
63 
64 //* ********************************************************************************************
65 //* *** *** *** *** CLASS PROBDESC *** *** *** ***
66 //* ********************************************************************************************
74 class Problem
75 {
76  // ***************************
77  // /** @name AUXILIARY **/
78  // ***************************
79  // @{
80  public:
82  size_t solver_file_size; // A null byte '\0' is maintained at the end of the buffer. It is not included in the size value stored at size.
83 
84  char *args; // arguments
85 
86  // standard output driver
87  protected:
89  public:
90  const StdoutDriver* sodriver(void) const { return so_driver; }
91  // @}
92 
93 
94  // ******************************
95  // /** @name GENERAL INFO **/
96  // ******************************
97  // @{
98  protected:
99  bool PDBO[cPDBO]; // array with ProbDesc Boolean Options
100 
101  //* *** OPERATION MODE ***
102  OperationMode OM; // operation mode
103 
104  //* *** INPUT ***
105  char *IN_Path; // path for input files
106  FiLe *IN_ctrlfile; // control file
107  GPA<FiLe> IN_mdlFiLes; // files with models
108  GPA<FiLe> IN_mshFiLes; // files with meshes
109  FiLe *IN_VTKaddata; // file with additional data of VTK format - full
110  FiLe *IN_VTKaddatasprs; // file with additional data of VTK format - sparse
111  FiLe *IN_file_results; // file with results - main output form analysis package
112  FiLe *IN_file_results_addataVTK; // file with results - additional data of VTK format [full]
113  FiLe *IN_file_bgm; // file with back ground mesh
114  double IN_meshGen_elemSize; // mesh generation - size of generated elements
115  int IN_meshGen_elemCount; // mesh generation - count of generated elements at one model element
116  long IN_numdom; // nuber of domains: for parallel computation is >1, for sequent is equal to 1
117 
118  //* *** PROCESS ***
119  Solver P_solver; // type of solver
120  FiLe *P_solverbinary; // binary commad
121  int P_solverver; // version of solver; OOFEM 1.9 => P_solverver == 19
122  //
123  MeshGenerator P_mesher; // type of mesher = mesh generator
124  FiLe *P_mesherbinary; // binary commad
125  AdaptivityParameters *adpa; // adaptivity parameters
126 
127 
128  //* *** OUTPUT ***
129  char *OUT_Path; // path for output file
130  FiLe *OUT_moFILE; // main output base file name
131  long OUT_printStep; // first, last and printStep-th step will be printed
132 
133  //* temporary
134  int P_melnik; // temporary for melnik project
135 
136  //* STATE
137  bool fulldata; // full data for structural analysis; false == geometry data only;
138  bool readedchars; // characteristics was readed
139 
140  public:
141  //* *** SET ***
142  void set_PDBO (ProbDescBoolOpt pdbo, bool val) { PDBO[pdbo] = val; }
143  //
144  void set_OM (OperationMode val) { OM = val; }
145  //
146  void set_IN_Path (char *val) { IN_Path = val; }
147  void set_IN_ctrlfile (FiLe *val) { IN_ctrlfile = val; }
148  void set_IN_VTKaddata (FiLe *val) { IN_VTKaddata = val; }
150  void set_IN_file_results (FiLe *val) { IN_file_results = val; }
152  void set_IN_bgm (FiLe *val) { IN_file_bgm = val; }
153  void set_IN_meshGen_elemSize (double val) { IN_meshGen_elemSize = val; }
155  void set_IN_numdom (long val) { IN_numdom = val; }
156  void add_IN_mdlFiLe (FiLe *val) { IN_mdlFiLes.add(val); }
157  void add_IN_mshFiLe (FiLe *val) { IN_mshFiLes.add(val); }
158  //
159  void set_OUT_Path (char *val) { OUT_Path = val; }
160  void set_OUT_moFILE (FiLe *val) { OUT_moFILE = val; }
161  void set_OUT_printStep (long val) { OUT_printStep = val; if (val<1) _errorr("OUT_printStep should be greater then zero"); }
162  //
163  void set_melnik (int val) { P_melnik = val; }
164  //
165  void set_readedchars (bool val) { readedchars = val; }
166  //
167  //void set_P_Solver (enumSolver val) { P_solver = val; }
168  //void set_P_solverbinary (FiLe *val) { P_solverbinary = val; }
169  void set_OOFEM_ver (int val) { P_solverver = val; }
170  void set_P_binary_solver (FiLe *val, Solver val2) { P_solverbinary= val; P_solver = val2; }
171  //
172  void set_P_binary_mesher (FiLe *val, MeshGenerator val2) { P_mesherbinary= val; P_mesher = val2; }
173  //
174  long set_adpa (char **argv) { adpa = new AdaptivityParameters(); return adpa->initialize_from(argv); }
175 
176  //
177  const FiLe* give_P_solverbinary (void) const { return P_solverbinary; }
178  //
179  MeshGenerator give_P_mesher (void) const { return P_mesher; }
180  const FiLe* give_P_mesherbinary (void) const { return P_mesherbinary; }
181  AdaptivityParameters* give_adpa (void) const { return adpa; }
182 
183  //
184  void set_defautlt_meshGen_elemSize (void);
185 
186  //* *** GET ***
187  bool give_PDBO (ProbDescBoolOpt pdbo) const { return PDBO[pdbo]; }
188  //
189  OperationMode give_OM (void) const { return OM; }
190  //
191  const char* give_IN_Path (void) const { return IN_Path; }
192  const FiLe* give_IN_file_results (void) const { return IN_file_results; }
194  const FiLe* give_IN_file_bgm (void) const { return IN_file_bgm; }
195  double give_IN_meshGen_elemSize (void) const { if (IN_meshGen_elemSize < 0) ((Problem*)this)->set_defautlt_meshGen_elemSize(); return IN_meshGen_elemSize; }
196  int give_IN_meshGen_elemCount (void) const { return IN_meshGen_elemCount; }
197  //
198  int give_P_OOFEM_ver (void) const { return P_solverver; }
199  //
200  const char* give_OUT_Path (void) const { return OUT_Path; }
201  const FiLe* give_OUT_moFILE (void) const { return OUT_moFILE; }
202  long give_OUT_printStep (void) const { return OUT_printStep; }
203  //
204  int give_melnik (void) const { return P_melnik; }
205  //
206  bool give_fulldata (void) const { return fulldata; }
207  // @}
208 
209 
210  // ***************************
211  // /** @name MESH DATA **/
212  // ***************************
213  // @{
214  //* *** HEAD ***
215  protected:
216  char *comment; // problem comment
217  ProblemAnalysis *ProbAnal; // problem analysis
218 
219  //* PROBLEM_DOMAIN
220  DOFsPerNode DOFspnod; // domain type == default DOFs per node (see help.txt)
221  int *DOFbc_mask; // DOF boundary conditions mask
222  // ...
223  char *output_file; // name of output file of solved problem
224 
225  // [OOFEM] only
226  char *OOF_output_rec; // OOFEM line of output
227 
228  // [SIFEL] only - dej jim predponu SIF_
229  int stdout_print_level; // level of information print to standard output
230  //
231  int text_output; // text output [SIFEL]
232  int to_nodes, to_nodes_type; // nodes, type
233  int ton_displ, ton_displ_type; // displacement, type
234  int ton_strain, ton_strain_type, ton_strain_transf; // strain, type, transf
235  int ton_stress, ton_stress_type, ton_stress_transf; // stress, type, transf
236  int ton_other, ton_other_type; // other, type, transf
237  int ton_react; // reactions
238  int to_elems, to_elems_type; // elements, type
239  int toe_strain, toe_strain_type, toe_strain_transf; // strain, type, transf
240  int toe_stress, toe_stress_type, toe_stress_transf; // stress, type, transf
241  int toe_other, toe_other_type; // other, type, transf
242  int toe_nevim; // ???
243  //
244  int grafic_output; // grafic output
245 
246  public:
247  //* *** SET ***
248  void set_DOFspnod (DOFsPerNode val) { DOFspnod = val; }
249  //* *** GET ***
250  PAGroup give_analgroup (void) const ; //{ return ProbAnal->give_analgroup(); }
251  PAType give_analtype (void) const ; //{ return ProbAnal->give_analtype(); }
252  PAType give_analloctype (void) const ; //{ return ProbAnal->give_analloctype(); }
253  long give_nsteps (void) const ; //{ return ProbAnal->give_nsteps(); }
254 
255  const char* give_output_file (void) const { return output_file; }
256  DOFsPerNode give_DOFspnod (void) const { return DOFspnod; }
257  int give_global_nDOFs (void) const { return DOFsPerNode2nDOFs(DOFspnod); }
258  const int* give_DOFbc_mask (void) const { if (!DOFbc_mask) ((Problem*)this)->DOFbc_mask = DOFsPerNode2dofBCmask (DOFspnod); return DOFbc_mask; }
259  //
260  bool rotDOFsPresence (void) const { return DOFsPerNode2rotDOFsPresence (DOFspnod); }
261 
262 
263  //* *** ATTRIBUTES ***
264  protected:
265  //
266  GPA<CrossSection> CSs; // cross-sections
267  GPA<Material> Mats; // materials
268  GPA<BoundaryCond> BCs; // boundary conditions
269  //
270  GPA<PointDOFsBCPM> PVs; // prescribed values
271  GPA<LoadTimeFunction> OOltfs; // OOFEM load time functione
272  GPA<Attribute> OOextrs; // OOFEM extract lines
273  //
274  GPA<ABC_NLoad> NLs; // NL - Assignment of Nodal Loads
275  GPA<ABC_CELoad> CELs; // CEL - Assignment of Constant Edge Loads
276  GPA<ABC_CFLoad> CFLs; // CFL - Assignment of Constant Face Loads
277  GPA<ABC_CBLoad> CBLs; // CBL - Assignment of Constant Body Loads
278  GPA<AssignFix> Fixed; // Fixed - Assignment of fixed entities to elements
279  //
280  ElemAttribs *domainElAt; // superior element attributes according to domain of owner
281  GPA<ElemAttribs> geomElAt; // superior element attributes according to geometry of owner
282  //
283  GPA<PointAttribs> NdAts; // general node attributes
284  GPA<ElemAttribs> ElAts; // superior element attributes according to property of owner
285  //
286  //Lvctr FixElems; // array of IDs of elements with fixed nodes
287  //GPA<Lvctr> FixNodes; // array of IDs of nodes fixed to elems
288 
289  //
290  Lvctr sifMats; // counts of sifel materials
291  Lvctr sifCSs; // counts of sifel cross sections
292  Lvctr sifBCs; // counts of sifel boundary conditions
293 
294 
295  public:
296  //* *** SET ***
297  void domainElAt_initialize_from (const char *str );
298  void geomElAt_initialize_from (const char *str, CellGeometry cg);
299  void set_domainElAt (FEApproximation val);
300  //void set_domainElAt (LCSdirection dir, LCStype typ, long num) { if (lcs) _errorr("e"); lcs = new LocalCoordSystem(dir, typ, num); }
301  //
302  void alloc_geomElAt (CellGeometry cg);
303  void set_geomElAt (CellGeometry cg, DOFsPerNode val);
304  void set_geomElAt (CellGeometry cg, SStype val);
306  void set_FETS (const char *skupina, const char *str);
307  void set_lcs (LCSdirection dir, LCStype typ, long num);
308 
309  //
310  const BoundaryCond* add_find_BC (BoundaryCond* val); // find identical or add new BC
311  const BoundaryCond* add_uniq_BC (BoundaryCond* val); // add new BC
312  void add_sifMats (int i) { sifMats[i]++; }
313  void add_sifCSs (int i) { sifCSs [i]++; }
314  void add_sifBCs (int i) { sifBCs [i]++; }
315  const BoundaryCond* switch_BC (const BoundaryCond* bc, DOFsPerNode dpn_old, DOFsPerNode dpn_new);
316 
317  //* *** GET ***
318  const GPA<BoundaryCond>* give_BCs (void) const { return &BCs; }
319  //
320  CrossSection* give_CS (long i) const { return CSs .at_or_null(i); }
321  Material* give_Mat (long i) const { return Mats.at_or_null(i); }
322  BoundaryCond* give_BC (long i) const { return BCs .at_or_null(i); }
323  PointDOFsBCPM* give_PV (long i) const { return PVs .at_or_null(i); }
324  long give_sifMats (long i) const { return sifMats[i]; }
325  long give_sifCSs (long i) const { return sifCSs [i]; }
326  long give_sifBCs (long i) const { return sifBCs [i]; }
327 
328  long give_cCS (void) const { return CSs(); }
329 
330  CrossSection* give_CS_of_type (CrossSectType type, int id) const;
331  Material* give_Mat_of_type (MaterialType type, int id) const;
332 
333  ElemAttribs* give_ElAt_of_domain (void) const { return domainElAt; }
335  ElemAttribs* give_ElAt_with_prop (long prop) const;
336 
337  PointAttribs* give_NdAt_with_prop (long prop) const;
339 
340  const CrossSection* give_3dCS(void);
341 
342  // rm material MAT_RIGID
343  void rm_MAT_RIGID (void);
344 
345 
346  //* *** GEOMETRY ***
347  protected:
348  GPA<Model> Models; // model - geometry information about model
349  GPA<Mesh> Meshes; // mesh - geometry information about mesh
350 
351  public:
352  //* *** SET ***
353  void add_mesh (Mesh *val) { Meshes.add(val); }
354  void wedge_mesh (long i, Mesh *val) { Meshes.wedge(i, val); }
355  //* *** GET ***
356  Model* give_Model (long i) const { return Models.at_or_null(i); }
357  Mesh* give_Mesh (long i) const { return Meshes.at_or_null(i); }
358  long give_cModel (void) const { return Models(); }
359  long give_cMesh (void) const { return Meshes(); }
360  //
361  Geometry* give_primary_geometry (void) const;
362  // @}
363 
364 
365 
366  // *********************************
367  // /** @name GENERAL METHODS **/
368  // *********************************
369  // @{
370  public:
372  Problem (StdoutDriver *sodrv);
374  ~Problem ();
375 
377  void solve (void);
379  void main_OM_design2solver2design (void);
381  void main_OM_testing (void);
382 
384  void initialization (void);
386  void finitialization (void);
388  void checkConsistency (void) const;
389 
391  void loadedSurfaces (FILE *stream, FElement *elem);
393  void model_meshing (void);
395  void switch_node_pointer (Point *oldnod, Point *newnod);
396 
397  //* *** READ ***
398  void read_head_and_chars (Stream *stream, char &DATASET);
399 
400  void read_ctrlfile (void);
401  void read_characteristics (Stream *stream);
402  void read_characteristics_core (Stream *stream, const char *key);
403  void read_block_analysis (Stream *stream);
404  void read_block_output (Stream *stream);
405  void read_block (Stream *stream, BlockName bn);
406  //
407  void read_models (void);
408  void read_meshes (void);
409  void read_geometry_VTK (Geometry* geom, const char *filename);
410  void read_geometry_VTK_core (Geometry* geom, Stream *stream);
411  void read_addata_VTK (Geometry* geom, const char *filename, bool sparse);
412  void read_mesh_OOFEM (Mesh* mesh, const char *filename);
413  void read_mesh_SIFEL (Mesh* mesh, const char *filename);
414  void read_polylines (const char *filename);
415  void read_polylines_vtx (const char *filename);
416  void read_addata (bool mdl);
417  void read_addataRSLT (bool mdl);
418 
419  //* *** PRINT OUTPUT ***
421  void print_control (void) const;
423  void print_input_OOFEM (void);
424  void print_input_SIFEL (void) const;
425  void print_input_ANSYS (void) const;
426  // @}
427 
428 };
429 
430 } // namespace midaspace
431 
432 #endif // MIDAS_PROBLEM_H
FiLe * IN_file_results_addataVTK
Definition: problem.h:112
void read_models(void)
Definition: problem.cpp:1242
GPA< AssignFix > Fixed
Definition: problem.h:278
FiLe * IN_VTKaddatasprs
Definition: problem.h:110
const CrossSection * give_3dCS(void)
Definition: problem.cpp:346
void add_sifCSs(int i)
Definition: problem.h:313
bool give_PDBO(ProbDescBoolOpt pdbo) const
Definition: problem.h:187
FiLe * IN_ctrlfile
Definition: problem.h:106
~Problem()
DESTRUCTOR.
Definition: problem.cpp:106
void set_DOFspnod(DOFsPerNode val)
Definition: problem.h:248
void solve(void)
solve the problem - main function
Definition: problem.cpp:378
Solver
Solver.
Definition: alias.h:188
void read_meshes(void)
reading of files with model/mesh and possibly info about solving
Definition: problem.cpp:1217
const BoundaryCond * add_uniq_BC(BoundaryCond *val)
add new BC
Definition: problem.cpp:238
ProbDescBoolOpt
ProbDesc Boolean Option.
Definition: problem.h:24
void add_sifMats(int i)
Definition: problem.h:312
void set_OM(OperationMode val)
Definition: problem.h:144
void add_IN_mshFiLe(FiLe *val)
Definition: problem.h:157
PAGroup give_analgroup(void) const
Definition: problem.cpp:179
void set_IN_Path(char *val)
Definition: problem.h:146
int DOFsPerNode2nDOFs(DOFsPerNode od)
Definition: alias.h:755
DOFsPerNode
Definition: alias.h:700
const FiLe * give_P_solverbinary(void) const
Definition: problem.h:177
const GPA< BoundaryCond > * give_BCs(void) const
Definition: problem.h:318
char * output_file
Definition: problem.h:223
PointAttribs * give_NdAt_with_prop(long prop) const
Definition: problem.cpp:312
void set_P_binary_solver(FiLe *val, Solver val2)
Definition: problem.h:170
long give_nsteps(void) const
Definition: problem.cpp:182
FiLe * IN_file_bgm
Definition: problem.h:113
ProblemAnalysis * ProbAnal
Definition: problem.h:217
GPA< ElemAttribs > geomElAt
Definition: problem.h:281
CrossSectType
Definition: alias.h:435
void print_input_ANSYS(void) const
Definition: problem.cpp:1956
const FiLe * give_IN_file_bgm(void) const
Definition: problem.h:194
bool PDBO[cPDBO]
Definition: problem.h:99
Class GPA.
AdaptivityParameters * give_adpa(void) const
Definition: problem.h:181
GPA< Mesh > Meshes
Definition: problem.h:349
GPA< Attribute > OOextrs
Definition: problem.h:272
GPA< FiLe > IN_mshFiLes
Definition: problem.h:108
GPA< Material > Mats
Definition: problem.h:267
void initialization(void)
initiate/sets data
Definition: problem.cpp:609
int give_IN_meshGen_elemCount(void) const
Definition: problem.h:196
void wedge_mesh(long i, Mesh *val)
Definition: problem.h:354
MeshGenerator P_mesher
Definition: problem.h:123
void add_mesh(Mesh *val)
Definition: problem.h:353
size_t solver_file_size
Definition: problem.h:82
void read_mesh_OOFEM(Mesh *mesh, const char *filename)
read native input file to OOFEM
Definition: problem.cpp:1342
const BoundaryCond * switch_BC(const BoundaryCond *bc, DOFsPerNode dpn_old, DOFsPerNode dpn_new)
Definition: problem.cpp:255
OperationMode OM
Definition: problem.h:102
PointDOFsBCPM * give_PV(long i) const
Definition: problem.h:323
void read_geometry_VTK(Geometry *geom, const char *filename)
Definition: problem.cpp:1263
void initialize_from(const char *&str, femFileFormat fff)
Definition: taux.cpp:196
MaterialType
Definition: alias.h:505
bool rotDOFsPresence(void) const
Definition: problem.h:260
void read_block(Stream *stream, BlockName bn)
Definition: problem.cpp:1128
LCSdirection
Definition: taux.h:217
void read_polylines_vtx(const char *filename)
GPA< PointDOFsBCPM > PVs
Definition: problem.h:270
void read_mesh_SIFEL(Mesh *mesh, const char *filename)
read native input file to SIFEL
Definition: problem.cpp:1482
Alias.
void set_OUT_Path(char *val)
Definition: problem.h:159
GPA< ABC_CFLoad > CFLs
Definition: problem.h:276
void model_meshing(void)
void set_IN_numdom(long val)
Definition: problem.h:155
void read_polylines(const char *filename)
void set_IN_VTKaddata(FiLe *val)
Definition: problem.h:148
void read_addata(bool mdl)
Definition: problem.cpp:1702
FiLe * P_solverbinary
Definition: problem.h:120
Mesh * give_Mesh(long i) const
Definition: problem.h:357
FiLe * IN_VTKaddata
Definition: problem.h:109
void set_geomElAt(CellGeometry cg, DOFsPerNode val)
Definition: problem.cpp:217
void set_IN_meshGen_elemSize(double val)
Definition: problem.h:153
long give_sifMats(long i) const
Definition: problem.h:324
void rm_MAT_RIGID(void)
rm material MAT_RIGID
Definition: problem.cpp:364
FiLe * IN_file_results
Definition: problem.h:111
StdoutDriver * so_driver
Definition: problem.h:88
long give_sifBCs(long i) const
Definition: problem.h:326
void read_characteristics(Stream *stream)
Definition: problem.cpp:1032
CellGeometry
Definition: alias.h:840
void switch_node_pointer(Point *oldnod, Point *newnod)
clean up duplicity components
Definition: problem.cpp:858
void checkConsistency(void) const
Checks data consistency.
Definition: problem.cpp:724
const char * give_OUT_Path(void) const
Definition: problem.h:200
GPA< ABC_NLoad > NLs
Definition: problem.h:274
FiLe * OUT_moFILE
Definition: problem.h:130
const FiLe * give_IN_file_results(void) const
Definition: problem.h:192
void read_ctrlfile(void)
Definition: problem.cpp:1011
int stdout_print_level
Definition: problem.h:229
long give_cMesh(void) const
Definition: problem.h:359
void read_addata_VTK(Geometry *geom, const char *filename, bool sparse)
Definition: problem.cpp:1312
PAType give_analloctype(void) const
Definition: problem.cpp:181
void set_melnik(int val)
Definition: problem.h:163
MeshGenerator
type of mesh generator
Definition: alias.h:191
void set_IN_VTKaddatasprs(FiLe *val)
Definition: problem.h:149
OperationMode give_OM(void) const
Definition: problem.h:189
void set_lcs(LCSdirection dir, LCStype typ, long num)
Definition: problem.cpp:232
int give_melnik(void) const
Definition: problem.h:204
int * DOFsPerNode2dofBCmask(DOFsPerNode od)
Definition: alias.h:787
ElemAttribs * domainElAt
Definition: problem.h:280
void set_IN_file_results(FiLe *val)
Definition: problem.h:150
long give_cCS(void) const
Definition: problem.h:328
GPA< CrossSection > CSs
Definition: problem.h:266
void set_OUT_printStep(long val)
Definition: problem.h:161
void add_IN_mdlFiLe(FiLe *val)
Definition: problem.h:156
int give_P_OOFEM_ver(void) const
Definition: problem.h:198
long give_cModel(void) const
Definition: problem.h:358
GPA< Model > Models
Definition: problem.h:348
Geometry description.
Definition: geometry.h:29
void loadedSurfaces(FILE *stream, FElement *elem)
char * solver_file_ptr
Definition: problem.h:81
PointAttribs * givealloc_NdAt_with_prop(long prop)
Definition: problem.cpp:324
Geometry * give_primary_geometry(void) const
Definition: problem.cpp:197
AdaptivityParameters * adpa
Definition: problem.h:125
void set_IN_meshGen_elemCount(int val)
Definition: problem.h:154
const FiLe * give_OUT_moFILE(void) const
Definition: problem.h:201
Material * give_Mat_of_type(MaterialType type, int id) const
Definition: problem.cpp:300
GPA< LoadTimeFunction > OOltfs
Definition: problem.h:271
CrossSection * give_CS(long i) const
Definition: problem.h:320
void print_input_SIFEL(void) const
Definition: problem.cpp:1811
void read_addataRSLT(bool mdl)
BoundaryCond * give_BC(long i) const
Definition: problem.h:322
const FiLe * give_P_mesherbinary(void) const
Definition: problem.h:180
void set_IN_ctrlfile(FiLe *val)
Definition: problem.h:147
void main_OM_testing(void)
main process of mode OM_Test
Definition: problem.cpp:599
GPA - Generic Pointer Array, template class manages 1d array of pointers to objects of type T...
Definition: gpa.h:23
#define _errorr(_1)
Definition: gelib.h:151
void set_IN_bgm(FiLe *val)
Definition: problem.h:152
void read_head_and_chars(Stream *stream, char &DATASET)
zkontroluje hlavicku xml souboru a zpracuje pripadnou char sekci vraci XMLElement s vlastnimi geom da...
Definition: problem.cpp:880
Derived class for management of boundary conditions and physical meanings of DOFs (Degrees Of Freedom...
Definition: substructs.h:131
void set_FETS(const char *skupina, const char *str)
Finite Element Type Settings.
Definition: problem.cpp:222
long give_sifCSs(long i) const
Definition: problem.h:325
SStype
type of stress/strain state of element; especially results depends on this variable => described at M...
Definition: alias.h:954
void set_P_binary_mesher(FiLe *val, MeshGenerator val2)
Definition: problem.h:172
void read_characteristics_core(Stream *stream, const char *key)
Definition: problem.cpp:1066
const StdoutDriver * sodriver(void) const
Definition: problem.h:90
void print_control(void) const
Function prints contol data.
Definition: problem.cpp:2103
bool give_fulldata(void) const
Definition: problem.h:206
void read_block_output(Stream *stream)
Definition: problem.cpp:1111
const char * give_IN_Path(void) const
Definition: problem.h:191
void set_readedchars(bool val)
Definition: problem.h:165
int IN_meshGen_elemCount
Definition: problem.h:115
void main_OM_design2solver2design(void)
main process of mode OM_Design2solver2design
Definition: problem.cpp:391
Auxiliary functions; classes FiLe, LocalCoordSystem, AdaptivityParameters and StdoutDriver.
Problem(StdoutDriver *sodrv)
CONSTRUCTOR.
Definition: problem.cpp:26
GPA< ABC_CBLoad > CBLs
Definition: problem.h:277
Model * give_Model(long i) const
Definition: problem.h:356
MeshGenerator give_P_mesher(void) const
Definition: problem.h:179
GPA< PointAttribs > NdAts
Definition: problem.h:283
DOFsPerNode give_DOFspnod(void) const
Definition: problem.h:256
long set_adpa(char **argv)
Definition: problem.h:174
long give_OUT_printStep(void) const
Definition: problem.h:202
const int * give_DOFbc_mask(void) const
Definition: problem.h:258
DOFsPerNode DOFspnod
Definition: problem.h:220
double give_IN_meshGen_elemSize(void) const
Definition: problem.h:195
const char * give_output_file(void) const
Definition: problem.h:255
void set_OOFEM_ver(int val)
Definition: problem.h:169
LCStype
Definition: taux.h:218
void finitialization(void)
finalize preprocessing
Definition: problem.cpp:702
void print_input_OOFEM(void)
Definition: problem.cpp:1724
GPA< ABC_CELoad > CELs
Definition: problem.h:275
void set_domainElAt(FEApproximation val)
Definition: problem.cpp:212
void set_OUT_moFILE(FiLe *val)
Definition: problem.h:160
bool DOFsPerNode2rotDOFsPresence(DOFsPerNode od)
Definition: alias.h:772
void set_IN_file_results_addataVTK(FiLe *val)
Definition: problem.h:151
int give_global_nDOFs(void) const
Definition: problem.h:257
void read_block_analysis(Stream *stream)
ElemAttribs * give_ElAt_with_prop(long prop) const
Definition: problem.cpp:337
char * OOF_output_rec
Definition: problem.h:226
GPA< FiLe > IN_mdlFiLes
Definition: problem.h:107
double IN_meshGen_elemSize
Definition: problem.h:114
void set_defautlt_meshGen_elemSize(void)
Definition: problem.cpp:185
ElemAttribs * give_ElAt_of_domain(void) const
Definition: problem.h:333
void alloc_geomElAt(CellGeometry cg)
Definition: problem.cpp:215
const FiLe * give_IN_file_results_addataVTK(void) const
Definition: problem.h:193
PAType give_analtype(void) const
Definition: problem.cpp:180
const BoundaryCond * add_find_BC(BoundaryCond *val)
find identical or add new BC
Definition: problem.cpp:244
GPA< ElemAttribs > ElAts
Definition: problem.h:284
CrossSection * give_CS_of_type(CrossSectType type, int id) const
Definition: problem.cpp:289
FiLe * P_mesherbinary
Definition: problem.h:124
GPA< BoundaryCond > BCs
Definition: problem.h:268
void add_sifBCs(int i)
Definition: problem.h:314
Material * give_Mat(long i) const
Definition: problem.h:321
assignment of attributes to element
Definition: attribute.h:707
Problem description.
Definition: problem.h:74
PAGroup
The group of problem analysis.
Definition: alias.h:367
OperationMode
Definition: problem.h:19
ElemAttribs * give_ElAt_with_geom(CellGeometry eg) const
Definition: problem.h:334
FEApproximation
finite element approximation
Definition: alias.h:937
void read_geometry_VTK_core(Geometry *geom, Stream *stream)
Definition: problem.cpp:1280
void geomElAt_initialize_from(const char *str, CellGeometry cg)
Definition: problem.cpp:209
void domainElAt_initialize_from(const char *str)
Definition: problem.cpp:208
void set_PDBO(ProbDescBoolOpt pdbo, bool val)
Definition: problem.h:142