Neko  0.9.0
A portable framework for high-order spectral element flow simulations
cylinder_point_zone Module Reference

Implements a cylinder geometry subset.

Data Types

type  cylinder_point_zone_t
 A cylindrical point zone. More...
 

Functions/Subroutines

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

Function/Subroutine Documentation

◆ 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
xx-coordinate of the GLL point.
yy-coordinate of the GLL point.
zz-coordinate of the GLL point.
j1st nonlinear index of the GLL point.
k2nd nonlinear index of the GLL point.
l3rd nonlinear index of the GLL point.
eelement 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

Definition at line 127 of file cylinder_point_zone.f90.

◆ 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
sizeSize of the scratch stack.
nameName of the cylinder point zone.
p0Coordinates of the first endpoint.
p1Coordinates of the second endpoint.
radiusSphere radius.

Definition at line 108 of file cylinder_point_zone.f90.

Here is the caller graph for this function:

◆ 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
jsonJson object file.
sizeSize with which to initialize the stack

Definition at line 67 of file cylinder_point_zone.f90.

Here is the call graph for this function: