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.
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 |
---|---|---|
|
|
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.
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 |
---|---|---|
|
|
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)\).