Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
A box-shaped point zone. More...
Public Member Functions | |
procedure, pass(this) | init (this, json, size) |
Constructor from json object file. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | criterion (this, x, y, z, j, k, l, e) |
Defines the criterion of selection of a GLL point in the box point zone. | |
procedure, pass(this) | init_base (this, size, name, invert) |
Constructor for the point_zone_t base type. | |
procedure, pass(this) | free_base (this) |
Destructor for the point_zone_t base type. | |
procedure, pass(this) | finalize (this) |
Builds the mask from the scratch stack. | |
procedure, pass(this) | add (this, idx) |
Adds a point's linear index to the scratch stack. | |
procedure, pass(this) | map (this, dof) |
Maps the GLL points that verify a point_zone's criterion by adding them to the stack. | |
procedure(point_zone_init), deferred, pass | init (this, json, size) |
The common constructor using a JSON object. | |
procedure(point_zone_free), deferred, pass | free (this) |
Destructor. | |
procedure(point_zone_criterion), deferred, pass | criterion (this, x, y, z, j, k, l, e) |
Defines the criterion of selection of a GLL point to the point_zone. | |
Public Attributes | |
real(kind=rp) | xmin |
real(kind=rp) | xmax |
real(kind=rp) | ymin |
real(kind=rp) | ymax |
real(kind=rp) | zmin |
real(kind=rp) | zmax |
integer, dimension(:), allocatable | mask |
List of linear indices of the GLL points in the zone. | |
type(c_ptr) | mask_d = c_null_ptr |
List of linear indices of the GLL points in the zone on the device. | |
integer | size = 0 |
Size of the point zone mask. | |
character(len=80) | name |
Name of the point zone (used for retrieval in the point_zone_registry). | |
logical | invert = .false. |
If we select the inverse of the criterion or not. | |
Private Attributes | |
type(stack_i4_t), private | scratch |
Scratch stack of integers to build the list mask. | |
logical, private | finalized = .false. |
Flag to indicate if point_zone_finalize has been called and the mask has been built. | |
As defined here, a box is described by its x,y,z
bounds, specified in the json file as e.g. "x_bounds": [<xmin>, <xmax>]"
, etc for y
and z
coordinates.
Definition at line 47 of file box_point_zone.f90.
|
inherited |
idx | Linear index of the point to add. |
(j,k,l,e)
can be retrieved using the subroutine linear_index(j,k,l,e,lx)
in the utils
module. Definition at line 71 of file point_zone.f90.
|
pure virtualinherited |
Definition at line 80 of file point_zone.f90.
procedure, pass(this) box_point_zone::box_point_zone_t::criterion | ( | class(box_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 | ||
) |
\begin{eqnarray*} x_{min} \le x \le x_{max} \\ y_{min} \le y \le y_{max} \\ z_{min} \le z \le z_{max} \\ \end{eqnarray*}
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 60 of file box_point_zone.f90.
|
inherited |
Definition at line 69 of file point_zone.f90.
|
pure virtualinherited |
Definition at line 78 of file point_zone.f90.
procedure, pass(this) box_point_zone::box_point_zone_t::free | ( | class(box_point_zone_t), intent(inout) | this | ) |
Definition at line 58 of file box_point_zone.f90.
|
inherited |
Definition at line 67 of file point_zone.f90.
|
pure virtualinherited |
Definition at line 76 of file point_zone.f90.
procedure, pass(this) box_point_zone::box_point_zone_t::init | ( | class(box_point_zone_t), intent(inout) | this, |
type(json_file), intent(inout) | json, | ||
integer, intent(in) | size | ||
) |
json | Json object file. |
size | Size with which to initialize the stack |
Definition at line 56 of file box_point_zone.f90.
|
inherited |
object | The object allocated by the factory. |
json | JSON object initializing the point zone. |
dof | Dofmap from which to map the point zone. Constructor for the point_zone_t base type. |
size | Size of the scratch stack. |
name | Name of the point zone. |
invert | Flag to indicate wether or not to invert the selection of points. |
Definition at line 65 of file point_zone.f90.
|
inherited |
dof | Dofmap of points to go through. |
Definition at line 74 of file point_zone.f90.
Definition at line 58 of file point_zone.f90.
|
inherited |
Definition at line 62 of file point_zone.f90.
|
inherited |
Definition at line 49 of file point_zone.f90.
|
inherited |
Definition at line 51 of file point_zone.f90.
|
inherited |
Definition at line 60 of file point_zone.f90.
|
privateinherited |
Definition at line 53 of file point_zone.f90.
|
inherited |
Definition at line 55 of file point_zone.f90.
Definition at line 49 of file box_point_zone.f90.
Definition at line 48 of file box_point_zone.f90.
Definition at line 51 of file box_point_zone.f90.
Definition at line 50 of file box_point_zone.f90.
Definition at line 53 of file box_point_zone.f90.
Definition at line 52 of file box_point_zone.f90.