Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
field_subsampler Module Reference

Implements type field_subsampler_t.

Data Types

interface  compute_intrf
 Abstract interface for the compute() subroutine, which will be assigned at runtime depending on the subsampling method used. More...
 
type  field_subsampler_t
 Implements the field_subsampler_t simulation components, which allows for masking regions of the domain with a point_zone and to re-sample fields with a different polynomial order. More...
 

Functions/Subroutines

subroutine field_subsampler_check (this)
 Checks the validity of the setup before calling compute()
 
subroutine compute_wrapper (this, time)
 Wrapper for the run-time-assigned subroutine compute_impl, which will be assigned at runtime to the correct compute().
 
subroutine dummy_compute (this, time)
 Dummy subroutine assigned by default to compute_impl.
 
subroutine field_subsampler_init_json (this, json, case)
 Constructor.
 
subroutine field_subsampler_init_common (this, name, which_fields, lx, point_zone)
 Actual constructor.
 
subroutine field_subsampler_free (this)
 Destructor.
 
subroutine field_subsampler_compute_pz (this, time)
 Subsample the fields based only on a point zone, no space-to-space interpolation.
 
subroutine field_subsampler_compute_xh (this, time)
 Subsample fields wihout any point zone, only space-to-space interpolation is enabled.
 
subroutine field_subsampler_compute_pz_xh (this, time)
 Subsample the fields based a point zone, and with space-to-space interpolation enabled.
 
subroutine field_subsampler_init_from_controllers (this, name, case, order, preprocess_controller, compute_controller, output_controller, which_fields, lx, point_zone)
 Constructor from components, passing controllers.
 
subroutine field_subsampler_init_from_controllers_properties (this, name, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value, which_fields, lx, point_zone)
 Constructor from components, passing properties to the time_based_controller` components in the base type.
 

Function/Subroutine Documentation

◆ compute_wrapper()

subroutine field_subsampler::compute_wrapper ( class(field_subsampler_t), intent(inout this,
type(time_state_t), intent(in time 
)
private

Definition at line 216 of file field_subsampler.f90.

◆ dummy_compute()

subroutine field_subsampler::dummy_compute ( class(field_subsampler_t), intent(inout this,
type(time_state_t), intent(in time 
)
private

Definition at line 226 of file field_subsampler.f90.

Here is the caller graph for this function:

◆ field_subsampler_check()

subroutine field_subsampler::field_subsampler_check ( class(field_subsampler_t), intent(inout this)
private

Definition at line 160 of file field_subsampler.f90.

Here is the call graph for this function:

◆ field_subsampler_compute_pz()

subroutine field_subsampler::field_subsampler_compute_pz ( class(field_subsampler_t), intent(inout this,
type(time_state_t), intent(in time 
)
private

Definition at line 494 of file field_subsampler.f90.

Here is the caller graph for this function:

◆ field_subsampler_compute_pz_xh()

subroutine field_subsampler::field_subsampler_compute_pz_xh ( class(field_subsampler_t), intent(inout this,
type(time_state_t), intent(in time 
)
private

This routine uses the work array wk as a buffer to first do the masked copy.

Definition at line 539 of file field_subsampler.f90.

Here is the caller graph for this function:

◆ field_subsampler_compute_xh()

subroutine field_subsampler::field_subsampler_compute_xh ( class(field_subsampler_t), intent(inout this,
type(time_state_t), intent(in time 
)
private

Definition at line 521 of file field_subsampler.f90.

Here is the caller graph for this function:

◆ field_subsampler_free()

subroutine field_subsampler::field_subsampler_free ( class(field_subsampler_t), intent(inout this)
private

Definition at line 455 of file field_subsampler.f90.

Here is the call graph for this function:

◆ field_subsampler_init_common()

subroutine field_subsampler::field_subsampler_init_common ( class(field_subsampler_t), intent(inout this,
character(len=*), intent(in name,
character(len=*), dimension(:), intent(in which_fields,
integer, intent(in), optional  lx,
class(point_zone_t), intent(in), optional, pointer  point_zone 
)
private
Parameters
nameThe unique name of the simcomp.
which_fieldsThe names of the fields to be subsampled.
lxThe number of GLL points to use for subsampling.
point_zoneThe point zone to use for subsampling.

Definition at line 330 of file field_subsampler.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ field_subsampler_init_from_controllers()

subroutine field_subsampler::field_subsampler_init_from_controllers ( class(field_subsampler_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer  order,
type(time_based_controller_t), intent(in preprocess_controller,
type(time_based_controller_t), intent(in compute_controller,
type(time_based_controller_t), intent(in output_controller,
character(len=*), dimension(:), intent(in which_fields,
integer, intent(in lx,
class(point_zone_t), intent(in), optional, pointer  point_zone 
)
private
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution oder priority of the simcomp.
preprocess_controllerThe controller for running preprocessing.
compute_controllerThe controller for running compute.
output_controllerThe controller for producing output.
which_fieldsList of field names to subsample.
lxNumber of GLL points to use for the space-to-space interpolation.
point_zonePoint zone to use for the subsampling.

Definition at line 586 of file field_subsampler.f90.

◆ field_subsampler_init_from_controllers_properties()

subroutine field_subsampler::field_subsampler_init_from_controllers_properties ( class(field_subsampler_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer  order,
character(len=*), intent(in preprocess_control,
real(kind=rp), intent(in preprocess_value,
character(len=*), intent(in compute_control,
real(kind=rp), intent(in compute_value,
character(len=*), intent(in output_control,
real(kind=rp), intent(in output_value,
character(len=*), dimension(:), intent(in which_fields,
integer, intent(in), optional  lx,
class(point_zone_t), intent(in), optional, pointer  point_zone 
)
private
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution oder priority of the simcomp.
preprocess_controllerControl mode for preprocessing.
preprocess_valueValue parameter for preprocessing.
compute_controllerControl mode for computing.
compute_valueValue parameter for computing.
output_controllerControl mode for output.
output_valueValue parameter for output.
which_fieldsList of field names to subsample.
lxNumber of GLL points to use for the space-to-space interpolation.
point_zonePoint zone to use for the subsampling.

Definition at line 623 of file field_subsampler.f90.

◆ field_subsampler_init_json()

subroutine field_subsampler::field_subsampler_init_json ( class(field_subsampler_t), intent(inout), target  this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
private

Definition at line 235 of file field_subsampler.f90.

Here is the call graph for this function: