How to slove Multiple Load Cases - Z88r

Das Forum zu Z88OS (Open Source) / The newsgroup for Z88OS (open source)

Moderatoren: ccad, mz15, auroraIco, Lehrstuhl

Antworten
Benutzeravatar
finzi
Import
Beiträge: 15
Registriert: Mi 28. Nov 2012, 20:10
Wohnort: Triuggio (MI) Italy

How to slove Multiple Load Cases - Z88r

Beitrag von finzi »

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 */
Dateianhänge
finzi1.zip
(14.46 KiB) 259-mal heruntergeladen
Think positive, if you can!
Benutzeravatar
mz15
Site Admin
Beiträge: 266
Registriert: Do 5. Aug 2010, 19:23

Re: How to slove Multiple Load Cases - Z88r

Beitrag von mz15 »

Hello finzi,

one possibility would be to use binaries. You can also write out only the information on the nodes of interest, and not all nodal information. This would reduce the file size dramatically. I think you know the interessting node numbers. Or you can get it from a first "master" calculation.
But overall a cool solution.

regards
mz15
Benutzeravatar
finzi
Import
Beiträge: 15
Registriert: Mi 28. Nov 2012, 20:10
Wohnort: Triuggio (MI) Italy

Re: How to slove Multiple Load Cases - Z88r

Beitrag von finzi »

Hello mz15,
thank for your reply.

I'm trying to setup a fatigue procedure and the post-processing need only 6 stress components for all nodes for all load cases.

May be it is possible to setup a modified mechanism like the one used to produce o8 file and suppress all other output? .... but I think it's a lot of coding because all interested elements routines shall be modified.

Ciao,
Andrea
Think positive, if you can!
Benutzeravatar
mz15
Site Admin
Beiträge: 266
Registriert: Do 5. Aug 2010, 19:23

Re: How to slove Multiple Load Cases - Z88r

Beitrag von mz15 »

No I think this it is not necessary to change all element routines. You only need a list of interesting nodes you can read like a i1 file. While the output file is created you skip all nodes tha are not in the list. You only need one more array to store all interesting node numbers or element numbers. All data will be calculated yes, but you do not write them out in the output file. Therefor you have only extend the output routine, not the element routines.

regards
mz15
Antworten