Output ready

Output for Gmsh2 ready.

Unfortunatly, code repetition was required.
This commit is contained in:
Jorge Gonzalez 2022-12-14 18:30:14 +01:00
commit c5c4cbefbf
5 changed files with 106 additions and 10 deletions

View file

@ -13,9 +13,10 @@ MODULE moduleMeshInputGmsh2
IF (ASSOCIATED(meshForMCC, self)) self%printColl => printCollGmsh2
SELECT TYPE(self)
TYPE IS(meshParticles)
self%printOutput => printOutputGmsh2
self%printEM => printEMGmsh2
self%readInitial => readInitialGmsh2
self%printOutput => printOutputGmsh2
self%printEM => printEMGmsh2
self%readInitial => readInitialGmsh2
self%printAverage => printAverageGmsh2
END SELECT
self%readMesh => readGmsh2

View file

@ -21,7 +21,7 @@ MODULE moduleMeshOutputGmsh2
DO i = 1, nSpecies
WRITE(tstring, iterationFormat) t
fileName='OUTPUT_' // tstring// '_' // species(i)%obj%name // '.msh'
fileName= 'OUTPUT_' // tstring// '_' // species(i)%obj%name // '.msh'
WRITE(*, "(6X,A15,A)") "Creating file: ", fileName
OPEN (60, file = path // folder // '/' // fileName)
WRITE(60, "(A)") '$MeshFormat'
@ -226,4 +226,84 @@ MODULE moduleMeshOutputGmsh2
END SUBROUTINE printEMGmsh2
!Prints the average properties of particles into the nodes
SUBROUTINE printAverageGmsh2(self)
USE moduleMesh
USE moduleRefParam
USE moduleSpecies
USE moduleOutput
USE moduleAverage
IMPLICIT NONE
CLASS(meshParticles), INTENT(in):: self
INTEGER:: n, i
TYPE(outputFormat):: output(1:self%numNodes)
CHARACTER(:), ALLOCATABLE:: fileName
DO i = 1, nSpecies
fileName= 'Average_mean_OUTPUT_' // species(i)%obj%name // '.msh'
WRITE(*, "(6X,A15,A)") "Creating file: ", fileName
OPEN (60, file = path // folder // '/' // fileName)
WRITE(60, "(A)") '$MeshFormat'
WRITE(60, "(A)") '2.2 0 8'
WRITE(60, "(A)") '$EndMeshFormat'
WRITE(60, "(A)") '$NodeData'
WRITE(60, "(A)") '1'
WRITE(60, "(A)") '"' // species(i)%obj%name // ' density (m^-3)"'
WRITE(60, *) 1
WRITE(60, *) 0.D0
WRITE(60, *) 3
WRITE(60, *) 0
WRITE(60, *) 1
WRITE(60, *) self%numNodes
DO n=1, self%numNodes
CALL calculateOutput(averageScheme%mean(n)%output(i), output(n), self%nodes(n)%obj%v, species(i)%obj)
WRITE(60, "(I6,ES20.6E3)") n, output(n)%density
END DO
WRITE(60, "(A)") '$EndNodeData'
WRITE(60, "(A)") '$NodeData'
WRITE(60, "(A)") '1'
WRITE(60, "(A)") '"' // species(i)%obj%name // ' velocity (m s^-1)"'
WRITE(60, *) 1
WRITE(60, *) 0.D0
WRITE(60, *) 3
WRITE(60, *) 0
WRITE(60, *) 3
WRITE(60, *) self%numNodes
DO n=1, self%numNodes
WRITE(60, "(I6,3(ES20.6E3))") n, output(n)%velocity
END DO
WRITE(60, "(A)") '$EndNodeData'
WRITE(60, "(A)") '$NodeData'
WRITE(60, "(A)") '1'
WRITE(60, "(A)") '"' // species(i)%obj%name // ' pressure (Pa)"'
WRITE(60, *) 1
WRITE(60, *) 0.D0
WRITE(60, *) 3
WRITE(60, *) 0
WRITE(60, *) 1
WRITE(60, *) self%numNodes
DO n=1, self%numNodes
WRITE(60, "(I6,3(ES20.6E3))") n, output(n)%pressure
END DO
WRITE(60, "(A)") '$EndNodeData'
WRITE(60, "(A)") '$NodeData'
WRITE(60, "(A)") '1'
WRITE(60, "(A)") '"' // species(i)%obj%name // ' temperature (K)"'
WRITE(60, *) 1
WRITE(60, *) 0.D0
WRITE(60, *) 3
WRITE(60, *) 0
WRITE(60, *) 1
WRITE(60, *) self%numNodes
DO n=1, self%numNodes
WRITE(60, "(I6,3(ES20.6E3))") n, output(n)%temperature
END DO
WRITE(60, "(A)") '$EndNodeData'
CLOSE (60)
END DO
END SUBROUTINE printAverageGmsh2
END MODULE moduleMeshOutputGmsh2