External Control of FDS (Beta)
Which new feature are you testing? 18.8 External Control of FDS (Beta) v6.10.0
Describe your experience User Guide description:
FDS can be forced to wait if no file is present or use an alternate EXTERNAL_FILENAME by specifying DT_EXTERNAL_HEARTBEAT and EXTERNAL_HEARTBEAT_FILENAME on TIME. With this approach FDS looks for EXTERNAL_HEARTBEAT_FILENAME. If the file is not found FDS will wait up to DT_EXTERNAL_HEARTBEATseconds. If EXTERNAL_HEARTBEAT_FILENAMEis still not present, FDS will stop trying to update the external controls. If HEARTBEAT_FAILon TIMEis true, FDS will stop the simulation. If EXTERNAL_HEARTBEAT_FILENAME is present, FDS will read EXTERNAL_FILENAME from it.
I tested EXTERNAL_HEARTBEAT_FILENAME parameter.
FDS input file:
&MISC EXTERNAL_FILENAME='external_test_input.csv'/
&TIME T_END=50,DT_EXTERNAL=5 DT_EXTERNAL_HEARTBEAT=1 EXTERNAL_HEARTBEAT_FILENAME='external_test_input2.csv' HEARTBEAT_FAIL=F/
&MESH XB=0, 2,0,1,0,1 IJK=20 10 10/
&VENT XB=2,2,0,1,0,1,SURF_ID='HOT'/
&VENT XB=0,2,0,1,1,1,SURF_ID='OPEN'/
&SURF ID='HOT',TMP_FRONT=1000,RAMP_T='T RAMP',COLOR='RED'/
&RAMP ID='T RAMP',EXTERNAL_FILE=T,INITIAL_VALUE=0.081633/
&BNDF QUANTITY='WALL TEMPERATURE'/
Issue 1
FDS file: file above
External file: external_test_input.csv
I would expect it to :
- run until 5 seconds (
DT_EXTERNAL=5) - check EXTERNAL_FILENAME and find it
- without any delay, continue the simulation
What happens:
- runs until 5 seconds
- then it starts delaying,
- runs a while, then starts delaying
- repeats until finishing
Issue 2
FDS file: same file as above
External files: external_test_input2.csv external_test_input.csv
I would expect it to :
- run until 5 seconds (
DT_EXTERNAL=5) - check EXTERNAL_FILENAME and find it
- without any delay, continue the simulation
What happens:
- runs until 5 sedonds
- then it starts delaying
- then removes the file (
EXTERNAL_HEARTBEAT_FILENAME) in the directory (external_test_input2.csv) - runs a while, then delays
- repeats until finishing
When you are using the heartbeat you are overriding the EXTERNAL_FILENAME. You are telling FDS that you want a second process to be supplying the filename and the data. The idea of a heartbeat is that it is a postive confirmation that the second process is still alive (hence the heartbeat name). FDS should not be doing anything unless it finds the heartbeat. For the heartbeat to do its job, FDS needs to delete the file after it is read. That way FDS knows that if it sees the file the next time it checks that it means the second process is still alive.
I'll look to clarify the guide write up.
Thanks for your response and clarifying the work flow in the user guide.
Closing. this was added and it is seeing some use with other issues opened for it. I don't think we need this issue any more