diff --git a/src/modules/init/moduleInput.f90 b/src/modules/init/moduleInput.f90 index 6f89660..c5be312 100644 --- a/src/modules/init/moduleInput.f90 +++ b/src/modules/init/moduleInput.f90 @@ -901,7 +901,12 @@ MODULE moduleInput call quasiNeutrality_init(bound, s_incident) CASE('outflowAdaptive') - call outflowAdaptive_init(bound) + call config%get(object // '.incident', speciesName, found) + if (.not. found) call criticalError("Incident species name not found for quasiNeutrality boundary model", 'readBoundary') + + s_incident = speciesName2Index(speciesName) + + call outflowAdaptive_init(bound, s_incident) CASE DEFAULT CALL criticalError('Boundary type ' // bType // ' undefined', 'readBoundary') diff --git a/src/modules/mesh/moduleMesh.f90 b/src/modules/mesh/moduleMesh.f90 index b8ae18d..de6fb54 100644 --- a/src/modules/mesh/moduleMesh.f90 +++ b/src/modules/mesh/moduleMesh.f90 @@ -688,9 +688,9 @@ MODULE moduleMesh end subroutine quasiNeutrality_init - module subroutine outflowAdaptive_init(boundary)!, s_incident) + module subroutine outflowAdaptive_init(boundary, s_incident) class(boundaryParticleGeneric), allocatable, intent(inout):: boundary - ! integer, intent(in):: s_incident + integer, intent(in):: s_incident end subroutine outflowAdaptive_init diff --git a/src/modules/mesh/moduleMesh@boundaryParticle.f90 b/src/modules/mesh/moduleMesh@boundaryParticle.f90 index 011c9b8..ce5e1f5 100644 --- a/src/modules/mesh/moduleMesh@boundaryParticle.f90 +++ b/src/modules/mesh/moduleMesh@boundaryParticle.f90 @@ -491,10 +491,11 @@ submodule(moduleMesh) boundaryParticle ! outflowAdaptive ! Adjust the reflection coefficient of the boundary to maintain a quasi-neutral outflow ! Init - subroutine outflowAdaptive_init(boundary) + subroutine outflowAdaptive_init(boundary, s_incident) implicit none class(boundaryParticleGeneric), allocatable, intent(inout):: boundary + integer, intent(in):: s_incident allocate(boundaryOutflowAdaptive:: boundary) @@ -502,7 +503,7 @@ submodule(moduleMesh) boundaryParticle type is(boundaryOutflowAdaptive) allocate(boundary%edges(0)) - boundary%s_incident = 1 !TODO Make this an input parameter + boundary%s_incident = s_incident boundary%update => outflowAdaptive_update boundary%print => outflowAdaptive_print