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
objectThe object allocated by the factory.
jsonJSON object initializing the point zone.
dofDofmap from which to map the point zone. Constructor for the point_zone_t base type.
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: