Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
concepts::CircleMappingEdge2d Class Reference

2D element map for an circular arc. More...

#include <elementMaps.hh>

Inheritance diagram for concepts::CircleMappingEdge2d:
Inheritance graph
[legend]
Collaboration diagram for concepts::CircleMappingEdge2d:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CircleMappingEdge2d (const Real r, const Real2d vtx0, const Real2d vtx1)
 Constructor.
 CircleMappingEdge2d (const Real2d center, const Real r, const Real angle0, const Real angle1)
 Constructor.
 CircleMappingEdge2d (const CircleMappingEdge2d &edgemap)
 Copy Constructor.
 CircleMappingEdge2d (const Real2d vtx0, const Real2d vtxm, const Real2d vtx1)
 Constructor.
virtual CircleMappingEdge2dclone () const
 Virtual copy constructor.
virtual Real curvature (const Real t, const uint n=0) const
 Returns the n-th derivative of the curvature.
virtual Real2d derivative (const Real t, const uint n=1) const
 Returns the n-th derivative.
virtual MappingEdge2dinverse () const
 Returns the mapping of the edge in inverse direction.
Real2d n0 (const Real t) const
 Returns the normalised right normal vector.
virtual Real2d normal (const Real t) const
 Returns the right normal vector, length is that of the derivative.
virtual Real2d operator() (const Real t) const
 Application operator.
MappingEdge2dpart (const Real t0, const Real t1) const
 Returns a new object of an element map for a rectangular part of the reference cell defined by the two points.
const Real2dvtx (uint i) const
 Spit out one vertex of the edge.

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

Real2d vtx_ [2]
 Coordinates of the vertices at either end of the edge.

Private Member Functions

Real phi_ (const Real t) const

Private Attributes

Real angle0_
 Angles between one vertex and the circle center.
Real angle1_
Real2d m_
 Mid point of the circle.
Real r_
 Radius of the circle, zero if straight line (no sign)

Detailed Description

2D element map for an circular arc.

The edge is given by two vertices and a radius that determines the curvature of the edge.

This class may be used in connection with BlendingQuad2d.

See also:
BlendingQuad2d
Author:
, Kersten Schmidt, 2004

Definition at line 257 of file elementMaps.hh.


Constructor & Destructor Documentation

concepts::CircleMappingEdge2d::CircleMappingEdge2d ( const Real  r,
const Real2d  vtx0,
const Real2d  vtx1 
)

Constructor.

Use the sign of the radius to bend the edge. r > 0 Arc is on the right side of line from 1st to 2nd vertex r < 0 Arc is on the left side of line from 1st to 2nd vertex

Minimal radius is half of the distance between the vertices.

There are always two possibilites for the angle of the arc ( $\phi$ and $2\pi - \phi$. The smaller angle is taken. So the maximal angle is $\pi$.

Parameters:
rradius
vtx0,vtx1coordinates of the vertices
concepts::CircleMappingEdge2d::CircleMappingEdge2d ( const Real2d  center,
const Real  r,
const Real  angle0,
const Real  angle1 
)

Constructor.

Parameters:
centercenter of the circle
rradius
angle0beginning angle
angle1ending angle
concepts::CircleMappingEdge2d::CircleMappingEdge2d ( const Real2d  vtx0,
const Real2d  vtxm,
const Real2d  vtx1 
)

Constructor.

Use three points from the edge to find the radius and center. The basic formulae come from the following website, and then the full formulae derived by Mengyu Wang, 2011 http://mathforum.org/dr.math/faq/formulas/faq.analygeom_2.html#twocircles

Parameters:
vtx0beginning point
vtxmmiddle point
vtx1ending point
concepts::CircleMappingEdge2d::CircleMappingEdge2d ( const CircleMappingEdge2d edgemap)

Copy Constructor.


Member Function Documentation

virtual CircleMappingEdge2d* concepts::CircleMappingEdge2d::clone ( ) const [virtual]

Virtual copy constructor.

Implements concepts::MappingEdge2d.

virtual Real concepts::CircleMappingEdge2d::curvature ( const Real  t,
const uint  n = 0 
) const [virtual]

Returns the n-th derivative of the curvature.

It's implemented in general for n = 0,1 and works with curved edges. Can be overwritten in derived classes for performance reasons.

Reimplemented from concepts::MappingEdge2d.

virtual Real2d concepts::CircleMappingEdge2d::derivative ( const Real  t,
const uint  n = 1 
) const [virtual]

Returns the n-th derivative.

Implements concepts::MappingEdge2d.

virtual std::ostream& concepts::CircleMappingEdge2d::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::MappingEdge2d.

virtual MappingEdge2d* concepts::CircleMappingEdge2d::inverse ( ) const [virtual]

Returns the mapping of the edge in inverse direction.

Reimplemented from concepts::MappingEdge2d.

Real2d concepts::MappingEdge2d::n0 ( const Real  t) const [inline, inherited]

Returns the normalised right normal vector.

Reimplemented in concepts::MappingParallelEdge2d.

Definition at line 105 of file elementMaps.hh.

Here is the call graph for this function:

virtual Real2d concepts::MappingEdge2d::normal ( const Real  t) const [virtual, inherited]

Returns the right normal vector, length is that of the derivative.

virtual Real2d concepts::CircleMappingEdge2d::operator() ( const Real  t) const [virtual]

Application operator.

Maps the point from the parameter domain onto the physical space.

Implements concepts::MappingEdge2d.

MappingEdge2d* concepts::CircleMappingEdge2d::part ( const Real  t0,
const Real  t1 
) const [virtual]

Returns a new object of an element map for a rectangular part of the reference cell defined by the two points.

Reimplemented from concepts::MappingEdge2d.

Real concepts::CircleMappingEdge2d::phi_ ( const Real  t) const [inline, private]

Definition at line 316 of file elementMaps.hh.

const Real2d& concepts::MappingEdge2d::vtx ( uint  i) const [inline, inherited]

Spit out one vertex of the edge.

Definition at line 122 of file elementMaps.hh.


Member Data Documentation

Angles between one vertex and the circle center.

Definition at line 314 of file elementMaps.hh.

Definition at line 314 of file elementMaps.hh.

Mid point of the circle.

Definition at line 312 of file elementMaps.hh.

Radius of the circle, zero if straight line (no sign)

Definition at line 310 of file elementMaps.hh.

Real2d concepts::MappingEdge2d::vtx_[2] [protected, inherited]

Coordinates of the vertices at either end of the edge.

Definition at line 126 of file elementMaps.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)