SteveDoyle2 / pyNastran

A Python-based interface tool for Nastran's file formats
Other
395 stars 154 forks source link

OLOAD and model.load_vectors Mismatch with Inertia Relief #796

Open nkatsinas opened 2 months ago

nkatsinas commented 2 months ago

Summary

I came across this issue which suggested that I should be able to calculate the OLOAD Resultant by summing the data in model.load_vectors. This didn't work in a SOL101 analysis with automatic inertia relief.

Similarly, in a fixed-base model without inertia relief, the translational force components do match, but the moments are all 0.0.

Thanks in advance for your help!

Reproducing the Issue

Code

from pathlib import Path
from pyNastran.op2.op2 import read_op2

file = Path(r"D:\test_model_inrel\cylinder_pressure_inrel-0000.op2")

model = read_op2(file)
resultant_subcase_1 = model.load_vectors[1].data.sum(axis=1)
print(resultant_subcase_1)

Output

[[-5.7220459e-06 -1.9073486e-05 7.1997801e-21 0.0000000e+00 0.0000000e+00 0.0000000e+00]]

Expected Result

From Femap (Tools>Check>Sum Forces):

[[-607.4372 1822.312 0. -1822.312 -607.4372 5.77316E-14]]

From F06

[[-6.074373e+02 1.822311e+03 -1.633509e-15 -1.822311e+03 -6.074373e+02 -5.857693e-05]]

Model

cylinder_pressure_inrel-0000.zip

Versions

pyNastran.__version__: 1.5.0+dev.a49f528ca platform.python_version(): 3.11.3 Nastran: NX 2312.0070

SteveDoyle2 commented 2 months ago

I’d ask in the discussion forum. That was assuming you had a static case. It seems like you don’t.

On Thu, Aug 22, 2024 at 12:12 AM nkatsinas @.***> wrote:

Summary

I came across this issue https://github.com/SteveDoyle2/pyNastran/issues/678 which suggested that I should be able to calculate the OLOAD Resultant by summing the data in model.load_vectors. This didn't work in a SOL101 analysis with automatic inertia relief.

Similarly, in a fixed-base model without inertia relief, the translational force components do match, but the moments are all 0.0.

Thanks in advance for your help! Reproducing the Issue Code

from pathlib import Path from pyNastran.op2.op2 import read_op2

file = Path(r"D:\test_model_inrel\cylinder_pressure_inrel-0000.op2")

model = read_op2(file) resultant_subcase_1 = model.load_vectors[1].data.sum(axis=1) print(resultant_subcase_1)

Output

[[-5.7220459e-06 -1.9073486e-05 7.1997801e-21 0.0000000e+00 0.0000000e+00 0.0000000e+00]] Expected Result From Femap (Tools>Check>Sum Forces):

[[-607.4372 1822.312 0. -1822.312 -607.4372 5.77316E-14]] From F06

[[-6.074373e+02 1.822311e+03 -1.633509e-15 -1.822311e+03 -6.074373e+02 -5.857693e-05]] Model

cylinder_pressure_inrel-0000.zip https://github.com/user-attachments/files/16706682/cylinder_pressure_inrel-0000.zip Versions

pyNastran.version: 1.5.0+dev.a49f528ca platform.python_version(): 3.11.3 Nastran: NX 2312.0070

— Reply to this email directly, view it on GitHub https://github.com/SteveDoyle2/pyNastran/issues/796, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAICUWIWTKWXRTNQQ2IM2TTZSWFMVAVCNFSM6AAAAABM5P3HD6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ4DAMBRGYYTAOA . You are receiving this because you are subscribed to this thread.Message ID: @.***>