Proposition for improvement of restart function
Posted: Thu Mar 08, 2018 5:01 pm
Dear all,
I am new user of Syrthes to simulate the heating process in a furnace. It is aimed to study the temperature evolution of a cold load introduced in an already heated furnace. So I started a simulation to obtained a steady solution where the furnace and loads are all hot. Then I restart a second simulation by reading the results of the first one but changing only the temperature field of the loads leaving the other parts of the furnace as "hot" as it.
After a few trials, I found the current version 4.3 can not do this kind of simulation. So I looked up the source and found that in the source code syrthes.c the "condition initiale programmes" is done before the "lecture du fichier suite". So it is simply necessary to inter-change the two blocks of functions and to put syrthes.c in the current case folder and recompile it. And it works fine.
line 486
Since there is no Syrthes forum and the developpers' contact, I put it here and hope that they can include this improvement in the next release.
Kind regards
Zhenlan
I am new user of Syrthes to simulate the heating process in a furnace. It is aimed to study the temperature evolution of a cold load introduced in an already heated furnace. So I started a simulation to obtained a steady solution where the furnace and loads are all hot. Then I restart a second simulation by reading the results of the first one but changing only the temperature field of the loads leaving the other parts of the furnace as "hot" as it.
After a few trials, I found the current version 4.3 can not do this kind of simulation. So I looked up the source and found that in the source code syrthes.c the "condition initiale programmes" is done before the "lecture du fichier suite". So it is simply necessary to inter-change the two blocks of functions and to put syrthes.c in the current case folder and recompile it. And it works fine.
line 486
Code: Select all
/* lecture du fichier suite */
if (pasdetemps.suite) lire_suite(maillnodes,&pasdetemps,&variable);
fflush(stdout);
/* conditions initiales programmees */
if (!humid.actif){
user_cini_fct(maillnodes,variable.var[variable.adr_t]);
user_cini(maillnodes,variable.var[variable.adr_t],&pasdetemps,meteo,myfile);
fflush(stdout);
}
else{
user_hmt_cini_fct(maillnodes,variable.var[variable.adr_t],
variable.var[variable.adr_pv],variable.var[variable.adr_pt]);
user_hmt_cini(maillnodes,variable.var[variable.adr_t],
variable.var[variable.adr_pv],variable.var[variable.adr_pt],
humid,&pasdetemps,meteo,myfile);
fflush(stdout);
}
Kind regards
Zhenlan