SteveDoyle2 / pyNastran

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

failed reading b'OSTR1C in pyNastran 1.4 (composite strain cquad4 at least) #797

Open noferusername opened 2 weeks ago

noferusername commented 2 weeks ago

Hello,

This issue matches the exact description in this closed issue below: https://github.com/SteveDoyle2/pyNastran/issues/615

I can reproduce it on a simple plate bending model with CQUAD4 and PCOMP card Running Python 3.9.7 with pyNastran-1.4.1-py3 with optistruct 2023

=========== DEBUG: op2.py:589 combine=True DEBUG: op2.py:590 -------- reading op2 with read_mode=1 (array sizing) -------- INFO: op2_scalar.py:1963 op2_filename = 'C:\TEMP\Composite_Plate_Outputs_OP2-mode.op2' DEBUG: op2_reader.py:299 date = (8, 22, 24) DEBUG: op2_reader.py:382 mode='optistruct' version='OS2023' DEBUG: op2_scalar.py:2172 table_name=b'CASECC' (case control) DEBUG: op2_scalar.py:2172 table_name=b'GEOM1S' (grid/coord cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'GEOM2S' (element cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'GEOM3S' (constraint cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'GEOM4S' (load cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'EPTS' (property cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'MPTS' (material cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'OES1C' (composite stress) DEBUG: op2_scalar.py:2172 table_name=b'OSTR1C' (composite strain) failed reading b'OSTR1C' isubtable=-4 Traceback (most recent call last): ... ... ... assert op2.is_strain is True, op2.code_information() AssertionError: --Table3Data-- device_code = 1 Print analysis_code = 1 Statics table_code = 5 OSTR1C-OES - Element Stress format_code = 1 Real result_type = 0 Real sort_method = 1 sort_code = 0 sort_bits = (0, 0, 0) data_format = 0 Real sort_type = 0 Sort1 is_random = 0 Sorted Responses random_code = 0
element_type = 95 QUAD4-nonlinear s_code = 0 Coordinate Element - Stress Max Shear (Octahedral) thermal = 0 isHeatTransfer = False thermal_bits = [0, 0, 0, 0, 0] num_wide = 11 isubcase = 1
lsdvmn = 1 NX Nastran

Thanks!

SteveDoyle2 commented 2 weeks ago

Can you attach a small example? Also, 3.10 is the minimum supported version these days.

On Thu, Aug 22, 2024 at 1:27 PM FerC @.***> wrote:

Hello,

This issue matches the exact description in this closed issue below:

615 https://github.com/SteveDoyle2/pyNastran/issues/615

I can reproduce it on a simple plate bending model with CQUAD4 and PCOMP card Running Python 3.9.7 with pyNastran-1.4.1-py3 with optistruct 2023

=========== DEBUG: op2.py:589 combine=True DEBUG: op2.py:590 -------- reading op2 with read_mode=1 (array sizing)

INFO: op2_scalar.py:1963 op2_filename = 'C:\TEMP\Composite_Plate_Outputs_OP2-mode.op2' DEBUG: op2_reader.py:299 date = (8, 22, 24) DEBUG: op2_reader.py:382 mode='optistruct' version='OS2023' DEBUG: op2_scalar.py:2172 table_name=b'CASECC' (case control) DEBUG: op2_scalar.py:2172 table_name=b'GEOM1S' (grid/coord cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'GEOM2S' (element cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'GEOM3S' (constraint cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'GEOM4S' (load cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'EPTS' (property cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'MPTS' (material cards (superelement)) DEBUG: op2_scalar.py:2172 table_name=b'OES1C' (composite stress) DEBUG: op2_scalar.py:2172 table_name=b'OSTR1C' (composite strain) failed reading b'OSTR1C' isubtable=-4 Traceback (most recent call last): ... ... ... assert op2.is_strain is True, op2.code_information() AssertionError: --Table3Data-- device_code = 1 Print analysis_code = 1 Statics table_code = 5 OSTR1C-OES - Element Stress format_code = 1 Real result_type = 0 Real sort_method = 1 sort_code = 0 sort_bits = (0, 0, 0) data_format = 0 Real sort_type = 0 Sort1 is_random = 0 Sorted Responses random_code = 0 element_type = 95 QUAD4-nonlinear s_code = 0 Coordinate Element - Stress Max Shear (Octahedral) thermal = 0 isHeatTransfer = False thermal_bits = [0, 0, 0, 0, 0] num_wide = 11 isubcase = 1 lsdvmn = 1 NX Nastran

Thanks!

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

noferusername commented 2 weeks ago

Hi Steve,

Thanks for taking a look!

Attaching .fem, op2 Fernando

files.zip

SteveDoyle2 commented 2 weeks ago

Can you also attach the f06? OSTR1C is a strain table and you have it flagged with stress. I need to make sure it's actually stress/strain.

noferusername commented 2 weeks ago

Hi Steve, so far I've been unable to get the f06 file from optistruct. I'll keep digging. Fernando

SteveDoyle2 commented 2 weeks ago

What is the output file that gets really big when you do STRESS(PLOT,PRINT)=ALL and STRAIN(PLOT,PRINT)=ALL. Sometimes it’s called .out in regular Nastran, but same thing

On Wed, Aug 28, 2024 at 2:02 PM FerC @.***> wrote:

Hi Steve, so far I've been unable to get the f06 file from optistruct. I'll keep digging. Fernando

— Reply to this email directly, view it on GitHub https://github.com/SteveDoyle2/pyNastran/issues/797#issuecomment-2316245971, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAICUWJZZK2EW7HMP6SSKX3ZTY3FRAVCNFSM6AAAAABM634HI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJWGI2DKOJXGE . You are receiving this because you commented.Message ID: @.***>

noferusername commented 2 weeks ago

Nothing extra that resembles table output seems to gets created when I use the PLOT option. Not at least in ascii format. Attaching the zip with all the files. I just contacted the vendor regarding the F06 file. I'll let you know.

composite_plate_F06_PLOT.zip

SteveDoyle2 commented 1 week ago

Yeah, that doesn't have your output in ASCII format. Optistruct isn't quite Nastran, so I'm not sure what differences there are.

Your vendor would be your best bet.

On Thu, Aug 29, 2024 at 7:27 AM FerC @.***> wrote:

Nothing extra that resembles table output seems to gets created when I use the PLOT option. Not at least in ascii format. Attaching the zip with all the files. I just contacted the vendor regarding the F06 file. I'll let you know.

composite_plate_F06_PLOT.zip https://github.com/user-attachments/files/16800634/composite_plate_F06_PLOT.zip

— Reply to this email directly, view it on GitHub https://github.com/SteveDoyle2/pyNastran/issues/797#issuecomment-2317872474, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAICUWLY3ZEPWDLFLPUCWQDZT4VU5AVCNFSM6AAAAABM634HI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJXHA3TENBXGQ . You are receiving this because you commented.Message ID: @.***>

AlejandroStewart commented 1 week ago

in Optistruct you use OPTI instead of PRINT to get the ascii output

El lun, 2 sept 2024 a las 19:16, Steven Doyle @.***>) escribió:

Yeah, that doesn't have your output in ASCII format. Optistruct isn't quite Nastran, so I'm not sure what differences there are.

Your vendor would be your best bet.

On Thu, Aug 29, 2024 at 7:27 AM FerC @.***> wrote:

Nothing extra that resembles table output seems to gets created when I use the PLOT option. Not at least in ascii format. Attaching the zip with all the files. I just contacted the vendor regarding the F06 file. I'll let you know.

composite_plate_F06_PLOT.zip < https://github.com/user-attachments/files/16800634/composite_plate_F06_PLOT.zip>

— Reply to this email directly, view it on GitHub < https://github.com/SteveDoyle2/pyNastran/issues/797#issuecomment-2317872474>,

or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAICUWLY3ZEPWDLFLPUCWQDZT4VU5AVCNFSM6AAAAABM634HI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJXHA3TENBXGQ>

. You are receiving this because you commented.Message ID: @.***>

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

noferusername commented 1 week ago

Thanks Alejandro! Way more helpful than what I got from the vendor...

When I get the ascii output, pynastran works -without- issues. So I guess the data is read from both op2 and the fd06 equivalent table, right?

Composite_Plate_F06_PLOT_OPTI.zip

SteveDoyle2 commented 1 week ago

My guess is you didn’t keep the op2 request. I’d check if the file size is the same.

On Tue, Sep 3, 2024 at 1:09 PM FerC @.***> wrote:

Thanks Alejandro! Way more helpful than what I got from the vendor...

When I get the ascii output, pynastran works -without- issues. So I guess the data is read from both op2 and the fd06 equivalent table, right?

Composite_Plate_F06_PLOT_OPTI.zip https://github.com/user-attachments/files/16854943/Composite_Plate_F06_PLOT_OPTI.zip

— Reply to this email directly, view it on GitHub https://github.com/SteveDoyle2/pyNastran/issues/797#issuecomment-2327346527, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAICUWMWWRPWHWPJHZU5G43ZUYJO3AVCNFSM6AAAAABM634HI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRXGM2DMNJSG4 . You are receiving this because you commented.Message ID: @.***>

noferusername commented 1 week ago

That's correct. My bad. It was working because me OP2 file did not have strains. They only were in the the Ascii table. I just checked it from pyNastran and the strain dataset is empty.

When I request the full output set below, I go back to the same error "failed reading b'OSTR1C' isubtable=-4" CSTRAIN(PLOT,OPTI) = ALL CSTRAIN(OUTPUT2,NDIV=1) = ALL CSTRESS(OUTPUT2,NDIV=1) = ALL CSTRESS(PLOT,OPTI) = ALL

SteveDoyle2 commented 1 week ago

It sounds like it is strain that it was failing on then. I thought strain was in that output (definitely stress). The stress table looks different, so that probably explains why the results looked weird. I couldn’t find the pattern, but should be able to now

On Wed, Sep 4, 2024 at 7:48 AM FerC @.***> wrote:

That's correct. My bad. It was working because me OP2 file did not have strains. They only were in the the Ascii table. I just checked it from pyNastran and the strain dataset is empty.

When I request the full output set below, I go back to the same error "failed reading b'OSTR1C' isubtable=-4" CSTRAIN(PLOT,OPTI) = ALL CSTRAIN(OUTPUT2,NDIV=1) = ALL CSTRESS(OUTPUT2,NDIV=1) = ALL CSTRESS(PLOT,OPTI) = ALL

— Reply to this email directly, view it on GitHub https://github.com/SteveDoyle2/pyNastran/issues/797#issuecomment-2329273111, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAICUWP2EK7IDNNF6YAIOG3ZU4MTJAVCNFSM6AAAAABM634HI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRZGI3TGMJRGE . You are receiving this because you commented.Message ID: @.***>