-
Notifications
You must be signed in to change notification settings - Fork 610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
External Control: adding a Pause at external DT for read results and process new RAMP and CTRL values #13128
Conversation
…process new RAMP and CTRL values
I don't think we want the behavior to be to stop and wait. For engineering calculations you already have many seconds of wall time for 1 s of simulation time. If FDS progresses a few timesteps (generally ~1E-3 s for engineering calcs) while waiting for new inputs, that is unlikely to cause large timing errors except for very simple test case type geometries. I am going to close this for now. I'd like to better understand the use case were you would need FDS to wait. |
Hi Jason, I have not changed the default behavior. I totally understand your concerns about running time. In the actual procedure (which is still default) I can read FDS results and write new inputs to be read in the next External DT. It will always have one DT as delay. For some applications, it could be necessary to follow the input in external file more closely and the time invested in it is not that high. Let's assume a case that runs for 3600s of simulation and DT is 2s. If the pause and go procedure takes 10s (exaggerating), it will be 5 hours of communication time. Some of those complex scenarios can run for 5 days (or more). However, the user can still decide if this time is necessary, or change the DT. If DT changes for 5s, the communication time reduces to 2 hours. Keep in mind I am exaggerating in the 10s prediction for the pause and go procedure. Of course it depends on how much calculation you need to do to create a new input file, for most applications it is very short, for two-way coupling with FEM this time was larger for most FEM applications (but still needed). As I said in the beginning, I am trying to create a connection for future interactions. I do not intend to change the default behavior without a discussion about that. It will be my pleasure to talk with you about it if you want to. Regards, |
Thanks for the explanation. I agree this would be useful. I'll add the concept in. |
…y Julio Cesar Silva)
FDS Source: Add pause feature to external control (#13128 by Julio Ce…
Juilo, See this PR: #13136 I made a few tweaks to your concept. -changed inputs DT_EXTERNAL_HEARTBEAT and EXTERNAL_HEARTBEAT_FILENAME (both must be set). This file is serving the function of a heartbeat process. |
Jason, Added your changes to my procedure here. OPEN(LU_EXTERNAL_HEARTBEAT,STATUS='OLD',ERR=100) Also, from your message, I think you want from line 600: Let me know if you agree and I can send a pull request. Regards, |
That looks correct. Thanks. |
The idea is to allow an iteration between external codes and FDS by making a Pause at external DT for external codes to read FDS results and process new RAMP and CTRL values.