When I attempted to run the example in ‘Fluent-adapter-fluent_21_2_0/examples/Cavity2D/example’ on GitHub, I observed that CSMdummy appeared to fail to initialize. To confirm my suspicion, I added two lines of test code before ‘precice_dt=interface.initialize’, and I noticed that the test code ‘print(“22222222222222222222”)’ did not successfully print. What could be the potential reasons for the unsuccessful initialization?
This is the code snippet before CSMdummy is initialized, where all the code before ‘precice_dt = interface.initialize()’ has been executed, but ‘precice_dt = interface.initialize()’ and the subsequent code did not execute successfully
This is the .xml fluentCSM_debug.log (99.8 KB) precice-config.xml (2.3 KB)
file and debug.log. I noticed that the initialization suddenly stopped from the debug.log.
It is indeed confusing why the CSMDummy fails at the preCICE initialization. Does the log file you have attached have logs for both the participants together? Can you please provide separate log files? Currently the debug output is mixed up and confusing to follow.
I also saw that you changed the exchange directory in the precice-config, which in principle is not an issue and connection seems to be established; but I am still curious, why did you have to add exhcnage-directory=".."?
Please note that we have merged the feature branch fluent_21_2_0 into develop, and we will make further changes only on develop. Therefore we recommend that you move to use using the develop branch.
Thank you very much for your response. Unfortunately, I may not be able to provide separate log files at the moment as the host where the issue occurred is not accessible. The reason for adding exchange-directory=“…” was to test if the lack of exchange directory was causing the problem. However, the result indicated that the issue was not resolved by adding the exchange directory.
These are all the log files related to FLUENT and CSMdummy.py, but it seems that apart from fluentCSM_debug.log, the other files do not contain any content.
Meaning Fluent runs first and then send data to CSMdummy.
Hence, CSMdummy has to wait for this data in initialize (initialize/m2n.receiveData) and will never reach your print("2");
If the Fluent solver exits straight away after initialize without calling advance, then this first time step is never completed and the CSMdummy will never receive the data.
In fact, closing Fluent at that point should lead to a closing TCP connection resulting in CSMdummy to crash with an error message.
You could swap first and second in the implicit scheme or switch to a parallel implicit scheme to see what CSMsolver does in the initial time window.