Neko  0.8.99
A portable framework for high-order spectral element flow simulations
combine_point_zone::combine_point_zone_t Type Reference

A point zone that combines different point zones. More...

Inheritance diagram for combine_point_zone::combine_point_zone_t:
Collaboration diagram for combine_point_zone::combine_point_zone_t:

Public Member Functions

procedure, pass(this) init => combine_point_zone_init_from_json
 Constructor from json object file. More...
 
procedure, pass(this) free => combine_point_zone_free
 Destructor. More...
 
procedure, pass(this) criterion => combine_point_zone_criterion
 Defines the criterion of selection of a GLL point in the combine point zone. More...
 
procedure, pass(this) init_base => point_zone_init_base
 Constructor for the point_zone_t base type. More...
 
procedure, pass(this) free_base => point_zone_free_base
 Destructor for the point_zone_t base type. More...
 
procedure, pass(this) finalize => point_zone_finalize
 Builds the mask from the scratch stack. More...
 
procedure, pass(this) add => point_zone_add
 Adds a point's linear index to the scratch stack. More...
 
procedure, pass(this) map => point_zone_map
 Maps the GLL points that verify a point_zone's criterion by adding them to the stack. More...
 

Public Attributes

type(point_zone_pointer_t), dimension(:), allocatable zones
 List of all the sub zones. More...
 
type(point_zone_wrapper_t), dimension(:), allocatable internal_zones
 List of the sub-zones to be created internally. More...
 
character(len=80), dimension(:), allocatable names
 List of the names of the sub-zones to construct. More...
 
integer n_zones = 0
 Number of total zones. More...
 
integer n_external_zones = 0
 Number of external zones to be filled by the registry. More...
 
integer n_internal_zones = 0
 Number of internal zone, to be created inside init. More...
 
character(len=:), allocatable operator
 Operator with which to combine the point zones (AND, OR, XOR) More...
 
integer, dimension(:), allocatable mask
 List of linear indices of the GLL points in the zone. More...
 
type(c_ptr) mask_d = c_null_ptr
 List of linear indices of the GLL points in the zone on the device. More...
 
integer size = 0
 Size of the point zone mask. More...
 
character(len=80) name
 Name of the point zone (used for retrieval in the point_zone_registry). More...
 
logical invert = .false.
 If we select the inverse of the criterion or not. More...
 

Private Attributes

type(stack_i4_t), private scratch
 Scratch stack of integers to build the list mask. More...
 
logical, private finalized = .false.
 Flag to indicate if point_zone_finalize has been called and the mask has been built. More...
 

Detailed Description

Definition at line 49 of file combine_point_zone.f90.

Member Function/Subroutine Documentation

◆ add()

procedure, pass(this) point_zone::point_zone_t::add
inherited

Definition at line 71 of file point_zone.f90.

◆ criterion()

procedure, pass(this) combine_point_zone::combine_point_zone_t::criterion

Definition at line 72 of file combine_point_zone.f90.

◆ finalize()

procedure, pass(this) point_zone::point_zone_t::finalize
inherited

Definition at line 69 of file point_zone.f90.

◆ free()

procedure, pass(this) combine_point_zone::combine_point_zone_t::free

Definition at line 69 of file combine_point_zone.f90.

◆ free_base()

procedure, pass(this) point_zone::point_zone_t::free_base
inherited

Definition at line 67 of file point_zone.f90.

◆ init()

procedure, pass(this) combine_point_zone::combine_point_zone_t::init

Definition at line 67 of file combine_point_zone.f90.

◆ init_base()

procedure, pass(this) point_zone::point_zone_t::init_base
inherited

Definition at line 65 of file point_zone.f90.

◆ map()

procedure, pass(this) point_zone::point_zone_t::map
inherited

Definition at line 74 of file point_zone.f90.

Member Data Documentation

◆ finalized

logical, private point_zone::point_zone_t::finalized = .false.
privateinherited

Definition at line 58 of file point_zone.f90.

◆ internal_zones

type(point_zone_wrapper_t), dimension(:), allocatable combine_point_zone::combine_point_zone_t::internal_zones

Definition at line 53 of file combine_point_zone.f90.

◆ invert

logical point_zone::point_zone_t::invert = .false.
inherited

Definition at line 62 of file point_zone.f90.

◆ mask

integer, dimension(:), allocatable point_zone::point_zone_t::mask
inherited

Definition at line 49 of file point_zone.f90.

◆ mask_d

type(c_ptr) point_zone::point_zone_t::mask_d = c_null_ptr
inherited

Definition at line 51 of file point_zone.f90.

◆ n_external_zones

integer combine_point_zone::combine_point_zone_t::n_external_zones = 0

Definition at line 59 of file combine_point_zone.f90.

◆ n_internal_zones

integer combine_point_zone::combine_point_zone_t::n_internal_zones = 0

Definition at line 61 of file combine_point_zone.f90.

◆ n_zones

integer combine_point_zone::combine_point_zone_t::n_zones = 0

Definition at line 57 of file combine_point_zone.f90.

◆ name

character(len=80) point_zone::point_zone_t::name
inherited

Definition at line 60 of file point_zone.f90.

◆ names

character(len=80), dimension(:), allocatable combine_point_zone::combine_point_zone_t::names

Definition at line 55 of file combine_point_zone.f90.

◆ operator

character(len=:), allocatable combine_point_zone::combine_point_zone_t::operator

Definition at line 64 of file combine_point_zone.f90.

◆ scratch

type(stack_i4_t), private point_zone::point_zone_t::scratch
privateinherited

Definition at line 53 of file point_zone.f90.

◆ size

integer point_zone::point_zone_t::size = 0
inherited

Definition at line 55 of file point_zone.f90.

◆ zones

type(point_zone_pointer_t), dimension(:), allocatable combine_point_zone::combine_point_zone_t::zones

Definition at line 51 of file combine_point_zone.f90.


The documentation for this type was generated from the following file: