diff --git a/docs/documentation/userguide/features-and-models/BC-particle-solver.md b/docs/documentation/userguide/features-and-models/BC-particle-solver.md index 3d9f7080e..472427530 100644 --- a/docs/documentation/userguide/features-and-models/BC-particle-solver.md +++ b/docs/documentation/userguide/features-and-models/BC-particle-solver.md @@ -79,11 +79,11 @@ as well as an optional direction to which the gradient shall be limited (default In the default case of the `TempGradDir = 0`, the temperature will be interpolated between the start and end vector, where the start vector corresponds to the first wall temperature `WallTemp`, and the end vector to the second wall temperature `WallTemp2`. -Position values (which are projected onto the temperature gradient vector) beyond the gradient vector utilize the first (Start) and second temperature (End) as the constant wall temperature, respectively. In the special case of `TempGradDir = 1/2/3`, the temperature gradient will -only be applied along the chosen the direction. As oppposed to the default case, the positions of the surfaces are not projected -onto the gradient vector before checking wether they are inside the box spanned by `TempGradStart` and `TempGradEnd`. Outside of -the defined box, the temperature corresponds to `WallTemp`. The applied surface temperature is output in the `DSMCSurfState` as -`Wall_Temperature` for verification. +Position values (which are projected onto the temperature gradient vector) beyond the gradient vector utilize the first (Start) +and second temperature (End) as the constant wall temperature, respectively. In the special case of `TempGradDir = 1/2/3`, the +temperature gradient will only be applied along the chosen the direction. As oppposed to the default case, the positions of the +surfaces are not projected onto the gradient vector before checking wether they are inside the box spanned by `TempGradStart` and +`TempGradEnd`. The applied surface temperature is output in the `DSMCSurfState` as `Wall_Temperature` for verification. ### Radiative equilibrium diff --git a/regressioncheck/CHE_DSMC/BC_DiffuseWall_TempGrad/BC_TempGrad_DSMCSurfState_000.00000001000000000_ref.h5 b/regressioncheck/CHE_DSMC/BC_DiffuseWall_TempGrad/BC_TempGrad_DSMCSurfState_000.00000001000000000_ref.h5 index 22d9eacec..acab2c224 100644 Binary files a/regressioncheck/CHE_DSMC/BC_DiffuseWall_TempGrad/BC_TempGrad_DSMCSurfState_000.00000001000000000_ref.h5 and b/regressioncheck/CHE_DSMC/BC_DiffuseWall_TempGrad/BC_TempGrad_DSMCSurfState_000.00000001000000000_ref.h5 differ diff --git a/src/particles/emission/particle_emission_tools.f90 b/src/particles/emission/particle_emission_tools.f90 index d44650b2f..3eca8041d 100644 --- a/src/particles/emission/particle_emission_tools.f90 +++ b/src/particles/emission/particle_emission_tools.f90 @@ -2108,13 +2108,13 @@ END SUBROUTINE SetParticlePositionPhotonRectangle !=================================================================================================================================== !> Check if x,y is inside honeycomb (hexagon) !=================================================================================================================================== -PPURE LOGICAL FUNCTION InsideHexagon(X,R,ri) RESULT(L) +PPURE LOGICAL FUNCTION InsideHexagon(pos,R,ri) RESULT(L) ! MODULES ! IMPLICIT VARIABLE HANDLING IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES -REAL,INTENT(IN) :: x(2),R,ri +REAL,INTENT(IN) :: pos(2),R,ri !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES !----------------------------------------------------------------------------------------------------------------------------------- @@ -2122,7 +2122,7 @@ PPURE LOGICAL FUNCTION InsideHexagon(X,R,ri) RESULT(L) REAL :: normal(2),corner(2) !=================================================================================================================================== L = .FALSE. -ASSOCIATE( x => x(1), y => x(2) ) +ASSOCIATE( x => pos(1), y => pos(2) ) ! 1.) Check if outside of bounding box IF(x.GT. R) RETURN IF(x.LT. -R) RETURN diff --git a/src/particles/surfacemodel/surfacemodel_tools.f90 b/src/particles/surfacemodel/surfacemodel_tools.f90 index dd3f54a7e..d8381ba2c 100644 --- a/src/particles/surfacemodel/surfacemodel_tools.f90 +++ b/src/particles/surfacemodel/surfacemodel_tools.f90 @@ -314,8 +314,8 @@ PPURE REAL FUNCTION CalcWallTempGradient(PointVec,locBCID) CASE(1,2,3) ! Simply using the actual position as bounds Bounds(1:3) = PointVec(1:3) - ! Wall temperature is set to the start value as the gradient can be oriented perpendicular - WallTemp2 = PB%WallTemp(locBCID) + ! Wall temperature is set to the end value + WallTemp2 = PB%WallTemp2(locBCID) END SELECT IF(MINVAL(Bounds(1:3)-PB%TempGradStart(1:3,locBCID)).LT.-EpsMach) THEN