Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
point_zone::point_zone_t Type Referenceabstract

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(thisinit_base (this, size, name, invert)
 Constructor for the point_zone_t base type.
 
procedure, pass(thisfree_base (this)
 Destructor for the point_zone_t base type.
 
procedure, pass(thisfinalize (this)
 Builds the mask from the scratch stack.
 
procedure, pass(thisadd (this, idx)
 Adds a point's linear index to the scratch stack.
 
procedure, pass(thismap (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

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.
 

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 ( class(point_zone_t), intent(inout this,
integer, intent(inout idx 
)
Parameters
idxLinear index of the point to add.
Note
The linear index of a point (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.

◆ criterion()

procedure(point_zone_criterion), deferred, pass point_zone::point_zone_t::criterion ( class(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 
)
pure virtual

Definition at line 80 of file point_zone.f90.

◆ finalize()

procedure, pass(this) point_zone::point_zone_t::finalize ( class(point_zone_t), intent(inout this)

Definition at line 69 of file point_zone.f90.

◆ free()

procedure(point_zone_free), deferred, pass point_zone::point_zone_t::free ( class(point_zone_t), intent(inout this)
pure virtual

Definition at line 78 of file point_zone.f90.

◆ free_base()

procedure, pass(this) point_zone::point_zone_t::free_base ( class(point_zone_t), intent(inout this)

Definition at line 67 of file point_zone.f90.

◆ init()

procedure(point_zone_init), deferred, pass point_zone::point_zone_t::init ( class(point_zone_t), intent(inout this,
type(json_file), intent(inout json,
integer, intent(in size 
)
pure virtual

Definition at line 76 of file point_zone.f90.

◆ init_base()

procedure, pass(this) point_zone::point_zone_t::init_base ( class(point_zone_t), intent(inout this,
integer, intent(in), optional  size,
character(len=*), intent(in name,
logical, intent(in invert 
)
Parameters
sizeSize of the scratch stack.
nameName of the point zone.
invertFlag to indicate wether or not to invert the selection of points.

Definition at line 65 of file point_zone.f90.

◆ map()

procedure, pass(this) point_zone::point_zone_t::map ( class(point_zone_t), intent(inout this,
type(dofmap_t), intent(in dof 
)
Parameters
dofDofmap of points to go through.

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: