Elliptical and circular arcs#

EllArc#

The definition of an elliptical arc required 4 points : the center of the ellipse, the apogee of the ellipse and the bounds of the arc.

Figure made with TikZ

Figure made with TikZ

There is a parameter for each of them : _center, _apogee, _v1 and _v2. These parameters take 2D or 3D points. When omitted, the apogee point is defined as the first bound of the arc. An elliptical arc must be smaller than a half-ellipse, to be defined correctly.

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

Point c(0.,0.,0.);
Point a(2.,0.,0.);
Point p1(0.,1.,1.);
Point p2(-1.,2.,0.)
// whole side domain will be "Gamma"
EllArc e1(_center=c, _apogee=a, _v1=p1, _v2=p2, _nnodes=20, _domain_name="Omega", _side_names="Gamma");

Te orientation of an elliptical arc can be reversed by using one of the following:

EllArc e1(_center=c, _apogee=a, _v1=p1, _v2=p2, _nnodes=20, _domain_name="Omega", _side_names="Gamma");
e1.reverse(); // e1 is modified
EllArc e2=~e1; // e1 is not modified

Warning

When defining composite or loop geometries, do not use the reverse method, but only the \(\sim\) operator

Let’s summarize information about geometrical keys on elliptical arcs:

key(s)

authorized types

examples

_apogee , _center , _v1 , _v2

Point

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

Danger

Elliptic arcs cannot be defined if the angular sector is greater than \(\pi\). This is a GMSH restriction!

Hint

Parametrization of the elliptical arc (center C, first and second apogee A, B, angles \(\theta_1,\ \theta_2\)) : \(t\in[0,1] \longmapsto C+(A-C)\cos(s)+(B-C)\sin(s)\) with \(s = \theta_1+ t(\theta_2-\theta_1)\).

CircArc#

To define a circular arc,only 3 points are required : the center of the circle and the bounds of the arc.

Figure made with TikZ

Figure made with TikZ

There is a parameter for each of them : _center, _v1 and _v2. These parameters take 2D or 3D points. A circular arc must be smaller than a half-circle, to be defined correctly.

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

CircArc c1(_center=Point(0.,0.), _v1=Point(1.,0.), _v2=Point(0.,1.), _nnodes=30, _domain_name="Omega");

The orientation of a circular arc can be reversed by using one of the following:

CircArc c1(_center=Point(0.,0.), _v1=Point(1.,0.), _v2=Point(0.,1.), _nnodes=30, _domain_name="Omega");
c1.reverse();   // c1 is modified
CircArc c2=~c1; // c1 is not modified

Warning

When defining composite or loop geometries, you shall not use the reverse method, but only the \(\sim\) operator

Let’s summarize information about geometrical keys on circular arcs:

key(s)

authorized types

examples

_center , _v1 , _v2

Point

_center = Point (0.,0.,0.), _v2 = Point (1.,0.)

Danger

Circular arcs cannot be defined if the angular sector is greater or equal than \(\pi\). This is a GMSH restriction!

Hint

Parametrization of the circular arc (center C, first and second apogee A, B, angles \(\theta_1,\ \theta_2\)) : \(t\in[0,1] \longmapsto C+(A-C)\cos(s)+(B-C)\sin(s)\) with \(s = \theta_1+ t(\theta_2-\theta_1)\).