Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
probes::probes_t Type Referenceabstract
Inheritance diagram for probes::probes_t:
Collaboration diagram for probes::probes_t:

Public Member Functions

procedure, pass(thisinit (this, json, case)
 Initialize from json.
 
procedure, pass(thisinit_from_attributes (this, dof, output_file)
 Initialize without json things.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thissetup_offset (this)
 Setup offset for I/O when using sequential write/read from rank 0.
 
procedure, pass(thiscompute_ (this, t, tstep)
 Interpolate each probe from its r,s,t coordinates.
 
procedure, pass(thisinit_base (this, json, case)
 Constructor for the simulation_component_t (base) class.
 
procedure, pass(thisfree_base (this)
 Destructor for the simulation_component_t (base) class.
 
procedure, pass(thisrestart (this, t)
 Wrapper for calling set_counter for the time based controllers. Serves as the public interface.
 
procedure, pass(thispreprocess (this, t, tstep)
 Wrapper for calling preprocess_ based on the preprocess_controller. Serves as the public interface.
 
procedure, pass(thiscompute (this, t, tstep)
 Wrapper for calling compute_ based on the compute_controller. Serves as the public interface.
 
procedure(simulation_component_init), deferred, pass init (this, json, case)
 The common constructor using a JSON dictionary.
 
procedure(simulation_component_free), deferred, pass free (this)
 Destructor.
 
procedure, pass(thispreprocess_ (this, t, tstep)
 The preprocessing function to be executed during the run.
 
procedure, pass(thiscompute_ (this, t, tstep)
 The main function to be executed during the run.
 
procedure, pass(thisrestart_ (this, t)
 The restart function to be called upon restarting simulation.
 

Public Attributes

integer n_fields = 0
 Number of output fields.
 
type(global_interpolation_tglobal_interp
 
integer n_global_probes
 Global number of probes (needed for i/o)
 
integer n_probes_offset
 global offset for writing
 
real(kind=rp), dimension(:,:), allocatable xyz
 x,y,z coordinates
 
real(kind=rp), dimension(:,:), allocatable out_values
 Interpolated values.
 
type(c_ptr), dimension(:), allocatable out_values_d
 
real(kind=rp), dimension(:,:), allocatable out_vals_trsp
 
integer n_local_probes
 Number of local elements per rank.
 
type(field_list_tsampled_fields
 Fields to be probed.
 
character(len=20), dimension(:), allocatable which_fields
 
integer, dimension(:), allocatable n_local_probes_tot_offset
 Allocated on rank 0.
 
integer, dimension(:), allocatable n_local_probes_tot
 
logical seq_io
 For output on rank 0.
 
real(kind=rp), dimension(:,:), allocatable global_output_values
 
type(file_tfout
 Output variables.
 
type(matrix_tmat_out
 
type(case_t), pointer case
 Pointer to the simulation case.
 
type(time_based_controller_t) preprocess_controller
 Controller for when to run preprocess.
 
type(time_based_controller_t) compute_controller
 Controller for when to run compute.
 
type(time_based_controller_t) output_controller
 Controller for when to do output.
 
integer order
 The execution order, lowest excutes first.
 

Private Member Functions

procedure, pass(this), private read_file (this, json)
 Reader for file type points.
 
procedure, pass(this), private read_point (this, json)
 Reader for point type points.
 
procedure, pass(this), private read_line (this, json)
 Reader for line type points.
 
procedure, pass(this), private read_circle (this, json)
 Reader for circle type points.
 
procedure, pass(this), private read_point_zone (this, json, dof)
 Reader for point zone type points.
 
procedure, pass(this), private add_points (this, new_points)
 Append a new list of points to the exsiting list.
 

Detailed Description

Definition at line 61 of file probes.F90.

Member Function/Subroutine Documentation

◆ add_points()

procedure, pass(this), private probes::probes_t::add_points ( class(probes_t), intent(inout this,
real(kind=rp), dimension(:,:), intent(in new_points 
)
private
Parameters
[in,out]thisThe probes object.
[in]new_pointsThe new points to be appended.

Definition at line 117 of file probes.F90.

◆ compute()

procedure, pass(this) simulation_component::simulation_component_t::compute ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 73 of file simulation_component.f90.

◆ compute_() [1/2]

procedure, pass(this) probes::probes_t::compute_ ( class(probes_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Note
The final interpolated field is only available on rank 0.
Parameters
tCurrent simulation time.
tstepCurrent time step.

Definition at line 100 of file probes.F90.

◆ compute_() [2/2]

procedure, pass(this) simulation_component::simulation_component_t::compute_ ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 81 of file simulation_component.f90.

◆ free() [1/2]

procedure, pass(this) probes::probes_t::free ( class(probes_t), intent(inout this)

Definition at line 96 of file probes.F90.

◆ free() [2/2]

procedure(simulation_component_free), deferred, pass simulation_component::simulation_component_t::free ( class(simulation_component_t), intent(inout this)
pure virtualinherited

Definition at line 77 of file simulation_component.f90.

◆ free_base()

procedure, pass(this) simulation_component::simulation_component_t::free_base ( class(simulation_component_t), intent(inout this)
inherited

Definition at line 63 of file simulation_component.f90.

◆ init() [1/2]

procedure, pass(this) probes::probes_t::init ( class(probes_t), intent(inout this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)

Definition at line 91 of file probes.F90.

◆ init() [2/2]

procedure(simulation_component_init), deferred, pass simulation_component::simulation_component_t::init ( class(simulation_component_t), intent(inout this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
pure virtualinherited

Definition at line 75 of file simulation_component.f90.

◆ init_base()

procedure, pass(this) simulation_component::simulation_component_t::init_base ( class(simulation_component_t), intent(inout this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
inherited
Parameters
objectThe object to be created and initialized.
jsonJSON object initializing the simulation component.
caseThe simulation case. Constructor for the simulation_component_t (base) class.

Definition at line 61 of file simulation_component.f90.

◆ init_from_attributes()

procedure, pass(this) probes::probes_t::init_from_attributes ( class(probes_t), intent(inout this,
type(dofmap_t), intent(in dof,
character(len=:), intent(inout), allocatable  output_file 
)
Parameters
dofDofmap to probe @output_file Name of output file, current must be CSV

Definition at line 93 of file probes.F90.

◆ preprocess()

procedure, pass(this) simulation_component::simulation_component_t::preprocess ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 69 of file simulation_component.f90.

◆ preprocess_()

procedure, pass(this) simulation_component::simulation_component_t::preprocess_ ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 79 of file simulation_component.f90.

◆ read_circle()

procedure, pass(this), private probes::probes_t::read_circle ( class(probes_t), intent(inout this,
type(json_file), intent(inout json 
)
private

The general structure of the circle is defined by a center point, a radius and a normal to the plane it lies on. The circle is then discretized into a number of points, based on the amount parameter. The points are added clockwise starting from a chosen axis, which is defined by the axis parameter.

Note
The axis must be one of the following: x, y, or z.
Parameters
[in,out]thisThe probes object.
[in,out]jsonThe json file object.

Definition at line 112 of file probes.F90.

◆ read_file()

procedure, pass(this), private probes::probes_t::read_file ( class(probes_t), intent(inout this,
type(json_file), intent(inout json 
)
private
Note
The points are expected to be in the form of a list of coordinates.
Parameters
[in,out]thisThe probes object.
[in,out]jsonThe json file object.

Definition at line 106 of file probes.F90.

◆ read_line()

procedure, pass(this), private probes::probes_t::read_line ( class(probes_t), intent(inout this,
type(json_file), intent(inout json 
)
private
Parameters
[in,out]thisThe probes object.
[in,out]jsonThe json file object.

Definition at line 110 of file probes.F90.

◆ read_point()

procedure, pass(this), private probes::probes_t::read_point ( class(probes_t), intent(inout this,
type(json_file), intent(inout json 
)
private
Note
The points are expected to be in the form of a list of coordinates.
Parameters
[in,out]thisThe probes object.
[in,out]jsonThe json file object.

Definition at line 108 of file probes.F90.

◆ read_point_zone()

procedure, pass(this), private probes::probes_t::read_point_zone ( class(probes_t), intent(inout this,
type(json_file), intent(inout json,
type(dofmap_t), intent(in dof 
)
private

The GLL points are read from the point zone and added to the probe list.

Parameters
[in,out]thisThe probes object.
[in,out]jsonThe json file object.

Definition at line 114 of file probes.F90.

◆ restart()

procedure, pass(this) simulation_component::simulation_component_t::restart ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t 
)
inherited
Parameters
tThe time value.

Definition at line 66 of file simulation_component.f90.

◆ restart_()

procedure, pass(this) simulation_component::simulation_component_t::restart_ ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t 
)
inherited
Parameters
tThe time value.

Definition at line 83 of file simulation_component.f90.

◆ setup_offset()

procedure, pass(this) probes::probes_t::setup_offset ( class(probes_t this)

Definition at line 98 of file probes.F90.

Member Data Documentation

◆ case

type(case_t), pointer simulation_component::simulation_component_t::case
inherited

Definition at line 50 of file simulation_component.f90.

◆ compute_controller

type(time_based_controller_t) simulation_component::simulation_component_t::compute_controller
inherited

Definition at line 54 of file simulation_component.f90.

◆ fout

type(file_t) probes::probes_t::fout

Definition at line 87 of file probes.F90.

◆ global_interp

type(global_interpolation_t) probes::probes_t::global_interp

Definition at line 64 of file probes.F90.

◆ global_output_values

real(kind=rp), dimension(:,:), allocatable probes::probes_t::global_output_values

Definition at line 85 of file probes.F90.

◆ mat_out

type(matrix_t) probes::probes_t::mat_out

Definition at line 88 of file probes.F90.

◆ n_fields

integer probes::probes_t::n_fields = 0

Definition at line 63 of file probes.F90.

◆ n_global_probes

integer probes::probes_t::n_global_probes

Definition at line 66 of file probes.F90.

◆ n_local_probes

integer probes::probes_t::n_local_probes

Definition at line 76 of file probes.F90.

◆ n_local_probes_tot

integer, dimension(:), allocatable probes::probes_t::n_local_probes_tot

Definition at line 82 of file probes.F90.

◆ n_local_probes_tot_offset

integer, dimension(:), allocatable probes::probes_t::n_local_probes_tot_offset

Definition at line 81 of file probes.F90.

◆ n_probes_offset

integer probes::probes_t::n_probes_offset

Definition at line 68 of file probes.F90.

◆ order

integer simulation_component::simulation_component_t::order
inherited

Definition at line 58 of file simulation_component.f90.

◆ out_vals_trsp

real(kind=rp), dimension(:,:), allocatable probes::probes_t::out_vals_trsp

Definition at line 74 of file probes.F90.

◆ out_values

real(kind=rp), dimension(:,:), allocatable probes::probes_t::out_values

Definition at line 72 of file probes.F90.

◆ out_values_d

type(c_ptr), dimension(:), allocatable probes::probes_t::out_values_d

Definition at line 73 of file probes.F90.

◆ output_controller

type(time_based_controller_t) simulation_component::simulation_component_t::output_controller
inherited

Definition at line 56 of file simulation_component.f90.

◆ preprocess_controller

type(time_based_controller_t) simulation_component::simulation_component_t::preprocess_controller
inherited

Definition at line 52 of file simulation_component.f90.

◆ sampled_fields

type(field_list_t) probes::probes_t::sampled_fields

Definition at line 78 of file probes.F90.

◆ seq_io

logical probes::probes_t::seq_io

Definition at line 84 of file probes.F90.

◆ which_fields

character(len=20), dimension(:), allocatable probes::probes_t::which_fields

Definition at line 79 of file probes.F90.

◆ xyz

real(kind=rp), dimension(:,:), allocatable probes::probes_t::xyz

Definition at line 70 of file probes.F90.


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