hvs_output_module Module

Module to encapsulate output for various formats.


Uses

Used by

  • module~~hvs_output_module~~UsedByGraph module~hvs_output_module hvs_output_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~hvs_output_module program~tem_tracking_test tem_tracking_test program~tem_tracking_test->module~tem_tracking_module

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, public, parameter:: hvs_AsciiTransient =1

parameter for ascii output, writing only one row consisting of all the elements with all variable values in that row into an initially opened file

integer, public, parameter:: hvs_AsciiSpatial =2

Parameter for gnuplot ascii, writing a complete spatial representation at each time step into a new file

integer, public, parameter:: hvs_Internal =3

Parameter for harvester output

integer, public, parameter:: hvs_PreciceSpatial =4

Parameter for precice spatial coupling

integer, public, parameter:: hvs_VTK =5

Parameter for VTK output


Derived Types

type, public :: hvs_output_config_type

This data type contains data loaded from disk.

Components

TypeVisibilityAttributesNameInitial
integer, private :: vis_kind

Kind of visualization file to use for the output.

type(hvs_vtk_config_type), private :: vtk

Description of the vtk configuration (used when vis_kind='vtk')

logical, private :: useGetPoint

Logic to decide to use get_point or get_element to dump data

integer, private :: nDofs

Stores the number of output dofs to be dumped.

Read more…

type, public :: hvs_output_file_type

Components

TypeVisibilityAttributesNameInitial
integer, private :: vis_kind

Kind of visualization file to use for the output.

character(len=PathLen), private :: basename

Basename to use for the output files.

type(tem_comm_env_type), private :: proc

Process description to use for the output. Might be only a subset of the global communicator

type(hvs_vtk_file_type), private :: vtk

Description for vtk output

type(hvs_ascii_type), private :: ascii

Description for ascii output

type(hvs_asciiSpatial_type), private :: asciiSpatial

Description for ascii output

type(tem_restart_type), private :: restart

Description for harvester output i.e restart format

type(tem_time_type), private :: time

Point in time for which this output should be done.

integer, private :: nVars

Number of variables to write to this file.

integer, private, allocatable:: varPos(:)

List of variable positions to write into this file.

type(tem_vrtx_type), private :: vrtx

Vertex information of elements within the tracking shape. Required for vtk output

real(kind=rk), private, allocatable:: bary(:,:)

Store the barycenters for the linearized tree elements it has a size of ( nElems, 3 ). Used in dump AsciiSpatial It is set in hvs_output_init It is used in hvs_output_write Need to UPDATE after balance

integer, private :: nDofs

is there any transient reduction active? Then this tracking must be updated every timestep! transient reductions which collect and reduce data over several timesteps The number of dofs for each scalar variable of the equation system

logical, private :: useGetPoint

Logic to decide to use get_point or get_element to dump data


Subroutines

public subroutine hvs_output_load(me, conf, parent, isReduce)

Read the output configuration from a Lua script.

Arguments

TypeIntentOptionalAttributesName
type(hvs_output_config_type), intent(out) :: me

The output configuration settings to fill.

type(flu_state) :: conf

Handle of the Lua script to load the configuration from.

integer, intent(in), optional :: parent

Table handle to the table providing the output settings.

logical, intent(in) :: isReduce

true if reduction is defined

public subroutine hvs_output_init(out_file, out_config, tree, varsys, subtree, varPos, basename, timeControl, nDofs, globProc, solver, geometry, solSpec_unit)

Initialize the output for a given mesh.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(hvs_output_file_type), intent(inout) :: out_file

Output file settings It must be intent inout since ascii%reduction and trasient%reduction are loaded in tem_load_trackingHeader

type(hvs_output_config_type), intent(in) :: out_config

The output configuration settings to use.

type(treelmesh_type), intent(in) :: tree

Mesh of the data to visualize.

type(tem_varSys_type), intent(in) :: varsys

Description of the available variable system to get the given varnames from.

type(tem_subTree_type), intent(in), optional :: subtree

Optional restriction of the elements to output.

integer, intent(in), optional :: varPos(:)

List of variable positions that should be written in the output.

If this is not provided, all variables from the varsys will be written to the vtk file.

character(len=*), intent(in) :: basename

An extension to the output basename.

The filename will be constructed by tracking%header%prefix// tracking%header%label

type(tem_timeControl_type), intent(in), optional :: timeControl

output timeControl

integer, intent(in), optional :: nDofs

The number of dofs for each scalar variable of the equation system

type(tem_comm_env_type), intent(in) :: globProc

Global communicator type for global rank information

type(tem_solveHead_type), intent(in) :: solver

Global solver information

type(tem_shape_type), intent(in), optional :: geometry(:)

shape defined for this ascii output

integer, intent(in), optional :: solSpec_unit

Solver specific unit for restart header

public subroutine hvs_output_open(out_file, use_iter, mesh, varsys, time, subtree)

Open the output for a given mesh.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(hvs_output_file_type), intent(inout) :: out_file
logical, intent(in) :: use_iter

The output configuration settings to use.

type(treelmesh_type), intent(in) :: mesh

Mesh of the data to visualize.

type(tem_varSys_type), intent(in) :: varsys

Description of the available variable system to get the given varnames from.

type(tem_time_type), intent(in), optional :: time

Time information.

If this is present, the filename will be built with a time stamp and the time point information is written into the vtu file.

type(tem_subTree_type), intent(inout), optional :: subtree

Optional restriction of the elements to output.

public subroutine hvs_output_write(out_file, varsys, mesh, subtree)

Arguments

TypeIntentOptionalAttributesName
type(hvs_output_file_type), intent(inout) :: out_file
type(tem_varSys_type), intent(in) :: varsys

Description of the available variable system to get the given varnames from.

type(treelmesh_type), intent(in) :: mesh

Mesh to write the data on.

type(tem_subTree_type), intent(in), optional :: subtree

Optional restriction of the elements to output.

public subroutine hvs_output_close(out_file, mesh, varsys, subtree)

Close all files open for current time step.

Arguments

TypeIntentOptionalAttributesName
type(hvs_output_file_type), intent(inout) :: out_file
type(treelmesh_type), intent(in) :: mesh

Mesh to write the data on.

type(tem_varSys_type), intent(in) :: varsys

Description of the available variable system to get the given varnames from.

type(tem_subTree_type), intent(in), optional :: subtree

Optional restriction of the elements to output.

public subroutine hvs_output_finalize(out_file)

Finalize the output

Arguments

TypeIntentOptionalAttributesName
type(hvs_output_file_type), intent(inout) :: out_file