Neko 1.99.3
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_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_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 1766 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 1780 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 1357 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 1636 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 1671 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 103 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 1754 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 1740 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=rp), 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 179 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 1186 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 1212 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=rp), intent(in), optional  t 
)
private

Definition at line 164 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=rp), 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 610 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 1130 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 1156 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 1060 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 1093 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 1239 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 1294 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.