#include <circle.hh>
Public Member Functions | |
Circle (const Real r=1.0, const Real ratio=0.5, const Real innerRadius=0.0) | |
Circle (const Array< Real > rings, const Real ratio=0.5, const Real innerRadius=0.0) | |
Circle (const Array< Real > rings, const Array< uint > ringAttrib, const Real ratio=0.5, const Real innerRadius=0.0) | |
Circle (const Array< Real > rings, const Array< uint > ringAttrib, const Array< uint > ringEdgeAttrib, const Real ratio=0.5, const Real innerRadius=0.0) | |
Circle (const Real innerRadius, const Array< Real > rings) | |
Circle (const Real innerRadius, const Array< Real > rings, const Array< uint > ringAttrib) | |
Circle (const Real2d center, const Real r, const uint n, const Attribute attrib=0, const Real phi0=0, const Attribute edgAttr=0) | |
Circle (const Real2d center, const Real innerRadius, const Real outerRadius, const uint n, const Attribute attrib=0, const Real phi0=0) | |
uint | ncell () const |
Returns the number of cells in the mesh. | |
Scan2 * | scan () |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
const Sequence< Edge2d * > & | outerBoundary () const |
const Sequence< Sequence< Edge2d * > > & | innerBoundary () const |
void | addInnerBoundary (const Sequence< Edge2d * > &innerBoundary) |
Adds clones of the edges in innerBoundary as new inner boundary. | |
Protected Attributes | |
Sequence< Edge2d * > | outerBoundary_ |
Outer boundary given by edges in 2D. | |
Sequence< Sequence< Edge2d * > > | innerBoundary_ |
Several internal boundaries given by edges in 2D. | |
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.
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 |
Returns information in an output stream.
Reimplemented from concepts::Mesh.
|
inlinevirtual |
Returns the number of cells in the mesh.
Implements concepts::Mesh.
|
inlinevirtual |
Returns a scanner over the cells of the mesh.
Implements concepts::Mesh2.