add support for nastran 95 generated matrix op2 file#96
add support for nastran 95 generated matrix op2 file#96tumchang wants to merge 16 commits intoDLR-AE:develfrom
Conversation
|
Hello Chang, thank you very much for using Loads Kernel (it's always nice to see if other people find my work useful) and for your contribution! Two things that come to my mind: try: And then please add pynastran as an extra package in the setup.py. b) Instead of integrating Nastran95 in the nastran_interface.py, I propose a new nastran95_interface.py. The new class can inherit most of it's functionality, see the B2000 or CoFe interface as an example. I was on vacation last week and will be on vacation again next week => I'm happy to have a telecon once I'm back in office to discuss any question and/or your research. |
|
Hi Arne, Thank you very much for the quick response! I will adjust the code as you suggested and let you know once I am finished. You can then trigger the test again to see if everything passes. In the meantime, I will send you a meeting invitation shortly so that we can have a brief bilateral discussion after you are back from your holiday :) Best regards and have a nice vacation! |
…enerated-matrix' into feature_add-support-for-nast95-generated-matrix
There was a problem hiding this comment.
What is happening here? Why is it necessary to modify this op2 reader, when you actually use pyNastran's OP2 reader?
There was a problem hiding this comment.
Oh, and a log message would be better than a print statement
There was a problem hiding this comment.
Hi Arne,
For the nastran95 generated USET matrix, it seems not to be binary (with 1 and 2), but with quite weird numbers (see image), I guess this might come from the windows operating system (32bit or 64 bit). But I haven't dive deeper into this matter, this is just a temporary solution to this problem
There was a problem hiding this comment.
Oh, and a log message would be better than a print statement
sure, I will change that to a log message
There was a problem hiding this comment.
What about reading the Nastran 95 USET via pyNastran? Is the same happening ?
There was a problem hiding this comment.
pyNastran is unfortunally not able to read the USET generated by nastran95, probably due to the same reason, pyNastran think the USET table is corrupted
|
One problem I see when using pyNastran is that it installs numpy-1.26.4. This causes the long term integration test to fail because of a missing function and differences in eigenvalues... Fixed. |
Thanks a lot Arne for pulling through this |
|
What I'm wondering is if it's possible to have some tests that cover the new interface? In this way you make sure that the interface will continue to work as you intended in the future. Also, a tutorial would be nice that gives some instructions on how to use the interface and especially on how to install, use and obtain the matrices in OP2 from Nastran 95. Personally, I tested it a few years ago and found that some elements have a different nomenclature, so that our Nastran models were not directly compatible with Nastran 95. Update: I looked at my testcase and I see that I wasn't able to use the RBE2 / CRIGD1 elements properly. The points describing my leading and trailing edges should be connected to the main beam but ended up unconnected: 0*** USER WARNING MESSAGE 2015, EITHER NO ELEMENTS CONNECTED TO EXTERNAL GRID POINT 331001 It sounds like you could shed some light on this? |
I also spent a large amount of time to make MSC Nastran bdf file to work in nastran 95 in the last year :) Best |
|
Hi Arne, I tried a bit to make your DC3 model to be nastran95 compatible, but it would be a lot of manual work required, I only managed to change the left-wing that Nastran95 is not giving any fatal warnings for left-wing. there are 3 things to highlight:
I have attached the text bdf file here, maybe you can take a brief look and let me know if there are any further things that I can help you with! |
Hello Arne,
We at Bauhaus Luftfahrt have developed an aeroelastic sizing toolchain based on LoadsKernel and CPACS. Currently, we are using Nastran 95 to generate the required matrices (as we do not have a commercial Nastran license). This PR adds a function to LoadsKernel for reading the .op2 files generated by Nastran 95.
A few points regarding the implementation:
1. Dependency on pyNastran: We are currently using the pyNastran package to read the OP2 files. I noticed that the existing read_op2.py in LoadsKernel is derived from pyNastran but currently only supports reading the USET table. If we want to avoid adding pyNastran as a full dependency, the internal read_op2.py would likely need to be extended significantly.
2. Test Files: It might be not appropriate for us to share the beam FEM model publicly here on GitHub. However, if you would like an example file to test this new code, we would be happy to arrange a bilateral exchange. This would also give us a chance to provide more insight into the toolchain we’ve built.
Thank you for all your work and for making LoadsKernel publicly available—it has been incredibly helpful for our research!
best regards,
Chang Xu
E-mail: chang.xu@bauhaus-luftfahrt.net
Visionary Aircraft Concepts
Airframe & Systems Design
Bauhaus Luftfahrt e. V.
Willy-Messerschmitt-Str. 1
82024 Taufkirchen, Germany