Open ericvmueller opened 2 weeks ago
Can you bisect and see where this went south?
Sure, can do.
CELL_SIZE is -1 since it isn't defined. So we don't set N_CELLS or DX_MIN there. In shrink_loop we don't enter the loop since it become N=1,0. Looks like we need an if block for N_LAYER_CELLS and if it is 1 to return N_CELLS=1 and DX_MIN = LAYER_THICKNESS?
IF (CELL_SIZE>0._EB) THEN N_CELLS = MAX(1,NINT(LAYER_THICKNESS/CELL_SIZE)) DDSUM = REAL(N_CELLS) DX_MIN = LAYER_THICKNESS/DDSUM RETURN ENDIF
SHRINK_LOOP: DO N=1,N_LAYER_CELLS_MAX-1 DDSUM = 0._EB SUM_LOOP: DO I=1,N DDSUM = DDSUM + STRETCH_FACTOR*(MIN(I-1,N-I)) ENDDO SUM_LOOP IF ((LAYER_THICKNESS/DDSUM < CELL_SIZE_FACTORSQRT(DIFFUSIVITY)) .OR. (N==N_LAYER_CELLS_MAX-1)) THEN N_CELLS = N DX_MIN = LAYER_THICKNESS/DDSUM EXIT SHRINK_LOOP ENDIF ENDDO SHRINK_LOOP
this is in func.f90 GET_N_LAYER_CELLS
If I do this:
IF (N_LAYER_CELLS_MAX==1) THEN N_CELLS = 1 DX_MIN = LAYER_THICKNESS RETURN ENDIF
SHRINK_LOOP: DO N=1,N_LAYER_CELLS_MAX-1 DDSUM = 0._EB SUM_LOOP: DO I=1,N DDSUM = DDSUM + STRETCH_FACTOR*(MIN(I-1,N-I)) ENDDO SUM_LOOP IF ((LAYER_THICKNESS/DDSUM < CELL_SIZE_FACTORSQRT(DIFFUSIVITY)) .OR. (N==N_LAYER_CELLS_MAX-1)) THEN N_CELLS = N DX_MIN = LAYER_THICKNESS/DDSUM EXIT SHRINK_LOOP ENDIF ENDDO SHRINK_LOOP
Then I get the results below compared to 6.8.0. The spike is Kevin upping the minimum layer thickness. If I set it back to the old value it matches 6.8.0
I'll push up the change.
I landed at 72743bea3543c7b79f61089f124d399d4c205d8a ...but guess I was too slow :) Thanks, Jason!
I guessed the error was in that function given the line of read.f90 that gave you the error. TBH not sure how that ever worked before.
Jason, should we set MIN_LAYER_THICKNESS for these cases and push up new input files? Who wants the ball?
Has something changed with the interpretation of
N_LAYER_CELLS_MAX
?If I run a case like NIST_MCC_60K.fds, I get
and the surface information in the out file doesn't look right
It looks like the last time this validation case was succesfully run was FDS-6.8.0-1116-gd8b2bf4-master