Add seperate Mom output files for Z species

This commit is contained in:
JHendrikx 2025-02-10 09:44:02 +01:00
commit a26af0d121
2 changed files with 36 additions and 24 deletions

View file

@ -112,42 +112,52 @@ module output
end subroutine writeOutputPhi end subroutine writeOutputPhi
subroutine writeOutputMom(t, dt, nr, r, n_i, u_i, T_i, Z) subroutine writeOutputMom(t, dt, nz, nr, r, n_i, u_i, T_i, Z_list)
use constantParameters, only: eV_to_K use constantParameters, only: eV_to_K
use referenceValues, only: L_ref, t_ref, n_ref, u_ref, Temp_ref use referenceValues, only: L_ref, t_ref, n_ref, u_ref, Temp_ref
integer, intent(in):: t integer, intent(in):: t
integer, intent(in):: nr integer, intent(in):: nr
integer, intent(in):: nz
real(dp), intent(in):: dt real(dp), intent(in):: dt
real(dp), intent(in):: r(1:nr) real(dp), intent(in):: r(1:nr)
real(dp), intent(in):: n_i(1:nr) real(dp), intent(in):: n_i(1:nz,1:nr)
real(dp), intent(in):: u_i(1:nr) real(dp), intent(in):: u_i(1:nz,1:nr)
real(dp), intent(in):: T_i(1:nr) real(dp), intent(in):: T_i(1:nz,1:nr)
real(dp), intent(in):: Z(1:nr) real(dp), intent(in):: Z_list(1:nz)
character(:), allocatable:: filename character(:), allocatable:: filename
integer:: i integer:: i
integer:: j
character(len=10):: timeString character(len=10):: timeString
character(len=10) :: ZString
do j = 1, nz
write (timeString, formatTime) t write (timeString, formatTime) t
filename = 'time_' // trim(timeString)//'_mom_i.csv' write(ZString, '(F6.3)') Z_list(j) ! Format Z_list(j) with 3 decimal places
ZString = adjustl(trim(ZString)) ! Remove leading spaces
ZString = adjustl(ZString)
ZString = ZString(:index(ZString // '.', '.') - 1) // ZString(index(ZString, '.') + 1:)
filename = 'time_' // trim(timeString) // '_Z' // trim(ZString) // '_mom_i.csv'
write (*, '(A, A)') 'Writing: ', filename write (*, '(A, A)') 'Writing: ', filename
open(unit=dataPhi_id, file=pathOutput//filename) open(unit=dataPhi_id, file=pathOutput//filename)
write(dataPhi_id, '(A)') "t (s)" write(dataPhi_id, '(A)') "t (s)"
write(dataPhi_id, '('//formatFloat//')') t*dt*t_ref write(dataPhi_id, '('//formatFloat//')') t*dt*t_ref
write(dataPhi_id, '(A,4('//formatSep//',A))') "r (m)","n_i (m^-3)","u_i (m s^-1)", "T_i (eV)","Zave" write(dataPhi_id, '(A)') "Z"
write(dataPhi_id, '('//formatFloat//')') Z_list(j)
write(dataPhi_id, '(A,4('//formatSep//',A))') "r (m)","n_i (m^-3)","u_i (m s^-1)", "T_i (eV)"
do i = 1, nr do i = 1, nr
write(dataPhi_id, '('//formatFloat//',4('//formatSep //','//formatFloat//'))') & write(dataPhi_id, '('//formatFloat//',4('//formatSep //','//formatFloat//'))') &
r(i)*L_ref, & r(i)*L_ref, &
n_i(i)*n_ref, & n_i(j,i)*n_ref, &
u_i(i)*u_ref, & u_i(j,i)*u_ref, &
T_i(i)*Temp_ref/ev_to_K, & T_i(j,i)*Temp_ref/ev_to_K
Z(i)
end do end do
close(unit=dataPhi_id) close(unit=dataPhi_id)
end do
end subroutine writeOutputMom end subroutine writeOutputMom
subroutine writeOutputBoundary(t, dt, n, u, Temp, Z) subroutine writeOutputBoundary(t, dt, n, u, Temp, Z)

View file

@ -5,12 +5,14 @@ def read(filename):
df = pandas.read_csv(filename,skiprows=0,nrows=1) df = pandas.read_csv(filename,skiprows=0,nrows=1)
time = df['t (s)'].to_numpy()[0] time = df['t (s)'].to_numpy()[0]
df = pandas.read_csv(filename,skiprows=2) df = pandas.read_csv(filename,skiprows=2,nrows=1)
Z = df['Z'].to_numpy()[0]
df = pandas.read_csv(filename,skiprows=4)
x = df['r (m)'].to_numpy() x = df['r (m)'].to_numpy()
n_i = df['n_i (m^-3)'].to_numpy() n_i = df['n_i (m^-3)'].to_numpy()
u_i = df['u_i (m s^-1)'].to_numpy() u_i = df['u_i (m s^-1)'].to_numpy()
T_i = df['T_i (eV)'].to_numpy() T_i = df['T_i (eV)'].to_numpy()
Z = df['Zave'].to_numpy()
return time, x, n_i, u_i, T_i, Z return time, x, n_i, u_i, T_i, Z