SquareGeo#

To define a square, as for rectangles and parallelograms, give 3 vertices.

Figure made with TikZ

Figure made with TikZ

There is a parameter for each of them: v1 , _v2 , and _v4 , as for Parallelogram and Rectangle. These parameters take 2D or 3D points.

For squares in plane z=0, where sides are parallel to x-axis and y-axis, the SquareGeo may be also defined by its center (\(c\) in the figure) and its length or \(p_1\) (recalled origin in this case) and its length. Use _center and _length or _origin and _length keys to do so. _origin and _center keys take 2D or 3D points and _length takes one single positive value.

_nnodes can take one single value, an explicit list of 2 or 4 values (or a Numbers object) and _hsteps can take one real value, an explicit list of 4 real values (or a Reals object). If required, give the names of main domain and side domains as explained in Geometry definition:

SquareGeo s1(_v1=Point(1.,0.), _v2=Point(1.,1.), _v4=Point(0.,1.), _nnodes={20, 10},
             _domain_name="Omega", _side_names={"Gamma1", "Gamma2", "Gamma1", "Gamma2"});
SquareGeo s2(_center=Point(0.5,1.5), _length=1., _nnodes={20, 10},
             _domain_name="Omega", _side_names={"Gamma1", "Gamma2", "Gamma1", "Gamma2"});
SquareGeo s3(_origin=Point(0.,1.), _length=1., _nnodes={20, 10},
             _domain_name="Omega", _side_names={"Gamma1", "Gamma2", "Gamma1", "Gamma2"});

This is 3 definitions of the same SquareGeo object.

Danger

There is an alias to the SquareGeo object: Square. But it is only available when XLiFE++ is not configured with occ, because occ provides a Square function and it may result in a conflict.

Let’s summarize information about geometrical keys on squares:

key(s)

authorized types

examples

_center , _origin

Point

_origin = Point(0.,0.), _center=Point(0.,0.,0.)

_v1 , _v2 , _v4

Point

_v1=Point(0.,1.), _v2=Point(2., 0.),_v4 = Point(0.,2.)

_length

single unsigned integer or real positive value

_length =1

Hint

Parametrization of the square \((v_1,v_2,v_4)\) is :

\[(u,v)\in[0,1]\times [0,1]\longmapsto v_1+u(v_2-v_1)+v(v_4-v_1) \quad\mathrm{linear}.\]