Class documentation of Concepts

Loading...
Searching...
No Matches

#include <circle.hh>

Inheritance diagram for concepts::Circle:
concepts::Mesh2withBoundary concepts::Mesh2 concepts::InnerOuterBoundary2d concepts::Mesh concepts::OutputOperator

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.
 
Scan2scan ()
 
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.
 

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.

Author
Kersten Schmidt, 2005
Examples
BGT_0.cc, and exactDtN.cc.

Definition at line 47 of file circle.hh.

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
rradius of the circle
ratiodistance of innermost quad from (0,0), relative to first radius
innerRadiusradius 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
ringsradia of the circles
ratiodistance of innermost quad from (0,0), relative to first radius
innerRadiusradius 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
ringsradia of the circles
ringAttribdefinition of attributes for the cells of one ring beginning from 0 for the first circle
ratiodistance of innermost quad from (0,0), relative to first radius
innerRadiusradius 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
ringsradia of the circles
ratiodistance of innermost quad from (0,0), relative to first radius
ringAttribdefinition of attributes for the cells of one ring beginning from 0 for the first circle
ringEdgeAttribdefinition of attributes for the edges around one ring beginning from 0 for the first circle
innerRadiusradius of the edges of the innermost quad, the quad hasn't to be a circle itself, 0.0 means straigt line

◆ Circle() [5/8]

concepts::Circle::Circle ( const Real  innerRadius,
const Array< Real rings 
)

V1 constructor for circle and rings with hole in the middle.

Parameters
innerRadiusradius of the inner most circle
ringsradia 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
innerRadiusradius of the inner most circle
ringsradia of the circles
ringAttribdefinition 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
centercenter of the circle
rradius
nnumber of nodes on the circle (even number)
attribattribute of the quadrilaterals
phi0angle of first node
edgAttrattribute 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
centercenter of the circle
innerRadiusinner Radius
outerRadiusouter Radius
nnumber of nodes on the circle
attribattribute of the quadrilaterals
phi0angle of first node

Member Function Documentation

◆ info()

virtual std::ostream & concepts::Circle::info ( std::ostream &  os) const
virtual

Returns information in an output stream.

Reimplemented from concepts::Mesh.

◆ innerBoundary()

const Sequence< Sequence< Edge2d * > > & concepts::InnerOuterBoundary2d::innerBoundary ( ) const
inlineinherited

Definition at line 131 of file mesh.hh.

◆ ncell()

uint concepts::Circle::ncell ( ) const
inlinevirtual

Returns the number of cells in the mesh.

Implements concepts::Mesh.

Definition at line 154 of file circle.hh.

◆ outerBoundary()

const Sequence< Edge2d * > & concepts::InnerOuterBoundary2d::outerBoundary ( ) const
inlineinherited

Definition at line 128 of file mesh.hh.

◆ scan()

Scan2 * concepts::Circle::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.

Definition at line 155 of file circle.hh.

Member Data Documentation

◆ innerBoundary_

Sequence<Sequence<Edge2d*> > concepts::InnerOuterBoundary2d::innerBoundary_
protectedinherited

Several internal boundaries given by edges in 2D.

Definition at line 141 of file mesh.hh.

◆ outerBoundary_

Sequence<Edge2d*> concepts::InnerOuterBoundary2d::outerBoundary_
protectedinherited

Outer boundary given by edges in 2D.

Definition at line 139 of file mesh.hh.


The documentation for this class was generated from the following file: