Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Build/impi_intel_linux_openmp_db/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Detecting OpenMP Thread Race Conditions

To check for OpenMP race conditions, add `-fsanitize=thread` to the arguments (`FFLAGS`) for `impi_intel_linux_openmp_db` and add the lines
```
export OMP_TOOL_LIBRARIES='libarcher.so'
export TSAN_OPTIONS='ignore_noninstrumented_modules=1'
```
to the bash script containing the PBS/Torque or Slurm directives.

Then run a short, small job and race errors should be written to the `.err` file.

2 changes: 1 addition & 1 deletion Manuals/FDS_User_Guide/FDS_User_Guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2299,7 +2299,7 @@ \subsubsection{Output for Convective Heat Transfer Regime}

\subsubsection{Specified Convective Heat Transfer Coefficient}

To specify the convective heat transfer coefficient, set it to a constant using \ct{HEAT_TRANSFER_COEFFICIENT} on the \ct{SURF} line in units of \unit{W/(m^2.K)} with optional time dependent ramp using \ct{RAMP_HEAT_TRANSFER_COEFFICIENT}. If the back side of the solid obstruction faces the exterior of the computational domain and the solid conducts heat, the heat transfer coefficient of the back side may be specified using \ct{HEAT_TRANSFER_COEFFICIENT_BACK} with optional time dependent ramp ramp using \ct{RAMP_HEAT_TRANSFER_COEFFICIENT_BACK}. This back side condition is appropriate for a \ct{SURF} line with \ct{BACKING='VOID'} or \ct{BACKING='EXPOSED'}.
To specify the convective heat transfer coefficient, set it to a constant using \ct{HEAT_TRANSFER_COEFFICIENT} on the \ct{SURF} line in units of \unit{W/(m^2.K)} with optional time dependent ramp using \ct{RAMP_HEAT_TRANSFER_COEFFICIENT}. If the back side of the solid obstruction faces the exterior of the computational domain and the solid conducts heat, the heat transfer coefficient of the back side may be specified using \ct{HEAT_TRANSFER_COEFFICIENT_BACK} with optional time dependent ramp ramp using \ct{RAMP_HEAT_TRANSFER_COEFFICIENT_BACK}. This back side condition is appropriate for a \ct{SURF} line with \ct{BACKING='VOID'} or if the solid obsttuction backs to the exterior of the computational domain.

\subsubsection{Impinging Jet Heat Transfer Model}
\label{info:impinging_jet}
Expand Down
4 changes: 2 additions & 2 deletions Source/cons.f90
Original file line number Diff line number Diff line change
Expand Up @@ -346,8 +346,8 @@ MODULE GLOBAL_CONSTANTS
REAL(EB), ALLOCATABLE, DIMENSION(:) :: H_V_H2O !< Heat of vaporization for water (J/kg)
REAL(EB) :: CHI_R_MIN=0._EB !< Lower bound for radiative fraction
REAL(EB) :: CHI_R_MAX=1._EB !< Upper bound for radiative fraction
REAL(EB) :: SPHERE_FILM_FAC=ONTH !< Factor used in droplet evaporation algorithm for droplets
REAL(EB) :: PLATE_FILM_FAC=ONTH !< Factor used in droplet evaporation algorithm for walls
REAL(EB) :: SPHERE_FILM_FACTOR=ONTH !< Weighting factor used in droplet evaporation algorithm for droplets
REAL(EB) :: PLATE_FILM_FACTOR=ONTH !< Weighting factor used in droplet evaporation algorithm for walls
REAL(EB) :: ORIGIN_LAT=-1.E6_EB !< Latitude of terrain map
REAL(EB) :: ORIGIN_LON=-1.E6_EB !< Longitude of terrain map
REAL(EB) :: NORTH_BEARING=0._EB !< North bearing for terrain map
Expand Down
4 changes: 2 additions & 2 deletions Source/part.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3946,7 +3946,7 @@ SUBROUTINE PARTICLE_MASS_ENERGY_TRANSFER(T,DT,NM)

SOLID_OR_GAS_PHASE_2: IF (BC%IOR/=0 .AND. (LP%WALL_INDEX>0 .OR. LP%CFACE_INDEX>0) .AND. .NOT. SF_FIXED) THEN

CALL GET_FILM_PROPERTIES(1,PLATE_FILM_FAC,Y_DROP_A,Y_GAS_A,Z_INDEX_A,TMP_DROP,TMP_G,ZZ_GET, &
CALL GET_FILM_PROPERTIES(1,PLATE_FILM_FACTOR,Y_DROP_A,Y_GAS_A,Z_INDEX_A,TMP_DROP,TMP_G,ZZ_GET, &
PBAR(KK,PRESSURE_ZONE(II,JJ,KK)),TMP_FILM,MU_FILM,&
K_FILM,CP_FILM,D_FILM,RHO_FILM,PR_FILM,SC_FILM)

Expand Down Expand Up @@ -4018,7 +4018,7 @@ SUBROUTINE PARTICLE_MASS_ENERGY_TRANSFER(T,DT,NM)

ELSE SOLID_OR_GAS_PHASE_2

CALL GET_FILM_PROPERTIES(1,SPHERE_FILM_FAC,Y_DROP_A,Y_GAS_A,Z_INDEX_A,TMP_DROP,TMP_G,ZZ_GET,&
CALL GET_FILM_PROPERTIES(1,SPHERE_FILM_FACTOR,Y_DROP_A,Y_GAS_A,Z_INDEX_A,TMP_DROP,TMP_G,ZZ_GET,&
PBAR(KK,PRESSURE_ZONE(II,JJ,KK)),TMP_FILM,MU_FILM,&
K_FILM,CP_FILM,D_FILM,RHO_FILM,PR_FILM,SC_FILM)

Expand Down
8 changes: 8 additions & 0 deletions Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -8305,6 +8305,13 @@ SUBROUTINE READ_SURF(QUICK_READ)
CALL SHUTDOWN(MESSAGE) ; RETURN
END SELECT

SELECT CASE(SF%GEOMETRY)
CASE DEFAULT ; SF%FILM_FACTOR = PLATE_FILM_FACTOR
CASE(SURF_SPHERICAL) ; SF%FILM_FACTOR = SPHERE_FILM_FACTOR
CASE(SURF_CYLINDRICAL,SURF_INNER_CYLINDRICAL) ; SF%FILM_FACTOR = PLATE_FILM_FACTOR
CASE(SURF_CARTESIAN) ; SF%FILM_FACTOR = PLATE_FILM_FACTOR
END SELECT

SF%H_V = 1000._EB*HEAT_OF_VAPORIZATION
SELECT CASE(HEAT_TRANSFER_MODEL)
CASE DEFAULT
Expand Down Expand Up @@ -9517,6 +9524,7 @@ SUBROUTINE PROC_SURF_2
SF%SPECIES_BC_INDEX = HVAC_BOUNDARY
ENDIF
IF (N==MASSLESS_TARGET_SURF_INDEX) THEN
SF%H_FIXED = 10._EB
SF%EMISSIVITY = 1._EB
ENDIF

Expand Down
1 change: 1 addition & 0 deletions Source/type.f90
Original file line number Diff line number Diff line change
Expand Up @@ -910,6 +910,7 @@ MODULE TYPES
REAL(EB) :: CHI_R_EFF !< Effective radiative fraction for S_pyro
REAL(EB) :: TIME_STEP_FACTOR=10._EB !< Maximum amount to reduce solid phase conduction time step
REAL(EB) :: REMESH_RATIO=0.05 !< Fraction change in wall node DX to trigger a remesh
REAL(EB) :: FILM_FACTOR=ONTH !< Weighting factor for evaluating surface file properties

REAL(EB), ALLOCATABLE, DIMENSION(:) :: DX,RDX,RDXN,X_S,DX_WGT,MF_FRAC,PARTICLE_INSERT_CLOCK
REAL(EB), ALLOCATABLE, DIMENSION(:,:) :: RHO_0
Expand Down
Loading