All actions related to path/fodler should be in moduleOutput now

This commit is contained in:
Jorge Gonzalez 2026-03-11 20:23:08 +01:00
commit 551a488fde
7 changed files with 16 additions and 64 deletions

View file

@ -4,7 +4,7 @@
"path": "./runs/0D_Argon/", "path": "./runs/0D_Argon/",
"triggerOutput": 1, "triggerOutput": 1,
"numColl": true, "numColl": true,
"folder": "test" "folder": "output"
}, },
"reference": { "reference": {
"density": 1.0e16, "density": 1.0e16,

View file

@ -1,49 +0,0 @@
{
"output": {
"path": "./runs/0D_Argon/",
"triggerOutput": 1,
"numColl": true,
"folder": "test"
},
"reference": {
"density": 1.0e16,
"mass": 6.633e-26,
"temperature": 11604.0,
"radius": 1.88e-10
},
"geometry": {
"dimension": 0,
"volume": 1e-11
},
"species": [
{"name": "Argon+", "type": "charged", "mass": 6.633e-26, "charge": 1.0, "weight": 1.0e0},
{"name": "Argon", "type": "neutral", "mass": 6.633e-26, "weight": 1.0e0}
],
"solver": {
"tau": [1.0e-3, 1.0e-3],
"finalTime": 1.0e0,
"initial": [
{"species": "Argon+", "file": "Argon+_Initial.dat"},
{"species": "Argon", "file": "Argon_Initial.dat"}
]
},
"interactions": {
"folderCollisions": "./data/collisions/",
"collisions": [
{"species_i": "Argon", "species_j": "Argon",
"cTypes": [
{"type": "elastic", "crossSection": "EL_Ar-Ar.dat"}
]},
{"species_i": "Argon+", "species_j": "Argon",
"cTypes": [
{"type": "elastic", "crossSection": "EL_Ar-Ar.dat"}
]}
]
},
"parallel": {
"OpenMP":{
"nThreads": 4
}
}
}

View file

@ -491,7 +491,8 @@ 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 // '.triggerCPUTime', triggerCPUTime, found) CALL config%get(object // '.triggerCPUTime', triggerCPUTime, found)
IF (.NOT. found) THEN IF (.NOT. found) THEN

View file

@ -134,7 +134,7 @@ module moduleMeshOutputText
do s = 1, nSpecies do s = 1, nSpecies
fileName = formatFileName(prefix, species(s)%obj%name, 'csv', timeStep) fileName = formatFileName(prefix, species(s)%obj%name, 'csv', timeStep)
call informFileCreation(fileName) call informFileCreation(fileName)
open (fileID, file = path // folder // '/' // fileName) open (fileID, file = generateFilePath(fileName))
write(fileID, '(5(A,","),A)') '"Position (m)"', & write(fileID, '(5(A,","),A)') '"Position (m)"', &
'"Density (m^-3)"', & '"Density (m^-3)"', &
@ -166,7 +166,7 @@ module moduleMeshOutputText
if (collOutput) then if (collOutput) then
fileName = formatFileName(prefix, 'Collisions', 'csv', timeStep) fileName = formatFileName(prefix, 'Collisions', 'csv', timeStep)
call informFileCreation(fileName) call informFileCreation(fileName)
open (fileID, file = path // folder // '/' // fileName) open (fileID, file = generateFilePath(fileName))
write(fileID, '(A)', advance='no') "Cell" write(fileID, '(A)', advance='no') "Cell"
do k = 1, nCollPairs do k = 1, nCollPairs
@ -201,7 +201,7 @@ module moduleMeshOutputText
if (emOutput) then if (emOutput) then
fileName = formatFileName(prefix, 'EMField', 'csv', timeStep) fileName = formatFileName(prefix, 'EMField', 'csv', timeStep)
call informFileCreation(fileName) call informFileCreation(fileName)
open (fileID, file = path // folder // '/' // fileName) open (fileID, file = generateFilePath(fileName))
write(fileID, '(8(A,","),A)') '"Position (m)"', & write(fileID, '(8(A,","),A)') '"Position (m)"', &
'"Potential (V)"', & '"Potential (V)"', &
@ -232,7 +232,7 @@ module moduleMeshOutputText
do s = 1, nSpecies do s = 1, nSpecies
fileNameMean = formatFileName('Average_mean', species(s)%obj%name, 'csv') fileNameMean = formatFileName('Average_mean', species(s)%obj%name, 'csv')
call informFileCreation(fileNameMean) call informFileCreation(fileNameMean)
open (fileIDMean, file = path // folder // '/' // fileNameMean) open (fileIDMean, file = generateFilePath(fileNameMean))
write(fileIDMean, '(5(A,","),A)') '"Position (m)"', & write(fileIDMean, '(5(A,","),A)') '"Position (m)"', &
'"Density, mean (m^-3)"', & '"Density, mean (m^-3)"', &
@ -241,7 +241,7 @@ module moduleMeshOutputText
fileNameDeviation = formatFileName('Average_deviation', species(s)%obj%name, 'csv') fileNameDeviation = formatFileName('Average_deviation', species(s)%obj%name, 'csv')
call informFileCreation(fileNameDeviation) call informFileCreation(fileNameDeviation)
open (fileIDDeviation, file = path // folder // '/' // fileNameDeviation) open (fileIDDeviation, file = generateFilePath(fileNameDeviation))
write(fileIDDeviation, '(5(A,","),A)') '"Position (m)"', & write(fileIDDeviation, '(5(A,","),A)') '"Position (m)"', &
'"Density, deviation (m^-3)"', & '"Density, deviation (m^-3)"', &

View file

@ -208,7 +208,7 @@ MODULE moduleProbe
WRITE(pstring, "(I3.3)") self%id WRITE(pstring, "(I3.3)") self%id
fileName='Probe_' // tstring// '_f_' // pstring // '.dat' fileName='Probe_' // tstring// '_f_' // pstring // '.dat'
WRITE(*, "(6X,A15,A)") "Creating file: ", fileName WRITE(*, "(6X,A15,A)") "Creating file: ", fileName
OPEN (10, file = path // folder // '/' // fileName) OPEN (10, file = generateFilePath(fileName))
WRITE(10, "(A1, 1X, A)") "# ", self%species%name WRITE(10, "(A1, 1X, A)") "# ", self%species%name
WRITE(10, "(A6, 3(ES15.6E3), A2)") "# r = ", self%r(:)*L_ref, " m" WRITE(10, "(A6, 3(ES15.6E3), A2)") "# r = ", self%r(:)*L_ref, " m"
WRITE(10, "(A6, ES15.6E3, A2)") "# t = ", REAL(timeStep)*tauMin*ti_ref, " s" WRITE(10, "(A6, ES15.6E3, A2)") "# t = ", REAL(timeStep)*tauMin*ti_ref, " s"
@ -216,10 +216,10 @@ MODULE moduleProbe
DO i = 1, self%nv(1) DO i = 1, self%nv(1)
DO j = 1, self%nv(2) DO j = 1, self%nv(2)
DO k = 1, self%nv(3) DO k = 1, self%nv(3)
WRITE(10, "(4(ES20.6E3))") self%vi(i)*v_ref, & WRITE(10, "(4("//fmtReal//"))") self%vi(i)*v_ref, &
self%vj(j)*v_ref, & self%vj(j)*v_ref, &
self%vk(k)*v_ref, & self%vk(k)*v_ref, &
self%f(i, j, k) self%f(i, j, k)
END DO END DO
WRITE(10, *) WRITE(10, *)

View file

@ -257,7 +257,7 @@ MODULE moduleOutput
IF (timeOutput) THEN IF (timeOutput) THEN
IF (PRESENT(first)) THEN IF (PRESENT(first)) THEN
IF (first) THEN IF (first) THEN
OPEN(20, file = path // folder // '/' // fileName, action = 'write') OPEN(20, file = generateFilePath(fileName), action = 'write')
WRITE(20, "(A1, 8X, A1, 9X, A1, 7(A20))") "#","t","n","total (s)","push (s)","reset (s)", & WRITE(20, "(A1, 8X, A1, 9X, A1, 7(A20))") "#","t","n","total (s)","push (s)","reset (s)", &
"collision (s)","coulomb (s)", & "collision (s)","coulomb (s)", &
"weighting (s)","EMField (s)" "weighting (s)","EMField (s)"
@ -268,7 +268,7 @@ MODULE moduleOutput
END IF END IF
OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') OPEN(20, file = generateFilePath(fileName), position = 'append', action = 'write')
WRITE (20, "(I10, I10, 7(ES20.6E3))") 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

View file

@ -536,7 +536,7 @@ MODULE moduleSolver
IF (ASSOCIATED(meshForMCC)) CALL meshForMCC%printColl() IF (ASSOCIATED(meshForMCC)) CALL meshForMCC%printColl()
CALL mesh%printEM() CALL mesh%printEM()
! Output of boundaries. TODO: Add an if ! Output of boundaries
call boundariesParticle_write() call boundariesParticle_write()
WRITE(*, "(5X,A21,I10,A1,I10)") "t/tFinal: ", timeStep, "/", tFinal WRITE(*, "(5X,A21,I10,A1,I10)") "t/tFinal: ", timeStep, "/", tFinal