fds icon indicating copy to clipboard operation
fds copied to clipboard

External Control of FDS (Beta)

Open Er9y714 opened this issue 10 months ago • 2 comments

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

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

Er9y714 avatar Mar 14 '25 23:03 Er9y714

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.

drjfloyd avatar Mar 15 '25 00:03 drjfloyd

Thanks for your response and clarifying the work flow in the user guide.

Er9y714 avatar Mar 16 '25 18:03 Er9y714

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

drjfloyd avatar Sep 03 '25 22:09 drjfloyd