IFEM 90A354
MultiPatchModelGenerator.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _MULTI_PATCH_MODEL_GENERATOR_H
15#define _MULTI_PATCH_MODEL_GENERATOR_H
16
17#include "ModelGenerator.h"
18#include <GoTools/geometry/SplineCurve.h>
19#include <GoTools/geometry/SplineSurface.h>
20#include <GoTools/trivariate/SplineVolume.h>
21
22
29{
30public:
33 explicit MultiPatchModelGenerator1D(const tinyxml2::XMLElement* elem);
36
38 virtual bool createGeometry(SIMinput& sim) const;
40 virtual bool createTopology(SIMinput& sim) const;
42 virtual bool createTopologySets(SIMinput& sim) const;
43
44protected:
46 virtual std::string createG2(int nsd, bool rational = false) const;
47
48private:
49 size_t nx;
51};
52
53
60{
61public:
64 explicit MultiPatchModelGenerator2D(const tinyxml2::XMLElement* elem);
67
69 virtual bool createGeometry(SIMinput& sim) const;
71 virtual bool createTopology(SIMinput& sim) const;
73 virtual bool createTopologySets(SIMinput& sim) const;
74
75protected:
77 virtual std::string createG2(int nsd, bool rational = false) const;
78
79private:
80 size_t nx;
81 size_t ny;
84};
85
86
93{
94public:
97 explicit MultiPatchModelGenerator3D(const tinyxml2::XMLElement* geo);
100
102 virtual bool createGeometry(SIMinput& sim) const;
104 virtual bool createTopology(SIMinput& sim) const;
106 virtual bool createTopologySets(SIMinput& sim) const;
107
108protected:
110 virtual std::string createG2(int, bool rational = false) const;
111
112private:
113 size_t nx;
114 size_t ny;
115 size_t nz;
119};
120
121#endif
Base class for model generators for NURBS-based FEM simulators.
Base class for model generators for FEM simulators.
Definition ModelGenerator.h:29
const tinyxml2::XMLElement * geo
Pointer to XML element describing geometry.
Definition ModelGenerator.h:56
1D multi-patch model generator for FEM simulators.
Definition MultiPatchModelGenerator.h:29
virtual std::string createG2(int nsd, bool rational=false) const
Generates the G2 description of the geometry.
Definition MultiPatchModelGenerator.C:27
virtual bool createTopology(SIMinput &sim) const
Creates topology for geometry.
Definition MultiPatchModelGenerator.C:104
virtual bool createTopologySets(SIMinput &sim) const
Creates topology sets for geometry.
Definition MultiPatchModelGenerator.C:127
int periodic_x
If non-zero, make model periodic in x for given bases.
Definition MultiPatchModelGenerator.h:50
size_t nx
Number of blocks in x.
Definition MultiPatchModelGenerator.h:49
virtual ~MultiPatchModelGenerator1D()
Empty destructor.
Definition MultiPatchModelGenerator.h:35
virtual bool createGeometry(SIMinput &sim) const
Creates a geometry.
Definition MultiPatchModelGenerator.C:83
2D multi-patch model generator for FEM simulators.
Definition MultiPatchModelGenerator.h:60
int periodic_y
If non-zero, make model periodic in y for given bases.
Definition MultiPatchModelGenerator.h:83
int periodic_x
If non-zero, make model periodic in x for given bases.
Definition MultiPatchModelGenerator.h:82
size_t ny
Number of blocks in y.
Definition MultiPatchModelGenerator.h:81
virtual bool createGeometry(SIMinput &sim) const
Creates a geometry.
Definition MultiPatchModelGenerator.C:237
size_t nx
Number of blocks in x.
Definition MultiPatchModelGenerator.h:80
virtual std::string createG2(int nsd, bool rational=false) const
Generates the G2 description of the geometry.
Definition MultiPatchModelGenerator.C:164
virtual bool createTopologySets(SIMinput &sim) const
Creates topology sets for geometry.
Definition MultiPatchModelGenerator.C:287
virtual bool createTopology(SIMinput &sim) const
Creates topology for geometry.
Definition MultiPatchModelGenerator.C:246
virtual ~MultiPatchModelGenerator2D()
Empty destructor.
Definition MultiPatchModelGenerator.h:66
3D multi-patch model generator for FEM simulators.
Definition MultiPatchModelGenerator.h:93
size_t ny
Number of blocks in y.
Definition MultiPatchModelGenerator.h:114
size_t nx
Number of blocks in x.
Definition MultiPatchModelGenerator.h:113
virtual std::string createG2(int, bool rational=false) const
Generates the G2 description of the geometry.
Definition MultiPatchModelGenerator.C:379
int periodic_y
If non-zero, make model periodic in y for given bases.
Definition MultiPatchModelGenerator.h:117
int periodic_z
If non-zero, make model periodic in z for given bases.
Definition MultiPatchModelGenerator.h:118
virtual bool createTopologySets(SIMinput &sim) const
Creates topology sets for geometry.
Definition MultiPatchModelGenerator.C:531
size_t nz
Number of blocks in z.
Definition MultiPatchModelGenerator.h:115
virtual bool createTopology(SIMinput &sim) const
Creates topology for geometry.
Definition MultiPatchModelGenerator.C:470
virtual bool createGeometry(SIMinput &sim) const
Creates a geometry.
Definition MultiPatchModelGenerator.C:461
int periodic_x
If non-zero, make model periodic in x for given bases.
Definition MultiPatchModelGenerator.h:116
virtual ~MultiPatchModelGenerator3D()
Empty destructor.
Definition MultiPatchModelGenerator.h:99
Sub-class with functionality for model input and setup.
Definition SIMinput.h:38