Skip to content

Commit

Permalink
Merge pull request firemodels#13439 from ericvmueller/master
Browse files Browse the repository at this point in the history
Updates to trilinear interpolation for particles on stretched grids
  • Loading branch information
ericvmueller authored Sep 17, 2024
2 parents e4e69b4 + 9ea61c3 commit 3f8a838
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 181 deletions.
94 changes: 0 additions & 94 deletions Source/func.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3484,100 +3484,6 @@ SUBROUTINE UPDATE_HISTOGRAM(NBINS,LIMITS,COUNTS,VAL,WEIGHT)
COUNTS(IND)=COUNTS(IND)+WEIGHT
END SUBROUTINE UPDATE_HISTOGRAM


!> \brief Linearly interpolate the a mesh quantity onto a point
!> \param X The interpolated value of the 3D array
!> \param A The 3D array of values
!> \param I The lower x index of the array
!> \param J The lower y index of the array
!> \param K The lower z index of the array
!> \param P Fraction of the distance from the lower to upper x coordinate
!> \param R Fraction of the distance from the lower to upper y coordinate
!> \param S Fraction of the distance from the lower to upper z coordinate

SUBROUTINE MESH_TO_PARTICLE(X,A,I,J,K,P,R,S)

REAL(EB), INTENT(IN), DIMENSION(0:,0:,0:) :: A
INTEGER, INTENT(IN) :: I,J,K
REAL(EB), INTENT(IN) :: P,R,S
REAL(EB), INTENT(OUT) :: X
REAL(EB) :: PP,RR,SS

PP = 1._EB-P
RR = 1._EB-R
SS = 1._EB-S
X = ((PP*A(I,J,K) +P*A(I+1,J,K) )*RR+(PP*A(I,J+1,K) +P*A(I+1,J+1,K) )*R)*SS + &
((PP*A(I,J,K+1)+P*A(I+1,J,K+1))*RR+(PP*A(I,J+1,K+1)+P*A(I+1,J+1,K+1))*R)*S

END SUBROUTINE MESH_TO_PARTICLE


!> \brief Linearly interpolate the value at a point onto the mesh
!> \param X The interpolated value of the 3D array
!> \param A The 3D array of values
!> \param I The lower x index of the array
!> \param J The lower y index of the array
!> \param K The lower z index of the array
!> \param P Fraction of the distance from the lower to upper x coordinate
!> \param R Fraction of the distance from the lower to upper y coordinate
!> \param S Fraction of the distance from the lower to upper z coordinate

SUBROUTINE PARTICLE_TO_MESH(X,A,I,J,K,P,R,S)

REAL(EB), INTENT(INOUT), DIMENSION(0:,0:,0:) :: A
INTEGER, INTENT(IN) :: I,J,K
REAL(EB), INTENT(IN) :: P,R,S
REAL(EB), INTENT(IN) :: X
REAL(EB) :: PP,RR,SS

PP = 1._EB-P
RR = 1._EB-R
SS = 1._EB-S
A(I ,J ,K ) = A(I ,J ,K ) - X*PP*RR*SS
A(I+1,J ,K ) = A(I+1,J ,K ) - X*P *RR*SS
A(I ,J+1,K ) = A(I ,J+1,K ) - X*PP*R *SS
A(I+1,J+1,K ) = A(I+1,J+1,K ) - X*P *R *SS
A(I ,J ,K+1) = A(I ,J ,K+1) - X*PP*RR*S
A(I+1,J ,K+1) = A(I+1,J ,K+1) - X*P *RR*S
A(I ,J+1,K+1) = A(I ,J+1,K+1) - X*PP*R *S
A(I+1,J+1,K+1) = A(I+1,J+1,K+1) - X*P *R *S

END SUBROUTINE PARTICLE_TO_MESH


!> \brief Trilinear interpolation https://paulbourke.net/miscellaneous/interpolation/
!> \param V The interpolated value of the 3D array
!> \param A The 3D array of box corner values
!> \param X Fractional distance from the lower to upper x coordinate
!> \param Y Fractional distance from the lower to upper y coordinate
!> \param Z Fractional distance from the lower to upper z coordinate

SUBROUTINE TRILIN_INTERP(V,A,X,Y,Z)

REAL(EB), INTENT(IN), DIMENSION(0:1,0:1,0:1) :: A
REAL(EB), INTENT(IN) :: X,Y,Z
REAL(EB), INTENT(OUT) :: V
REAL(EB), DIMENSION(0:1,0:1,0:1) :: WGT
REAL(EB) :: XX,YY,ZZ

XX = 1._EB-X
YY = 1._EB-Y
ZZ = 1._EB-Z

WGT(0,0,0) = XX * YY * ZZ
WGT(1,0,0) = X * YY * ZZ
WGT(0,1,0) = XX * Y * ZZ
WGT(0,0,1) = XX * YY * Z
WGT(1,0,1) = X * YY * Z
WGT(0,1,1) = XX * Y * Z
WGT(1,1,0) = X * Y * ZZ
WGT(1,1,1) = X * Y * Z

V = SUM(A*WGT)

END SUBROUTINE TRILIN_INTERP


!> \brief Calculate the value of polynomial function.
!> \param N Number of coefficients in the polynomial
!> \param TEMP The independent variable
Expand Down
197 changes: 112 additions & 85 deletions Source/part.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2512,7 +2512,7 @@ END SUBROUTINE MOVE_ON_SOLID
SUBROUTINE MOVE_IN_GAS

USE PHYSICAL_FUNCTIONS, ONLY : DRAG, GET_VISCOSITY, SURFACE_DENSITY
USE MATH_FUNCTIONS, ONLY : EVALUATE_RAMP, RANDOM_CHOICE, BOX_MULLER, MESH_TO_PARTICLE, PARTICLE_TO_MESH
USE MATH_FUNCTIONS, ONLY : EVALUATE_RAMP, RANDOM_CHOICE, BOX_MULLER
USE SOOT_ROUTINES, ONLY: DROPLET_SCRUBBING
REAL(EB) :: UBAR,VBAR,WBAR,UREL,VREL,WREL,QREL,RHO_G,TMP_G,MU_FILM, &
U_OLD,V_OLD,W_OLD,ZZ_GET(1:N_TRACKED_SPECIES),WAKE_VEL,DROP_VOL_FRAC,RE_WAKE,&
Expand All @@ -2521,8 +2521,7 @@ SUBROUTINE MOVE_IN_GAS
GX_LOC,GY_LOC,GZ_LOC,DRAG_MAX(3)=0._EB,K_SGS,U_P,KN,M_DOT,&
EMBER_DENSITY,EMBER_VOLUME=0._EB,ACCEL_X,ACCEL_Y,ACCEL_Z,&
LP_FORCE,FACE_VOLS(2,2,2),VEL_G_INT(3),VOL_WGT(2,2,2),&
EMBER_PACKING_RATIO,LOCAL_PACKING_RATIO,LPC_GEOM_FACTOR,&
X_WGT,Y_WGT,Z_WGT,X_WGT2,Y_WGT2,Z_WGT2
EMBER_PACKING_RATIO,LOCAL_PACKING_RATIO,LPC_GEOM_FACTOR
REAL(EB) :: WGT(2,2,2,3)
REAL(EB), POINTER, DIMENSION(:,:,:) :: FV_D=>NULL(),VEL_G=>NULL()
REAL(EB), SAVE :: BETA
Expand Down Expand Up @@ -2556,46 +2555,29 @@ SUBROUTINE MOVE_IN_GAS
ENDIF
ENDIF

IF (ICC>0) THEN
WGT=0._EB
DO AXIS=IAXIS,KAXIS
IL = IIX; JL = JJY; KL = KKZ
IF (AXIS==IAXIS) THEN
VEL_G => U
IL = FLOOR(XI)
ELSEIF (AXIS==JAXIS) THEN
VEL_G => V
JL = FLOOR(YJ)
ELSEIF (AXIS==KAXIS) THEN
VEL_G => W
KL = FLOOR(ZK)
ENDIF
WGT=0._EB
DO AXIS=IAXIS,KAXIS
IL = IIX; JL = JJY; KL = KKZ
IF (AXIS==IAXIS) THEN
VEL_G => U
IL = FLOOR(XI)
ELSEIF (AXIS==JAXIS) THEN
VEL_G => V
JL = FLOOR(YJ)
ELSEIF (AXIS==KAXIS) THEN
VEL_G => W
KL = FLOOR(ZK)
ENDIF
IF (ICC>0) THEN
CALL GET_FACE_IDW(AXIS,IL,JL,KL,BC%X,BC%Y,BC%Z,WGT(:,:,:,AXIS))
VEL_G_INT(AXIS) = SUM(VEL_G(IL:IL+1,JL:JL+1,KL:KL+1)*WGT(:,:,:,AXIS))
ENDDO
UBAR = VEL_G_INT(IAXIS)
VBAR = VEL_G_INT(JAXIS)
WBAR = VEL_G_INT(KAXIS)
ELSE
X_WGT = XI+.5_EB-IIX
Y_WGT = YJ+.5_EB-JJY
Z_WGT = ZK+.5_EB-KKZ
X_WGT2 = XI-FLOOR(XI)
Y_WGT2 = YJ-FLOOR(YJ)
Z_WGT2 = ZK-FLOOR(ZK)

IF (X_WGT>=0.5_EB .AND. CELL(IC_OLD)%WALL_INDEX(-1)>0) X_WGT = 1._EB
IF (X_WGT< 0.5_EB .AND. CELL(IC_OLD)%WALL_INDEX( 1)>0) X_WGT = 0._EB
IF (Y_WGT>=0.5_EB .AND. CELL(IC_OLD)%WALL_INDEX(-2)>0) Y_WGT = 1._EB
IF (Y_WGT< 0.5_EB .AND. CELL(IC_OLD)%WALL_INDEX( 2)>0) Y_WGT = 0._EB
IF (Z_WGT>=0.5_EB .AND. CELL(IC_OLD)%WALL_INDEX(-3)>0) Z_WGT = 1._EB
IF (Z_WGT< 0.5_EB .AND. CELL(IC_OLD)%WALL_INDEX( 3)>0) Z_WGT = 0._EB

CALL MESH_TO_PARTICLE(UBAR,U,IIG_OLD-1,JJY,KKZ,X_WGT2,Y_WGT,Z_WGT)
CALL MESH_TO_PARTICLE(VBAR,V,IIX,JJG_OLD-1,KKZ,X_WGT,Y_WGT2,Z_WGT)
CALL MESH_TO_PARTICLE(WBAR,W,IIX,JJY,KKG_OLD-1,X_WGT,Y_WGT,Z_WGT2)
ENDIF

ELSE
CALL GET_FACE_TLW(AXIS,IL,JL,KL,BC%X,BC%Y,BC%Z,WGT(:,:,:,AXIS))
ENDIF
VEL_G_INT(AXIS) = SUM(VEL_G(IL:IL+1,JL:JL+1,KL:KL+1)*WGT(:,:,:,AXIS))
ENDDO
UBAR = VEL_G_INT(IAXIS)
VBAR = VEL_G_INT(JAXIS)
WBAR = VEL_G_INT(KAXIS)


! If the particle has a path, just follow the path and return
Expand Down Expand Up @@ -2962,32 +2944,26 @@ SUBROUTINE MOVE_IN_GAS
LP%ACCEL_Y = LP%ACCEL_Y + ACCEL_Y
LP%ACCEL_Z = LP%ACCEL_Z + ACCEL_Z

IF (ICC>0) THEN
DO AXIS=IAXIS,KAXIS
IL = IIX; JL = JJY; KL = KKZ
IF (AXIS == IAXIS) THEN
LP_FORCE = ACCEL_X/LP%RVC
IL = FLOOR(XI)
FV_D => FVX_D
ELSEIF (AXIS == JAXIS) THEN
LP_FORCE = ACCEL_Y/LP%RVC
JL = FLOOR(YJ)
FV_D => FVY_D
ELSEIF (AXIS == KAXIS) THEN
LP_FORCE = ACCEL_Z/LP%RVC
KL = FLOOR(ZK)
FV_D => FVZ_D
ENDIF
CALL GET_FACE_VOLUMES(AXIS,IL,JL,KL,FACE_VOLS)
VOL_WGT = FACE_VOLS*WGT(:,:,:,AXIS)
IF (ANY(VOL_WGT>TWO_EPSILON_EB)) VOL_WGT=WGT(:,:,:,AXIS)/SUM(VOL_WGT)
FV_D(IL:IL+1, JL:JL+1, KL:KL+1) = FV_D(IL:IL+1, JL:JL+1, KL:KL+1) - LP_FORCE*VOL_WGT
ENDDO
ELSE
CALL PARTICLE_TO_MESH(ACCEL_X,FVX_D,IIG_OLD-1,JJY,KKZ,X_WGT2,Y_WGT,Z_WGT)
CALL PARTICLE_TO_MESH(ACCEL_Y,FVY_D,IIX,JJG_OLD-1,KKZ,X_WGT,Y_WGT2,Z_WGT)
CALL PARTICLE_TO_MESH(ACCEL_Z,FVZ_D,IIX,JJY,KKG_OLD-1,X_WGT,Y_WGT,Z_WGT2)
ENDIF
DO AXIS=IAXIS,KAXIS
IL = IIX; JL = JJY; KL = KKZ
IF (AXIS == IAXIS) THEN
LP_FORCE = ACCEL_X/LP%RVC
IL = FLOOR(XI)
FV_D => FVX_D
ELSEIF (AXIS == JAXIS) THEN
LP_FORCE = ACCEL_Y/LP%RVC
JL = FLOOR(YJ)
FV_D => FVY_D
ELSEIF (AXIS == KAXIS) THEN
LP_FORCE = ACCEL_Z/LP%RVC
KL = FLOOR(ZK)
FV_D => FVZ_D
ENDIF
CALL GET_FACE_VOLUMES(AXIS,IL,JL,KL,FACE_VOLS)
VOL_WGT = FACE_VOLS*WGT(:,:,:,AXIS)
IF (ANY(VOL_WGT>TWO_EPSILON_EB)) VOL_WGT=WGT(:,:,:,AXIS)/SUM(VOL_WGT)
FV_D(IL:IL+1, JL:JL+1, KL:KL+1) = FV_D(IL:IL+1, JL:JL+1, KL:KL+1) - LP_FORCE*VOL_WGT
ENDDO

! store C_DRAG for output

Expand Down Expand Up @@ -3219,25 +3195,21 @@ SUBROUTINE GET_FACE_IDW(AXIS,I,J,K,P_X,P_Y,P_Z,IDW)
ELSE
XYZ_INT = (/X_F(II),Y_F(JJ),Z_F(KK)/)
ENDIF
IF (DIST>TWO_EPSILON_EB) THEN
IDW(II-I+1,JJ-J+1,KK-K+1) = 0._EB
DIST = NORM2((/P_X,P_Y,P_Z/)-XYZ_INT)
! Special case where location is directly on face
IF (DIST<TWO_EPSILON_EB) THEN
IDW = 0._EB
IDW(II-I+1,JJ-J+1,KK-K+1) = 1._EB
EXIT FACE_LOOP
ELSE
DIST = NORM2((/P_X,P_Y,P_Z/)-XYZ_INT)
! Special case where location is directly on face
IF (DIST<TWO_EPSILON_EB) THEN
IDW = 0._EB
IDW(II-I+1,JJ-J+1,KK-K+1) = 1._EB
EXIT FACE_LOOP
ELSE
D_WGT = 1._EB/DIST**6._EB
ENDIF
! face is solid
IF(CELL(CELL_INDEX(II,JJ,KK))%WALL_INDEX(AXIS)>0) D_WGT = 0._EB
IF (CC_IBM .AND. D_WGT>0._EB) THEN
IF(FCVAR(II,JJ,KK,CC_FGSC,AXIS)==CC_SOLID) D_WGT = 0._EB
ENDIF
IDW(II-I+1,JJ-J+1,KK-K+1) = D_WGT
D_WGT = 1._EB/DIST**6._EB
ENDIF
! face is solid
IF(CELL(CELL_INDEX(II,JJ,KK))%WALL_INDEX(AXIS)>0) D_WGT = 0._EB
IF (CC_IBM .AND. D_WGT>0._EB) THEN
IF(FCVAR(II,JJ,KK,CC_FGSC,AXIS)==CC_SOLID) D_WGT = 0._EB
ENDIF
IDW(II-I+1,JJ-J+1,KK-K+1) = D_WGT
ENDDO
ENDDO
ENDDO FACE_LOOP
Expand All @@ -3264,6 +3236,61 @@ SUBROUTINE GET_FACE_IDW(AXIS,I,J,K,P_X,P_Y,P_Z,IDW)

END SUBROUTINE GET_FACE_IDW

!> \brief Get Tri-Linear interpolation Weight (TLW) values for nearest gas faces
!> \param AXIS The axis of the face quantity
!> \param I The lower x index
!> \param J The lower y index
!> \param K The lower z index
!> \param P_X Sample point location in x
!> \param P_Y Sample point location in y
!> \param P_Z Sample point location in z
!> \param TLW 2x2x2 matrix of weights for cartesian faces

SUBROUTINE GET_FACE_TLW(AXIS,I,J,K,P_X,P_Y,P_Z,TLW)

REAL(EB), INTENT(IN) :: P_X,P_Y,P_Z
REAL(EB), INTENT(OUT) :: TLW(0:1,0:1,0:1)
INTEGER, INTENT(IN) :: AXIS,I,J,K
REAL(EB) :: P,PP,R,RR,S,SS
REAL(EB), POINTER :: X_F(:),Y_F(:),Z_F(:)

TLW=0._EB

X_F=>XC
Y_F=>YC
Z_F=>ZC
SELECT CASE(AXIS)
CASE(IAXIS); X_F=>X
CASE(JAXIS); Y_F=>Y
CASE(KAXIS); Z_F=>Z
END SELECT

P = (P_X-X_F(I))/(X_F(I+1)-X_F(I))
R = (P_Y-Y_F(J))/(Y_F(J+1)-Y_F(J))
S = (P_Z-Z_F(K))/(Z_F(K+1)-Z_F(K))

IF (AXIS/=IAXIS .AND. IIG_OLD> I .AND. CELL(IC_OLD)%WALL_INDEX(-1)>0) P = 1._EB
IF (AXIS/=IAXIS .AND. IIG_OLD==I .AND. CELL(IC_OLD)%WALL_INDEX( 1)>0) P = 0._EB
IF (AXIS/=JAXIS .AND. JJG_OLD> J .AND. CELL(IC_OLD)%WALL_INDEX(-2)>0) R = 1._EB
IF (AXIS/=JAXIS .AND. JJG_OLD==J .AND. CELL(IC_OLD)%WALL_INDEX( 2)>0) R = 0._EB
IF (AXIS/=KAXIS .AND. KKG_OLD> K .AND. CELL(IC_OLD)%WALL_INDEX(-3)>0) S = 1._EB
IF (AXIS/=KAXIS .AND. KKG_OLD==K .AND. CELL(IC_OLD)%WALL_INDEX( 3)>0) S = 0._EB

PP = 1._EB-P
RR = 1._EB-R
SS = 1._EB-S

TLW(0,0,0) = PP * RR * SS
TLW(1,0,0) = P * RR * SS
TLW(0,1,0) = PP * R * SS
TLW(0,0,1) = PP * RR * S
TLW(1,0,1) = P * RR * S
TLW(0,1,1) = PP * R * S
TLW(1,1,0) = P * R * SS
TLW(1,1,1) = P * R * S

END SUBROUTINE GET_FACE_TLW

!> \brief Return face volumes for distribution of quantity onto faces
!> \param AXIS The axis for the face centered quantity
!> \param I The lower x index
Expand Down
4 changes: 2 additions & 2 deletions Utilities/Matlab/FDS_verification_dataplot_inputs.csv
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ d,obst_coarse_fine_interface,Pressure_Effects/obst_coarse_fine_interface_git.txt
d,opening_ulmat,Pressure_Solver/opening_ulmat_git.txt,Pressure_Solver/opening_pressure_error.csv,1,2,Time,Pressure Tolerance,Ideal (Pressure Tolerance),ko--,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pressure_Solver/opening_ulmat_devc.csv,2,3,Time,perr-max,FDS (p err max),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pressure Error (opening\_ulmat),Time (s),Pressure Error (Pa),0,10,1,0,1.00E-06,1,no,0.05 0.90,SouthEast,,1,semilogy,FDS_User_Guide/SCRIPT_FIGURES/opening_ulmat,Absolute Error,tolerance,1.00E-10,Pressure Solver,k+,k,TeX
d,parabolic_profile,Flowfields/parabolic_profile_git.txt,Flowfields/parabolic_profile.csv,1,2,Time,Pressure,Exact (Pressure),ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Flowfields/parabolic_profile_devc.csv,2,3,Time,pres,FDS (pres),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pressure (parabolic\_profile),Time (s),Pressure (Pa),0,60,1,0,2500,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/parabolic_profile,Relative Error,end,0.01,Pressure Effects,k+,k,TeX
d,part_attenuation,Radiation/part_attenuation_git.txt,Radiation/part_attenuation_devc.csv,2,3,Time,Ref,Reference,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Radiation/part_attenuation_devc.csv,2,3,Time,Transparent|Water|Fuel|Opaque,Transparent|Water|Fuel|Opaque,k-|k--|r-.|b-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Radiation attenuation (part\_attenuation),Time (s),Radiative heat flux (kW/m²),0,2,1,3.9,6,1,no,0.05 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/part_attenuation,N/A,end,0,Radiation,kd,k,TeX
d,part_drag_stretched,WUI/part_drag_stretched_git.txt,WUI/part_drag_stretched_devc.csv,2,3,Time,Fx_p,Fx part,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,WUI/part_drag_stretched_devc.csv,2,3,Time,Fx_g,Fx gas,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Particle drag (part\_drag\_stretched),Time (s),Drag force (N),0,30,1,-2e-5,0e-5,1,no,0.05 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/part_drag_stretched,Relative Error,end,0.03,WUI,kd,k,TeX
d,part_drag_stretched,WUI/part_drag_stretched_git.txt,WUI/part_drag_stretched_devc.csv,2,3,Time,Fx_p,Fx part,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,WUI/part_drag_stretched_devc.csv,2,3,Time,Fx_g,Fx gas,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Particle drag (part\_drag\_stretched),Time (s),Drag force (N),0,30,1,-2.00E-02,0.00E+00,1,no,0.05 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/part_drag_stretched,Relative Error,end,0.03,WUI,kd,k,TeX
d,particle_drag_U10_N16,Sprinklers_and_Sprays/particle_drag_U10_N16_git.txt,Sprinklers_and_Sprays/particle_drag_U10_N16.csv,1,2,T,U,Analytical,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Sprinklers_and_Sprays/particle_drag_U10_N16_devc.csv,2,3,Time,U-VEL,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Gas phase velocity (particle\_drag\_A),Time (s),Velocity (m/s),0,100,1,0,12,1,no,0.05 0.90,East,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/particle_drag_A,Absolute Error,end,0.01,Sprinklers and Sprays,kd,k,TeX
d,particle_drag_U50_N16,Sprinklers_and_Sprays/particle_drag_U50_N16_git.txt,Sprinklers_and_Sprays/particle_drag_U50_N16.csv,1,2,T,U,Analytical,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Sprinklers_and_Sprays/particle_drag_U50_N16_devc.csv,2,3,Time,U-VEL,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Gas phase velocity (particle\_drag\_B),Time (s),Velocity (m/s),0,50,1,0,60,1,no,0.05 0.90,East,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/particle_drag_B,Absolute Error,end,0.01,Sprinklers and Sprays,kd,k,TeX
d,particle_drag_U100_N16,Sprinklers_and_Sprays/particle_drag_U100_N16_git.txt,Sprinklers_and_Sprays/particle_drag_U100_N16.csv,1,2,T,U,Analytical,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Sprinklers_and_Sprays/particle_drag_U100_N16_devc.csv,2,3,Time,U-VEL,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Gas phase velocity (particle\_drag\_C),Time (s),Velocity (m/s),0,25,1,0,120,1,no,0.05 0.90,East,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/particle_drag_C,Absolute Error,end,0.01,Sprinklers and Sprays,kd,k,TeX
Expand Down Expand Up @@ -703,4 +703,4 @@ f,pine_wood_TGA,Pyrolysis/pine_wood_TGA_exp13_3C_cat_git.txt,Pyrolysis/pine_wood
f,pine_wood_TGA,Pyrolysis/pine_wood_TGA_exp13_3C_cat_git.txt,Pyrolysis/pine_wood_TGA.csv,3,4,Temp,MLR 15,Exp (10 K/min),b*,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolysis/pine_wood_TGA_exp15_3C_cat_tga.csv,2,3,Temp,Total MLR,FDS (10 K/min),b-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,20.5% O_2 (pine\_wood\_TGA\_3C),Temperature (°C),Normalized Mass Loss Rate (1/s),200,550,1,0,3.20E-03,1,no,0.05 0.90,East,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/pine_wood_TGA_3C_rate,N/A,end,0,pine wood TGA,kd,k,TeX
s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
g,sphere_leak,Complex_Geometry/sphere_leak_git.txt,Complex_Geometry/sphere_leak.csv,1,2,Time,Pressure,Exact,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Complex_Geometry/sphere_leak_devc.csv,2,3,Time,Pressure,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pressure Rise (sphere\_leak),Time (s),Pressure (Pa),0,100,1,0,5000,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/sphere_leak,Relative Error,max,0.05,Pressure Effects,k+,k,TeX
d,sphere_radiate,Complex_Geometry/sphere_radiate_git.txt,Complex_Geometry/sphere_radiate.csv,1,2,Time,HF,Exact,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Complex_Geometry/sphere_radiate_devc.csv,2,3,Time,HF1,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Heat Flux (sphere\_radiate),Time (s),Heat Flux (kW/m²),0,0.01,1,0,8,1,no,0.05 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/sphere_radiate,Relative Error,max,0.07,Radiation,bs,b,TeX
d,sphere_radiate,Complex_Geometry/sphere_radiate_git.txt,Complex_Geometry/sphere_radiate.csv,1,2,Time,HF,Exact,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Complex_Geometry/sphere_radiate_devc.csv,2,3,Time,HF1,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Heat Flux (sphere\_radiate),Time (s),Heat Flux (kW/m²),0,0.01,1,0,8,1,no,0.05 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/sphere_radiate,Relative Error,max,0.07,Radiation,bs,b,TeX

0 comments on commit 3f8a838

Please sign in to comment.