| 
    Neko 1.99.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 
A sphere-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 sphere 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) | x0 | 
| real(kind=rp) | y0 | 
| real(kind=rp) | z0 | 
| real(kind=rp) | radius | 
| type(mask_t) | mask | 
| List of linear indices of the GLL points in the zone.   | |
| 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 sphere is described by its center of coordinates x0,y0,z0 and its radius, specified in the json file as e.g. "center": [<x0>, <y0>, <z0>]", "radius": <r>. 
Definition at line 47 of file sphere_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 70 of file point_zone.f90.
      
  | 
  pure virtualinherited | 
Definition at line 79 of file point_zone.f90.
| procedure, pass(this) sphere_point_zone::sphere_point_zone_t::criterion | ( | class(sphere_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*} |\vec{X} - \vec{X_0}|^2 \le r \end{eqnarray*}
Where \( r \) is the radius of the sphere and \( \vec{X_0} = (x_0, y_0, z_0) \) the coordinates of its center.
| 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 59 of file sphere_point_zone.f90.
      
  | 
  inherited | 
Definition at line 68 of file point_zone.f90.
      
  | 
  pure virtualinherited | 
Definition at line 77 of file point_zone.f90.
| procedure, pass(this) sphere_point_zone::sphere_point_zone_t::free | ( | class(sphere_point_zone_t), intent(inout) | this | ) | 
Definition at line 56 of file sphere_point_zone.f90.
      
  | 
  inherited | 
Definition at line 66 of file point_zone.f90.
      
  | 
  pure virtualinherited | 
Definition at line 75 of file point_zone.f90.
| procedure, pass(this) sphere_point_zone::sphere_point_zone_t::init | ( | class(sphere_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 54 of file sphere_point_zone.f90.
      
  | 
  inherited | 
| 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 64 of file point_zone.f90.
      
  | 
  inherited | 
| dof | Dofmap of points to go through. | 
Definition at line 73 of file point_zone.f90.
Definition at line 57 of file point_zone.f90.
      
  | 
  inherited | 
Definition at line 61 of file point_zone.f90.
      
  | 
  inherited | 
Definition at line 50 of file point_zone.f90.
      
  | 
  inherited | 
Definition at line 59 of file point_zone.f90.
Definition at line 51 of file sphere_point_zone.f90.
      
  | 
  privateinherited | 
Definition at line 52 of file point_zone.f90.
      
  | 
  inherited | 
Definition at line 54 of file point_zone.f90.
Definition at line 48 of file sphere_point_zone.f90.
Definition at line 49 of file sphere_point_zone.f90.
Definition at line 50 of file sphere_point_zone.f90.