Neko  0.9.0
A portable framework for high-order spectral element flow simulations
point_zone::point_zone_t Type Reference

Base abstract type for point zones. More...

Inheritance diagram for point_zone::point_zone_t:
Collaboration diagram for point_zone::point_zone_t:

Public Member Functions

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...
 
procedure(point_zone_init), deferred, pass init
 The common constructor using a JSON object. More...
 
procedure(point_zone_free), deferred, pass free
 Destructor. More...
 
procedure(point_zone_criterion), deferred, pass criterion
 Defines the criterion of selection of a GLL point to the point_zone. More...
 

Public Attributes

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 47 of file point_zone.f90.

Member Function/Subroutine Documentation

◆ add()

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

Definition at line 71 of file point_zone.f90.

◆ criterion()

procedure(point_zone_criterion), deferred, pass point_zone::point_zone_t::criterion

Definition at line 80 of file point_zone.f90.

◆ finalize()

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

Definition at line 69 of file point_zone.f90.

◆ free()

procedure(point_zone_free), deferred, pass point_zone::point_zone_t::free

Definition at line 78 of file point_zone.f90.

◆ free_base()

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

Definition at line 67 of file point_zone.f90.

◆ init()

procedure(point_zone_init), deferred, pass point_zone::point_zone_t::init

Definition at line 76 of file point_zone.f90.

◆ init_base()

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

Definition at line 65 of file point_zone.f90.

◆ map()

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

Definition at line 74 of file point_zone.f90.

Member Data Documentation

◆ finalized

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

Definition at line 58 of file point_zone.f90.

◆ invert

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

Definition at line 62 of file point_zone.f90.

◆ mask

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

Definition at line 49 of file point_zone.f90.

◆ mask_d

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

Definition at line 51 of file point_zone.f90.

◆ name

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

Definition at line 60 of file point_zone.f90.

◆ scratch

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

Definition at line 53 of file point_zone.f90.

◆ size

integer point_zone::point_zone_t::size = 0

Definition at line 55 of file point_zone.f90.


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