Dumps the debug_data into a file.
This routine takes a one-dimensional array (one value per element, ordered liek the treeIDs) and stores it into a vtk file. The name of the vtk-file is debug_dump, the values are called debug_value.
The caller has to provide the vrtx, which can be created with the tem_calc_vrtx_coord-routine.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_comm_env_type), | intent(in) | :: | proc | |||
| type(treelmesh_type), | intent(in) | :: | tree | |||
| type(tem_time_type), | intent(in) | :: | time | |||
| type(tem_timeformatter_type), | intent(in) | :: | timeform | |||
| type(tem_vrtx_type) | :: | vrtx | ||||
| real(kind=rk) | :: | debug_data(tree%nElems) |
subroutine hvs_dump_debug_array( proc, tree, time, timeform, vrtx, debug_data) !--------------------------------------------------------------------------- type(tem_comm_env_type), intent(in) :: proc type(treelmesh_type), intent(in) :: tree type(tem_time_type), intent(in) :: time type(tem_timeformatter_type), intent(in) :: timeform type(tem_vrtx_type) :: vrtx real(kind=rk) :: debug_data(tree%nElems) !--------------------------------------------------------------------------- type(hvs_vtk_file_type) :: vtk_file type(hvs_vtk_config_type) :: vtk_config character :: linebreak character(len=PathLen) :: headerline !--------------------------------------------------------------------------- vtk_config%dataform = 'binary' vtk_config%write_pvd = .false. call hvs_vtk_init( vtk_file = vtk_file, & & vtk_config = vtk_config, & & basename = 'debug_dump', & & proc = proc ) vtk_file%has_celldata = .true. call hvs_vtk_open( vtk_file = vtk_file, & & timeform = timeform, & & proc = proc, & & time = time ) call hvs_vtk_write_meshdata( vtk_file = vtk_file, & & vrtx = vrtx, & & nElems = tree%nElems ) linebreak = new_line('x') write(vtk_file%outunit) '<CellData Scalars="debug_value">'//linebreak write(headerline,'(a,i0,a)') ' <DataArray type="Float64" ' & & // ' Name="debug_value"' & & // ' NumberOfComponents="', 1, '"' & & // ' format="' // trim(vtk_file%dataform) // '">' write(vtk_file%outunit) trim(headerline) // linebreak call convert_to_base64( debug_data, tree%nElems, vtk_file%outunit ) write(vtk_file%outunit) linebreak ! Close the data array again. write(headerline,'(a)') ' </DataArray>' write(vtk_file%outunit) trim(headerline) // linebreak call hvs_vtk_close( vtk_file, proc) end subroutine hvs_dump_debug_array