Impliementation of a collision mesh which is independent for the mesh

used to scatter particles and compute the EM field.
This commit is contained in:
Jorge Gonzalez 2021-04-03 09:20:46 +02:00
commit a2631f6b78
19 changed files with 636 additions and 368 deletions

View file

@ -9,7 +9,7 @@ MODULE moduleMeshOutputGmsh2
USE moduleOutput
IMPLICIT NONE
CLASS(meshParticle), INTENT(in):: self
CLASS(meshParticles), INTENT(in):: self
INTEGER, INTENT(in):: t
INTEGER:: n, i
TYPE(outputFormat):: output(1:self%numNodes)
@ -95,13 +95,25 @@ MODULE moduleMeshOutputGmsh2
USE moduleOutput
IMPLICIT NONE
CLASS(meshParticle), INTENT(in):: self
CLASS(meshGeneric), INTENT(in):: self
INTEGER:: numEdges
INTEGER, INTENT(in):: t
INTEGER:: n
REAL(8):: time
CHARACTER(:), ALLOCATABLE:: fileName
CHARACTER (LEN=iterationDigits):: tstring
SELECT TYPE(self)
TYPE IS(meshParticles)
numEdges = self%numEdges
TYPE IS(meshCollisions)
numEdges = 0
CLASS DEFAULT
numEdges = 0
END SELECT
IF (collOutput) THEN
time = DBLE(t)*tauMin*ti_ref
@ -123,7 +135,7 @@ MODULE moduleMeshOutputGmsh2
WRITE(60, *) 1
WRITE(60, *) self%numVols
DO n=1, self%numVols
WRITE(60, "(I6,I10)") n + self%numEdges, self%vols(n)%obj%nColl
WRITE(60, "(I6,I10)") n + numEdges, self%vols(n)%obj%nColl
END DO
WRITE(60, "(A)") '$EndElementData'
@ -141,7 +153,7 @@ MODULE moduleMeshOutputGmsh2
USE moduleOutput
IMPLICIT NONE
CLASS(meshParticle), INTENT(in):: self
CLASS(meshParticles), INTENT(in):: self
INTEGER, INTENT(in):: t
INTEGER:: n, e
REAL(8):: time