#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. | |
| 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. | |
| Circle (const Array< Real > rings, const Real ratio=0.5, const Real innerRadius=0.0) | |
| V1 constructor for circle and rings around. | |
| 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. | |
| 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. | |
| Circle (const Real innerRadius, const Array< Real > rings) | |
| V1 constructor for circle and rings with hole in the middle. | |
| Circle (const Real r=1.0, const Real ratio=0.5, const Real innerRadius=0.0) | |
| V1 constructor for circle with 5 cells. | |
| Circle (const Real innerRadius, const Array< Real > rings, const Array< uint > ringAttrib) | |
| V1 constructor for circle and rings with hole in the middle. | |
| 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. | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
| const Sequence< Sequence < Edge2d * > > & | innerBoundary () const |
| uint | ncell () const |
| Returns the number of cells in the mesh. | |
| const Sequence< Edge2d * > & | outerBoundary () const |
| Scan2 * | scan () |
| Returns a scanner over the cells of the mesh. | |
| virtual | ~Circle () |
Protected Attributes | |
| Sequence< Sequence< Edge2d * > > | innerBoundary_ |
| Several internal boundaries given by edges in 2D. | |
| Sequence< Edge2d * > | outerBoundary_ |
| Outer boundary given by edges in 2D. | |
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. | |
| 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. | |
Private Attributes | |
| Array< Quad2d * > | cell_ |
| Cells. | |
| Array< Edge * > | edg_ |
| Array< CircleMappingEdge2d * > | edges_ |
| Edge parametrisation. | |
| uint | ncell_ |
| Array< Quad * > | quad_ |
| Array< Vertex * > | vtx_ |
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.
BGT_0.cc, and exactDtN.cc.
| 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.
| 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.
| concepts::Circle::Circle | ( | const Array< Real > | rings, |
| const Real | ratio = 0.5, |
||
| const Real | innerRadius = 0.0 |
||
| ) |
V1 constructor for circle and rings around.
| 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 |
| 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.
| 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 |
| 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.
| 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 |
V1 constructor for circle and rings with hole in the middle.
| innerRadius | radius of the inner most circle |
| rings | radia of the circles |
| 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.
| 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.
| 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.
| 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 |
| 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().
| 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 |
| virtual concepts::Circle::~Circle | ( | ) | [virtual] |
| void concepts::InnerOuterBoundary2d::addInnerBoundary | ( | const Sequence< Edge2d * > & | innerBoundary | ) | [inherited] |
Adds clones of the edges in innerBoundary as new inner boundary.
| void concepts::Circle::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 |
||
| ) | [private] |
For variant V1: Constructs the rings.
| 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 |
| virtual std::ostream& concepts::Circle::info | ( | std::ostream & | os | ) | const [virtual] |
Returns information in an output stream.
Reimplemented from concepts::Mesh.
| uint concepts::Circle::ncell | ( | ) | const [inline, virtual] |
Returns the number of cells in the mesh.
Implements concepts::Mesh.
For variant V1: Coordinates of a point in direction x, y, -x or y with distance r from 0.
| Scan2* concepts::Circle::scan | ( | ) | [inline, virtual] |
Returns a scanner over the cells of the mesh.
Implements concepts::Mesh2.
Array<Quad2d*> concepts::Circle::cell_ [private] |
Array<Edge*> concepts::Circle::edg_ [private] |
Array<CircleMappingEdge2d*> concepts::Circle::edges_ [private] |
Sequence<Sequence<Edge2d*> > concepts::InnerOuterBoundary2d::innerBoundary_ [protected, inherited] |
uint concepts::Circle::ncell_ [private] |
Sequence<Edge2d*> concepts::InnerOuterBoundary2d::outerBoundary_ [protected, inherited] |
Array<Quad*> concepts::Circle::quad_ [private] |
Array<Vertex*> concepts::Circle::vtx_ [private] |