I have ~85 1.2GB result files (.op2) that I need to import and do enveloping/visualization on.
Each one has ~3k output vectors. I have a list of 550 output vectors that I care about. After the results are imported and then I use the global ply feature to compile a vector of core shear stresses in a complicated laminate, then the number of vectors I care about goes down to about 100.
These result files are all from SOL106 runs.
I have hacked together some API macros to
- import results given a list of files in excel
- rename result set titles based on what they actually contain
- scrub unwanted vectors from output sets (3k vectors --> 550 vectors)
This is taking a ridiculous amount of memory (easily 48 GB committed at this point) and time.
Is there a way to scrub OP2s directly? I cannot find documentation on the file format but would be more than willing to write a native OP2 read/writer that could delete unnecessary results before importing.
Is there another method to accomplish this? Anyone done something similar and found a better way to handle a similar situation?
Even attaching the result files takes hours, and I find that I cannot scrub-down the results to condense the amount of data (because they are attached, not imported, then they are read-only? also global ply seems to not work).
Am running v11.1.1.
Solved! Go to Solution.
How are you handling the files? Have you tried opening / processing / closing on each OP2, instead of leaving all processed OP2 open / attached?
I'm using feFileReadNastranResults. Currently importing all of them, then deleting unnecessary vectors from all of them, then global ply, then another round of deleting.
I am working on doing this one at a time.
Still interested in being able to do this outside of FEMAP with the file format for OP2. That way it can be parallelized.
Unfortunately this is not pretty quick. It takes ~1.5 minutes to attach to a single OP2.
Also it does not allow me to delete unnecessary vectors to reduce the amount of data that must be loaded into memory.
Also it does not work with the global ply functionality - presumably because the files are read-only.
I have the same problem. A lot of data and I need to create vector using the material orientation because op2 file does not have vector on material orientation defined by the user. Differently from *.op2, *.f06 has the results at material orientation.
It is taking to much time to create vector on material orientation.
In the very near future I think the answer will be the HDF format. The op2 is a hierarchical binary format that 'lacks' standardization; the hdf format is a widely spread hierarchical binary format readable by most modern codes. MSC Nastran have already switched to it in their latest release, I hope Siemens will do the same soon.
So regarding your comment "Is there a way to scrub OP2s directly? I cannot find documentation on the file format but would be more than willing to write a native OP2 read/writer that could delete unnecessary results before importing.":
soon enough yes, op2 will be easily attackable direclty (or rather it'll be the hdf), and no you won't even have to write the parser yourself, they already exist!
I don't know whether developers will enable FEMAP to read hdf files, if not there will always be FEMAP csv files to re-import modified output.