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

Simple module to handle fld file series. Provides an interface to the different fields sotred in a fld file Also provides simple functions to scale and add different fld files. An example of using this module is shown in contrib/average_fields.f90 The fld_file_data_t should dynamically update each time one reads a new fld file. Martin Karp 1/2-2023.

Data Types

type  fld_file_data_t
 

Functions/Subroutines

subroutine fld_file_data_import_fields (this, u, v, w, p, t, s_target_list, s_index_list, interpolate, tolerance)
 Imports fields from an fld_file_data object, potentially with interpolation.
 
subroutine fld_file_data_init (this, nelv, offset_el)
 Initializes a fld_file_data object.
 
integer function fld_file_data_size (this)
 Get the number of initialized fields in this fld file.
 
subroutine fld_file_data_init_same (this, fld_file, n)
 Genereate same fields as in another fld_file.
 
subroutine fld_file_data_init_n_fields (this, n_fields, n)
 Generate same fields as in another fld_file.
 
subroutine fld_file_data_get_list (this, ptr_list, n)
 Get a list with pointers to the fields in the fld file.
 
subroutine fld_file_data_scale (this, c)
 Scale the values stored in this fld_file_data.
 
subroutine fld_file_data_add (this, other)
 Add the values in another fld file to this.
 
subroutine fld_file_data_free (this)
 Deallocate fld file data type.
 
subroutine fld_file_data_generate_interpolator (this, global_interp, to_dof, to_msh, tolerance)
 Generates a global_interpolation object to interpolate the fld data.
 

Function/Subroutine Documentation

◆ fld_file_data_add()

subroutine fld_file_data::fld_file_data_add ( class(fld_file_data_t), intent(inout this,
class(fld_file_data_t), intent(in other 
)
private

Definition at line 429 of file fld_file_data.f90.

Here is the call graph for this function:

◆ fld_file_data_free()

subroutine fld_file_data::fld_file_data_free ( class(fld_file_data_t), intent(inout this)
private

Definition at line 447 of file fld_file_data.f90.

◆ fld_file_data_generate_interpolator()

subroutine fld_file_data::fld_file_data_generate_interpolator ( class(fld_file_data_t), intent(in this,
type(global_interpolation_t), intent(inout global_interp,
type(dofmap_t), intent(in), target  to_dof,
type(mesh_t), intent(in), target  to_msh,
real(kind=rp), intent(in tolerance 
)
private
Parameters
global_interpGlobal interpolation object which will be initialized and ready to be used for interpolation.
to_dofDofmap on which to interpolate.
to_mshMesh on which to interpolate.
toleranceTolerance for the newton iterations.

To ensure that each point is within an element Remedies issue with points on the boundary Technically gives each point a slightly different value but still within the specified tolerance

Definition at line 484 of file fld_file_data.f90.

◆ fld_file_data_get_list()

subroutine fld_file_data::fld_file_data_get_list ( class(fld_file_data_t), intent(in), target  this,
type(vector_ptr_t), dimension(n), intent(inout ptr_list,
integer, intent(in n 
)
private

Definition at line 375 of file fld_file_data.f90.

◆ fld_file_data_import_fields()

subroutine fld_file_data::fld_file_data_import_fields ( class(fld_file_data_t), intent(inout this,
type(field_t), intent(inout), optional, pointer  u,
type(field_t), intent(inout), optional, pointer  v,
type(field_t), intent(inout), optional, pointer  w,
type(field_t), intent(inout), optional, pointer  p,
type(field_t), intent(inout), optional, pointer  t,
type(field_list_t), intent(inout), optional  s_target_list,
integer, dimension(:), intent(in), optional  s_index_list,
logical, intent(in), optional  interpolate,
real(kind=rp), intent(in), optional  tolerance 
)
Parameters
thisfld_data object. Must already be initialized, no checks are done.
uThe field on which to import the u component of the fld data.
vThe field on which to import the v component of the fld data.
wThe field on which to import the w component of the fld data.
pThe field on which to import the pressure field of the fld data.
tThe field on which to import the temperature field of the fld data.
s_target_listField list containing the fields on which to import the scalar fields of the fld data. Unless a list of target indices is provided in s_index_list, assigns field at position i in the list to scalar i in the fld file.
s_index_listThe list of scalars indices from which to load the fields provided in s_target_list. Must have the same size as s_target_list. For example, s_index_list = (/2,3/) will load scalar #2 in s_target_listitems(1) and scalar #3 in s_target_listitems(2). Index 0 corresponds to temperature by default. Therefore using s_index_list = (/0/) is equivalent to using the argument t=....
interpolateWhether or not to interpolate the fld data.
toleranceIf interpolation is enabled, the tolerance to use for the point finding.
Note
If interpolation is disabled, space-to-space interpolation is still performed within each element to allow for seamless change of polynomial order for the same given mesh.
Attention
No data movement between CPU and GPU is done in this subroutine. The required data must be copied manually beforehand (see import_field_utils.f90).

Definition at line 99 of file fld_file_data.f90.

◆ fld_file_data_init()

subroutine fld_file_data::fld_file_data_init ( class(fld_file_data_t), intent(inout this,
integer, intent(in), optional  nelv,
integer, intent(in), optional  offset_el 
)
private
Parameters
nelvNumber of elements (on this rank).
offset_elElement offset for this rank.

Definition at line 288 of file fld_file_data.f90.

◆ fld_file_data_init_n_fields()

subroutine fld_file_data::fld_file_data_init_n_fields ( class(fld_file_data_t), intent(inout), target  this,
integer, intent(in n_fields,
integer, intent(in n 
)
private

Definition at line 343 of file fld_file_data.f90.

◆ fld_file_data_init_same()

subroutine fld_file_data::fld_file_data_init_same ( class(fld_file_data_t), intent(inout), target  this,
class(fld_file_data_t), intent(in), target  fld_file,
integer, intent(in n 
)
private

Definition at line 313 of file fld_file_data.f90.

◆ fld_file_data_scale()

subroutine fld_file_data::fld_file_data_scale ( class(fld_file_data_t), intent(inout this,
real(kind=rp), intent(in c 
)
private

Definition at line 411 of file fld_file_data.f90.

Here is the call graph for this function:

◆ fld_file_data_size()

integer function fld_file_data::fld_file_data_size ( class(fld_file_data_t this)
private

Definition at line 299 of file fld_file_data.f90.