Implements a cylinder geometry subset.
|
subroutine | cylinder_point_zone_init_from_json (this, json, size) |
| Constructor from json object file. More...
|
|
subroutine | cylinder_point_zone_init_common (this, size, name, invert, p0, p1, radius) |
| Initializes a cylinder point zone from its endpoint coordinates and radius. More...
|
|
subroutine | cylinder_point_zone_free (this) |
| Destructor. More...
|
|
pure logical function | cylinder_point_zone_criterion (this, x, y, z, j, k, l, e) |
| Defines the criterion of selection of a GLL point in the cylinder point zone. More...
|
|
◆ cylinder_point_zone_criterion()
pure logical function cylinder_point_zone::cylinder_point_zone_criterion |
( |
class(cylinder_point_zone_t), intent(in) |
this, |
|
|
real(kind=rp), intent(in) |
x, |
|
|
real(kind=rp), intent(in) |
y, |
|
|
real(kind=rp), intent(in) |
z, |
|
|
integer, intent(in) |
j, |
|
|
integer, intent(in) |
k, |
|
|
integer, intent(in) |
l, |
|
|
integer, intent(in) |
e |
|
) |
| |
|
private |
A GLL point of coordinates \( \vec{X} = (x, y, z) \) is considered as being inside the cylinder defined by endpoints \( \vec{p_0} \) and \( \vec{p_1} \) and radius \( r \) if it satisfies the following conditions:
\begin{eqnarray*} ||\vec{X} - \vec{X_0}|| &\le& r\\ 0 &\le& t \le 1 \end{eqnarray*}
where,
\begin{eqnarray*} t &=& (\vec{X} - \vec{p_0}) \cdot (\vec{p_1} - \vec{p_0}) / ||\vec{p_1} - \vec{p_0}|| \\ \vec{X_0} &=& \vec{p_0} + t \cdot (\vec{p_1} - \vec{p_0}) \end{eqnarray*}
- Parameters
-
x | x-coordinate of the GLL point. |
y | y-coordinate of the GLL point. |
z | z-coordinate of the GLL point. |
j | 1st nonlinear index of the GLL point. |
k | 2nd nonlinear index of the GLL point. |
l | 3rd nonlinear index of the GLL point. |
e | element index of the GLL point. |
Definition at line 161 of file cylinder_point_zone.f90.
◆ cylinder_point_zone_free()
subroutine cylinder_point_zone::cylinder_point_zone_free |
( |
class(cylinder_point_zone_t), intent(inout) |
this | ) |
|
|
private |
◆ cylinder_point_zone_init_common()
subroutine cylinder_point_zone::cylinder_point_zone_init_common |
( |
class(cylinder_point_zone_t), intent(inout) |
this, |
|
|
integer, intent(in), optional |
size, |
|
|
character(len=*), intent(in) |
name, |
|
|
logical, intent(in) |
invert, |
|
|
real(kind=rp), dimension(3), intent(in) |
p0, |
|
|
real(kind=rp), dimension(3), intent(in) |
p1, |
|
|
real(kind=rp), intent(in) |
radius |
|
) |
| |
|
private |
- Parameters
-
size | Size of the scratch stack. |
name | Name of the cylinder point zone. |
p0 | Coordinates of the first endpoint. |
p1 | Coordinates of the second endpoint. |
radius | Sphere radius. |
Definition at line 108 of file cylinder_point_zone.f90.
◆ cylinder_point_zone_init_from_json()
subroutine cylinder_point_zone::cylinder_point_zone_init_from_json |
( |
class(cylinder_point_zone_t), intent(inout) |
this, |
|
|
type(json_file), intent(inout) |
json, |
|
|
integer, intent(in) |
size |
|
) |
| |
- Parameters
-
json | Json object file. |
size | Size with which to initialize the stack |
Definition at line 67 of file cylinder_point_zone.f90.