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

Implements the boundary_data_writer_t type.

Data Types

type  boundary_data_writer_t
 A simulation component that writes registry fields sampled on labelled boundary zones. The component builds a mask over the requested labelled zones and, at every output, samples the requested quantities at the boundary GLL points. The result is written either as CSV or as HDF5. More...
 

Functions/Subroutines

subroutine boundary_data_writer_init_from_json (this, json, case)
 Constructor from json.
 
subroutine boundary_data_writer_init_from_controllers (this, name, case, order, preprocess_controller, compute_controller, output_controller, coef, zone_indices, fields, output_filename, output_normals, output_area, append_out, start_time)
 Constructor from components, passing controllers.
 
subroutine boundary_data_writer_init_from_controllers_properties (this, name, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value, coef, zone_indices, fields, output_filename, output_normals, output_area, append_out, start_time)
 Constructor from components, passing properties to the time_based_controller components in the base type.
 
subroutine boundary_data_writer_init_common (this, name, coef, zone_indices, fields, output_filename, output_normals, output_area, append_out, start_time)
 Common part of all constructors.
 
subroutine boundary_data_writer_setup_output_csv (this, output_filename, n_geom)
 Set up a CSV output.
 
subroutine boundary_data_writer_setup_output_hdf5 (this, ft, n_geom)
 Set up an HDF5 output.
 
subroutine boundary_data_writer_free (this)
 Destructor.
 
subroutine boundary_data_writer_gather_column (this, f, col)
 Gather a field at the masked points into a column of the local buffer.
 
subroutine boundary_data_writer_compute (this, time)
 Sample the boundary and write.
 
subroutine boundary_data_writer_gather_to_root (this)
 Gather the local sample buffer onto rank zero.
 
subroutine boundary_data_writer_local_geometry (this, mat, n_geom)
 Collect the reference geometry of the local points into a matrix.
 
subroutine boundary_data_writer_gather_geometry (this, mat, n_geom)
 Gather the reference geometry of all points onto rank zero.
 

Function/Subroutine Documentation

◆ boundary_data_writer_compute()

subroutine boundary_data_writer_simcomp::boundary_data_writer_compute ( class(boundary_data_writer_t), intent(inout this,
type(time_state_t), intent(in time 
)
private
Parameters
timeThe current time state.

Definition at line 638 of file boundary_data_writer_simcomp.f90.

Here is the call graph for this function:

◆ boundary_data_writer_free()

subroutine boundary_data_writer_simcomp::boundary_data_writer_free ( class(boundary_data_writer_t), intent(inout this)
private

Definition at line 587 of file boundary_data_writer_simcomp.f90.

◆ boundary_data_writer_gather_column()

subroutine boundary_data_writer_simcomp::boundary_data_writer_gather_column ( class(boundary_data_writer_t), intent(inout this,
type(field_t), intent(in f,
integer, intent(in col 
)
private
Parameters
fThe source field.
colThe destination column.

Definition at line 619 of file boundary_data_writer_simcomp.f90.

Here is the call graph for this function:

◆ boundary_data_writer_gather_geometry()

subroutine boundary_data_writer_simcomp::boundary_data_writer_gather_geometry ( class(boundary_data_writer_t), intent(inout this,
type(matrix_t), intent(inout mat,
integer, intent(in n_geom 
)
private
Parameters
matThe matrix to fill.
n_geomThe number of geometry entries per point.

Definition at line 797 of file boundary_data_writer_simcomp.f90.

Here is the caller graph for this function:

◆ boundary_data_writer_gather_to_root()

subroutine boundary_data_writer_simcomp::boundary_data_writer_gather_to_root ( class(boundary_data_writer_t), intent(inout this)
private

Definition at line 755 of file boundary_data_writer_simcomp.f90.

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

◆ boundary_data_writer_init_common()

subroutine boundary_data_writer_simcomp::boundary_data_writer_init_common ( class(boundary_data_writer_t), intent(inout this,
character(len=*), intent(in name,
type(coef_t), intent(inout), target  coef,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in fields,
character(len=*), intent(in output_filename,
logical, intent(in output_normals,
logical, intent(in output_area,
logical, intent(in append_out,
real(kind=rp), intent(in start_time 
)
private
Parameters
nameThe unique name of the simcomp.
coefThe SEM coefficients.
zone_indicesLabelled zones to include.
fieldsNames of the registry fields to sample.
output_filenameThe output file, either .csv or .h5.
output_normalsWhether to output the unit normals.
output_areaWhether to output the surface quadrature weights.
append_outWhether to append samples to shared datasets.
start_timeTime after which to start writing.

Definition at line 297 of file boundary_data_writer_simcomp.f90.

Here is the call graph for this function:

◆ boundary_data_writer_init_from_controllers()

subroutine boundary_data_writer_simcomp::boundary_data_writer_init_from_controllers ( class(boundary_data_writer_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer, intent(in order,
type(time_based_controller_t), intent(in preprocess_controller,
type(time_based_controller_t), intent(in compute_controller,
type(time_based_controller_t), intent(in output_controller,
type(coef_t), intent(inout), target  coef,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in fields,
character(len=*), intent(in output_filename,
logical, intent(in output_normals,
logical, intent(in output_area,
logical, intent(in append_out,
real(kind=rp), intent(in start_time 
)
private
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution order priority of the simcomp.
preprocess_controllerThe controller for running preprocessing.
compute_controllerThe controller for running compute.
output_controllerThe controller for producing output.
coefThe SEM coefficients.
zone_indicesLabelled zones to include.
fieldsNames of the registry fields to sample.
output_filenameThe output file, either .csv or .h5.
output_normalsWhether to output the unit normals.
output_areaWhether to output the surface quadrature weights.
append_outWhether to append samples to shared datasets.
start_timeTime after which to start writing.

Definition at line 205 of file boundary_data_writer_simcomp.f90.

◆ boundary_data_writer_init_from_controllers_properties()

subroutine boundary_data_writer_simcomp::boundary_data_writer_init_from_controllers_properties ( class(boundary_data_writer_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer, intent(in order,
character(len=*), intent(in preprocess_control,
real(kind=rp), intent(in preprocess_value,
character(len=*), intent(in compute_control,
real(kind=rp), intent(in compute_value,
character(len=*), intent(in output_control,
real(kind=rp), intent(in output_value,
type(coef_t), intent(inout), target  coef,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in fields,
character(len=*), intent(in output_filename,
logical, intent(in output_normals,
logical, intent(in output_area,
logical, intent(in append_out,
real(kind=rp), intent(in start_time 
)
private
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution order priority of the simcomp.
preprocess_controlControl mode for preprocessing.
preprocess_valueValue parameter for preprocessing.
compute_controlControl mode for computing.
compute_valueValue parameter for computing.
output_controlControl mode for output.
output_valueValue parameter for output.
coefThe SEM coefficients.
zone_indicesLabelled zones to include.
fieldsNames of the registry fields to sample.
output_filenameThe output file, either .csv or .h5.
output_normalsWhether to output the unit normals.
output_areaWhether to output the surface quadrature weights.
append_outWhether to append samples to shared datasets.
start_timeTime after which to start writing.

Definition at line 253 of file boundary_data_writer_simcomp.f90.

◆ boundary_data_writer_init_from_json()

subroutine boundary_data_writer_simcomp::boundary_data_writer_init_from_json ( class(boundary_data_writer_t), intent(inout), target  this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
Parameters
jsonJSON object with the parameters.
caseThe case object.

Definition at line 145 of file boundary_data_writer_simcomp.f90.

Here is the call graph for this function:

◆ boundary_data_writer_local_geometry()

subroutine boundary_data_writer_simcomp::boundary_data_writer_local_geometry ( class(boundary_data_writer_t), intent(inout this,
type(matrix_t), intent(inout mat,
integer, intent(in n_geom 
)
private
Parameters
matThe matrix to fill.
n_geomThe number of geometry entries per point.

Definition at line 770 of file boundary_data_writer_simcomp.f90.

Here is the caller graph for this function:

◆ boundary_data_writer_setup_output_csv()

subroutine boundary_data_writer_simcomp::boundary_data_writer_setup_output_csv ( class(boundary_data_writer_t), intent(inout this,
character(len=*), intent(in output_filename,
integer, intent(in n_geom 
)
private
Parameters
output_filenameThe base output filename.
n_geomNumber of geometry entries per point in the companion file.

Definition at line 493 of file boundary_data_writer_simcomp.f90.

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

◆ boundary_data_writer_setup_output_hdf5()

subroutine boundary_data_writer_simcomp::boundary_data_writer_setup_output_hdf5 ( class(boundary_data_writer_t), intent(inout this,
class(hdf5_file_t), intent(inout ft,
integer, intent(in n_geom 
)
private
Parameters
ftThe HDF5 file handle.
n_geomNumber of geometry entries per point.

Definition at line 550 of file boundary_data_writer_simcomp.f90.

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