Save time-serie results.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in), | optional | :: | filename | Output filename. |
|
| logical, | intent(in), | optional | :: | finish | Flag for triggering the file closing. |
|
| real(kind=R8P), | intent(in) | :: | t | Current integration time. |
subroutine save_time_serie(filename, finish, t)
!< Save time-serie results.
character(*), intent(in), optional :: filename !< Output filename.
logical, intent(in), optional :: finish !< Flag for triggering the file closing.
real(R8P), intent(in) :: t !< Current integration time.
integer(I4P), save :: tsfile !< File unit for saving time serie results.
type(primitive_compressible) :: primitive !< Primitive variables.
integer(I4P) :: i !< Counter.
if (time_serie) then
if (present(filename)) then
open(newunit=tsfile, file=filename)
endif
write(tsfile, '(A)')'VARIABLES = "x" "rho" "u" "p"'
write(tsfile, '(A)')'ZONE T="'//str(n=t)//'"'
do i=1, Ni
primitive = conservative_to_primitive_compressible(conservative=domain%U(i), eos=domain%eos)
write(tsfile, '(4'//'('//FR8P//',1X))')x(i), primitive%density, primitive%velocity%x, primitive%pressure
enddo
if (present(finish)) then
if (finish) close(tsfile)
endif
endif
endsubroutine save_time_serie