Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scratch_registry::scratch_registry_t Type Reference
Collaboration diagram for scratch_registry::scratch_registry_t:

Public Member Functions

procedure, pass(thisinit (this, dof, size, expansion_size)
 Constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisget_nfields (this)
 Getter for nfields.
 
procedure, pass(thisget_nfields_inuse (this)
 Getter for nfields_inuse.
 
procedure, pass(thisget_expansion_size (this)
 Getter for expansion_size.
 
procedure, pass(thisget_size (this)
 Return size of allocated fields.
 
procedure, pass(thisget_inuse (this, index)
 Get value of inuse for a given index.
 
procedure, pass(thisrequest_field (this, f, index)
 Get a new scratch field.
 
procedure, pass(thisrelinquish_field_single (this, index)
 Relinquish the use of a field in the registry.
 
procedure, pass(thisrelinquish_field_multiple (this, indices)
 
generic relinquish_field (this, index)
 Free a field for later reuse.
 
generic relinquish_field (this, indices)
 Free a field for later reuse.
 

Public Attributes

type(dofmap_t), pointer dof => null()
 Dofmap.
 

Private Member Functions

procedure, pass(this), private expand (this)
 

Private Attributes

type(field_ptr_t), dimension(:), allocatable, private fields
 list of scratch fields
 
logical, dimension(:), allocatable, private inuse
 Tracks which fields are used.
 
integer, private nfields
 number of registered fields
 
integer, private nfields_inuse
 number of fields in use
 
integer, private expansion_size
 the size the fields array is increased by upon reallocation
 

Detailed Description

Definition at line 45 of file scratch_registry.f90.

Member Function/Subroutine Documentation

◆ expand()

procedure, pass(this), private scratch_registry::scratch_registry_t::expand ( class(scratch_registry_t), intent(inout this)
private

Definition at line 59 of file scratch_registry.f90.

◆ free()

procedure, pass(this) scratch_registry::scratch_registry_t::free ( class(scratch_registry_t), intent(inout this)

Definition at line 63 of file scratch_registry.f90.

◆ get_expansion_size()

procedure, pass(this) scratch_registry::scratch_registry_t::get_expansion_size ( class(scratch_registry_t), intent(in this)

Definition at line 69 of file scratch_registry.f90.

◆ get_inuse()

procedure, pass(this) scratch_registry::scratch_registry_t::get_inuse ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout index 
)
Parameters
[in,out]indexThe index of the field to check

Definition at line 73 of file scratch_registry.f90.

◆ get_nfields()

procedure, pass(this) scratch_registry::scratch_registry_t::get_nfields ( class(scratch_registry_t), intent(in this)

Definition at line 65 of file scratch_registry.f90.

◆ get_nfields_inuse()

procedure, pass(this) scratch_registry::scratch_registry_t::get_nfields_inuse ( class(scratch_registry_t), intent(in this)

Definition at line 67 of file scratch_registry.f90.

◆ get_size()

procedure, pass(this) scratch_registry::scratch_registry_t::get_size ( class(scratch_registry_t), intent(in this)

Definition at line 71 of file scratch_registry.f90.

◆ init()

procedure, pass(this) scratch_registry::scratch_registry_t::init ( class(scratch_registry_t), intent(inout this,
type(dofmap_t), intent(in), target  dof,
integer, intent(in), optional  size,
integer, intent(in), optional  expansion_size 
)

Definition at line 61 of file scratch_registry.f90.

◆ relinquish_field() [1/2]

generic scratch_registry::scratch_registry_t::relinquish_field ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout index 
)
Parameters
[in,out]indexThe index of the field to free

Definition at line 79 of file scratch_registry.f90.

Here is the call graph for this function:

◆ relinquish_field() [2/2]

generic scratch_registry::scratch_registry_t::relinquish_field ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout indices 
)
Parameters
[in,out]indicesThe indices of the field to free

Definition at line 79 of file scratch_registry.f90.

◆ relinquish_field_multiple()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_field_multiple ( class(scratch_registry_t), intent(inout), target  this,
integer, dimension(:), intent(inout indices 
)
Parameters
[in,out]indicesThe indices of the field to free

Definition at line 77 of file scratch_registry.f90.

◆ relinquish_field_single()

procedure, pass(this) scratch_registry::scratch_registry_t::relinquish_field_single ( class(scratch_registry_t), intent(inout), target  this,
integer, intent(inout index 
)
Parameters
[in,out]indexThe index of the field to free

Definition at line 76 of file scratch_registry.f90.

◆ request_field()

procedure, pass(this) scratch_registry::scratch_registry_t::request_field ( class(scratch_registry_t), intent(inout), target  this,
type(field_t), intent(inout), pointer  f,
integer, intent(inout index 
)
Parameters
[in,out]indexThe index of the field in the inuse array

Definition at line 75 of file scratch_registry.f90.

Member Data Documentation

◆ dof

type(dofmap_t), pointer scratch_registry::scratch_registry_t::dof => null()

Definition at line 57 of file scratch_registry.f90.

◆ expansion_size

integer, private scratch_registry::scratch_registry_t::expansion_size
private

Definition at line 55 of file scratch_registry.f90.

◆ fields

type(field_ptr_t), dimension(:), allocatable, private scratch_registry::scratch_registry_t::fields
private

Definition at line 47 of file scratch_registry.f90.

◆ inuse

logical, dimension(:), allocatable, private scratch_registry::scratch_registry_t::inuse
private

Definition at line 49 of file scratch_registry.f90.

◆ nfields

integer, private scratch_registry::scratch_registry_t::nfields
private

Definition at line 51 of file scratch_registry.f90.

◆ nfields_inuse

integer, private scratch_registry::scratch_registry_t::nfields_inuse
private

Definition at line 53 of file scratch_registry.f90.


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