Hello,
as parallel computing is not possible with Syrthes 3.x I thought about splitting my conduction mesh and using multiple instances of Syrthes. I read earlier that such cases can not be handled by SaturneGUI. I checked out the the runcase script and found “This script can not handle multiple couplings with SYRTHES”. Is there any example or documentation about how to handle multiple Syrthes couplings?
Furthermore does anybody know when Syrthes 4.0 will be released approximately? I learned they did a training course for Syrthes 4.0 at the University of Manchaster back in June/July. Does that mean it will be released soon or will it still take a few more months?
Thank you very much!
Martin
Multiple instances of Syrthes --nsyr=(>1) …and Syrthes 4.0
Forum rules
Please read the forum usage recommendations before posting.
Please read the forum usage recommendations before posting.
Re: Multiple instances of Syrthes --nsyr=(>1) …and Syrthes 4
Hello,
The public release of Syrthes 4.0 is currently planned around the end of this year.
In the meantime, you may use multiple instances of SYRTHES 3, but this requires uisng the Python runcase: when running "code_saturne create", use the --new-runcase option.
For example, for 2 Syrthes domains, for a case named "coupled":
I attach an example of the edited file, which should work for you (simply merge it with the one you obtain using "code_saturne run", so as to keep your paths and case name, but use multiple Syrthes domains).
If you have 1 Code_Saturne instance coupled with multiple Syrthes instances, I would also recommend setting a very high number of maximum time steps in the Syrthes data files, and setting the number of time steps you really want in Code_Saturne (first code to stop halts the others, but the stopping mechanism for the coupling is not quite as robust as the one used with Syrthes 4, so for 1 Code_Saturne/n Syrthes coupling, managing the number of time steps in Code_Saturne is simpler, while for n Code_Saturne/1 Syrthes, managing it in Syrthes would be easier (for multiple way n/p couplings, setting the same number in all codes is safer).
Best regards,
Yvan
The public release of Syrthes 4.0 is currently planned around the end of this year.
In the meantime, you may use multiple instances of SYRTHES 3, but this requires uisng the Python runcase: when running "code_saturne create", use the --new-runcase option.
For example, for 2 Syrthes domains, for a case named "coupled":
You then need to edit the runcase, to pass a list of Syrthes domains instead of just 1 domain.code_saturne create -c coupled --nsyr 2 --new-runcase
I attach an example of the edited file, which should work for you (simply merge it with the one you obtain using "code_saturne run", so as to keep your paths and case name, but use multiple Syrthes domains).
If you have 1 Code_Saturne instance coupled with multiple Syrthes instances, I would also recommend setting a very high number of maximum time steps in the Syrthes data files, and setting the number of time steps you really want in Code_Saturne (first code to stop halts the others, but the stopping mechanism for the coupling is not quite as robust as the one used with Syrthes 4, so for 1 Code_Saturne/n Syrthes coupling, managing the number of time steps in Code_Saturne is simpler, while for n Code_Saturne/1 Syrthes, managing it in Syrthes would be easier (for multiple way n/p couplings, setting the same number in all codes is safer).
Best regards,
Yvan
- Attachments
-
- runcase.txt
- (11.26 KiB) Downloaded 228 times
Re: Multiple instances of Syrthes --nsyr=(>1) …and Syrthes 4
I also forgot to mention that you may in fact use the Code_Saturne GUI for multiple coupling instances for most of the data setup, but the GUI will only let you add 1 coupled surface selection, so you will need to use the "ussyrc.f90" user subroutine to define coupled surfaces instead (the boundary face selections for each coupled SYRTHES domain should not overlap).
Also, the "Calculation Environment/Meshes selection" and "Calculation Management/Prepare Batch Calculation" section of the GUI will not be usable, as the GUI does not handle the Python runcase, which must be edited by hand, but all the rest (such as boundary conditions, numercal options, ...) should work.
Also, the "Calculation Environment/Meshes selection" and "Calculation Management/Prepare Batch Calculation" section of the GUI will not be usable, as the GUI does not handle the Python runcase, which must be edited by hand, but all the rest (such as boundary conditions, numercal options, ...) should work.
Re: Multiple instances of Syrthes --nsyr=(>1) …and Syrthes 4
I didn’t try the multiple coupling lately because I have been busy.
I updated to Code_Saturne 2.1.0 and gave it another try today. I’ve seen that it is possible to assign multiple coupling instances within the GUI now. I used the domain names as instance names and was able to run the simulation, but my boundary faces are wrong.
I attached a simple drawing of my test case.
My current setup has the following boundary conditions.
I updated to Code_Saturne 2.1.0 and gave it another try today. I’ve seen that it is possible to assign multiple coupling instances within the GUI now. I used the domain names as instance names and was able to run the simulation, but my boundary faces are wrong.
I attached a simple drawing of my test case.
My current setup has the following boundary conditions.
- Code_Saturne
outlet: red
coupling: green+blue
SYRTHES 1
coupling: green+yellow
SYRTHES 2
coupling: blue+yellow
- Attachments
-
- 1CS_2SYR.pdf
- (33.47 KiB) Downloaded 219 times
Re: Multiple instances of Syrthes --nsyr=(>1) …and Syrthes 4
Hello,
You do indeed need to split the boundary coupling of Code_Saturne to coupling_syrthes1 and coupling_syrthes2.
Any face groups or geometric criteria usable for boundary face selection will do, as long as the 2 coupling selections do not overlap (if they do overlap, the second one will probably overwrite the first one, at least in the SYRTHES -> Code_Saturne exchange).
If I understand your example correctly, simply couple "green" with SYRTHES 1, and "blue" with SYRTHES2, instead of "green or blue" with both.
Best regards,
Yvan
You do indeed need to split the boundary coupling of Code_Saturne to coupling_syrthes1 and coupling_syrthes2.
Any face groups or geometric criteria usable for boundary face selection will do, as long as the 2 coupling selections do not overlap (if they do overlap, the second one will probably overwrite the first one, at least in the SYRTHES -> Code_Saturne exchange).
If I understand your example correctly, simply couple "green" with SYRTHES 1, and "blue" with SYRTHES2, instead of "green or blue" with both.
Best regards,
Yvan
Re: Multiple instances of Syrthes --nsyr=(>1) …and Syrthes 4
Hello Yvan,
thank you very much. Unfortunately there is still one problem left. It seems that there is no coupling between the two SYRTHES codes (yellow boundary). SYRTHES 1 has a maximum temperature of 55 °C and SYRTHES 2 has a maximum temperature of 22 °C only, although they are in direct contact. (ambient temperature is 20 °C)
Is the coupling code able to handle coupling between SYRTHES instances or does it only handle coupling between Code_Saturne and SYRTHES instances?
Regards,
Martin
thank you very much. Unfortunately there is still one problem left. It seems that there is no coupling between the two SYRTHES codes (yellow boundary). SYRTHES 1 has a maximum temperature of 55 °C and SYRTHES 2 has a maximum temperature of 22 °C only, although they are in direct contact. (ambient temperature is 20 °C)
Is the coupling code able to handle coupling between SYRTHES instances or does it only handle coupling between Code_Saturne and SYRTHES instances?
Regards,
Martin