#include <elementMaps.hh>
Public Member Functions | |
MapQuad2d (const char *map, Real scX, Real scY, Real2d org=Real2d(0.0, 0.0), Real stretch=1.0) | |
MapQuad2d (const char *map, Real scX, Real scY, Real2d org, Real2d scaling) | |
MapQuad2d (const MapQuad2d &map) | |
Copy constructor. | |
virtual Real2d | operator() (Real x, Real y) const |
virtual MapReal2d | jacobian (const Real x, const Real y) const |
Returns the Jacobian in a 2D linear map. | |
virtual MapReal2d | hessian (uint i, const Real x, const Real y) const |
virtual MapQuad2d * | clone () const |
Returns a copy of the map. | |
virtual Real | jacobianDeterminant (const Real x, const Real y) const |
Returns determinant of the Jacobian. | |
virtual MapReal2d | jacobianInverse (const Real x, const Real y) const |
Returns the inverse of the Jacobian in a 2D linear map. | |
virtual MapReal2d | inverseLaplace (const Real x, const Real y) const |
virtual Real | lineElement (const Real x, const uint edge) const |
virtual MappingEdge2d * | edge (const uint edge) const |
virtual MappingQuad2d * | part (const Real2d x0, const Real2d y0) const |
virtual bool | straight () const |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
A 2D element map for a quadrilateral given by a formula. The reference element is the unit square. For easier construction of the element map, a rectangle square can be given as the parameter domain.
If the map gives curved boundaries, they are approxmated better with more refined elements.
Definition at line 756 of file elementMaps.hh.
concepts::MapQuad2d::MapQuad2d | ( | const char * | map, |
Real | scX, | ||
Real | scY, | ||
Real2d | org = Real2d(0.0, 0.0) , |
||
Real | stretch = 1.0 |
||
) |
Constructor. The values of scX and scY are only for the map, they are not needed by the user for mapping a point from the reference element onto the Real element.
map | The element map for this quadrilateral as a string, x and y are the variables, the first and the second component are separated by a comma. |
scX | The range of x is [0, scX] |
scY | The range of y is [0, scY] |
org | The origin of the element |
stretch | Scaling factor of the element |
Returns a copy of the map.
Implements concepts::MappingQuad2d.
Definition at line 788 of file elementMaps.hh.
|
inlinevirtualinherited |
Returns a copy of the edge mapping of one edge. The edge mappings are directed counter-clockwise, i.e. for the lower edge from the left lower vertex to the right lower one.
edge | number of edge, i.e. 0 - lower, 1 - right, 2 - upper, 3 - left |
Reimplemented in concepts::VertexQuad2d, concepts::BlendingQuad2d, and concepts::PartMappingQuad2d.
Definition at line 731 of file elementMaps.hh.
Returns the Hessian in a 2D linear map
i | coordinate (0 = x, 1 = y) |
Implements concepts::MappingQuad2d.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::MappingQuad2d.
Returns the Jacobian in a 2D linear map.
Implements concepts::MappingQuad2d.
|
virtualinherited |
Returns factor of differential element integrating over an edge.
The factor is either or .
The routine exists explicitly because it is more efficient to implement it than to use jacobian itself, i.e. for affine elements the line element is constant.
x | local variable on edge (in [0,1]), stands for or |
edge | number of edge, i.e. 0: , 1: , 2: , 3: |
Reimplemented in concepts::VertexQuad2d, and concepts::BlendingQuad2d.
Returns a point in 2D mapped from the unit square [0,1]2 onto the element in the original mesh.
Implements concepts::MappingQuad2d.
Definition at line 779 of file elementMaps.hh.
|
virtualinherited |
Returns a new object of an element map for a rectangular part of the reference cell defined by the two points.
Reimplemented in concepts::VertexQuad2d.
Reimplemented in concepts::VertexTriangle2d.
Definition at line 37 of file elementMaps.hh.