Neko  0.8.1
A portable framework for high-order spectral element flow simulations
probes Module Reference

Implements probes. More...

Data Types

type  probes_t
 

Functions/Subroutines

subroutine probes_init_from_json (this, json, case)
 Constructor from json. More...
 
subroutine probes_init_from_attributes (this, dof, output_file)
 Initialize without json things. More...
 
subroutine probes_free (this)
 Destructor. More...
 
subroutine probes_show (this)
 Print current probe status, with number of probes and coordinates. More...
 
subroutine probes_debug (this)
 Show the status of processor/element owner and error code for each point. More...
 
subroutine probes_setup_offset (this)
 Setup offset for rank 0. More...
 
subroutine probes_evaluate_and_write (this, t, tstep)
 Interpolate each probe from its r,s,t coordinates. More...
 
subroutine read_probe_locations (this, xyz, n_local_probes, n_global_probes, points_file)
 Initialize the physical coordinates from a csv input file. More...
 
subroutine read_xyz_from_csv (this, xyz, n_local_probes, n_global_probes, f)
 Read and initialize the number of probes from a csv input file. More...
 

Detailed Description

Implements probes.

Note
This modules uses functions from gslib, namely findpts_setup, findpts, and findpts_eval. A full description of these subroutines can be found at https://github.com/Nek5000/gslib/blob/master/src/findpts.c

Function/Subroutine Documentation

◆ probes_debug()

subroutine probes::probes_debug ( class(probes_t this)
private

Show the status of processor/element owner and error code for each point.

Definition at line 286 of file probes.F90.

◆ probes_evaluate_and_write()

subroutine probes::probes_evaluate_and_write ( class(probes_t), intent(inout)  this,
real(kind=rp), intent(in)  t,
integer, intent(in)  tstep 
)
private

Interpolate each probe from its r,s,t coordinates.

Note
The final interpolated field is only available on rank 0.
Parameters
tCurrent simulation time.
tstepCurrent time step.

Check controller to determine if we must write

Definition at line 326 of file probes.F90.

Here is the call graph for this function:

◆ probes_free()

subroutine probes::probes_free ( class(probes_t), intent(inout)  this)
private

Destructor.

Definition at line 223 of file probes.F90.

◆ probes_init_from_attributes()

subroutine probes::probes_init_from_attributes ( class(probes_t), intent(inout)  this,
type(dofmap_t), intent(in)  dof,
character(len=:), intent(inout), allocatable  output_file 
)
private

Initialize without json things.

Parameters
dofDofmap to probe @output_file Name of output file, current must be CSV

Init interpolator

find probes and redistribute them

Allocate output array

Initialize the output file

Necessary for not-parallel csv format... offsets and n points per pe Needed at root for sequential csv i/o

Definition at line 146 of file probes.F90.

Here is the call graph for this function:

◆ probes_init_from_json()

subroutine probes::probes_init_from_json ( class(probes_t), intent(inout)  this,
type(json_file), intent(inout)  json,
class(case_t), intent(inout), target  case 
)

Constructor from json.

Read from case file

Should be extended to not only csv but also be possible to define in userfile for example

This is distributed as to make it similar to parallel file formats latera Reads all into rank 0

Definition at line 106 of file probes.F90.

Here is the call graph for this function:

◆ probes_setup_offset()

subroutine probes::probes_setup_offset ( class(probes_t this)
private

Setup offset for rank 0.

Definition at line 302 of file probes.F90.

◆ probes_show()

subroutine probes::probes_show ( class(probes_t), intent(in)  this)
private

Print current probe status, with number of probes and coordinates.

Definition at line 259 of file probes.F90.

Here is the caller graph for this function:

◆ read_probe_locations()

subroutine probes::read_probe_locations ( class(probes_t), intent(inout)  this,
real(kind=rp), dimension(:,:), allocatable  xyz,
integer, intent(inout)  n_local_probes,
integer, intent(inout)  n_global_probes,
character(len=:), allocatable  points_file 
)
private

Initialize the physical coordinates from a csv input file.

Parameters
points_fileA csv file containing probes.

Supporting variables

Reads on rank 0 and distributes the probes across the different ranks

Close the file

Definition at line 377 of file probes.F90.

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

◆ read_xyz_from_csv()

subroutine probes::read_xyz_from_csv ( class(probes_t), intent(inout)  this,
real(kind=rp), dimension(:,:), allocatable  xyz,
integer, intent(inout)  n_local_probes,
integer, intent(inout)  n_global_probes,
type(csv_file_t), intent(inout)  f 
)
private

Read and initialize the number of probes from a csv input file.

Parameters
xyzxyz coordinates of the probes
n_local_probesThe number of probes local to this process
n_global_probesThe number of total probes on all processes
fThe csv file we read from

Definition at line 407 of file probes.F90.

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