From dee860e37b9e43e7f6a06318bd6bf98a43ee6619 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Sat, 17 Apr 2021 10:45:52 +0200 Subject: [PATCH] Implementation of initial iteration. An initial simulation time can be provided in the input file. This is useful when restarting a simulation from a previous file. If no initial time is provided, the value 0 is used. --- doc/user-manual/fpakc_UserManual.pdf | Bin 169562 -> 169499 bytes doc/user-manual/fpakc_UserManual.tex | 9 +++-- src/fpakc.f90 | 6 ++-- .../inout/gmsh2/moduleMeshOutputGmsh2.f90 | 8 ++--- src/modules/moduleCaseParam.f90 | 4 +-- src/modules/moduleInput.f90 | 31 ++++++++++-------- src/modules/moduleSolver.f90 | 6 ++-- 7 files changed, 38 insertions(+), 26 deletions(-) diff --git a/doc/user-manual/fpakc_UserManual.pdf b/doc/user-manual/fpakc_UserManual.pdf index 7a7e972da4d92057be59c999c03b359177f111d5..99e12e789f42bdd8eb3e357819b7d27cf3d5c2eb 100644 GIT binary patch delta 21891 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 diff --git a/doc/user-manual/fpakc_UserManual.tex b/doc/user-manual/fpakc_UserManual.tex index 2c52175..6477cff 100644 --- a/doc/user-manual/fpakc_UserManual.tex +++ b/doc/user-manual/fpakc_UserManual.tex @@ -595,8 +595,13 @@ make Array dimension 'number of species'. Defines the different time steps for each species. Even if all time steps are equal, they need to be defined as an array. - \item \textbf{time}: Real. - Total simulation time in $\unit{s}$. + \item \textbf{finalTime}: Real. + Units of $\unit{s}$. + Final simulation time. + \item \textbf{initialTime}: Real. + Units of $\unit{s}$. + Initial simulation time. + If no value is provided, the initial time is set to $\unit[0]{s}$. \item \textbf{pusher}: Character. Array dimension 'number of species'. Indicates the type of pusher used for each species: diff --git a/src/fpakc.f90 b/src/fpakc.f90 index 4028ba9..308a0b5 100644 --- a/src/fpakc.f90 +++ b/src/fpakc.f90 @@ -11,7 +11,7 @@ PROGRAM fpakc IMPLICIT NONE ! t = time step - INTEGER:: t = 0 + INTEGER:: t ! arg1 = Input argument 1 (input file) CHARACTER(200):: arg1 ! inputFile = path+name of input file @@ -26,6 +26,8 @@ PROGRAM fpakc !Reads the json configuration file CALL readConfig(inputFile) + !Do '0' iteration + t = tInitial !$OMP PARALLEL DEFAULT(SHARED) !$OMP SINGLE @@ -45,7 +47,7 @@ PROGRAM fpakc CALL doOutput(t) CALL verboseError('Starting main loop...') !$OMP PARALLEL DEFAULT(SHARED) - DO t = 1, tmax + DO t = tInitial + 1, tFinal !Insert new particles and push them !$OMP SINGLE tStep = omp_get_wtime() diff --git a/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 b/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 index 43b1ef8..92d4a5b 100644 --- a/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 +++ b/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 @@ -29,7 +29,7 @@ MODULE moduleMeshOutputGmsh2 WRITE(60, "(A)") '$EndMeshFormat' WRITE(60, "(A)") '$NodeData' WRITE(60, "(A)") '1' - WRITE(60, "(A)") '"Density ' // species(i)%obj%name // ' (m^-3)"' + WRITE(60, "(A)") '"' // species(i)%obj%name // ' density (m^-3)"' WRITE(60, *) 1 WRITE(60, *) time WRITE(60, *) 3 @@ -43,7 +43,7 @@ MODULE moduleMeshOutputGmsh2 WRITE(60, "(A)") '$EndNodeData' WRITE(60, "(A)") '$NodeData' WRITE(60, "(A)") '1' - WRITE(60, "(A)") '"Velocity ' // species(i)%obj%name // ' (m/s)"' + WRITE(60, "(A)") '"' // species(i)%obj%name // ' velocity (m/s)"' WRITE(60, *) 1 WRITE(60, *) time WRITE(60, *) 3 @@ -56,7 +56,7 @@ MODULE moduleMeshOutputGmsh2 WRITE(60, "(A)") '$EndNodeData' WRITE(60, "(A)") '$NodeData' WRITE(60, "(A)") '1' - WRITE(60, "(A)") '"Pressure ' // species(i)%obj%name // ' (Pa)"' + WRITE(60, "(A)") '"' // species(i)%obj%name // ' pressure (Pa)"' WRITE(60, *) 1 WRITE(60, *) time WRITE(60, *) 3 @@ -69,7 +69,7 @@ MODULE moduleMeshOutputGmsh2 WRITE(60, "(A)") '$EndNodeData' WRITE(60, "(A)") '$NodeData' WRITE(60, "(A)") '1' - WRITE(60, "(A)") '"Temperature ' // species(i)%obj%name // ' (K)"' + WRITE(60, "(A)") '"' // species(i)%obj%name // ' temperature (K)"' WRITE(60, *) 1 WRITE(60, *) time WRITE(60, *) 3 diff --git a/src/modules/moduleCaseParam.f90 b/src/modules/moduleCaseParam.f90 index 5f1023a..c8df0e4 100644 --- a/src/modules/moduleCaseParam.f90 +++ b/src/modules/moduleCaseParam.f90 @@ -1,7 +1,7 @@ !Problems of the case MODULE moduleCaseParam - !Maximum number of iterations and number of species - INTEGER:: tmax + !Final and initial iterations + INTEGER:: tFinal, tInitial = 0 REAL(8), ALLOCATABLE:: tau(:) REAL(8):: tauMin diff --git a/src/modules/moduleInput.f90 b/src/modules/moduleInput.f90 index 6841f4f..b63427c 100644 --- a/src/modules/moduleInput.f90 +++ b/src/modules/moduleInput.f90 @@ -22,7 +22,7 @@ MODULE moduleInput !Loads the config file CALL verboseError('Loading input file...') CALL config%load(filename = inputFile) - CALL checkStatus(config, "load") + CALL checkStatus(config, "loading") !Reads reference parameters CALL verboseError('Reading Reference parameters...') @@ -151,7 +151,8 @@ MODULE moduleInput TYPE(json_file), INTENT(inout):: config LOGICAL:: found CHARACTER(:), ALLOCATABLE:: object - REAL(8):: time !simulation time in [t] + !simulation final and initial times in [t] + REAL(8):: finalTime, initialTime CHARACTER(:), ALLOCATABLE:: pusherType, EMType, WSType INTEGER:: nTau, nSolver INTEGER:: i @@ -176,11 +177,15 @@ MODULE moduleInput END IF tauMin = MINVAL(tau) - !Gets the simulation time - CALL config%get(object // '.time', time, found) - IF (.NOT. found) CALL criticalError('Required parameter time not found','readCase') + !Gets the simulation final time + CALL config%get(object // '.finalTime', finalTime, found) + IF (.NOT. found) CALL criticalError('Required parameter finalTime not found','readCase') !Convert simulation time to number of iterations - tmax = INT(time/tauMin) + tFinal = INT(finalTime / tauMin) + + !Gets the simulation initial time + CALL config%get(object // '.initialTime', initialTime, found) + IF (found) tInitial = INT(initialTime / tauMin) !Gest the pusher for each species CALL config%info(object // '.pusher', found, n_children = nSolver) @@ -215,7 +220,7 @@ MODULE moduleInput tauMin = tauMin / ti_ref !Sets the format of output files accordint to iteration number - iterationDigits = INT(LOG10(REAL(tmax))) + 1 + iterationDigits = INT(LOG10(REAL(tFinal))) + 1 WRITE(tString, '(I1)') iterationDigits iterationFormat = "(I" // tString // "." // tString // ")" @@ -327,10 +332,10 @@ MODULE moduleInput temperatureXi = temperatureXi / T_ref vTh = DSQRT(temperatureXi / species(sp)%obj%m) - partNew%v(1) = velocityXi(1) + vTh*randomMaxwellian() - partNew%v(2) = velocityXi(2) + vTh*randomMaxwellian() - partNew%v(3) = velocityXi(3) + vTh*randomMaxwellian() - partNew%vol = e + partNew%v(1) = velocityXi(1) + vTh*randomMaxwellian() + partNew%v(2) = velocityXi(2) + vTh*randomMaxwellian() + partNew%v(3) = velocityXi(3) + vTh*randomMaxwellian() + partNew%vol = e IF (ASSOCIATED(meshForMCC, mesh)) THEN partNew%volColl = partNew%vol @@ -338,8 +343,8 @@ MODULE moduleInput partNew%volColl = findCellBrute(meshColl, partNew%r) END IF - partNew%n_in = .TRUE. - partNew%weight = species(sp)%obj%weight + partNew%n_in = .TRUE. + partNew%weight = species(sp)%obj%weight !If charged species, add qm to particle SELECT TYPE(sp => species(sp)%obj) TYPE IS (speciesCharged) diff --git a/src/modules/moduleSolver.f90 b/src/modules/moduleSolver.f90 index 84fa4e2..0f78a5e 100644 --- a/src/modules/moduleSolver.f90 +++ b/src/modules/moduleSolver.f90 @@ -833,7 +833,7 @@ MODULE moduleSolver counterOutput = counterOutput + 1 IF (counterOutput >= triggerOutput .OR. & - t == tmax .OR. t == 0) THEN + t == tFinal .OR. t == tInitial) THEN !Resets output counter counterOutput=0 @@ -841,7 +841,7 @@ MODULE moduleSolver CALL mesh%printOutput(t) IF (ASSOCIATED(meshForMCC)) CALL meshForMCC%printColl(t) CALL mesh%printEM(t) - WRITE(*, "(5X,A21,I10,A1,I10)") "t/tmax: ", t, "/", tmax + WRITE(*, "(5X,A21,I10,A1,I10)") "t/tFinal: ", t, "/", tFinal WRITE(*, "(5X,A21,I10)") "Particles: ", nPartOld IF (t == 0) THEN WRITE(*, "(5X,A21,F8.1,A2)") " init time: ", 1.D3*tStep, "ms" @@ -861,7 +861,7 @@ MODULE moduleSolver counterCPUTime = counterCPUTime + 1 IF (counterCPUTime >= triggerCPUTime .OR. & - t == tmax .OR. t == 0) THEN + t == tFinal .OR. t == tInitial) THEN !Reset CPU Time counter counterCPUTime = 0