Convert the provided variable system data into celldata description in the given vtk files.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(hvs_vtk_file_type), | intent(inout) | :: | vtk_file |
Output info for vtu_output. |
||
type(tem_varSys_type), | intent(in) | :: | varsys |
Description of the available variable system to get the given varnames from. |
||
integer, | intent(in) | :: | varpos(:) |
List of variable positions that should be written into the vtk output. If this is not provided, all variables from the varsys will be written to the vtk file. |
subroutine hvs_vtk_write_varSys(vtk_file, varsys, varpos)
!> Output info for vtu_output.
type(hvs_vtk_file_type), intent(inout) :: vtk_file
!> Description of the available variable system to get the given varnames
!! from.
type(tem_varSys_type), intent(in) :: varsys
!> List of variable positions that should be written into the vtk output.
!!
!! If this is not provided, all variables from the varsys will be written
!! to the vtk file.
integer, intent(in) :: varpos(:)
! ----------------------------------------------------------------------!
character :: linebreak
character(len=PathLen) :: scalars
character(len=PathLen) :: vectors
integer :: scal_count, vect_count
integer :: iVar, ipos
! ----------------------------------------------------------------------!
linebreak = new_line('x')
scalars = ''
vectors = ''
scal_count = 0
vect_count = 0
do iVar=1,size(varpos)
ipos = varpos(iVar)
if (varsys%method%val(ipos)%nComponents == 1) then
write(scalars, '(a)') adjustl(trim(scalars)//' ' &
& // trim(varSys%varname%val(iPos)))
scal_count = scal_count + 1
else
write(vectors, '(a)') adjustl(trim(vectors)//' ' &
& // trim(varSys%varname%val(iPos)))
vect_count = vect_count + 1
end if
end do
if (scal_count > 0) then
write(scalars, '(a)') ' Scalars="'//trim(scalars)//'"'
end if
if (vect_count > 0) then
write(vectors, '(a)') ' Vectors="'//trim(vectors)//'"'
end if
if (scal_count+vect_count > 0) then
call hvs_vtk_write_cd_Header( vtk_file = vtk_file, &
& celldata_str = trim(scalars) &
& // trim(vectors) )
vtk_file%has_celldata = .true.
end if
end subroutine hvs_vtk_write_varSys