Skip to content

Commit 11b0f35

Browse files
authored
Merge pull request #14146 from ericvmueller/master
FDS Source: clean up CONE_MESH_INTERSECTION_VOLUME to improve speed f…
2 parents ff8a1a4 + db465dc commit 11b0f35

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Source/func.f90

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9406,7 +9406,20 @@ REAL(EB) FUNCTION CONE_MESH_INTERSECTION_VOLUME(NM,X0,Y0,Z0,RR0,RRI,HH0,G_FACTOR
94069406
Z_MIN = MAX(M%ZS,Z0)
94079407
Z_MAX = MIN(M%ZF,Z0+HH0)
94089408
IF (X_MAX<=X_MIN .OR. Y_MAX<=Y_MIN .OR. Z_MAX<=Z_MIN) RETURN
9409+
IF ((X_MIN-M%XS)>TWO_EPSILON_EB .AND. (M%XF-X_MAX)>TWO_EPSILON_EB &
9410+
.AND. (Y_MIN-M%YS)>TWO_EPSILON_EB .AND. (M%YF-Y_MAX)>TWO_EPSILON_EB &
9411+
.AND. (Z_MIN-M%ZS)>TWO_EPSILON_EB .AND. (M%ZF-Z_MAX)>TWO_EPSILON_EB) THEN
9412+
IF (G_FACTOR==0) THEN
9413+
CONE_MESH_INTERSECTION_VOLUME = PI*(RR0**2._EB-RRI**2._EB)*HH0
9414+
ELSEIF (G_FACTOR==1) THEN
9415+
CONE_MESH_INTERSECTION_VOLUME = PI*(RR0**2._EB-RRI**2._EB)*HH0/3._EB
9416+
ENDIF
9417+
RETURN
9418+
ENDIF
9419+
94099420
SHORT_DIMENSION = MIN(X_MAX-X_MIN,Y_MAX-Y_MIN,Z_MAX-Z_MIN)
9421+
! Limit resolution length scale
9422+
SHORT_DIMENSION = MAX(SHORT_DIMENSION, 0.1_EB*MIN(M%DXMIN,M%DYMIN,M%DZMIN))
94109423
NX = CEILING(50*(X_MAX-X_MIN)/SHORT_DIMENSION)
94119424
NY = CEILING(50*(Y_MAX-Y_MIN)/SHORT_DIMENSION)
94129425
NZ = CEILING(50*(Z_MAX-Z_MIN)/SHORT_DIMENSION)

0 commit comments

Comments
 (0)