compas-dev / compas_fea

COMPAS interface to common Finite Element Analysis software.
https://compas.dev/compas_fea
MIT License
35 stars 16 forks source link

improvements to results file writing #91

Closed franaudo closed 5 years ago

franaudo commented 5 years ago

1 - float 32 instead of 64 2 - specific fields components within a field 3 - give an option to save just json and not obj 4 - save data as numpy.savetxt or numpy .save

andrewliew commented 5 years ago

1) Not easily done in pure Python as the default float type is 64 bit, can be done with NumPy float32 as part of point 4) 2) Done, all specific components can now be requested, if none are requested all are given for the field. 3) Done, return_data can be set to True or False, to store data or not in structure.results. 4) Still testing.

franaudo commented 5 years ago

It could also be possible to use the ‘format’ function to trim the result string that is written in the json file to a specific number of digits (user’s choice). This should reduce at least the size of the file, if not the time to write it

andrewliew commented 5 years ago

Breakdown on extract function for 57000 elements, with return_data==False:

So putting less emphasis on the file writing for the moment, taking only what components are actually needed will likely be enough for now. Seems like the best thing is to only request the fields that are needed, so that the .odb isn't big, as loading it takes most time. Could in theory run the data extraction straight after the first Abaqus analysis call while .odb is in memory, but that would merge analysis and extract tasks and so they wouldn't be separate after this.