Implemented. Now the doc

This commit is contained in:
Jorge Gonzalez 2026-04-01 16:45:39 +02:00
commit 4049bbca31
3 changed files with 24 additions and 2 deletions

View file

@ -493,6 +493,7 @@ MODULE moduleInput
CALL config%get(object // '.numColl', collOutput, found) CALL config%get(object // '.numColl', collOutput, found)
CALL config%get(object // '.EMField', emOutput, found) CALL config%get(object // '.EMField', emOutput, found)
call config%get(object // '.boundariesParticle', boundaryParticleOutput, found) call config%get(object // '.boundariesParticle', boundaryParticleOutput, found)
call config%get(object // '.injects', injectOutput, found)
CALL config%get(object // '.triggerCPUTime', triggerCPUTime, found) CALL config%get(object // '.triggerCPUTime', triggerCPUTime, found)
IF (.NOT. found) THEN IF (.NOT. found) THEN

View file

@ -110,6 +110,7 @@ MODULE moduleInject
allocate(injectQuasiNeutral:: self) allocate(injectQuasiNeutral:: self)
self%update => updateQuasiNeutral self%update => updateQuasiNeutral
self%print => printQuasiNeutral
case default case default
call criticalError('No injection type ' // type // ' defined', 'initInject') call criticalError('No injection type ' // type // ' defined', 'initInject')
@ -304,8 +305,6 @@ MODULE moduleInject
end if end if
print *, e, alpha
! Adjust the weight of particles to match the new current ! Adjust the weight of particles to match the new current
self%weightPerEdge(e) = self%weightPerEdge(e) + 1.0d-1 * alpha self%weightPerEdge(e) = self%weightPerEdge(e) + 1.0d-1 * alpha
@ -476,6 +475,24 @@ MODULE moduleInject
end subroutine writeInjects end subroutine writeInjects
! Write information about quasiNeutral inject
subroutine printQuasiNeutral(self, fileID)
use moduleOutput, only: fmtColInt, fmtColReal
implicit none
class(injectGeneric), intent(inout):: self
integer, intent(in):: fileID
integer:: e
write(fileID, '(A)') self%name
write(fileID, '(A,",",A)') '"Edge id"', '"weight of particles"'
do e = 1, self%nEdges
write(fileID, '('//fmtColInt//','//fmtColReal//')') self%edges(e)%obj%n, self%weightPerEdge(e)
end do
end subroutine printQuasiNeutral
! Inits for different velocity distribution functions ! Inits for different velocity distribution functions
SUBROUTINE initVelDistMaxwellian(velDist, temperature, m) SUBROUTINE initVelDistMaxwellian(velDist, temperature, m)
IMPLICIT NONE IMPLICIT NONE

View file

@ -520,6 +520,7 @@ MODULE moduleSolver
USE moduleSpecies USE moduleSpecies
USE moduleCompTime USE moduleCompTime
USE moduleProbe USE moduleProbe
use moduleInject, only: writeInjects
USE moduleCaseParam, ONLY: timeStep USE moduleCaseParam, ONLY: timeStep
IMPLICIT NONE IMPLICIT NONE
@ -539,6 +540,9 @@ MODULE moduleSolver
! Output of boundaries ! Output of boundaries
call boundariesParticle_write() call boundariesParticle_write()
! Output of inejcts
call writeInjects()
WRITE(*, "(5X,A21,I10,A1,I10)") "t/tFinal: ", timeStep, "/", tFinal WRITE(*, "(5X,A21,I10,A1,I10)") "t/tFinal: ", timeStep, "/", tFinal
WRITE(*, "(5X,A21,I10)") "Particles: ", nPartOld WRITE(*, "(5X,A21,I10)") "Particles: ", nPartOld
IF (timeStep == 0) THEN IF (timeStep == 0) THEN