How to slove Multiple Load Cases - Z88r
Verfasst: So 6. Jan 2013, 03:35
I tried to modify z88rcode to calculate multiple load cases in "single run".
Basically the modification needed involve only z88r.c:
- after closing z88i2.txt I try to open a file z88i2.001;
- if the file exist the new opened fi2 is not NULL
- go to the point where the calculation start (immediately after the check for "test mode")
- repeat for all z88i2.???
Ok, is not very elegant but it works. At the end I'll get all results, one after the other, in usual output files.
This is the good news, the bad news is that output file size is very big: more then 100Mb for 3 load cases.
I need to run about 240 load case, then the result will be about 10Gb.....
Any idea to reduce size of output? (binary files may be?)
Thank for your help,
Andrea
I am not able to attached the model (1Mb). Email me if you are interested.
Attached a z88r.c with this and other modifications:
- multiple loadcase
- Asynchronous run
- other mior
Modification description:
1) added a global variable
/* Load case counter */
unsigned int lc;
2) in WndProc --> case WM_COMMAND: --> case ITC_GO:
after
"Testmode? ...." [if(ifnili == 9) goto L2000;]
added
lc=0; /* Load case counter reset*/
L3000:; /* Reload Entry point */
3) in WndProc --> case WM_COMMAND: --> case ITC_GO:
after
L2000:; /* Einsprung fuer Testmode */
fclose(fi2);
added
lc++; /* Increase load case counter */
sprintf(ci2,"z88i2.%03u",lc); /* modify i2 file name */
sprintf(ci5,"z88i5.%03u",lc); /* modify i5 file name */
fi2= fopen(ci2,"r"); /* open fi2 */
if(fi2 != NULL) goto L3000; /* if fi2 exist then solve again */
Basically the modification needed involve only z88r.c:
- after closing z88i2.txt I try to open a file z88i2.001;
- if the file exist the new opened fi2 is not NULL
- go to the point where the calculation start (immediately after the check for "test mode")
- repeat for all z88i2.???
Ok, is not very elegant but it works. At the end I'll get all results, one after the other, in usual output files.
This is the good news, the bad news is that output file size is very big: more then 100Mb for 3 load cases.
I need to run about 240 load case, then the result will be about 10Gb.....
Any idea to reduce size of output? (binary files may be?)
Thank for your help,
Andrea
I am not able to attached the model (1Mb). Email me if you are interested.
Attached a z88r.c with this and other modifications:
- multiple loadcase
- Asynchronous run
- other mior
Modification description:
1) added a global variable
/* Load case counter */
unsigned int lc;
2) in WndProc --> case WM_COMMAND: --> case ITC_GO:
after
"Testmode? ...." [if(ifnili == 9) goto L2000;]
added
lc=0; /* Load case counter reset*/
L3000:; /* Reload Entry point */
3) in WndProc --> case WM_COMMAND: --> case ITC_GO:
after
L2000:; /* Einsprung fuer Testmode */
fclose(fi2);
added
lc++; /* Increase load case counter */
sprintf(ci2,"z88i2.%03u",lc); /* modify i2 file name */
sprintf(ci5,"z88i5.%03u",lc); /* modify i5 file name */
fi2= fopen(ci2,"r"); /* open fi2 */
if(fi2 != NULL) goto L3000; /* if fi2 exist then solve again */