MIDAS  0.75
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
geometry.h
Go to the documentation of this file.
1 #ifndef MIDAS_GEOMETRY_H
2 #define MIDAS_GEOMETRY_H
3 
4 #include "alias.h"
5 #include "subject.h"
6 
7 #include "gelib.h"
8 #include "librw.h"
9 #include "arrays.h"
10 #include "gpa.h"
11 
12 
19 namespace midaspace {
20 
21 //* ********************************************************************************************
22 //* *** *** *** *** CLASS MESHGEOMETRY *** *** *** ***
23 //* ********************************************************************************************
29 class Geometry : public ProblemSubject
30 {
31  // ******************************
32  // /** @name GENERAL INFO **/
33  // ******************************
34  // @{
35  protected:
36  MMprocessing gp; // geometry processing; primary, secondary or other meshes
37 
38  //* STATE
39  bool nodeprop, elemprop; // property at all nodes or elems
40 
41 
42  public:
43  //* *** SET ***
44  //* *** GET ***
45  MMprocessing give_gp (void) const { return gp; }
46  bool give_nodeprop (void) const { return nodeprop; }
47  bool give_elemprop (void) const { return elemprop; }
48  // @}
49 
50 
51  // *******************************
52  // /** @name GEOMETRY DATA **/
53  // *******************************
54  // @{
55  protected:
57  GPA<Point> Pjnts; // all points on domain
58  GPA<Edge> Edges; // all edges on domain
59  GPA<Face> Faces; // all faces on domain
60  GPA<Element> Elems; // all elements on domain
61 
62  public:
63  //* *** GET ***
64  long give_Npts(void) const { return Pjnts(); }
65  long give_Neds(void) const { return Edges(); }
66  long give_Nfas(void) const { return Faces(); }
67  long give_Nels(void) const { return Elems(); }
68  const Point* give_Pjnt(long i) const { return Pjnts[i]; }
69  const Edge* give_Edge(long i) const { return Edges[i]; }
70  const Face* give_Face(long i) const { return Faces[i]; }
71  const Element* give_Elem(long i) const { return Elems[i]; }
72  const GPA<Point>* give_Pjnts(void) const { return &Pjnts; }
73  const GPA<Edge>* give_Edges(void) const { return &Edges; }
74  const GPA<Face>* give_Faces(void) const { return &Faces; }
75  const GPA<Element>* give_Elems(void) const { return &Elems; }
76 
77  //
78  const Point* give_Pjnt_with_prop (long prp, bool unique) const;
79 
80  //* *** EDIT ***
81  void add_another_Pjnt(Point *comp);
82  void add_another_Edge(Edge *comp);
83  void add_another_Face(Face *comp);
84  void add_another_Elem(Element *comp);
85  void wdg_another_Elem(Element *comp, long nid);
86 
88  void replace_Pjnt_by (Point *Pold, Point *Pnew);
90  void kill_damned_elems (void);
92  void letoff_aa (void);
93  // @}
94 
95 
96  // ********************************
97  // /** @name GEOMETRY STATS **/
98  // ********************************
99  // @{
106  protected:
107  bool connectivity_assembled; // connectivity stats at ALL components are assembled
108 
111  long VTKCTcl; // VTK_LINES
112  long VTKCTct; // VTK_TRIANGLE
113  long VTKCTch; // VTK_HEXAHEDRON
114  //
115  double aver_elem_circ; // average element circum
116  long anyBeamElem; // there is at least one beam/truss element (Beam Class) in this mesh
117  //
118  bool boubox_assembled; // boundary box of points assembled
119  PoinT boubox_min, boubox_max, boubox_diff; // min and max coordinates, difference
120 
121 
122  public:
123  //* *** SET INFO ***
125  void connectivity_allocation (void);
126  void connectivity_assembling (void);
127  void VTKCT_assembling (long indx=-1);
128  void aver_elem_circ_assembling (long indx=-1);
129  void anyBeamElem_assembling (long indx=-1);
130  void boubox_assembling (long indx=-1);
132  void geom_stats_assembling (const GeometryComponent *comp);
133 
134  //* *** GET INFO ***
135  bool connectivity_is_assembled (void) const { return connectivity_assembled; }
136  bool VTKCT_is_assembled (void) const { return (VTKCTcl >= 0); }
138  void give_vtk_polydata_counts (long &cl, long &cp) const; // get/compute count of VTK polydata elements
139  bool only_vtk_polydata (void) const; // all elements is polydata compatible
140  bool only_1d_elements (void) const; // only 1d elements
142  double give_aver_elem_circ (void) const;
143  long give_anyBeamElem (void) const;
145  const PoinT* give_boubox_diff (void) const;
146 
148  VTKdataset giveVTKDS (void);
150  void print_info (void) const;
151  void print_geom_info (void) const;
152  // @}
153 
154 
155  // *********************************
156  // /** @name GENERAL METHODS **/
157  // *********************************
158  // @{
159  public:
161  Geometry (long gid, const Problem *p, MMprocessing proc);
163  virtual ~Geometry (void);
164 
166  virtual void initialize (void);
168  virtual void finitialize (void);
170  virtual void checkConsistency (void) const;
171 
172 
173  //* *** READ ***
174  virtual Point* allocate_point (long gid, const PoinT *coo, char attribs_alloc='n') = 0;
175  //virtual Element* allocate_Element (long gid, long oid, long dom, long lid, const GeometryComponent *masterel=NULL) = 0;
176  void read_addata_VTK (const char *filename, bool sparse);
177  void read_VTK (char DATASET, Stream *stream, bool addata=false, bool sparse=false);
178 
180  bool isModel(void) const {return ((this->give_classid() == classModel) ? true : false); }
181  bool isMesh (void) const {return ((this->give_classid() == classMesh) ? true : false); }
182 
185  void assign_NodeLoad_by_point_ID (const BoundaryCond* bc, long id);
186  void assign_NodeLoad_by_point_prop (const BoundaryCond* bc, long prop);
187  void assign_NodeLoad_by_point_coords(const BoundaryCond* bc, const PoinT *coords);
189  void assign_BodyLoad_by_elem_ID (const BoundaryCond* bc, long id);
190  void assign_BodyLoad_by_elem_prop (const BoundaryCond* bc, long prop);
192  void assign_EdgeLoad_by_elem_ID (const BoundaryCond* bc, long id, int indx=-1);
193  void assign_EdgeLoad_by_elem_prop (const BoundaryCond* bc, long prop);
195  void assign_FaceLoad_by_elem_ID (const BoundaryCond* bc, long id, int indx=-1);
196  void assign_FaceLoad_by_elem_prop (const BoundaryCond* bc, long prop);
197  void assign_FaceLoad_by_face_prop (const BoundaryCond* bc, long prop);
198 
199 
200  //
201  void join_geom (Geometry *geom);
202 
204  bool give_3Delement_with_point_inside (const PoinT *coords, const GeometryComponent *&comp, PoinT *nc) const;
205  //
207  // @}
208 };
209 
210 
211 //* ********************************************************************************************
212 //* *** *** *** *** CLASS MODEL *** *** *** ***
213 //* ********************************************************************************************
219 class Model : public Geometry
220 {
221  // *********************************
222  // /** @name GENERAL METHODS **/
223  // *********************************
224  // @{
225  public:
227  Model (long gid, const Problem *p, MMprocessing mmp);
229  virtual ~Model (void);
231  virtual classID give_classid() const { return classModel; }
232 
233 
234  //* *** GET ***
235  long give_Nv (void) const { return Pjnts(); }
236  const Vertex* give_Vertex (long i) const { return ((const Vertex*) Pjnts[i]); }
237  long give_Ng (void) const { return Elems(); }
238  const Gelement* give_Gelement (long i) const { return ((const Gelement*)Elems[i]); }
239 
240  //* *** READ ***
241  void read_model_polylines (const char *path, const char *filename);
242  void read_model_MELNIK (void);
243 
245  void transform_to_mesh (void);
246  void generate_mesh_RFbyHN (void);
247  void generate_mesh_primary (void);
249  virtual void print_control (FILE *stream) const { }
251  const GeometryComponent* give_masterel (int mydim, int mastertype, long masterID) const;
252 
253  //* *** READ ***
254  Point* allocate_point (long gid, const PoinT *coo, char attribs_alloc='n');
255  //Element* allocate_Element (long gid, long oid, long dom, long lid, const GeometryComponent *masterel=NULL);
257  //void findRANofSkewLines (const Beam *b1, const Beam *b2);
258  void findRANofSkewLines (void);
259  // @}
260 };
261 
262 
263 
264 //* ********************************************************************************************
265 //* *** *** *** *** CLASS FEMESH *** *** *** ***
266 //* ********************************************************************************************
272 class Mesh : public Geometry
273 {
274  // ******************************
275  // /** @name GENERAL INFO **/
276  // ******************************
277  // @{
278  private:
279  const Model *Master; // mesh is generated from Master model
280 
281  public:
282  //* *** SET ***
283  void set_Master_model (const Model *M) { Master = M; }
284  const Model* give_Master_model(void) const { return Master ? Master : NULL; }
285 
286 
287  protected:
288  bool Parallel;
289  long NumDomains; //
290  long *NumNodes, *NumElems; // parallel
291 
292  long cSubDomains; // count of SubDomains = kusy site ktere nejsou propojene
293  long *cNodesInSD; // count nodes in subdomains
294 
298  Solver rslts_solver; // type of solver
299  long rslts_nsteps; // number of printed steps
300  Lvctr *rslts_step; // id of step
301  Dvctr *rslts_loadlevel; // reached load level
302  double critical_coeff; // critical load coefficient
303 
304  bool RTN[cRTN]; // array with ResultTypesAtNode
305  bool RTE[cRTE]; // array with ResultTypesAtElem
306 
308  long nRegions; // number of adaptivity regions
309 
310 
311  public:
312  //* *** SET ***
313  long NumNodes_plus (long i) { return NumNodes[i]++; }
314  void set_RTN(ResultTypesAtNode rt, bool val) { RTN[rt] = val; }
315  void set_RTE(ResultTypesAtElem rt, bool val) { RTE[rt] = val; }
316 
317  //* *** GET ***
318  bool give_Parallel (void) const { return Parallel; }
319  long give_NumDomains (void) const { return NumDomains; }
320  long give_NnAtDom (int did) const { return ( Parallel ? NumNodes[did] : Pjnts() ); }
321  long give_NeAtDom (int did) const { return ( Parallel ? NumElems[did] : Elems() ); }
322 
323  long give_cSubDomains (void) const { return cSubDomains; }
324  const long* give_cNodesInSD (void) const { return cNodesInSD; }
325 
326  Solver give_rslts_solver(void) const { return rslts_solver; }
327  //femFileFormat give_rslts_format(void) const { return rslts_format; }
328  long give_rslts_nsteps(void) const { return rslts_nsteps; }
329 
330  long give_nRegions(void) const { return nRegions; }
331 
332 
333  // vem kod z void LocalCoordSystem :: initialize (Geometry *geom)
334  const Node* give_Node_with_prop (long prp, bool unique) const {
335  return (const Node*)this->give_Pjnt_with_prop(prp, unique);
336  }
337 
338  void add_another_Element (FElement *elem, long dom);
339  // @}
340 
341 
342  // ***************************
343  // /** @name MESH DATA **/
344  // ***************************
345  // @{
346  private:
347  Node* Nodes (long i) const { return ((Node*) Pjnts[i]); }
348  FElement* FElems (long i) const { return ((FElement*)Elems[i]); }
349 
350  public:
351  //* *** GET ***
352  long give_Nn (void) const { return Pjnts(); }
353  const Node* give_Node (long i) const { return ((const Node*)Pjnts[i]); }
354  const FElement* give_FElem(long i) const { return FElems(i); }
355 
356  //* *** EDIT ***
357  // KILL ELEMENTS marked by flag "delete" ; KILL = invisible + delete
358  //void kill_damned_elems (void);
359  // let off atributes arrays
360  //void letoff_aa (void);
361  // @}
362 
363 
364  // ****************************
365  // /** @name MESH STATS **/
366  // ****************************
368  // @{
370  // statistiky se musi prepocitat po kazde zmene site neby vynulovat lepe
371 
372  private:
377  // @}
378 
379 
380  // *********************************
381  // /** @name GENERAL METHODS **/
382  // *********************************
383  // @{
384  public:
386  Mesh (long gid, const Problem *p, long numdom, MMprocessing mmp);
388  virtual ~Mesh (void);
389 
391  virtual classID give_classid() const { return classMesh; }
393  virtual void initialize (void);
395  virtual void checkConsistency (void) const;
396 
397 
398  //* *** READ ***
399  Point* allocate_point (long gid, const PoinT *coo, char attribs_alloc='n');
400  //Element* allocate_Element (long gid, long oid, long dom, long lid, const GeometryComponent *masterel=NULL);
401  void read_mesh_ANSYS (char *path, const char *filename);
402  void read_mesh_T3d (char *path, const char *filename);
403  void read_mesh_JKTK (char *path, const char *filename);
404  void read_mesh_OOFEM (FILE *stream, long nn, long ne);
405  void read_mesh_SIFEL (FILE *stream);
406  void read_mesh_UNV (char *path, const char *filename);
407  void read_mesh_VLNA (char *path, const char *filename);
408  void read_mesh_equal_to_model (void);
409 
412  void read_output_OOFEM (void);
413  void read_output_SIFEL (void);
414 
415 
416  void find_slaves (void);
418  void cleanup_duplicities (void);
419  void check_duplicity_nodes (void);
420 
422  void mesh_quality (void) const;
423 
425  void RIGIDmatToRAN(void);
426 
428  void find_subdomains (void);
430  void delete_subdomains_except (long leave);
431 
432  // vlna
433  //void vlna (void);
434  //void delete_cmfrs (void);
435 
437  void sort_polydata (Xvctr *data) const;
438 
440  //void shake_nodes (void);
441  //void shake_elements (void);
442 
443  //* *** print VTK ***
444  void print_VTK_nodes (Stream *stream) const;
445  void print_VTK_elems (Stream *stream, VTKdataset ds) const;
446  void print_VTK_body (Stream *stream, VTKdataset ds) const;
447 
448 
450  void print_VTK_PD_scal (bool xml, const char *suff, const char *name, const Xvctr **data);
452  void print_VTK_CD_scal (bool xml, const char *suff, const char *name, const Xvctr **data) const;
454  void print_VTK (femFileFormat format, const char *suff);
456  void print_JKTK (femFileFormat format, const char *suff);
457 
459  void print_block_nodes (FILE *stream, femFileFormat fff, int did);
460  void print_block_supported_dofs (FILE *stream, femFileFormat fff, int did);
461  void print_block_elems (FILE *stream, femFileFormat fff, int did);
462  void print_block_nodal_load (FILE *stream, femFileFormat fff, int did);
463  void print_block_gravity_load_ANSYS (FILE *stream) const;
464 
465  void resize_Lata (long newsize);
466  void resize_Lata_members (long newsize);
467  void resize_Data (long newsize);
468  void resize_Data_members (long newsize);
469 
470  void print_control (FILE *conout) const;
471  void print_data_ready_vtk (void);
472  void print_results (void);
473  void print_cabletensileonly (bool mft=true);
474  void print_characteristics_to_VTK (bool mft=true);
475 
477  void adaptivity (void);
478 #ifdef __MEER_MODULE
479  void regions_init (void);
480 #endif
481 
482  // temp
483  double volume_core (void) const;
484  // @}
485 };
486 
487 } // namespace midaspace
488 
489 #endif // MIDAS_GEOMETRY_H
const Face * give_Face(long i) const
Definition: geometry.h:70
void print_VTK_elems(Stream *stream, VTKdataset ds) const
Definition: geometry.cpp:3172
void letoff_aa(void)
let off atributes arrays
Definition: geometry.cpp:193
DOFsPerNode give_DOFsPerNode(void)
Definition: geometry.cpp:2797
femFileFormat
Definition: alias.h:632
FElement * FElems(long i) const
Definition: geometry.h:348
virtual ~Mesh(void)
DESTRUCTOR.
Definition: geometry.cpp:1340
bool connectivity_is_assembled(void) const
Definition: geometry.h:135
void assign_NodeLoad_by_point_ID(const BoundaryCond *bc, long id)
BC assign assign nodal load to the point by/via ...
Definition: geometry.cpp:2719
Point * allocate_point(long gid, const PoinT *coo, char attribs_alloc='n')
Definition: geometry.cpp:505
void set_Master_model(const Model *M)
Definition: geometry.h:283
long give_NeAtDom(int did) const
Definition: geometry.h:321
void set_RTN(ResultTypesAtNode rt, bool val)
Definition: geometry.h:314
Solver
Solver.
Definition: alias.h:188
GPA< Edge > Edges
Definition: geometry.h:58
VTKdataset
VTK data set.
Definition: alias.h:201
long give_Ng(void) const
Definition: geometry.h:237
long nRegions
ADAPTIVITY == adaptivity in MIDAS.
Definition: geometry.h:308
void print_VTK_CD_scal(bool xml, const char *suff, const char *name, const Xvctr **data) const
VTK file with one cell data scalar.
DOFsPerNode
Definition: alias.h:700
void mesh_quality(void) const
compute mesh quality
Definition: geometry.cpp:1406
const GPA< Point > * give_Pjnts(void) const
Definition: geometry.h:72
void sort_polydata(Xvctr *data) const
sort polydata data
Definition: geometry.cpp:2695
virtual void initialize(void)
initiate/sets data
Definition: geometry.cpp:1355
long give_NumDomains(void) const
Definition: geometry.h:319
void findRANofSkewLines(void)
void wdg_another_Elem(Element *comp, long nid)
Definition: geometry.cpp:158
VTKdataset giveVTKDS(void)
other
Definition: geometry.cpp:368
void assign_BodyLoad_by_elem_ID(const BoundaryCond *bc, long id)
assign body load to the element by/via ...
Definition: geometry.cpp:2744
long * cNodesInSD
Definition: geometry.h:293
void add_another_Element(FElement *elem, long dom)
adds elem to the end of array Elements
Definition: geometry.cpp:1398
General functions.
Class GPA.
void print_VTK(femFileFormat format, const char *suff)
VTK file with no data.
Definition: geometry.cpp:3407
void resize_Lata(long newsize)
print VTK file divided to severel functions
Definition: geometry.cpp:3043
virtual void finitialize(void)
finalize prepropcessing
Definition: geometry.cpp:72
void print_VTK_body(Stream *stream, VTKdataset ds) const
Definition: geometry.cpp:3267
void assign_NodeLoad_by_point_prop(const BoundaryCond *bc, long prop)
Definition: geometry.cpp:2724
void assign_NodeLoad_by_point_coords(const BoundaryCond *bc, const PoinT *coords)
Definition: geometry.cpp:2733
bool only_1d_elements(void) const
only 1d elements
Definition: geometry.cpp:269
Input / output function.
virtual void checkConsistency(void) const
Checks data consistency.
Definition: geometry.cpp:82
long give_Nels(void) const
Definition: geometry.h:67
long cSubDomains
Definition: geometry.h:292
const Vertex * give_Vertex(long i) const
Definition: geometry.h:236
long give_rslts_nsteps(void) const
Definition: geometry.h:328
virtual Point * allocate_point(long gid, const PoinT *coo, char attribs_alloc='n')=0
const PoinT * give_boubox_diff(void) const
Definition: geometry.cpp:340
void print_block_elems(FILE *stream, femFileFormat fff, int did)
print input file for solver - block with elements
Definition: geometry.cpp:2911
void read_output_SIFEL(void)
read native output file of SIFEL
Definition: geometry.cpp:2211
void kill_damned_elems(void)
KILL ELEMENTS marked by flag "delete" ; KILL = invisible + delete.
Definition: geometry.cpp:174
void assign_EdgeLoad_by_elem_ID(const BoundaryCond *bc, long id, int indx=-1)
assign edge load to the edge by/via ...
Definition: geometry.cpp:2757
void assign_FaceLoad_by_face_prop(const BoundaryCond *bc, long prop)
Definition: geometry.cpp:2788
void add_another_Pjnt(Point *comp)
Definition: geometry.cpp:153
void RIGIDmatToRAN(void)
rigid material to RAN
Definition: geometry.cpp:1464
void assign_BodyLoad_by_elem_prop(const BoundaryCond *bc, long prop)
Definition: geometry.cpp:2749
virtual ~Geometry(void)
DESTRUCTOR.
Definition: geometry.cpp:46
Alias.
long give_Neds(void) const
Definition: geometry.h:65
void find_slaves(void)
cte VLNA soubory, zatim omezene
Definition: geometry.cpp:2342
bool give_elemprop(void) const
Definition: geometry.h:47
GPA< const Dvctr > pData
Definition: geometry.h:376
void read_mesh_T3d(char *path, const char *filename)
kompletni T3d mesh file
Definition: geometry.cpp:1638
bool VTKCT_is_assembled(void) const
Definition: geometry.h:136
void read_mesh_VLNA(char *path, const char *filename)
void print_data_ready_vtk(void)
void print_characteristics_to_VTK(bool mft=true)
Definition: geometry.cpp:3891
Geometry(long gid, const Problem *p, MMprocessing proc)
CONSTRUCTOR.
Definition: geometry.cpp:24
void replace_Pjnt_by(Point *Pold, Point *Pnew)
invisible and delete old, set ID and assign new, of new
Definition: geometry.cpp:161
void print_block_nodal_load(FILE *stream, femFileFormat fff, int did)
print input file for solver - block with nodal load
Definition: geometry.cpp:2919
const long * give_cNodesInSD(void) const
Definition: geometry.h:324
const Node * give_Node_with_prop(long prp, bool unique) const
Definition: geometry.h:334
MMprocessing give_gp(void) const
Definition: geometry.h:45
long give_NnAtDom(int did) const
Definition: geometry.h:320
void resize_Data_members(long newsize)
Definition: geometry.cpp:3076
Structs Elem3D, PoinT and VectoR; classes Array, Array1d, Xscal, Dscal, Xvctr, Lvctr, Dvctr, Xmtrx, Lmtrx and Dmtrx.
void set_RTE(ResultTypesAtElem rt, bool val)
Definition: geometry.h:315
long give_Nn(void) const
Definition: geometry.h:352
GPA< Lvctr > Lata
dd
Definition: geometry.h:373
void print_cabletensileonly(bool mft=true)
bool isModel(void) const
Definition: geometry.h:180
void resize_Lata_members(long newsize)
Definition: geometry.cpp:3055
void boubox_assembling(long indx=-1)
Definition: geometry.cpp:308
void print_geom_info(void) const
print info about geometry of mesh
Definition: geometry.cpp:396
const Model * Master
Definition: geometry.h:279
void join_geom(Geometry *geom)
Definition: geometry.cpp:846
void read_mesh_ANSYS(char *path, const char *filename)
zatim to cte jen primitivni batch file pro ANSYS kterej obsahuje jen coordinaty of nodes a trojuhelni...
Definition: geometry.cpp:1520
GPA< Face > Faces
Definition: geometry.h:59
virtual ~Model(void)
DESTRUCTOR.
Definition: geometry.cpp:927
virtual classID give_classid() const
Returns classID - class identification.
Definition: geometry.h:391
void transform_to_mesh(void)
Definition: geometry.cpp:1193
Model(long gid, const Problem *p, MMprocessing mmp)
CONSTRUCTOR.
Definition: geometry.cpp:922
const FElement * give_FElem(long i) const
Definition: geometry.h:354
void read_model_MELNIK(void)
Definition: geometry.cpp:1001
void connectivity_assembling(void)
Function computes connectivity of mesh.
Definition: geometry.cpp:213
bool RTN[cRTN]
Definition: geometry.h:304
void add_another_Edge(Edge *comp)
Definition: geometry.cpp:154
MMprocessing gp
Definition: geometry.h:36
long give_Nfas(void) const
Definition: geometry.h:66
long NumNodes_plus(long i)
Definition: geometry.h:313
Geometry description.
Definition: geometry.h:29
void read_model_polylines(const char *path, const char *filename)
nput file with polylines first line: #1 - number of polylines first line of polyline: #1 #2 #3 #4...
Definition: geometry.cpp:945
long give_Npts(void) const
Definition: geometry.h:64
const Gelement * give_Gelement(long i) const
Definition: geometry.h:238
void print_VTK_PD_scal(bool xml, const char *suff, const char *name, const Xvctr **data)
VTK file with one point data scalar.
const Point * give_Pjnt_with_prop(long prp, bool unique) const
Definition: geometry.cpp:116
Solver give_rslts_solver(void) const
Definition: geometry.h:326
virtual void checkConsistency(void) const
Checks data consistency.
Definition: geometry.cpp:1392
const Edge * give_Edge(long i) const
Definition: geometry.h:69
double give_aver_elem_circ(void) const
Definition: geometry.cpp:304
void find_subdomains(void)
subdomain
Definition: geometry.cpp:2471
void generate_mesh_primary(void)
Definition: geometry.cpp:1256
void aver_elem_circ_assembling(long indx=-1)
Definition: geometry.cpp:278
void read_VTK(char DATASET, Stream *stream, bool addata=false, bool sparse=false)
CORE read of VTK file.
Definition: geometry.cpp:561
void connectivity_allocation(void)
Function allocates arrays necessary for connectivity assembling.
Definition: geometry.cpp:206
void print_control(FILE *conout) const
Function prints contol data.
Definition: geometry.cpp:2980
GPA - Generic Pointer Array, template class manages 1d array of pointers to objects of type T...
Definition: gpa.h:23
void geom_stats_assembling(const GeometryComponent *comp)
Definition: geometry.cpp:349
void print_VTK_nodes(Stream *stream) const
Definition: geometry.cpp:3145
void read_mesh_UNV(char *path, const char *filename)
Definition: geometry.cpp:1941
void resize_Data(long newsize)
Definition: geometry.cpp:3064
void print_info(void) const
Definition: geometry.cpp:383
double critical_coeff
Definition: geometry.h:302
MMprocessing
Definition: alias.h:616
const GPA< Face > * give_Faces(void) const
Definition: geometry.h:74
Node * Nodes(long i) const
Definition: geometry.h:347
void read_structural_analysis_output(void)
read output file from structural analysis package
Definition: geometry.cpp:2018
void check_duplicity_nodes(void)
set up duplicity nodes
Definition: geometry.cpp:2414
void print_block_gravity_load_ANSYS(FILE *stream) const
print input file for solver - block with gravity load
Definition: geometry.cpp:2936
Subject.
virtual void print_control(FILE *stream) const
Definition: geometry.h:249
void read_mesh_SIFEL(FILE *stream)
read native input file to SIFEL
Definition: geometry.cpp:1873
Lvctr * rslts_step
Definition: geometry.h:300
ResultTypesAtElem
Result type at element.
Definition: alias.h:240
const GPA< Element > * give_Elems(void) const
Definition: geometry.h:75
const Model * give_Master_model(void) const
Definition: geometry.h:284
GPA< Dvctr > Data
Definition: geometry.h:374
long give_Nv(void) const
Definition: geometry.h:235
double aver_elem_circ
Definition: geometry.h:115
bool give_3Delement_with_point_inside(const PoinT *coords, const GeometryComponent *&comp, PoinT *nc) const
Function finds location of point indide of which 3d element is.
Definition: geometry.cpp:863
long VTKCTcl
ELEMENT STATS // VTK cells types - count elements of type:
Definition: geometry.h:111
bool give_Parallel(void) const
Definition: geometry.h:318
void assign_EdgeLoad_by_elem_prop(const BoundaryCond *bc, long prop)
Definition: geometry.cpp:2763
void print_block_supported_dofs(FILE *stream, femFileFormat fff, int did)
print input file for solver - block with supported nodes
Definition: geometry.cpp:2892
const Element * give_Elem(long i) const
Definition: geometry.h:71
Dvctr * rslts_loadlevel
Definition: geometry.h:301
long give_cSubDomains(void) const
Definition: geometry.h:323
const GeometryComponent * give_masterel(int mydim, int mastertype, long masterID) const
void give_vtk_polydata_counts(long &cl, long &cp) const
get/compute count of VTK polydata elements
Definition: geometry.cpp:251
*** *** *** *** CLASS COMPONENT *** *** *** ***
Definition: geomcomp.h:22
bool give_nodeprop(void) const
Definition: geometry.h:46
Point * allocate_point(long gid, const PoinT *coo, char attribs_alloc='n')
Definition: geometry.cpp:500
long * NumNodes
Definition: geometry.h:290
bool only_vtk_polydata(void) const
all elements is polydata compatible
Definition: geometry.cpp:260
virtual classID give_classid() const
Returns classID - class identification.
Definition: geometry.h:231
bool connectivity_assembled
when any function changes geometry there are two types of "set" functions a) stat is not activated =>...
Definition: geometry.h:107
void read_mesh_equal_to_model(void)
make mesh equal to model - no remeshing process
Definition: geometry.cpp:1763
void delete_subdomains_except(long leave)
delete all subdomains except "leave"
Definition: geometry.cpp:2523
void print_block_nodes(FILE *stream, femFileFormat fff, int did)
PRINTING OF FILES.
Definition: geometry.cpp:2884
void read_addata_VTK(const char *filename, bool sparse)
Definition: geometry.cpp:539
ResultTypesAtNode
Result type at node.
Definition: alias.h:204
const Node * give_Node(long i) const
Definition: geometry.h:353
count of ...
Definition: alias.h:211
Solver rslts_solver
RESULTS == structural analysis output data.
Definition: geometry.h:298
GPA< Point > Pjnts
Definition: geometry.h:57
void cleanup_duplicities(void)
clean up duplicities (nodes,lines)
Definition: geometry.cpp:2390
void read_mesh_OOFEM(FILE *stream, long nn, long ne)
read native input file to OOFEM
Definition: geometry.cpp:1822
bool isMesh(void) const
Definition: geometry.h:181
void add_another_Elem(Element *comp)
Definition: geometry.cpp:156
void read_output_OOFEM(void)
read native output file of OOFEM
Definition: geometry.cpp:2120
void adaptivity(void)
ADAPTIVITY.
Definition: geometry.cpp:3950
bool RTE[cRTE]
Definition: geometry.h:305
GPA< const Dvctr > pLata
Definition: geometry.h:375
void assign_FaceLoad_by_elem_prop(const BoundaryCond *bc, long prop)
Definition: geometry.cpp:2779
Mesh(long gid, const Problem *p, long numdom, MMprocessing mmp)
CONSTRUCTOR.
Definition: geometry.cpp:1311
void anyBeamElem_assembling(long indx=-1)
Definition: geometry.cpp:292
void generate_mesh_RFbyHN(void)
Definition: geometry.cpp:1227
long give_nRegions(void) const
Definition: geometry.h:330
void print_JKTK(femFileFormat format, const char *suff)
print geometry to JKTK format file
Definition: geometry.cpp:3451
const GPA< Edge > * give_Edges(void) const
Definition: geometry.h:73
classID
Type introduced to distinguish between classes.
Definition: alias.h:142
void print_results(void)
TADY BUDOU VSECHNY INFORMACE O VYSLEDCICH ZE SOLVERU.
Definition: geometry.cpp:3524
void VTKCT_assembling(long indx=-1)
sum counts of VTK cell types
Definition: geometry.cpp:225
VTKPDtopology
VTK type of cell topology for POLYDATA.
Definition: alias.h:931
void read_mesh_JKTK(char *path, const char *filename)
JKTK file format.
Definition: geometry.cpp:1586
virtual void initialize(void)
initiate/sets data
Definition: geometry.cpp:55
GPA< Element > Elems
Definition: geometry.h:60
const Point * give_Pjnt(long i) const
Definition: geometry.h:68
virtual classID give_classid() const
Returns classID - class identification.
Definition: subject.h:35
long rslts_nsteps
Definition: geometry.h:299
Problem description.
Definition: problem.h:74
long * NumElems
Definition: geometry.h:290
long give_anyBeamElem(void) const
Definition: geometry.cpp:305
void add_another_Face(Face *comp)
Definition: geometry.cpp:155
void assign_FaceLoad_by_elem_ID(const BoundaryCond *bc, long id, int indx=-1)
assign face load to the face by/via ...
Definition: geometry.cpp:2773
VTKPDtopology give_VTKPDtopology_of_elem(long i) const
Definition: geometry.cpp:377
double volume_core(void) const
print volume to extra file
Definition: geometry.cpp:4141