Trying partial reflection
This commit is contained in:
parent
4747673d0a
commit
159f2e7620
6 changed files with 91 additions and 60 deletions
|
|
@ -218,6 +218,28 @@ MODULE moduleMeshBoundary
|
|||
|
||||
END SUBROUTINE ionization
|
||||
|
||||
subroutine outflowAdaptive(edge, part)
|
||||
use moduleRandom
|
||||
implicit none
|
||||
|
||||
class(meshEdge), intent(inout):: edge
|
||||
class(particle), intent(inout):: part
|
||||
|
||||
select type(bound => edge%boundary%bTypes(part%species%n)%obj)
|
||||
type is(boundaryOutflowAdaptive)
|
||||
|
||||
if (random() < 0.844d0) then
|
||||
call reflection(edge, part)
|
||||
|
||||
else
|
||||
call transparent(edge, part)
|
||||
|
||||
end if
|
||||
|
||||
end select
|
||||
|
||||
end subroutine outflowAdaptive
|
||||
|
||||
!Points the boundary function to specific type
|
||||
SUBROUTINE pointBoundaryFunction(edge, s)
|
||||
USE moduleErrors
|
||||
|
|
@ -236,14 +258,17 @@ MODULE moduleMeshBoundary
|
|||
TYPE IS(boundaryTransparent)
|
||||
edge%fBoundary(s)%apply => transparent
|
||||
|
||||
TYPE IS(boundaryAxis)
|
||||
edge%fBoundary(s)%apply => symmetryAxis
|
||||
|
||||
TYPE IS(boundaryWallTemperature)
|
||||
edge%fBoundary(s)%apply => wallTemperature
|
||||
|
||||
TYPE IS(boundaryIonization)
|
||||
edge%fBoundary(s)%apply => ionization
|
||||
|
||||
TYPE IS(boundaryAxis)
|
||||
edge%fBoundary(s)%apply => symmetryAxis
|
||||
type is(boundaryOutflowAdaptive)
|
||||
edge%fBoundary(s)%apply => outflowAdaptive
|
||||
|
||||
CLASS DEFAULT
|
||||
CALL criticalError("Boundary type not defined in this geometry", 'pointBoundaryFunction')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue