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

NEKTON fld file format. More...

Data Types

type  fld_file_t
 Interface for NEKTON fld files. More...
 

Functions/Subroutines

subroutine fld_file_select_from_field_list (this, data, p, u, v, w, tem, scalar_fields, n_scalar_fields, write_pressure, write_velocity, write_temperature, dof)
 Map a field_list_t to fld file output slots.
 
subroutine fld_file_write_manager (this, data, t)
 Manage writer to use.
 
subroutine fld_file_write (this, data, t)
 Write fields to a NEKTON fld file.
 
subroutine fld_file_write_masked (this, data, mask, t)
 Write fields to a NEKTON fld file from a masked array.
 
subroutine fld_file_write_metadata_vector (this, fh, byte_offset, x, y, z, gdim, lxyz, nelv)
 
subroutine fld_file_write_metadata_vector_masked (this, fh, byte_offset, x, y, z, gdim, lxyz, nelv, lx, ly, lz, n, mask)
 
subroutine fld_file_write_metadata_scalar (this, fh, byte_offset, x, lxyz, nelv)
 
subroutine fld_file_write_metadata_scalar_masked (this, fh, byte_offset, x, lxyz, nelv, lx, ly, lz, n, mask)
 
subroutine fld_file_write_field (this, fh, byte_offset, p, n)
 
subroutine fld_file_write_field_masked (this, fh, byte_offset, p, n, mask)
 
subroutine fld_file_write_vector_field (this, fh, byte_offset, x, y, z, n, gdim, lxyz, nelv)
 
subroutine fld_file_write_vector_field_masked (this, fh, byte_offset, x, y, z, n, gdim, lxyz, nelv, lx, ly, lz, mask)
 
subroutine fld_file_read (this, data)
 Load a field from a NEKTON fld file.
 
subroutine fld_file_read_field (this, fh, byte_offset, x, fld_data)
 
subroutine fld_file_read_vector_field (this, fh, byte_offset, x, y, z, fld_data)
 
subroutine fld_file_set_precision (this, precision)
 
subroutine fld_file_set_mask (this, mask)
 
character(len=1024) function fld_file_get_fld_fname (this)
 
character(len=1024) function fld_file_get_next_output_fname (this)
 Get the physical file name generated by the next write. The fld writer increments its counter during the write, so a pre-write caller must format the name using the next counter value.
 
character(len=1024) function fld_file_format_fname (this, counter)
 Format the physical file name for a counter value.
 
character(len=1024) function fld_file_get_meta_fname (this)
 

Variables

real(kind=dp), dimension(:), allocatable, private tmp_dp
 
real(kind=sp), dimension(:), allocatable, private tmp_sp
 

Detailed Description

this module defines interface to write NEKTON's fld fields

Function/Subroutine Documentation

◆ fld_file_format_fname()

character(len=1024) function fld_file::fld_file_format_fname ( class(fld_file_t), intent(in)  this,
integer, intent(in)  counter 
)
private

Definition at line 1799 of file fld_file.f90.

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

◆ fld_file_get_fld_fname()

character(len=1024) function fld_file::fld_file_get_fld_fname ( class(fld_file_t), intent(in)  this)
private

Definition at line 1769 of file fld_file.f90.

Here is the call graph for this function:

◆ fld_file_get_meta_fname()

character(len=1024) function fld_file::fld_file_get_meta_fname ( class(fld_file_t), intent(in)  this)
private

Definition at line 1812 of file fld_file.f90.

Here is the call graph for this function:

◆ fld_file_get_next_output_fname()

character(len=1024) function fld_file::fld_file_get_next_output_fname ( class(fld_file_t), intent(in)  this)
private

Definition at line 1782 of file fld_file.f90.

Here is the call graph for this function:

◆ fld_file_read()

subroutine fld_file::fld_file_read ( class(fld_file_t)  this,
class(*), intent(inout), target  data 
)
private

Definition at line 1358 of file fld_file.f90.

Here is the call graph for this function:

◆ fld_file_read_field()

subroutine fld_file::fld_file_read_field ( class(fld_file_t), intent(inout)  this,
type(mpi_file)  fh,
integer(kind=mpi_offset_kind)  byte_offset,
type(vector_t), intent(inout)  x,
type(fld_file_data_t)  fld_data 
)
private

Definition at line 1639 of file fld_file.f90.

Here is the caller graph for this function:

◆ fld_file_read_vector_field()

subroutine fld_file::fld_file_read_vector_field ( class(fld_file_t), intent(inout)  this,
type(mpi_file)  fh,
integer(kind=mpi_offset_kind)  byte_offset,
type(vector_t), intent(inout)  x,
type(vector_t), intent(inout)  y,
type(vector_t), intent(inout)  z,
type(fld_file_data_t)  fld_data 
)
private

Definition at line 1674 of file fld_file.f90.

Here is the caller graph for this function:

◆ fld_file_select_from_field_list()

subroutine fld_file::fld_file_select_from_field_list ( class(fld_file_t), intent(in)  this,
type(field_list_t), intent(in)  data,
type(array_ptr_t), intent(inout)  p,
type(array_ptr_t), intent(inout)  u,
type(array_ptr_t), intent(inout)  v,
type(array_ptr_t), intent(inout)  w,
type(array_ptr_t), intent(inout)  tem,
type(array_ptr_t), dimension(:), intent(inout), allocatable  scalar_fields,
integer, intent(out)  n_scalar_fields,
logical, intent(out)  write_pressure,
logical, intent(out)  write_velocity,
logical, intent(out)  write_temperature,
type(dofmap_t), intent(out), pointer  dof 
)
Parameters
thisThe fld file object.
dataThe field list to map from.
pPressure field pointer (output).
uVelocity x-component pointer (output).
vVelocity y-component pointer (output).
wVelocity z-component pointer (output).
temTemperature field pointer (output).
scalar_fieldsScalar field pointers (output, allocated as needed).
n_scalar_fieldsNumber of scalar fields (output).
write_pressureWhether to write pressure (output).
write_velocityWhether to write velocity (output).
write_temperatureWhether to write temperature (output).
dofThe dofmap for the list (output).

Definition at line 104 of file fld_file.f90.

Here is the caller graph for this function:

◆ fld_file_set_mask()

subroutine fld_file::fld_file_set_mask ( class(fld_file_t)  this,
type(mask_t), intent(inout), optional  mask 
)
private

Definition at line 1757 of file fld_file.f90.

◆ fld_file_set_precision()

subroutine fld_file::fld_file_set_precision ( class(fld_file_t)  this,
integer, intent(in)  precision 
)
private

Definition at line 1743 of file fld_file.f90.

◆ fld_file_write()

subroutine fld_file::fld_file_write ( class(fld_file_t), intent(inout)  this,
class(*), intent(in), target  data,
real(kind=dp), intent(in), optional  t 
)
private
Note
currently limited to double precision data
Todo:
fix support for single precision output?

Include metadata with bounding boxes (Just copying from nek5000)

Definition at line 180 of file fld_file.f90.

Here is the call graph for this function:

◆ fld_file_write_field()

subroutine fld_file::fld_file_write_field ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(n), intent(inout)  p,
integer, intent(inout)  n 
)
private

Definition at line 1187 of file fld_file.f90.

Here is the caller graph for this function:

◆ fld_file_write_field_masked()

subroutine fld_file::fld_file_write_field_masked ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(:), intent(inout)  p,
integer, intent(inout)  n,
integer, dimension(n), intent(in)  mask 
)
private

Definition at line 1213 of file fld_file.f90.

Here is the caller graph for this function:

◆ fld_file_write_manager()

subroutine fld_file::fld_file_write_manager ( class(fld_file_t), intent(inout)  this,
class(*), intent(in), target  data,
real(kind=dp), intent(in), optional  t 
)
private

Definition at line 165 of file fld_file.f90.

◆ fld_file_write_masked()

subroutine fld_file::fld_file_write_masked ( class(fld_file_t), intent(inout)  this,
class(*), intent(in), target  data,
type(mask_t), intent(in)  mask,
real(kind=dp), intent(in), optional  t 
)
private
Note
currently limited to double precision data
Todo:
fix support for single precision output?

Include metadata with bounding boxes (Just copying from nek5000)

Definition at line 611 of file fld_file.f90.

Here is the call graph for this function:

◆ fld_file_write_metadata_scalar()

subroutine fld_file::fld_file_write_metadata_scalar ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(lxyz, nelv), intent(in)  x,
integer, intent(in)  lxyz,
integer, intent(in)  nelv 
)
private

Definition at line 1131 of file fld_file.f90.

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

◆ fld_file_write_metadata_scalar_masked()

subroutine fld_file::fld_file_write_metadata_scalar_masked ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(lxyz, *), intent(in)  x,
integer, intent(in)  lxyz,
integer, intent(in)  nelv,
integer, intent(in)  lx,
integer, intent(in)  ly,
integer, intent(in)  lz,
integer, intent(in)  n,
integer, dimension(n), intent(in)  mask 
)
private

Definition at line 1157 of file fld_file.f90.

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

◆ fld_file_write_metadata_vector()

subroutine fld_file::fld_file_write_metadata_vector ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(lxyz, nelv), intent(in)  x,
real(kind=rp), dimension(lxyz, nelv), intent(in)  y,
real(kind=rp), dimension(lxyz, nelv), intent(in)  z,
integer, intent(in)  gdim,
integer, intent(in)  lxyz,
integer, intent(in)  nelv 
)
private

Definition at line 1061 of file fld_file.f90.

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

◆ fld_file_write_metadata_vector_masked()

subroutine fld_file::fld_file_write_metadata_vector_masked ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(lxyz, *), intent(in)  x,
real(kind=rp), dimension(lxyz, *), intent(in)  y,
real(kind=rp), dimension(lxyz, *), intent(in)  z,
integer, intent(in)  gdim,
integer, intent(in)  lxyz,
integer, intent(in)  nelv,
integer, intent(in)  lx,
integer, intent(in)  ly,
integer, intent(in)  lz,
integer, intent(in)  n,
integer, dimension(n), intent(in)  mask 
)
private

Definition at line 1094 of file fld_file.f90.

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

◆ fld_file_write_vector_field()

subroutine fld_file::fld_file_write_vector_field ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(lxyz, nelv), intent(in)  x,
real(kind=rp), dimension(lxyz, nelv), intent(in)  y,
real(kind=rp), dimension(lxyz, nelv), intent(in)  z,
integer, intent(in)  n,
integer, intent(in)  gdim,
integer, intent(in)  lxyz,
integer, intent(in)  nelv 
)
private

Definition at line 1240 of file fld_file.f90.

Here is the caller graph for this function:

◆ fld_file_write_vector_field_masked()

subroutine fld_file::fld_file_write_vector_field_masked ( class(fld_file_t), intent(inout)  this,
type(mpi_file), intent(inout)  fh,
integer (kind=mpi_offset_kind), intent(in)  byte_offset,
real(kind=rp), dimension(lxyz, *), intent(in)  x,
real(kind=rp), dimension(lxyz, *), intent(in)  y,
real(kind=rp), dimension(lxyz, *), intent(in)  z,
integer, intent(in)  n,
integer, intent(in)  gdim,
integer, intent(in)  lxyz,
integer, intent(in)  nelv,
integer, intent(in)  lx,
integer, intent(in)  ly,
integer, intent(in)  lz,
integer, dimension(n), intent(in)  mask 
)
private

Definition at line 1295 of file fld_file.f90.

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

Variable Documentation

◆ tmp_dp

real(kind=dp), dimension(:), allocatable, private fld_file::tmp_dp
private

Definition at line 62 of file fld_file.f90.

◆ tmp_sp

real(kind=sp), dimension(:), allocatable, private fld_file::tmp_sp
private

Definition at line 63 of file fld_file.f90.