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

Moderatoren: ccad, mz15, auroraIco, Lehrstuhl

Benutzeravatar
vom finzi
#1693
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
(14.52 KiB) 155-mal heruntergeladen
Benutzeravatar
vom mz15
#1695
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
vom finzi
#1696
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
Benutzeravatar
vom mz15
#1697
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

Dear samshah, what CAD system do you use? Maybe y[…]

Hello Mr. Gillies, the boundary conditions are al[…]

Beispiel2 Kranträger

Vielen Dank für den HInweis, habe zwar alles […]

Vernetzung von .stl-Dateien

Hallo Olegator, es gibt einige Freemesher, welche[…]