Modification in boundary conditions:

- Now absorption scatte the particle  properties into the edge nodes.
  - New boundary condition 'transparent' subsitute old absorption.
This commit is contained in:
Jorge Gonzalez 2020-12-17 21:16:35 +01:00
commit 9e3a1a771b
15 changed files with 212 additions and 148 deletions

View file

@ -311,10 +311,11 @@ MODULE moduleSolver
SUBROUTINE doReset()
USE moduleSpecies
USE moduleMesh
USE moduleList
IMPLICIT NONE
INTEGER:: nn, n
INTEGER:: nn, n, e
INTEGER, SAVE:: nPartNew
INTEGER, SAVE:: nInjIn, nOldIn, nWScheme
TYPE(particle), ALLOCATABLE, SAVE:: partTemp(:)
@ -347,6 +348,7 @@ MODULE moduleSolver
!$OMP SECTIONS
!$OMP SECTION
!Reset particles from injection
nn = 0
DO n = 1, nPartInj
IF (partInj(n)%n_in) THEN
@ -358,6 +360,7 @@ MODULE moduleSolver
END DO
!$OMP SECTION
!Reset particles from previous iteration
nn = nInjIn
DO n = 1, nPartOld
IF (partTemp(n)%n_in) THEN
@ -368,6 +371,7 @@ MODULE moduleSolver
END DO
!$OMP SECTION
!Reset particles from weighting scheme
nn = nInjIn + nOldIn
partCurr => partWScheme%head
DO n = 1, nWScheme
@ -381,6 +385,12 @@ MODULE moduleSolver
IF (ASSOCIATED(partWScheme%tail)) NULLIFY(partWScheme%tail)
partWScheme%amount = 0
!$OMP SECTION
!Reset output in nodes
DO e = 1, mesh%numNodes
CALL mesh%nodes(e)%obj%resetOutput()
END DO
!$OMP END SECTIONS
!$OMP SINGLE
@ -622,6 +632,5 @@ MODULE moduleSolver
END SUBROUTINE doOutput
END MODULE moduleSolver