Compare commits
3 commits
551a488fde
...
215eb8563f
| Author | SHA1 | Date | |
|---|---|---|---|
| 215eb8563f | |||
| 493f7b9785 | |||
| 381dc5c93d |
7 changed files with 20 additions and 18 deletions
Binary file not shown.
|
|
@ -398,6 +398,9 @@ make
|
||||||
Trigger between writings is the same as in \textbf{triggerOutput}.
|
Trigger between writings is the same as in \textbf{triggerOutput}.
|
||||||
\item \textbf{EMField}: Logical.
|
\item \textbf{EMField}: Logical.
|
||||||
Determines if the electromagnetic field is printed.
|
Determines if the electromagnetic field is printed.
|
||||||
|
\item \textbf{bounraiesParticle}: Logical.
|
||||||
|
Determines if the properties of the boundaries are written.
|
||||||
|
\textit{Warning}: Not all particle models produce this output, only those whose properties change during the simulation.
|
||||||
\item \textbf{probes}: Array of objects.
|
\item \textbf{probes}: Array of objects.
|
||||||
Defines the probes employed for obtaining the distribution function at specific positions.
|
Defines the probes employed for obtaining the distribution function at specific positions.
|
||||||
See Sec.~\ref{sec:probing} for more information.
|
See Sec.~\ref{sec:probing} for more information.
|
||||||
|
|
|
||||||
|
|
@ -492,7 +492,7 @@ MODULE moduleInput
|
||||||
CALL config%get(object // '.cpuTime', timeOutput, found)
|
CALL config%get(object // '.cpuTime', timeOutput, found)
|
||||||
CALL config%get(object // '.numColl', collOutput, found)
|
CALL config%get(object // '.numColl', collOutput, found)
|
||||||
CALL config%get(object // '.EMField', emOutput, found)
|
CALL config%get(object // '.EMField', emOutput, found)
|
||||||
call config%get(object // '.boundaryParticle', boundaryParticleOutput, found)
|
call config%get(object // '.boundariesParticle', boundaryParticleOutput, found)
|
||||||
|
|
||||||
CALL config%get(object // '.triggerCPUTime', triggerCPUTime, found)
|
CALL config%get(object // '.triggerCPUTime', triggerCPUTime, found)
|
||||||
IF (.NOT. found) THEN
|
IF (.NOT. found) THEN
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,6 @@ MODULE moduleMeshOutput0D
|
||||||
CLASS(meshGeneric), INTENT(in):: self
|
CLASS(meshGeneric), INTENT(in):: self
|
||||||
CHARACTER(:), ALLOCATABLE:: fileName
|
CHARACTER(:), ALLOCATABLE:: fileName
|
||||||
INTEGER:: k
|
INTEGER:: k
|
||||||
character(:), allocatable:: kString
|
|
||||||
|
|
||||||
fileName = formatFileName('Output', 'Collisions', 'csv')
|
fileName = formatFileName('Output', 'Collisions', 'csv')
|
||||||
IF (timeStep == tInitial) THEN
|
IF (timeStep == tInitial) THEN
|
||||||
|
|
|
||||||
|
|
@ -230,17 +230,16 @@ MODULE moduleMeshOutputVTU
|
||||||
OPEN (fileID + 1, file = generateFilePath(fileNameCollection))
|
OPEN (fileID + 1, file = generateFilePath(fileNameCollection))
|
||||||
WRITE (fileID + 1, "(A)") '<VTKFile type="Collection">'
|
WRITE (fileID + 1, "(A)") '<VTKFile type="Collection">'
|
||||||
WRITE (fileID + 1, "(2X, A)") '<Collection>'
|
WRITE (fileID + 1, "(2X, A)") '<Collection>'
|
||||||
CLOSE(fileID + 1)
|
|
||||||
|
|
||||||
else
|
else
|
||||||
|
OPEN (fileID + 1, file = generateFilePath(fileNameCollection), ACCESS='APPEND')
|
||||||
! Append removing the last two lines that close the <tags>
|
! Append removing the last two lines that close the <tags>
|
||||||
rewind(fileID)
|
backspace(fileID + 1)
|
||||||
rewind(fileID)
|
backspace(fileID + 1)
|
||||||
|
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
!Write iteration file in collection
|
!Write iteration file in collection
|
||||||
OPEN (fileID + 1, file = generateFilePath(fileNameCollection), ACCESS='APPEND')
|
|
||||||
WRITE(fileID + 1, "(4X, A, "//fmtReal//", A, A, A)") &
|
WRITE(fileID + 1, "(4X, A, "//fmtReal//", A, A, A)") &
|
||||||
'<DataSet timestep="', DBLE(timeStep)*tauMin*ti_ref,'" file="', fileNameStep,'"/>'
|
'<DataSet timestep="', DBLE(timeStep)*tauMin*ti_ref,'" file="', fileNameStep,'"/>'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ MODULE moduleOutput
|
||||||
integer, parameter:: fileID_boundaryParticle = 30 ! Particle boundaries
|
integer, parameter:: fileID_boundaryParticle = 30 ! Particle boundaries
|
||||||
integer, parameter:: fileID_boundaryEM = 31 ! EM boundaries
|
integer, parameter:: fileID_boundaryEM = 31 ! EM boundaries
|
||||||
integer, parameter:: fileID_reference = 40 ! Reference values
|
integer, parameter:: fileID_reference = 40 ! Reference values
|
||||||
|
integer, parameter:: fileID_time =50 ! Computation time
|
||||||
|
|
||||||
!Output for each node
|
!Output for each node
|
||||||
TYPE, PUBLIC:: outputNode
|
TYPE, PUBLIC:: outputNode
|
||||||
|
|
@ -243,7 +244,7 @@ MODULE moduleOutput
|
||||||
|
|
||||||
END SUBROUTINE calculateOutput
|
END SUBROUTINE calculateOutput
|
||||||
|
|
||||||
SUBROUTINE printTime(first)
|
SUBROUTINE writeTime(first)
|
||||||
USE moduleSpecies
|
USE moduleSpecies
|
||||||
USE moduleCompTime
|
USE moduleCompTime
|
||||||
USE moduleCaseParam, ONLY: timeStep
|
USE moduleCaseParam, ONLY: timeStep
|
||||||
|
|
@ -252,31 +253,31 @@ MODULE moduleOutput
|
||||||
LOGICAL, INTENT(in), OPTIONAL:: first
|
LOGICAL, INTENT(in), OPTIONAL:: first
|
||||||
CHARACTER(:), ALLOCATABLE:: fileName
|
CHARACTER(:), ALLOCATABLE:: fileName
|
||||||
|
|
||||||
fileName = 'cpuTime.dat'
|
fileName = 'cpuTime.csv'
|
||||||
|
|
||||||
IF (timeOutput) THEN
|
IF (timeOutput) THEN
|
||||||
IF (PRESENT(first)) THEN
|
IF (PRESENT(first)) THEN
|
||||||
IF (first) THEN
|
IF (first) THEN
|
||||||
OPEN(20, file = generateFilePath(fileName), action = 'write')
|
OPEN(fileID_time, file = generateFilePath(fileName), action = 'write')
|
||||||
WRITE(20, "(A1, 8X, A1, 9X, A1, 7(A20))") "#","t","n","total (s)","push (s)","reset (s)", &
|
WRITE(fileID_time, "(*("//fmtColStr//"))") "t","n","total (s)","push (s)","reset (s)", &
|
||||||
"collision (s)","coulomb (s)", &
|
"collision (s)","coulomb (s)", &
|
||||||
"weighting (s)","EMField (s)"
|
"weighting (s)","EMField (s)"
|
||||||
call informFileCreation(fileName)
|
call informFileCreation(fileName)
|
||||||
CLOSE(20)
|
CLOSE(fileID_time)
|
||||||
|
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
OPEN(20, file = generateFilePath(fileName), position = 'append', action = 'write')
|
OPEN(fileID_time, file = generateFilePath(fileName), position = 'append', action = 'write')
|
||||||
|
|
||||||
WRITE (20, "(I10, I10, 7(ES20.6E3))") timeStep, nPartOld, tStep, tPush, tReset, tColl, tCoul, tWeight, tEMField
|
WRITE (fileID_time, "(*("//fmtColInt//"),*("//fmtColReal//"))") timeStep, nPartOld, tStep, tPush, tReset, tColl, tCoul, tWeight, tEMField
|
||||||
|
|
||||||
CLOSE(20)
|
CLOSE(fileID_time)
|
||||||
|
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
END SUBROUTINE printTime
|
END SUBROUTINE writeTime
|
||||||
|
|
||||||
! Write file with reference values
|
! Write file with reference values
|
||||||
subroutine writeReference()
|
subroutine writeReference()
|
||||||
|
|
|
||||||
|
|
@ -564,7 +564,7 @@ MODULE moduleSolver
|
||||||
!Reset CPU Time counter
|
!Reset CPU Time counter
|
||||||
counterCPUTime = 0
|
counterCPUTime = 0
|
||||||
|
|
||||||
CALL printTime(timeStep == 0)
|
CALL writeTime(timeStep == 0)
|
||||||
|
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue