Minor improvement in mesh structure to allow different imput formats.
Organization of meshes per geometry type.
This commit is contained in:
parent
7152a232fe
commit
3b125d0952
14 changed files with 158 additions and 100 deletions
|
|
@ -95,9 +95,6 @@ MODULE moduleSolver
|
|||
CASE('Electrostatic')
|
||||
self%solveEM => solveElecField
|
||||
|
||||
CASE DEFAULT
|
||||
self%solveEM => noEMField
|
||||
|
||||
END SELECT
|
||||
|
||||
END SUBROUTINE initEM
|
||||
|
|
@ -114,9 +111,6 @@ MODULE moduleSolver
|
|||
CASE ('Volume')
|
||||
self%nonAnalogue => volumeNAScheme
|
||||
|
||||
CASE DEFAULT
|
||||
self%nonAnalogue => noNAScheme
|
||||
|
||||
END SELECT
|
||||
|
||||
END SUBROUTINE initNA
|
||||
|
|
@ -356,6 +350,7 @@ MODULE moduleSolver
|
|||
SUBROUTINE doScatter
|
||||
USE moduleSpecies
|
||||
USE moduleMesh
|
||||
IMPLICIT NONE
|
||||
|
||||
INTEGER:: n
|
||||
|
||||
|
|
@ -372,7 +367,10 @@ MODULE moduleSolver
|
|||
SUBROUTINE doEMField()
|
||||
IMPLICIT NONE
|
||||
|
||||
CALL solver%solveEM()
|
||||
IF (ASSOCIATED(solver%solveEM)) THEN
|
||||
CALL solver%solveEM()
|
||||
|
||||
END IF
|
||||
|
||||
END SUBROUTINE doEMField
|
||||
|
||||
|
|
@ -421,12 +419,6 @@ MODULE moduleSolver
|
|||
|
||||
END SUBROUTINE solveElecField
|
||||
|
||||
!Empty procedure that does no computation of EM field for neutral cases
|
||||
SUBROUTINE noEMField()
|
||||
IMPLICIT NONE
|
||||
|
||||
END SUBROUTINE noEMField
|
||||
|
||||
!Modify particle weight as a function of cell volume and splits particle
|
||||
SUBROUTINE volumeNAScheme(part, volOld, volNew)
|
||||
USE moduleSpecies
|
||||
|
|
@ -500,18 +492,6 @@ MODULE moduleSolver
|
|||
|
||||
END SUBROUTINE splitParticle
|
||||
|
||||
!Empty procedure that does no computation of EM field for neutral cases
|
||||
SUBROUTINE noNAScheme(part, volOld, volNew)
|
||||
USE moduleSpecies
|
||||
USE moduleMesh
|
||||
IMPLICIT NONE
|
||||
|
||||
TYPE(particle), INTENT(inout):: part
|
||||
CLASS(meshVol), POINTER, INTENT(in):: volOld
|
||||
CLASS(meshVol), POINTER, INTENT(inout):: volNew
|
||||
|
||||
END SUBROUTINE noNAScheme
|
||||
|
||||
SUBROUTINE updateParticleCell(self, part)
|
||||
USE moduleSpecies
|
||||
USE moduleMesh
|
||||
|
|
@ -525,7 +505,10 @@ MODULE moduleSolver
|
|||
CALL volOld%findCell(part)
|
||||
volNew => mesh%vols(part%vol)%obj
|
||||
!Call the NA shcme
|
||||
CALL self%nonAnalogue(part, volOld, volNew)
|
||||
IF (ASSOCIATED(self%nonAnalogue)) THEN
|
||||
CALL self%nonAnalogue(part, volOld, volNew)
|
||||
|
||||
END IF
|
||||
|
||||
END SUBROUTINE updateParticleCell
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue