First step towards reading .vtu mesh
Just setting up the required functions.
This commit is contained in:
parent
6706c5dd1c
commit
f5be04587a
11 changed files with 78 additions and 31 deletions
|
|
@ -42,13 +42,13 @@ MODULE moduleMeshOutput0D
|
|||
USE moduleOutput
|
||||
IMPLICIT NONE
|
||||
|
||||
CLASS(meshGeneric), INTENT(inout):: self
|
||||
CLASS(meshGeneric), INTENT(in):: self
|
||||
INTEGER, INTENT(in):: t
|
||||
CHARACTER(:), ALLOCATABLE:: fileName
|
||||
INTEGER:: k
|
||||
|
||||
fileName='OUTPUT_Collisions.dat'
|
||||
IF (t == 0) THEN
|
||||
IF (t == tInitial) THEN
|
||||
OPEN(20, file = path // folder // '/' // fileName, action = 'write')
|
||||
WRITE(20, "(A1, 14X, A5, A20)") "#","t (s)","collisions"
|
||||
WRITE(*, "(6X,A15,A)") "Creating file: ", fileName
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ MODULE moduleMeshInputGmsh2
|
|||
!Reads a mesh in the Gmsh v2.0 format
|
||||
|
||||
CONTAINS
|
||||
!Inits a mesh to use Gmsh2 format
|
||||
!Init a mesh to use Gmsh2 format
|
||||
SUBROUTINE initGmsh2(self)
|
||||
USE moduleMesh
|
||||
USE moduleMeshOutputGmsh2
|
||||
|
|
@ -23,7 +23,7 @@ MODULE moduleMeshInputGmsh2
|
|||
|
||||
END SUBROUTINE initGmsh2
|
||||
|
||||
!Reads a Gmsh 2 format
|
||||
!Read a Gmsh 2 format
|
||||
SUBROUTINE readGmsh2(self, filename)
|
||||
USE moduleMesh3DCart
|
||||
USE moduleMesh2DCyl
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ MODULE moduleMeshOutputGmsh2
|
|||
USE moduleOutput
|
||||
IMPLICIT NONE
|
||||
|
||||
CLASS(meshGeneric), INTENT(inout):: self
|
||||
CLASS(meshGeneric), INTENT(in):: self
|
||||
INTEGER, INTENT(in):: t
|
||||
INTEGER:: numEdges
|
||||
INTEGER:: k, c
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
all: vtk.o gmsh2.o 0D.o
|
||||
all: vtu.o gmsh2.o 0D.o
|
||||
|
||||
vtk.o:
|
||||
$(MAKE) -C vtk all
|
||||
vtu.o:
|
||||
$(MAKE) -C vtu all
|
||||
|
||||
gmsh2.o:
|
||||
$(MAKE) -C gmsh2 all
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
MODULE moduleMeshInputVTK
|
||||
|
||||
END MODULE moduleMeshInputVTK
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
all: moduleMeshInputVTK.o moduleMeshOutputVTK.o
|
||||
all: moduleMeshInputVTU.o moduleMeshOutputVTU.o
|
||||
|
||||
moduleMeshInputVTK.o: moduleMeshOutputVTK.o moduleMeshInputVTK.f90
|
||||
moduleMeshInputVTU.o: moduleMeshOutputVTU.o moduleMeshInputVTU.f90
|
||||
$(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@
|
||||
|
||||
%.o: %.f90
|
||||
50
src/modules/mesh/inout/vtu/moduleMeshInputVTU.f90
Normal file
50
src/modules/mesh/inout/vtu/moduleMeshInputVTU.f90
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
MODULE moduleMeshInputVTK
|
||||
!Reads mesh in the VTU format
|
||||
|
||||
CONTAINS
|
||||
SUBROUTINE initVTK(self)
|
||||
USE moduleMesh
|
||||
USE moduleMeshOutputVTU
|
||||
IMPLICIT NONE
|
||||
|
||||
CLASS(meshGeneric), INTENT(inout), TARGET:: self
|
||||
|
||||
IF (ASSOCIATED(meshForMCC, self)) self%printColl => printCollVTU
|
||||
SELECT TYPE(self)
|
||||
TYPE IS(meshParticles)
|
||||
self%printOutput => printOutputVTU
|
||||
self%printEM => printEMVTU
|
||||
self%readInitial => readInitialVTU
|
||||
self%printAverage => printAverageVTU
|
||||
|
||||
END SELECT
|
||||
self%readMesh => readVTU
|
||||
|
||||
END SUBROUTINE initVTK
|
||||
|
||||
SUBROUTINE readVTU(self, filename)
|
||||
USE moduleMesh3DCart
|
||||
USE moduleMesh2DCyl
|
||||
USE moduleMesh2DCart
|
||||
USE moduleMesh1DRad
|
||||
USE moduleMesh1DCart
|
||||
USE moduleBoundary
|
||||
IMPLICIT NONE
|
||||
|
||||
CLASS(meshGeneric), INTENT(inout):: self
|
||||
CHARACTER(:), ALLOCATABLE, INTENT(in):: filename
|
||||
REAL(8):: r(1:3) !3 generic coordinates
|
||||
|
||||
END SUBROUTINE readVTU
|
||||
|
||||
SUBROUTINE readInitialVTU(filename, density, velocity, temperature)
|
||||
IMPLICIT NONE
|
||||
|
||||
CHARACTER(:), ALLOCATABLE, INTENT(in):: filename
|
||||
REAL(8), ALLOCATABLE, INTENT(out), DIMENSION(:):: density
|
||||
REAL(8), ALLOCATABLE, INTENT(out), DIMENSION(:,:):: velocity
|
||||
REAL(8), ALLOCATABLE, INTENT(out), DIMENSION(:):: temperature
|
||||
|
||||
END SUBROUTINE readInitialVTU
|
||||
|
||||
END MODULE moduleMeshInputVTK
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
MODULE moduleMeshOutputVTK
|
||||
MODULE moduleMeshOutputVTU
|
||||
|
||||
CHARACTER(LEN=6):: prefix = 'OUTPUT'
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ MODULE moduleMeshOutputVTK
|
|||
indexType = 1
|
||||
|
||||
CLASS DEFAULT
|
||||
CALL criticalError('Cell not valid for VTK output', 'getCellType')
|
||||
CALL criticalError('Cell not valid for VTU output', 'getCellType')
|
||||
|
||||
END SELECT
|
||||
|
||||
|
|
@ -355,7 +355,7 @@ MODULE moduleMeshOutputVTK
|
|||
|
||||
END SUBROUTINE writeAverage
|
||||
|
||||
SUBROUTINE printOutputVTK(self,t)
|
||||
SUBROUTINE printOutputVTU(self,t)
|
||||
USE moduleMesh
|
||||
USE moduleSpecies
|
||||
IMPLICIT NONE
|
||||
|
|
@ -389,9 +389,9 @@ MODULE moduleMeshOutputVTK
|
|||
|
||||
END DO
|
||||
|
||||
END SUBROUTINE printOutputVTK
|
||||
END SUBROUTINE printOutputVTU
|
||||
|
||||
SUBROUTINE printCollVTK(self,t)
|
||||
SUBROUTINE printCollVTU(self,t)
|
||||
USE moduleMesh
|
||||
USE moduleOutput
|
||||
IMPLICIT NONE
|
||||
|
|
@ -426,9 +426,9 @@ MODULE moduleMeshOutputVTK
|
|||
|
||||
END IF
|
||||
|
||||
END SUBROUTINE printCollVTK
|
||||
END SUBROUTINE printCollVTU
|
||||
|
||||
SUBROUTINE printEMVTK(self, t)
|
||||
SUBROUTINE printEMVTU(self, t)
|
||||
USE moduleMesh
|
||||
IMPLICIT NONE
|
||||
|
||||
|
|
@ -460,9 +460,9 @@ MODULE moduleMeshOutputVTK
|
|||
|
||||
END IF
|
||||
|
||||
END SUBROUTINE printEMVTK
|
||||
END SUBROUTINE printEMVTU
|
||||
|
||||
SUBROUTINE printAverageVTK(self)
|
||||
SUBROUTINE printAverageVTU(self)
|
||||
USE moduleMesh
|
||||
USE moduleSpecies
|
||||
IMPLICIT NONE
|
||||
|
|
@ -500,6 +500,6 @@ MODULE moduleMeshOutputVTK
|
|||
|
||||
END DO
|
||||
|
||||
END SUBROUTINE printAverageVTK
|
||||
END SUBROUTINE printAverageVTU
|
||||
|
||||
END MODULE moduleMeshOutputVTK
|
||||
END MODULE moduleMeshOutputVTU
|
||||
|
|
@ -374,7 +374,7 @@ MODULE moduleMesh
|
|||
!Prints number of collisions in each cell
|
||||
SUBROUTINE printColl_interface(self, t)
|
||||
IMPORT meshGeneric
|
||||
CLASS(meshGeneric), INTENT(inout):: self
|
||||
CLASS(meshGeneric), INTENT(in):: self
|
||||
INTEGER, INTENT(in):: t
|
||||
|
||||
END SUBROUTINE printColl_interface
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue