# hvs_output_file_type Derived Type

## Components

TypeVisibility AttributesNameInitial
integer, public :: vis_kind

Kind of visualization file to use for the output.

character(len=PathLen), public :: basename

Basename to use for the output files.

type(tem_comm_env_type), public :: proc

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

type(hvs_vtk_file_type), public :: vtk

Description for vtk output

type(hvs_ascii_type), public :: ascii

Description for ascii output

type(hvs_asciiSpatial_type), public :: asciiSpatial

Description for ascii output

type(tem_restart_type), public :: restart

Description for harvester output i.e restart format

type(tem_time_type), public :: time

Point in time for which this output should be done.

integer, public :: nVars

Number of variables to write to this file.

integer, public, allocatable:: varPos(:)

List of variable positions to write into this file.

type(tem_vrtx_type), public :: vrtx

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

real(kind=rk), public, 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, public :: 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, public :: useGetPoint

Logic to decide to use get_point or get_element to dump data

### Source Code

  type hvs_output_file_type
!> Kind of visualization file to use for the output.
integer :: vis_kind

!> Basename to use for the output files.
character(len=PathLen) :: basename

!> Process description to use for the output.
!! Might be only a subset of the global communicator
type(tem_comm_env_type) :: proc

!> Description for vtk output
type(hvs_vtk_file_type) :: vtk

!> Description for ascii output
type(hvs_ascii_type) :: ascii

!> Description for ascii output
type(hvs_asciiSpatial_type) :: asciiSpatial

!> Description for harvester output i.e restart format
type(tem_restart_type) :: restart

!> Point in time for which this output should be done.
type(tem_time_type) :: time

!> Number of variables to write to this file.
integer :: nVars

!> List of variable positions to write into this file.
integer, allocatable :: varPos(:)

!> Vertex information of elements within the tracking shape.
!! Required for vtk output
type(tem_vrtx_type) :: vrtx

!> 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
real(kind=rk), allocatable :: bary(:,:)

!> is there any transient reduction active?
!! Then this tracking must be updated every timestep!
! logical :: isTransientReduce = .false.

!> transient reductions which collect and reduce data over several timesteps
! type(tem_transient_reduction_type), allocatable :: transientReduce(:)

!> The number of dofs for each scalar variable of the equation system
integer :: nDofs

!> Logic to decide to use get_point or get_element to dump data
logical :: useGetPoint
end type hvs_output_file_type