Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
c444053
FDS Source: Add additional CTRL functions
drjfloyd Aug 4, 2026
938570a
Merge pull request #16473 from drjfloyd/master
drjfloyd Aug 4, 2026
16a3cd5
FDS Validation: Edits to Utiskul
mcgratta Aug 4, 2026
04f2f70
Merge pull request #16474 from mcgratta/master
mcgratta Aug 4, 2026
ac6f4cf
FDS Source: Fix bug in STEADY function.
drjfloyd Aug 4, 2026
4d92114
Merge pull request #16475 from drjfloyd/master
drjfloyd Aug 4, 2026
4b09778
FDS Validation: Edits to fireball cases
mcgratta Aug 4, 2026
3f458ff
Merge pull request #16476 from mcgratta/master
mcgratta Aug 4, 2026
949f911
FDS Validation: Add Fireball_Diameter
mcgratta Aug 4, 2026
993b2a6
Merge pull request #16477 from mcgratta/master
mcgratta Aug 4, 2026
babdb7d
Python: read csv by columns (helps with large cfast files)
rmcdermo Aug 4, 2026
a1e5ffe
Merge pull request #16478 from rmcdermo/master
rmcdermo Aug 4, 2026
6051722
FDS Validation: Minor edit
mcgratta Aug 4, 2026
9912a37
Merge pull request #16479 from mcgratta/master
mcgratta Aug 4, 2026
73f81c8
FDS Source: fix bug with live fuel moisture in level set fuel models
ericvmueller Aug 5, 2026
8ba9d3b
FDS Source: Add DRIP_DIAMETER
mcgratta Aug 5, 2026
74905be
Merge pull request #16481 from mcgratta/master
mcgratta Aug 5, 2026
51d328e
FDS Validation: Get max value of HF
mcgratta Aug 5, 2026
51391f3
Merge pull request #16482 from mcgratta/master
mcgratta Aug 5, 2026
1f1c520
Merge pull request #16483 from ericvmueller/master
ericvmueller Aug 5, 2026
b507c92
github-actions: Updated to oneAPI 2026.1.0.
marcfehling Aug 6, 2026
74f5ae0
FDS Source: fix bug in fuel mass flux for Anderson level set fuels
ericvmueller Aug 6, 2026
34feea3
Merge pull request #16486 from ericvmueller/master
ericvmueller Aug 6, 2026
0591b0b
Merge pull request #16485 from marcfehling/update-oneapi
rmcdermo Aug 6, 2026
7193409
FDS Verification: update level_set_fuel_model_1 target to match expec…
ericvmueller Aug 7, 2026
daee62c
Merge pull request #16488 from ericvmueller/master
ericvmueller Aug 7, 2026
65fe17e
FDS User Guide: update description of level_set_fuel_model_1 example
ericvmueller Aug 10, 2026
a30dd01
Merge pull request #16489 from ericvmueller/master
ericvmueller Aug 10, 2026
9cc0520
Merge remote-tracking branch 'firemodels/master' into FireX
cxp484 Aug 11, 2026
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
6 changes: 3 additions & 3 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: cmake
env:
# update urls for oneapi packages according to
# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml
WINDOWS_TOOLKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/bae85ab1-cfcd-4251-8d42-a0c27949ea33/intel-oneapi-toolkit-2026.0.0.193_offline.exe
WINDOWS_TOOLKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/4144bec3-82ce-4672-bd71-5c93a79cd5e7/intel-oneapi-toolkit-2026.1.0.191_offline.exe
WINDOWS_TOOLKIT_COMPONENTS: intel.oneapi.win.ifort-compiler:intel.oneapi.win.mpi.devel:intel.oneapi.win.mkl.devel

on:
Expand Down Expand Up @@ -63,7 +63,7 @@ jobs:
apt-get -y install -y git gcc make cmake sudo environment-modules

# # Setup OneAPI, icx is necessary for third-party libs
# - uses: rscohn2/setup-oneapi@v0
# - uses: marcfehling/setup-oneapi@v0
# if: endsWith(matrix.compiler_mpi, '_intelmpi') != true
# with:
# components: |
Expand All @@ -72,7 +72,7 @@ jobs:
# mkl

# Setup OneAPI, icx is necessary for third-party libs
- uses: rscohn2/setup-oneapi@v0
- uses: marcfehling/setup-oneapi@v0
# if: endsWith(matrix.compiler_mpi, '_intelmpi')
with:
components: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ jobs:
runs-on: [ubuntu-latest]

steps:
- uses: rscohn2/setup-oneapi@v0
- uses: marcfehling/setup-oneapi@v0
with:
components: |
ifx@2026.0.0
ifx@2026.1.0
[email protected]
mkl@2026.0.0
mkl@2026.1.0
prune: false

- uses: actions/checkout@v7
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install libopenmpi-dev openmpi-bin
- uses: rscohn2/setup-oneapi@v0
- uses: marcfehling/setup-oneapi@v0
with:
components: |
[email protected]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ permissions:
env:
# update urls for oneapi packages according to
# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml
WINDOWS_TOOLKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/bae85ab1-cfcd-4251-8d42-a0c27949ea33/intel-oneapi-toolkit-2026.0.0.193_offline.exe
WINDOWS_TOOLKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/4144bec3-82ce-4672-bd71-5c93a79cd5e7/intel-oneapi-toolkit-2026.1.0.191_offline.exe
WINDOWS_TOOLKIT_COMPONENTS: intel.oneapi.win.ifort-compiler:intel.oneapi.win.mpi.devel:intel.oneapi.win.mkl.devel


Expand Down
47 changes: 40 additions & 7 deletions Manuals/FDS_User_Guide/FDS_User_Guide.tex

Large diffs are not rendered by default.

17 changes: 14 additions & 3 deletions Manuals/FDS_Validation_Guide/Plume_Chapter.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1176,21 +1176,32 @@ \section{Flame Tilt}

\clearpage

\section{Fireball Diameter}
\section{Fireball Diameter and Height}
\label{Fireball Diameter}
\label{Fireball Height}

A fireball is caused by a sudden, violent rupture of a container containing volatile liquids or gases, typically under high pressure. Figure~\ref{Fireball_Diameter_Scatterplot} summarizes comparisons of the measured and predicted maximum horizontal fireball diameter of several sets of experiments.
A fireball is caused by a sudden, violent rupture of a container containing volatile liquids or gases, typically under high pressure. Figure~\ref{Fireball_Diameter_Scatterplot} summarizes comparisons of the measured and predicted maximum horizontal fireball diameter of several sets of experiments. Figure~\ref{Fireball_Height_Scatterplot} summarizes comparisons of the measured and predicted fireball heights; that is, the height of the fireball at the time of maximum diameter.

\begin{figure}[!h]
\begin{center}
\includegraphics[height=4.in]{SCRIPT_FIGURES/Scatterplots/FDS_Fireball_Diameter}
\includegraphics[height=3.in]{SCRIPT_FIGURES/Scatterplots/FDS_Fireball_Diameter}
\end{center}
\caption[Summary of fireball diameter predictions]
{Summary of measured and predicted maximum fireball diameter.}
\label{Fireball_Diameter_Scatterplot}
\end{figure}


\begin{figure}[!h]
\begin{center}
\includegraphics[height=3.in]{SCRIPT_FIGURES/Scatterplots/FDS_Fireball_Height}
\end{center}
\caption[Summary of fireball height predictions]
{Summary of measured and predicted fireball height.}
\label{Fireball_Height_Scatterplot}
\end{figure}


\clearpage

\section{Harrison Spill Plumes/Entrainment Experiments}
Expand Down
2 changes: 1 addition & 1 deletion Manuals/FDS_Validation_Guide/Species_Chapter.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1875,7 +1875,7 @@ \subsection{NIST Pool Fires}
\subsection{Utiskul Compartment}
\label{sec:Utiskul_Compartment}

A summary of the experiments is given in Sec.~\ref{Utiskul_Compartments_Description}. Figures~\ref{Utiskul_1} through \ref{Utiskul_4} display comparisons of measured and predicted compartment and ceiling jet temperatures, pressure, heat flux, and species concentration. The fuel mass loss rate is specified, not predicted, by the model.
A summary of the experiments is given in Sec.~\ref{Utiskul_Compartment_Description}. Figures~\ref{Utiskul_1} through \ref{Utiskul_4} display comparisons of measured and predicted compartment and ceiling jet temperatures, pressure, heat flux, and species concentration. The fuel mass loss rate is specified, not predicted, by the model.

The species concentrations are measured at extraction points 2~cm above the floor and 2~cm below the ceiling, 10~cm from the vents along the compartment centerline. The ceiling jet temperatures are taken 2~cm below the ceiling along the centerline, at locations 2.5~cm from the upper vent (TC2), 2.5~cm from the back wall (TC13), and at the ceiling center (TC17). The pressures are taken 1.5~cm above the floor and below the ceiling, 2.5~cm from the side wall, and 5~cm from the front wall, where the vents are located.

Expand Down
167 changes: 166 additions & 1 deletion Source/ctrl.f90
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ RECURSIVE SUBROUTINE EVALUATE_CONTROL(T,ID,DT,CTRL_STOP_STATUS)
USE MATH_FUNCTIONS, ONLY: EVALUATE_RAMP
USE OUTPUT_CLOCKS, ONLY: RSRT_CLOCK,RSRT_COUNTER
REAL(EB), INTENT(IN) :: T,DT
REAL(EB) :: RAMP_VALUE,T_CHANGE,RAMP_INPUT,PID_VALUE
REAL(EB) :: RAMP_VALUE,T_CHANGE,RAMP_INPUT,PID_VALUE,VALUE1,VALUE2
INTEGER :: NC,COUNTER,K,NN
INTEGER, INTENT(IN) :: ID
TYPE(CONTROL_TYPE), POINTER :: CF
Expand Down Expand Up @@ -792,6 +792,171 @@ RECURSIVE SUBROUTINE EVALUATE_CONTROL(T,ID,DT,CTRL_STOP_STATUS)
ENDIF
T_CHANGE = T

CASE (CF_MEMORY)

SELECT CASE (CF%INPUT_TYPE(1))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(1))
CF%MESH = DV%MESH
STATE2 = DV%CURRENT_STATE
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(1))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(1),DT,CTRL_STOP_STATUS)
STATE2 = CONTROL(CF%INPUT(1))%CURRENT_STATE
CF => CONTROL(ID)
ENDIF
STATE2 = CF%CURRENT_STATE
CF%MESH=CONTROL(CF%INPUT(1))%MESH
END SELECT

IF (STATE2) THEN
SELECT CASE (CF%INPUT_TYPE(2))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(2))
CF%INSTANT_VALUE = DV%SMOOTHED_VALUE
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(2))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(1),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
CF%INSTANT_VALUE = CONTROL(CF%INPUT(1))%INSTANT_VALUE
ENDIF
END SELECT
ENDIF

CASE (CF_STEADY)
CF%INSTANT_VALUE=0._EB

SELECT CASE (CF%INPUT_TYPE(1))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(1))
VALUE1 = DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(1))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(1),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE1 = CONTROL(CF%INPUT(1))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(1))%MESH
END SELECT

IF (ABS(VALUE1 - CF%PREVIOUS_VALUE) < 10._EB * SPACING(MAX(VALUE1,CF%PREVIOUS_VALUE))) STATE2 = .TRUE.
CF%PREVIOUS_VALUE = VALUE1
CF%INSTANT_VALUE = VALUE1
T_CHANGE = T

CASE (CF_LT)
CF%INSTANT_VALUE=0._EB

SELECT CASE (CF%INPUT_TYPE(1))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(1))
VALUE1 = DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(1))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(1),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE1 = CONTROL(CF%INPUT(1))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(1))%MESH
CASE (CONSTANT_INPUT)
VALUE1 = CF%CONSTANT
END SELECT

SELECT CASE (CF%INPUT_TYPE(2))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(2))
VALUE2 = CF%INSTANT_VALUE ** DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(2))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(2),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE2 = CF%INSTANT_VALUE ** CONTROL(CF%INPUT(2))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(2))%MESH
CASE (CONSTANT_INPUT)
VALUE2 = CF%INSTANT_VALUE ** CF%CONSTANT
END SELECT

IF (VALUE1 < VALUE2) STATE2 = .TRUE.
T_CHANGE = T
CASE (CF_GT)
CF%INSTANT_VALUE=0._EB

SELECT CASE (CF%INPUT_TYPE(1))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(1))
VALUE1 = DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(1))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(1),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE1 = CONTROL(CF%INPUT(1))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(1))%MESH
CASE (CONSTANT_INPUT)
VALUE1 = CF%CONSTANT
END SELECT

SELECT CASE (CF%INPUT_TYPE(2))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(2))
VALUE2 = CF%INSTANT_VALUE ** DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(2))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(2),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE2 = CF%INSTANT_VALUE ** CONTROL(CF%INPUT(2))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(2))%MESH
CASE (CONSTANT_INPUT)
VALUE2 = CF%INSTANT_VALUE ** CF%CONSTANT
END SELECT

IF (VALUE1 > VALUE2) STATE2 = .TRUE.
T_CHANGE = T
CASE (CF_EQ)
CF%INSTANT_VALUE=0._EB

SELECT CASE (CF%INPUT_TYPE(1))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(1))
VALUE1 = DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(1))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(1),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE1 = CONTROL(CF%INPUT(1))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(1))%MESH
CASE (CONSTANT_INPUT)
VALUE1 = CF%CONSTANT
END SELECT

SELECT CASE (CF%INPUT_TYPE(2))
CASE (DEVICE_INPUT)
DV => DEVICE(CF%INPUT(2))
VALUE2 = CF%INSTANT_VALUE ** DV%SMOOTHED_VALUE
CF%MESH = DV%MESH
CASE (CONTROL_INPUT)
IF (.NOT. CONTROL(CF%INPUT(2))%UPDATED) THEN
CALL EVALUATE_CONTROL(T,CF%INPUT(2),DT,CTRL_STOP_STATUS)
CF => CONTROL(ID)
ENDIF
VALUE2 = CF%INSTANT_VALUE ** CONTROL(CF%INPUT(2))%INSTANT_VALUE
CF%MESH=CONTROL(CF%INPUT(2))%MESH
CASE (CONSTANT_INPUT)
VALUE2 = CF%INSTANT_VALUE ** CF%CONSTANT
END SELECT

IF (ABS(VALUE1 - VALUE2) < 10._EB * SPACING(MAX(VALUE1,VALUE2))) STATE2 = .TRUE.
T_CHANGE = T

END SELECT CONTROL_SELECT

IF (CF%CONTROL_INDEX/=TIME_DELAY) THEN
Expand Down
4 changes: 2 additions & 2 deletions Source/devc.f90
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ MODULE CONTROL_VARIABLES
INTEGER, PARAMETER :: TIME_DELAY=1,CUSTOM=2,DEADBAND=3,KILL=4,CORE_DUMP=5,&
AND_GATE=51,OR_GATE=52,XOR_GATE=53,X_OF_N_GATE=54,CF_EXTERNAL=55,&
CF_EXP=101,CF_LOG=102,CF_PID=103,CF_SIN=104,CF_COS=105,CF_TAN=106,CF_ASIN=107,CF_ACOS=108,CF_ATAN=109,&
CF_ABS=110,&
CF_POWER=201,CF_DIVIDE=202,&
CF_ABS=110,CF_STEADY=111,&
CF_POWER=201,CF_DIVIDE=202,CF_EQ=203,CF_GT=204,CF_LT=205,CF_MEMORY=206,&
CF_SUM=301,CF_SUBTRACT=302,CF_MULTIPLY=303,CF_MIN=304,CF_MAX=305,&
CF_PERCENTILE=401
!> @}
Expand Down
5 changes: 5 additions & 0 deletions Source/part.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2537,6 +2537,11 @@ SUBROUTINE MOVE_PARTICLES(T,DT,NM)
BC%Z = BC%Z - 0.2_EB*DZ(BC%KKG)
END SELECT
ENDIF
IF (LPC%LIQUID_DROPLET .AND. LPC%DRIP_DIAMETER>0._EB) THEN ! change the droplet radius
LP%PWT = LP%PWT*(LP%RADIUS/(0.5_EB*LPC%DRIP_DIAMETER))**3
LP%RADIUS = 0.5_EB*LPC%DRIP_DIAMETER
LP%MASS = FOTHPI*LPC%DENSITY*LP%RADIUS**3
ENDIF
BC%IOR = 0
LP%WALL_INDEX = 0
ENDIF
Expand Down
17 changes: 15 additions & 2 deletions Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -5909,7 +5909,7 @@ SUBROUTINE READ_PART
INTEGER :: SAMPLING_FACTOR,N,NN,NR,ILPC,IPC,RGB(3),N_STRATA,N_LAGRANGIAN_CLASSES_READ,ADHERE_TO_SOLID, &
NEW_PARTICLE_INCREMENT
REAL(EB) :: DIAMETER, GAMMA_D,AGE,INITIAL_TEMPERATURE,HEAT_OF_COMBUSTION, &
VERTICAL_VELOCITY,HORIZONTAL_VELOCITY,MAXIMUM_DIAMETER,MINIMUM_DIAMETER,SURFACE_DIAMETER,SIGMA_D, &
VERTICAL_VELOCITY,HORIZONTAL_VELOCITY,MAXIMUM_DIAMETER,MINIMUM_DIAMETER,DRIP_DIAMETER,SURFACE_DIAMETER,SIGMA_D, &
SURFACE_TENSION,BREAKUP_RATIO,BREAKUP_GAMMA_D,BREAKUP_SIGMA_D,&
DENSE_VOLUME_FRACTION,REAL_REFRACTIVE_INDEX,COMPLEX_REFRACTIVE_INDEX,RUNNING_AVERAGE_FACTOR,&
RUNNING_AVERAGE_FACTOR_WALL,KILL_DIAMETER,&
Expand All @@ -5927,7 +5927,7 @@ SUBROUTINE READ_PART
NAMELIST /PART/ ADHERE_TO_SOLID,AGE,BREAKUP,BREAKUP_CNF_RAMP_ID,BREAKUP_DISTRIBUTION,BREAKUP_GAMMA_D,BREAKUP_RATIO,&
BREAKUP_SIGMA_D,CHECK_DISTRIBUTION,CNF_RAMP_ID,COLOR,COMPLEX_REFRACTIVE_INDEX,&
CTRL_ID,DEBUG,DENSE_VOLUME_FRACTION,&
DEVC_ID,DIAMETER,DISTRIBUTION,DRAG_COEFFICIENT,DRAG_LAW,&
DEVC_ID,DIAMETER,DISTRIBUTION,DRAG_COEFFICIENT,DRAG_LAW,DRIP_DIAMETER,&
EMBER_DENSITY_THRESHOLD,EMBER_PARTICLE,EMBER_VELOCITY_THRESHOLD,EMBER_SNAG_FACTOR,EVAP_MODEL,&
FREE_AREA_FRACTION,FYI,GAMMA_D,HEAT_OF_COMBUSTION,HEAT_TRANSFER_COEFFICIENT_GAS,HEAT_TRANSFER_COEFFICIENT_SOLID,&
HORIZONTAL_VELOCITY,ID,INITIAL_TEMPERATURE,KILL_DIAMETER,MASSLESS,&
Expand Down Expand Up @@ -6249,6 +6249,7 @@ SUBROUTINE READ_PART
LPC%SPEC_ID = SPEC_ID
LPC%SURF_ID = SURF_ID
LPC%SURF_INDEX = -1
LPC%DRIP_DIAMETER = DRIP_DIAMETER*1.E-6_EB
LPC%SURFACE_DIAMETER = SURFACE_DIAMETER*1.E-6_EB
LPC%SURFACE_TENSION = SURFACE_TENSION
LPC%ADJUST_EVAPORATION = 1._EB ! If H_O_C>0. this parameter will have to be reset later
Expand Down Expand Up @@ -6438,6 +6439,7 @@ SUBROUTINE SET_PART_DEFAULTS
RGB = -1
SPEC_ID = 'null'
SURF_ID = 'null'
DRIP_DIAMETER = -1._EB
SURFACE_DIAMETER = -1._EB
SURFACE_TENSION = 72.8E-3_EB ! N/m, applies for water
COLOR = 'null'
Expand Down Expand Up @@ -14827,6 +14829,17 @@ SUBROUTINE READ_CTRL
WRITE(MESSAGE,'(A,I0,A)') 'ERROR(902): CTRL ',NC,', PID controller must be given a TARGET_VALUE.'
CALL SHUTDOWN(MESSAGE) ; RETURN
ENDIF
CASE('LESS THAN')
CF%CONTROL_INDEX = CF_LT
CASE('GREATER THAN')
CF%CONTROL_INDEX = CF_GT
CASE('EQUALS')
CF%CONTROL_INDEX = CF_EQ
CASE('MEMORY')
CF%CONTROL_INDEX = CF_MEMORY
CF%INSTANT_VALUE = CF%CONSTANT
CASE('STEADY')
CF%CONTROL_INDEX = CF_STEADY
CASE DEFAULT
WRITE(MESSAGE,'(A,I0,A)') 'ERROR(903): CTRL ',NC,' FUNCTION_TYPE not recognized.'
CALL SHUTDOWN(MESSAGE) ; RETURN
Expand Down
1 change: 1 addition & 0 deletions Source/type.f90
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ MODULE TYPES
REAL(EB) :: HEAT_TRANSFER_COEFFICIENT_SOLID !< Heat transfer coefficient from solid surface to liquid droplet (W/m2/K)
REAL(EB) :: DRAG_COEFFICIENT(3) !< Drag coefficient in 3 coordinate directions
REAL(EB) :: SURFACE_DIAMETER !< Effective liquid droplet diameter (m) on a solid surface
REAL(EB) :: DRIP_DIAMETER=-1._EB !< Effective liquid droplet diameter (m) of a droplet dripping off of a surface
REAL(EB) :: SURFACE_TENSION !< Surface tension (N/m) of liquid droplets
REAL(EB) :: BREAKUP_RATIO !< Ratio of child Sauter mean to parent size in Bag breakup regime
REAL(EB) :: BREAKUP_GAMMA !< Rosin-Rammler size distribution parameter for break-up distribution
Expand Down
Loading
Loading