Still need to add a 0D pusher and the corresponding input configuration and documentation.
61 lines
1.7 KiB
Fortran
61 lines
1.7 KiB
Fortran
MODULE moduleMeshOutput0D
|
|
|
|
CONTAINS
|
|
SUBROUTINE printOutput0D(self, t)
|
|
USE moduleMesh
|
|
USE moduleRefParam
|
|
USE moduleSpecies
|
|
USE moduleOutput
|
|
IMPLICIT NONE
|
|
|
|
CLASS(meshParticles), INTENT(in):: self
|
|
INTEGER, INTENT(in):: t
|
|
INTEGER:: i
|
|
TYPE(outputFormat):: output
|
|
CHARACTER(:), ALLOCATABLE:: fileName
|
|
|
|
DO i = 1, nSpecies
|
|
fileName='OUTPUT_' // species(i)%obj%name // '.dat'
|
|
IF (t == 0) THEN
|
|
OPEN(20, file = path // folder // '/' // fileName, action = 'write')
|
|
WRITE(20, "(A1, 8X, A1, 6(A20))") "#","t","density", "velocity", "pressure", "temperature"
|
|
WRITE(*, "(6X,A15,A)") "Creating file: ", fileName
|
|
CLOSE(20)
|
|
|
|
END IF
|
|
|
|
OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write')
|
|
CALL calculateOutput(self%nodes(1)%obj%output(i), output, self%nodes(1)%obj%v, species(i)%obj)
|
|
WRITE(20, "(I10, 6(ES20.6E3))") t, output%density, output%velocity, output%pressure, output%temperature
|
|
CLOSE(20)
|
|
|
|
END DO
|
|
|
|
END SUBROUTINE printOutput0D
|
|
|
|
SUBROUTINE printColl0D(self, t)
|
|
USE moduleMesh
|
|
USE moduleRefParam
|
|
USE moduleCaseParam
|
|
USE moduleCollisions
|
|
USE moduleOutput
|
|
IMPLICIT NONE
|
|
|
|
CLASS(meshGeneric), INTENT(in):: self
|
|
INTEGER, INTENT(in):: t
|
|
|
|
END SUBROUTINE printColl0D
|
|
|
|
SUBROUTINE printEM0D(self, t)
|
|
USE moduleMesh
|
|
USE moduleRefParam
|
|
USE moduleCaseParam
|
|
USE moduleOutput
|
|
IMPLICIT NONE
|
|
|
|
CLASS(meshParticles), INTENT(in):: self
|
|
INTEGER, INTENT(in):: t
|
|
|
|
END SUBROUTINE printEM0D
|
|
|
|
END MODULE moduleMeshOutput0D
|