Probes were not working properly #44
5 changed files with 18 additions and 8 deletions
Probes in 0 iteration
Probes are now written at the 0 iteration. Additionally, and this shouldn't be done, some small changes to the quad elements. This should be done in a separate commit, but I'm lazy.
commit
386ddd82dd
|
|
@ -314,6 +314,7 @@ MODULE moduleInput
|
|||
USE moduleOutput
|
||||
USE moduleRefParam
|
||||
USE moduleRandom
|
||||
USE moduleProbe
|
||||
USE json_module
|
||||
IMPLICIT NONE
|
||||
|
||||
|
|
@ -420,6 +421,9 @@ MODULE moduleInput
|
|||
|
||||
END IF
|
||||
|
||||
!Assign particles to probes
|
||||
CALL doProbes(partNew)
|
||||
|
||||
END DO
|
||||
|
||||
DEALLOCATE(sourceScalar, sourceArray)
|
||||
|
|
@ -1089,6 +1093,8 @@ MODULE moduleInput
|
|||
|
||||
END DO
|
||||
|
||||
CALL resetProbes(tInitial)
|
||||
|
||||
END SUBROUTINE readProbes
|
||||
|
||||
SUBROUTINE readEMBoundary(config)
|
||||
|
|
|
|||
|
|
@ -508,7 +508,7 @@ MODULE moduleMesh2DCart
|
|||
conv = 1.D0
|
||||
XiO = 0.D0
|
||||
|
||||
DO WHILE(conv > 1.D-2)
|
||||
DO WHILE(conv > 1.D-4)
|
||||
dPsi = self%dPsi(XiO, 4)
|
||||
pDer = self%partialDer(4, dPsi)
|
||||
detJ = self%detJac(pDer)
|
||||
|
|
@ -516,8 +516,7 @@ MODULE moduleMesh2DCart
|
|||
fPsi = self%fPsi(XiO, 4)
|
||||
f = (/ DOT_PRODUCT(fPsi,self%x), &
|
||||
DOT_PRODUCT(fPsi,self%y), &
|
||||
0.D0 /)
|
||||
f = f - r
|
||||
0.D0 /) - r
|
||||
Xi = XiO - MATMUL(invJ, f)/detJ
|
||||
conv = MAXVAL(DABS(Xi-XiO),1)
|
||||
XiO = Xi
|
||||
|
|
|
|||
|
|
@ -532,8 +532,7 @@ MODULE moduleMesh2DCyl
|
|||
fPsi = self%fPsi(XiO, 4)
|
||||
f = (/ DOT_PRODUCT(fPsi,self%z), &
|
||||
DOT_PRODUCT(fPsi,self%r), &
|
||||
0.D0 /)
|
||||
f = f - r
|
||||
0.D0 /) - r
|
||||
Xi = XiO - MATMUL(invJ, f)/detJ
|
||||
conv = MAXVAL(DABS(Xi-XiO),1)
|
||||
XiO = Xi
|
||||
|
|
|
|||
|
|
@ -872,7 +872,7 @@ MODULE moduleMesh
|
|||
|
||||
!If particles do not belong to the species, skip collision
|
||||
!This can happen, for example, if particle has been previously ionized or removed
|
||||
!TODO: Try to find a way to no lose these collisions. Maybe check new 'k' and use that for the collision, maybe?
|
||||
!TODO: Try to find a way to not lose these collisions. Maybe check new 'k' and use that for the collision?
|
||||
IF (part_i%species%n /= i .OR. &
|
||||
part_j%species%n /= j) THEN
|
||||
CYCLE
|
||||
|
|
|
|||
|
|
@ -91,7 +91,13 @@ MODULE moduleProbe
|
|||
1:self%nv(3)))
|
||||
|
||||
!Number of iterations between output
|
||||
self%every = NINT(timeStep/ tauMin / ti_ref)
|
||||
IF (timeStep == 0.D0) THEN
|
||||
self%every = 1
|
||||
|
||||
ELSE
|
||||
self%every = NINT(timeStep/ tauMin / ti_ref)
|
||||
|
||||
END IF
|
||||
|
||||
!Maximum radius
|
||||
!TODO: Make this an input parameter
|
||||
|
|
@ -270,7 +276,7 @@ MODULE moduleProbe
|
|||
|
||||
DO i = 1, nProbes
|
||||
probe(i)%f = 0.D0
|
||||
probe(i)%update = MOD(t, probe(i)%every) == 0 .OR. t == tFinal .OR. t == tInitial
|
||||
probe(i)%update = t == tFinal .OR. t == tInitial .OR. MOD(t, probe(i)%every) == 0
|
||||
|
||||
END DO
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue