Compare commits

..

3 commits

7 changed files with 20 additions and 18 deletions

Binary file not shown.

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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,'"/>'

View file

@ -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()

View file

@ -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