I should've commited before, but I wanted to make things compile. The big change is that I've added a global time step so the parameter does not need to be passed in each function. This is useful as we are moving towards using time profiles for boundary conditions and injection of particles (not in this branch, but in the future and the procedure will be quite similar)
27 lines
731 B
Fortran
27 lines
731 B
Fortran
MODULE moduleMeshInoutCommon
|
|
|
|
CHARACTER(LEN=4):: prefix = 'Step'
|
|
|
|
CONTAINS
|
|
PURE FUNCTION formatFileName(prefix, suffix, extension, timeStep) RESULT(fileName)
|
|
USE moduleOutput
|
|
IMPLICIT NONE
|
|
|
|
CHARACTER(*), INTENT(in):: prefix, suffix, extension
|
|
INTEGER, INTENT(in), OPTIONAL:: timeStep
|
|
CHARACTER (LEN=iterationDigits):: tString
|
|
CHARACTER(:), ALLOCATABLE:: fileName
|
|
|
|
IF (PRESENT(timeStep)) THEN
|
|
WRITE(tString, iterationFormat) timeStep
|
|
fileName = prefix // '_' // tString // '_' // suffix // '.' // extension
|
|
|
|
ELSE
|
|
fileName = prefix // '_' // suffix // '.' // extension
|
|
|
|
END IF
|
|
|
|
END FUNCTION formatFileName
|
|
|
|
|
|
END MODULE moduleMeshInoutCommon
|