diff --git a/doc/user-manual/fpakc_UserManual.pdf b/doc/user-manual/fpakc_UserManual.pdf index 6e8bb61..3f86031 100644 Binary files a/doc/user-manual/fpakc_UserManual.pdf and b/doc/user-manual/fpakc_UserManual.pdf differ diff --git a/doc/user-manual/fpakc_UserManual.tex b/doc/user-manual/fpakc_UserManual.tex index b1dd6dd..c2dfd9e 100644 --- a/doc/user-manual/fpakc_UserManual.tex +++ b/doc/user-manual/fpakc_UserManual.tex @@ -398,9 +398,6 @@ make Trigger between writings is the same as in \textbf{triggerOutput}. \item \textbf{EMField}: Logical. 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. Defines the probes employed for obtaining the distribution function at specific positions. See Sec.~\ref{sec:probing} for more information. diff --git a/src/modules/init/moduleInput.f90 b/src/modules/init/moduleInput.f90 index 80b6d2d..6dac14c 100644 --- a/src/modules/init/moduleInput.f90 +++ b/src/modules/init/moduleInput.f90 @@ -492,7 +492,7 @@ MODULE moduleInput CALL config%get(object // '.cpuTime', timeOutput, found) CALL config%get(object // '.numColl', collOutput, found) CALL config%get(object // '.EMField', emOutput, found) - call config%get(object // '.boundariesParticle', boundaryParticleOutput, found) + call config%get(object // '.boundaryParticle', boundaryParticleOutput, found) CALL config%get(object // '.triggerCPUTime', triggerCPUTime, found) IF (.NOT. found) THEN diff --git a/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 b/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 index 1c2db4a..cf830a6 100644 --- a/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 +++ b/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 @@ -50,6 +50,7 @@ MODULE moduleMeshOutput0D CLASS(meshGeneric), INTENT(in):: self CHARACTER(:), ALLOCATABLE:: fileName INTEGER:: k + character(:), allocatable:: kString fileName = formatFileName('Output', 'Collisions', 'csv') IF (timeStep == tInitial) THEN diff --git a/src/modules/mesh/inout/vtu/moduleMeshOutputVTU.f90 b/src/modules/mesh/inout/vtu/moduleMeshOutputVTU.f90 index 3462940..4f986c5 100644 --- a/src/modules/mesh/inout/vtu/moduleMeshOutputVTU.f90 +++ b/src/modules/mesh/inout/vtu/moduleMeshOutputVTU.f90 @@ -230,16 +230,17 @@ MODULE moduleMeshOutputVTU OPEN (fileID + 1, file = generateFilePath(fileNameCollection)) WRITE (fileID + 1, "(A)") '' WRITE (fileID + 1, "(2X, A)") '' + CLOSE(fileID + 1) else - OPEN (fileID + 1, file = generateFilePath(fileNameCollection), ACCESS='APPEND') ! Append removing the last two lines that close the - backspace(fileID + 1) - backspace(fileID + 1) + rewind(fileID) + rewind(fileID) END IF !Write iteration file in collection + OPEN (fileID + 1, file = generateFilePath(fileNameCollection), ACCESS='APPEND') WRITE(fileID + 1, "(4X, A, "//fmtReal//", A, A, A)") & '' diff --git a/src/modules/output/moduleOutput.f90 b/src/modules/output/moduleOutput.f90 index cc2a08c..ad1f5f3 100644 --- a/src/modules/output/moduleOutput.f90 +++ b/src/modules/output/moduleOutput.f90 @@ -34,7 +34,6 @@ MODULE moduleOutput integer, parameter:: fileID_boundaryParticle = 30 ! Particle boundaries integer, parameter:: fileID_boundaryEM = 31 ! EM boundaries integer, parameter:: fileID_reference = 40 ! Reference values - integer, parameter:: fileID_time =50 ! Computation time !Output for each node TYPE, PUBLIC:: outputNode @@ -244,7 +243,7 @@ MODULE moduleOutput END SUBROUTINE calculateOutput - SUBROUTINE writeTime(first) + SUBROUTINE printTime(first) USE moduleSpecies USE moduleCompTime USE moduleCaseParam, ONLY: timeStep @@ -253,31 +252,31 @@ MODULE moduleOutput LOGICAL, INTENT(in), OPTIONAL:: first CHARACTER(:), ALLOCATABLE:: fileName - fileName = 'cpuTime.csv' + fileName = 'cpuTime.dat' IF (timeOutput) THEN IF (PRESENT(first)) THEN IF (first) THEN - OPEN(fileID_time, file = generateFilePath(fileName), action = 'write') - WRITE(fileID_time, "(*("//fmtColStr//"))") "t","n","total (s)","push (s)","reset (s)", & - "collision (s)","coulomb (s)", & - "weighting (s)","EMField (s)" + OPEN(20, file = generateFilePath(fileName), action = 'write') + WRITE(20, "(A1, 8X, A1, 9X, A1, 7(A20))") "#","t","n","total (s)","push (s)","reset (s)", & + "collision (s)","coulomb (s)", & + "weighting (s)","EMField (s)" call informFileCreation(fileName) - CLOSE(fileID_time) + CLOSE(20) END IF END IF - OPEN(fileID_time, file = generateFilePath(fileName), position = 'append', action = 'write') + OPEN(20, file = generateFilePath(fileName), position = 'append', action = 'write') - WRITE (fileID_time, "(*("//fmtColInt//"),*("//fmtColReal//"))") timeStep, nPartOld, tStep, tPush, tReset, tColl, tCoul, tWeight, tEMField + WRITE (20, "(I10, I10, 7(ES20.6E3))") timeStep, nPartOld, tStep, tPush, tReset, tColl, tCoul, tWeight, tEMField - CLOSE(fileID_time) + CLOSE(20) END IF - END SUBROUTINE writeTime + END SUBROUTINE printTime ! Write file with reference values subroutine writeReference() diff --git a/src/modules/solver/moduleSolver.f90 b/src/modules/solver/moduleSolver.f90 index ed566e9..ccea2d7 100644 --- a/src/modules/solver/moduleSolver.f90 +++ b/src/modules/solver/moduleSolver.f90 @@ -564,7 +564,7 @@ MODULE moduleSolver !Reset CPU Time counter counterCPUTime = 0 - CALL writeTime(timeStep == 0) + CALL printTime(timeStep == 0) END IF