Read all the variable for the vtk restart file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | file_handler | |||
real(kind=wp), | intent(inout), | dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), target | :: | state | ||
type(controltype), | intent(in) | :: | control | |||
type(schemetype), | intent(in) | :: | scheme | |||
type(extent), | intent(in) | :: | dims |
subroutine read_file(file_handler, state, control, scheme, dims)
!< Read all the variable for the vtk restart file
implicit none
integer, intent(in) :: file_handler
type(controltype), intent(in) :: control
type(schemetype), intent(in) :: scheme
type(extent), intent(in) :: dims
real(wp), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), intent(inout), target :: state
integer :: n
IN_FILE_UNIT = file_handler
imx = dims%imx
jmx = dims%jmx
kmx = dims%kmx
density(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 1)
x_speed(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 2)
y_speed(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 3)
z_speed(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 4)
pressure(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 5)
select case (trim(scheme%turbulence))
case ("none")
!include nothing
continue
case ("sst", "sst2003", "bsl", "des-sst", "kw")
tk(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 6)
tw(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 7)
case ("kkl")
tk(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 6)
tkl(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 7)
case ("sa", "saBC")
tv(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 6)
case ("ke")
tk(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 6)
te(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 7)
case DEFAULT
Fatal_error
end select
! Transition modeling
select case(trim(scheme%transition))
case('lctm2015')
tgm(-2:imx+2, -2:jmx+2, -2:kmx+2) => state(:, :, :, 8)
case('bc', 'none')
!do nothing
continue
case DEFAULT
Fatal_error
end Select
call read_header()
call read_grid()
do n = 1,control%r_count
select case (trim(control%r_list(n)))
case('Velocity')
call read_velocity()
case('Density')
call read_scalar(density, 'Density', -2)
case('Pressure')
call read_scalar(pressure, 'Pressure', -2)
case('TKE')
call read_scalar(tk, 'TKE', -2)
case('Omega')
call read_scalar(tw, 'Omega', -2)
case('Kl')
call read_scalar(tkl, 'Kl', -2)
case('tv')
call read_scalar(tv, 'tv', -2)
case('tgm')
call read_scalar(tgm, 'tgm', -2)
case('do not read')
call skip_scalar()
case Default
Print*, "read error: list var : "//trim(control%r_list(n))
end select
end do
end subroutine read_file