Class xlifepp::ParametrizedSurface#

class ParametrizedSurface : public xlifepp::Surface#

definition of a ParametrizedSurface geometry in R^3 : x1(u,v), x2(u,v), x3(u,v) As gmsh does not support parametrized surface, to be exported, ParametrizedSurface can be split into _nbparts parts

  • smaller quadrangles or triangles (_linearPartition)

  • smaller nurbs (_splinePartition) NOT YET AVAILABLE

ParametrizedSurface constructors are based on a key-value system. Here are the available keys:

  • _parametrization: parametrization object is handled by Geometry

  • _partitioning: type of partition, one of _nonePartition*, _linearPartition, _splinePartition

  • _nbparts: number of partitions

  • _nnodes: to define the number of nodes on the bound edges

  • _hsteps: to define the local mesh steps on the bounds nodes

  • _domain_name: to define the domain name

  • _side_names/_edge_names: to define the side names

  • _vertex_names: to define the side of side names

  • _varnames: to define the variable names for print purpose

Public Functions

ParametrizedSurface()#

default constructor

default is the ParametrizedSurface [0,1]x[0,1]

ParametrizedSurface(const ParametrizedSurface&)#

copy constructor

ParametrizedSurface(Parameter p1, Parameter p2)#

key-value constructor

virtual string_t asString() const#

format as string

virtual std::vector<const Point*> boundNodes() const#

returns the nodes on boundary (including internal nodes if partition)

virtual Geometry &buildBoundary() const#

create boundary geometry of ParametrizedSurface (composite of ArcParametrization)

create boundary geometry of ParametrizedSurface

inline virtual Geometry *clone() const#

virtual copy constructor for Geometry

inline virtual Surface *cloneS() const#

virtual copy constructor for Geometry

virtual copy constructor for Surface destructor

virtual std::vector<std::pair<ShapeType, std::vector<const Point*>>> curves() const#

return the list of curves defining the borders of a 2D Geometry

inline virtual ParametrizedSurface &homothetize(const Parameter &p1)#

apply a homothety on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &homothetize(const Parameter &p1, const Parameter &p2)#

apply a homothety on a ParametrizedSurface (2 keys)

inline virtual ParametrizedSurface &homothetize(const Point &c = Point(0., 0., 0.), real_t factor = 1.)#

apply a homothety on a ParametrizedSurface

inline virtual ParametrizedSurface &homothetize(real_t factor)#

apply a homothety on a ParametrizedSurface

inline virtual std::vector<number_t> nbElementsForGmshGeneration() const#

return number of points/arcs/lines/loops/surfaces/extrudable elements of a geometry (only for gmsh generation)

inline number_t nbParts() const#

return nb of partitions

inline virtual number_t nbSides() const#

returns the number of sides return number of points/arcs/lines/loops/surfaces/extrudable elementsof a geometry (only for gmsh generation)

virtual std::vector<const Point*> nodes() const#

returns the nodes (including internal nodes if partition)

std::vector<const Point*> nodesOnSide(number_t s = 0) const#

return the nodes located on the side s>=1 (any side if s=0)

inline virtual ParametrizedSurface *parametrizedSurface()#

access to child ParametrizedSurface object

inline virtual const ParametrizedSurface *parametrizedSurface() const#

access to child ParametrizedSurface object (const)

inline Partitioning partitioning() const#

return Partitioning

inline virtual ParametrizedSurface &pointReflect(const Parameter &p1)#

apply a point reflection on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &pointReflect(const Point &c = Point(0., 0., 0.))#

apply a point reflection on a ParametrizedSurface

inline virtual ParametrizedSurface &reflect2d(const Parameter &p1)#

apply a reflection2d on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &reflect2d(const Parameter &p1, const Parameter &p2)#

apply a reflection2d on a ParametrizedSurface (2 keys)

inline virtual ParametrizedSurface &reflect2d(const Point &c, real_t dx, real_t dy = 0.)#

apply a reflection2d on a ParametrizedSurface

inline virtual ParametrizedSurface &reflect2d(const Point &c = Point(0., 0.), std::vector<real_t> d = std::vector<real_t>(2, 0.))#

apply a reflection2d on a ParametrizedSurface

inline virtual ParametrizedSurface &reflect3d(const Parameter &p1)#

apply a reflection3d on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &reflect3d(const Parameter &p1, const Parameter &p2)#

apply a reflection3d on a ParametrizedSurface (2 keys)

inline virtual ParametrizedSurface &reflect3d(const Point &c, real_t nx, real_t ny, real_t nz = 0.)#

apply a reflection3d on a ParametrizedSurface

inline virtual ParametrizedSurface &reflect3d(const Point &c = Point(0., 0., 0.), std::vector<real_t> n = std::vector<real_t>(3, 0.))#

apply a reflection3d on a ParametrizedSurface

inline virtual ParametrizedSurface &rotate2d(const Parameter &p1)#

apply a rotation 2D on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &rotate2d(const Parameter &p1, const Parameter &p2)#

apply a rotation 2D on a ParametrizedSurface (2 keys)

inline virtual ParametrizedSurface &rotate2d(const Point &c, real_t angle = 0.)#

apply a rotation 2D on a ParametrizedSurface

inline virtual ParametrizedSurface &rotate3d(const Parameter &p1)#

apply a rotation 3D on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &rotate3d(const Parameter &p1, const Parameter &p2)#

apply a rotation 3D on a ParametrizedSurface (2 keys)

inline virtual ParametrizedSurface &rotate3d(const Parameter &p1, const Parameter &p2, const Parameter &p3)#

apply a rotation 3D on a ParametrizedSurface (3 keys)

inline virtual ParametrizedSurface &rotate3d(const Point &c, real_t dx, real_t dy, real_t angle)#

apply a rotation on a ParametrizedSurface

inline virtual ParametrizedSurface &rotate3d(const Point &c, real_t dx, real_t dy, real_t dz, real_t angle)#

apply a rotation on a ParametrizedSurface

inline virtual ParametrizedSurface &rotate3d(const Point &c, std::vector<real_t> d = std::vector<real_t>(3, 0.), real_t angle = 0.)#

apply a rotation 3D on a ParametrizedSurface

inline virtual ParametrizedSurface &rotate3d(real_t dx, real_t dy, real_t angle)#

apply a rotation 3D on a ParametrizedSurface

inline virtual ParametrizedSurface &rotate3d(real_t dx, real_t dy, real_t dz, real_t angle)#

apply a rotation 3D on a ParametrizedSurface

inline const Mesh &supportMesh() const#

return pointer to mesh related to geometry support of parametrization

virtual std::vector<std::pair<ShapeType, std::vector<const Point*>>> surfs() const#

return the list of surfaces defining the borders of a 3D Geometry

virtual ParametrizedSurface &transform(const Transformation &t)#

apply a geometrical transformation on a ParametrizedSurface

apply a geometrical transformation to a ParametrizedSurface

inline virtual ParametrizedSurface &translate(const Parameter &p1)#

apply a translation on a ParametrizedSurface (1 key)

inline virtual ParametrizedSurface &translate(real_t ux, real_t uy = 0., real_t uz = 0.)#

apply a translation on a ParametrizedSurface (3 reals version)

inline virtual ParametrizedSurface &translate(std::vector<real_t> u)#

apply a translation on a ParametrizedSurface (vector version)