concepts::Circle Class Reference
#include <circle.hh>
Classes | |
class | S |
scanner over the cells More... | |
Public Member Functions | |
void | addInnerBoundary (const Sequence< Edge2d * > &innerBoundary) |
Adds clones of the edges in innerBoundary as new inner boundary. More... | |
Circle (const Array< Real > rings, const Array< uint > ringAttrib, const Array< uint > ringEdgeAttrib, const Real ratio=0.5, const Real innerRadius=0.0) | |
V1 constructor for circle and rings around. More... | |
Circle (const Array< Real > rings, const Array< uint > ringAttrib, const Real ratio=0.5, const Real innerRadius=0.0) | |
V1 constructor for circle and rings around. More... | |
Circle (const Array< Real > rings, const Real ratio=0.5, const Real innerRadius=0.0) | |
V1 constructor for circle and rings around. More... | |
Circle (const Real innerRadius, const Array< Real > rings) | |
V1 constructor for circle and rings with hole in the middle. More... | |
Circle (const Real innerRadius, const Array< Real > rings, const Array< uint > ringAttrib) | |
V1 constructor for circle and rings with hole in the middle. More... | |
Circle (const Real r=1.0, const Real ratio=0.5, const Real innerRadius=0.0) | |
V1 constructor for circle with 5 cells. More... | |
Circle (const Real2d center, const Real innerRadius, const Real outerRadius, const uint n, const Attribute attrib=0, const Real phi0=0) | |
V3 constructor for circular sheet with uniform subdivision. More... | |
Circle (const Real2d center, const Real r, const uint n, const Attribute attrib=0, const Real phi0=0, const Attribute edgAttr=0) | |
V2 constructor for circle with uniform subdivision. More... | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
const Sequence< Sequence< Edge2d * > > & | innerBoundary () const |
uint | ncell () const |
Returns the number of cells in the mesh. More... | |
const Sequence< Edge2d * > & | outerBoundary () const |
Scan2 * | scan () |
Returns a scanner over the cells of the mesh. More... | |
virtual | ~Circle () |
Protected Attributes | |
Sequence< Sequence< Edge2d * > > | innerBoundary_ |
Several internal boundaries given by edges in 2D. More... | |
Sequence< Edge2d * > | outerBoundary_ |
Outer boundary given by edges in 2D. More... | |
Private Member Functions | |
void | construct_ (const Array< Real > rings, const Real ratio, const Real innerRadius, const std::map< uint, uint > *const attrib=0, const std::map< uint, uint > *const edgeAttrib=0, const bool hole=false) |
For variant V1: Constructs the rings. More... | |
Real2d | point_ (const uint n, const Real r) const |
For variant V1: Coordinates of a point in direction x, y, -x or y with distance r from 0. More... | |
Private Attributes | |
Array< Quad2d * > | cell_ |
Cells. More... | |
Array< Edge * > | edg_ |
Array< CircleMappingEdge2d * > | edges_ |
Edge parametrisation. More... | |
uint | ncell_ |
Array< Quad * > | quad_ |
Array< Vertex * > | vtx_ |
Detailed Description
Mesh for a circle.
Variant V1: Four sectors with possible shells, centered at (0,0). Variant V2: Even number of sectors, no shells, centered somewhere. Variant V3: Circular strip with hole, somehow subdivided, centered somewhere. Variant V4: Only circular edges, somehow subdivided.
Variant V1: In the middle is one quadrilateral with possible curved edges. Around are shells of four quads. In minimum there are 5 cells. In the shells the local x-direction is in radial direction, In the inner quadrilateral in 45°-direction (to top right).
The edges at the boundary have attribute 1 to 4.
Variant V2: In the middle there is a structured grid with number of surface nodes equal to the number of nodes on the circle.
Variant V3: Circular strip with hole in the middle with prescribed number of surface modes.
All edges are oriented counter-clockwise, i.e. the normal vector points to the outer domain.
- Examples
- BGT_0.cc, and exactDtN.cc.
Constructor & Destructor Documentation
◆ Circle() [1/8]
concepts::Circle::Circle | ( | const Real | r = 1.0 , |
const Real | ratio = 0.5 , |
||
const Real | innerRadius = 0.0 |
||
) |
V1 constructor for circle with 5 cells.
- Parameters
-
r radius of the circle ratio distance of innermost quad from (0,0), relative to first radius innerRadius radius of the edges of the innermost quad, the quad hasn't to be a circle itself, 0.0 means straigt line
The edges on the outer boundaries have attribute 1, the cells have no attributes.
◆ Circle() [2/8]
concepts::Circle::Circle | ( | const Array< Real > | rings, |
const Real | ratio = 0.5 , |
||
const Real | innerRadius = 0.0 |
||
) |
V1 constructor for circle and rings around.
- Parameters
-
rings radia of the circles ratio distance of innermost quad from (0,0), relative to first radius innerRadius radius of the edges of the innermost quad, the quad hasn't to be a circle itself, 0.0 means straigt line
◆ Circle() [3/8]
concepts::Circle::Circle | ( | const Array< Real > | rings, |
const Array< uint > | ringAttrib, | ||
const Real | ratio = 0.5 , |
||
const Real | innerRadius = 0.0 |
||
) |
V1 constructor for circle and rings around.
- Parameters
-
rings radia of the circles ringAttrib definition of attributes for the cells of one ring beginning from 0 for the first circle ratio distance of innermost quad from (0,0), relative to first radius innerRadius radius of the edges of the innermost quad, the quad hasn't to be a circle itself, 0.0 means straigt line
◆ Circle() [4/8]
concepts::Circle::Circle | ( | const Array< Real > | rings, |
const Array< uint > | ringAttrib, | ||
const Array< uint > | ringEdgeAttrib, | ||
const Real | ratio = 0.5 , |
||
const Real | innerRadius = 0.0 |
||
) |
V1 constructor for circle and rings around.
- Parameters
-
rings radia of the circles ratio distance of innermost quad from (0,0), relative to first radius ringAttrib definition of attributes for the cells of one ring beginning from 0 for the first circle ringEdgeAttrib definition of attributes for the edges around one ring beginning from 0 for the first circle innerRadius radius of the edges of the innermost quad, the quad hasn't to be a circle itself, 0.0 means straigt line
◆ Circle() [5/8]
V1 constructor for circle and rings with hole in the middle.
- Parameters
-
innerRadius radius of the inner most circle rings radia of the circles
◆ Circle() [6/8]
concepts::Circle::Circle | ( | const Real | innerRadius, |
const Array< Real > | rings, | ||
const Array< uint > | ringAttrib | ||
) |
V1 constructor for circle and rings with hole in the middle.
- Parameters
-
innerRadius radius of the inner most circle rings radia of the circles ringAttrib definition of attributes for the cells of one ring beginning from 0 for the first circle
The edges of the outer boundary get attribute 1, those of the inner boundary attribute 2.
◆ Circle() [7/8]
concepts::Circle::Circle | ( | const Real2d | center, |
const Real | r, | ||
const uint | n, | ||
const Attribute | attrib = 0 , |
||
const Real | phi0 = 0 , |
||
const Attribute | edgAttr = 0 |
||
) |
V2 constructor for circle with uniform subdivision.
- Parameters
-
center center of the circle r radius n number of nodes on the circle (even number) attrib attribute of the quadrilaterals phi0 angle of first node edgAttr attribute of the boundary edges
◆ Circle() [8/8]
concepts::Circle::Circle | ( | const Real2d | center, |
const Real | innerRadius, | ||
const Real | outerRadius, | ||
const uint | n, | ||
const Attribute | attrib = 0 , |
||
const Real | phi0 = 0 |
||
) |
V3 constructor for circular sheet with uniform subdivision.
If inner and outer radious are equal only the edges are constructed and can be accessed via innerBoundary() or outerBoundary().
- Parameters
-
center center of the circle innerRadius inner Radius outerRadius outer Radius n number of nodes on the circle attrib attribute of the quadrilaterals phi0 angle of first node
◆ ~Circle()
|
virtual |
Member Function Documentation
◆ addInnerBoundary()
|
inherited |
Adds clones of the edges in innerBoundary
as new inner boundary.
◆ construct_()
|
private |
For variant V1: Constructs the rings.
- Parameters
-
attrib attributes of some cells edgeAttrib attributes of some edges hole if there is a hole in the geometry, innermost 5 quads are not constructed
◆ info()
|
virtual |
Returns information in an output stream.
Reimplemented from concepts::Mesh.
◆ innerBoundary()
◆ ncell()
|
inlinevirtual |
Returns the number of cells in the mesh.
Implements concepts::Mesh.
◆ outerBoundary()
◆ point_()
For variant V1: Coordinates of a point in direction x, y, -x or y with distance r from 0.
◆ scan()
|
inlinevirtual |
Returns a scanner over the cells of the mesh.
- Postcondition
- The scanner must be deleted after usage. This has to be done by the user.
Implements concepts::Mesh2.
Member Data Documentation
◆ cell_
◆ edg_
◆ edges_
|
private |
◆ innerBoundary_
◆ ncell_
◆ outerBoundary_
◆ quad_
◆ vtx_
The documentation for this class was generated from the following file:
- geometry/circle.hh