Simcenter response Dynamics (SATK) OP2 Peak tables

213 views
Skip to first unread message

Cédric Dumoulin

unread,
Sep 7, 2022, 5:44:59 AM9/7/22
to pyNastran Discuss
Dear all, 

I rencently switched to simcenter 3D and using the (quite powerful) SC "Response Dynamics" toolbox which is writing OP2 files. When computing a random response, the PSDs are well handled by PyNastran but I cannot read the "PEAK" values of random results which seems to be located in OEFPK1 (forces) or OUGPK2 (accelerations). 

I guess those tables should not be that different from  OERMS1 /  OUGPK1, would you have an idea on how to read it? 

Note that I'm using pyNastran 1.3.4. Compared to 1.3.3, I was facing an issue reading OP2 with the following error 
    assert word in STR_PARAMS_1, f'word={word}'
AssertionError: word=b'RDRBE'

That I could solve by adding b'RDRBE' in STR_PARAMS_1 

Thank you in advance for your help, 

Best regards, 

Cédric 



 

Steven Doyle

unread,
Sep 7, 2022, 9:57:33 AM9/7/22
to pynastra...@googlegroups.com
Cédric,

I’ve never seen those tables.  I’d need a small example (so like 5 nodes/elements max and the bdf/f06/op2; like 25 kB tops for the bed/op2).

The same goes for adding params.  It’s too easy to break code when refactoring to do it without tests.  I run all the TPL examples across multiple versio, so you’d think that would cover it.

For whatever reason, RMS results are kind of a nightmare.  Part of that is the format is slightly different in MSC/NX and has changed slightly over the years in MSC.  There are also just fewer examples for it.  I really need to bail on the old MSC support (2005r2) and shoot NX too. Maybe have a flag to use the old parser or something…

Steve

--
You received this message because you are subscribed to the Google Groups "pyNastran Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pynastran-disc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pynastran-discuss/fc7745f9-6f14-4cbc-bdf8-edd807e2334cn%40googlegroups.com.

Cédric Dumoulin

unread,
Oct 6, 2022, 10:46:31 AM10/6/22
to pyNastran Discuss
Steve,
 
Thank you for your answer, you'll find enclosed a zipped file containing two op2. 
- One is the modal response, including the constraint modes (and can also contain attachment modes and residual vectors, but not in the present example). it is associated to a dat and f06 file. 
- The second is the random response computed from that basis and containing the peaks (PKS) tables mentioned above. The SC response dynamics solver (aka Structural analysis toolkit - SATK) does not call Nastran itself, but build an additional op2 . From what I read on the SATK doc, PKS table should be similar to RMS tables. 

Best regards, 

Cédric

PyNastran_RESDYN_MWE.zip

Nikolay Asmolovskiy

unread,
Oct 6, 2022, 7:50:04 PM10/6/22
to pynastra...@googlegroups.com
Hi Cédric,

a bit off-topic for pyNastran, but perhaps others might find it useful.
SATK can also create so-called .out files (peak/ascii request). At least this is how it is called in the version delivered with FEMAP.   
This format is fairly easy to parse, but I can send you the script to parse if necessary. 
0
Since OP2 export is not really documented and it is third party software, integrating this into pynastran might lead to a headache down the road. However, I am sure, Steve will find* the best way as always.

Cheers,
Nikolay

steve

unread,
Oct 7, 2022, 2:09:53 AM10/7/22
to pyNastran Discuss
Cédric,

I'm not really sure which is which and I need more info.  Trying to support undocumented results is a lot easier with an ascii table, but I don't see any.  From pn_mwe_s-response_dynamics_1-random_base_excitation_1.op2.  Thankfully, I think the PK1 table is better implemented than the RMS tables.

displacement? - table 401 (OUGPK1)
nids [1 2 3 4 5 6 7]
gridtype? [1 1 1 1 1 1 1]
floats [[5.173e-01 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00]
[0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00]
[5.184e-01 3.689e-14 3.056e-14 0.000e+00 1.799e-13 1.394e-12]
[5.174e-01 6.843e-12 8.397e-12 0.000e+00 1.112e-12 4.318e-13]
[5.176e-01 6.967e-12 3.833e-11 0.000e+00 7.520e-13 1.255e-13]
[5.178e-01 5.771e-12 3.412e-11 0.000e+00 8.033e-13 3.063e-13]
[5.181e-01 1.028e-11 3.623e-12 0.000e+00 4.856e-13 7.287e-13]]
----------------------------------------------
velocity? - table 411 (OUGPK1)
nids [1 2 3 4 5 6 7]
gridtype? [1 1 1 1 1 1 1]
floats [[1.638e+05 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00]
[0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00]
[9.128e+05 1.568e-06 1.290e-06 0.000e+00 7.691e-06 5.958e-05]
[2.394e+05 2.925e-04 3.589e-04 0.000e+00 4.754e-05 1.846e-05]
[3.918e+05 2.978e-04 1.638e-03 0.000e+00 3.214e-05 5.366e-06]
[5.615e+05 2.467e-04 1.458e-03 0.000e+00 3.434e-05 1.309e-05]
[7.362e+05 4.396e-04 1.549e-04 0.000e+00 2.076e-05 3.115e-05]]

From pn_mwe_s-solution_1.op2, I'm also not sure what RARCONS and RAREATC are.  Are they SPC forces?

Nikolay,

> However, I am sure, Steve will find* the best way as always.

You give me too much credit :)  It'll just take me 10 years!

Steve

Cédric Dumoulin

unread,
Oct 11, 2022, 5:21:15 AM10/11/22
to pyNastran Discuss
Dear Steve, Nikolay, 

Thank you for your answers, I understand that it's a bit beyond the scope of PyNastran.
Indeed, for peaks/rms values we can use the out file. 

Steve, regarding your question, in the Simcenter Nastran DMAP Programmer's Guide, we can find the following definitions for Attachment and constraint modes

RADCONS    OUG    Displacement Constraint Mode
RADDATC    OUG    Displacement Distributed Attachment Mode
RADEATC    OUG    Displacement Equivalent Inertia Attachment mode
RADEFFM    OUG    Displacement Effective Inertia Mode
RADEFMP    OUG    Displacement PHA^T * Effective Inertia Mode
RADNATC    OUG    Displacement Nodal Attachment Mode
RAECONS    OES    Strain Constraint Mode
RAEDATC    OES    Strain Distributed Attachment Mode
RAEEATC    OES    Strain Equivalent Inertia Attachment mode
RAENATC    OES    Strain Nodal Attachment Mode
RAFCONS    OEF    Element Force Constraint Mode
RAFDATC    OEF    Element Force Distributed Attachment Mode
RAFEATC    OEF    Element Force Equivalent Inertia Attachment mode
RAFNATC    OEF    Element Force Nodal Attachment Mode
RAGCONS    OEF    Grid Point Forces Constraint Mode
RAGDATC    OEF    Grid Point Forces Distributed Attachment Mode
RAGEATC    OEF    Grid Point Forces Equivalent Inertia Attachment mode
RAGNATC    OEF    Grid Point Forces Nodal Attachment Mode
RALDATC    OUG    Load vector used to compute the Distributed Attachment modes
RANCONS    OEE    Strain Energy Constraint Mode
RANDATC    OEE    Strain Energy Distributed Attachment Mode
RANEATC    OEE    Strain Energy Equivalent Inertia Attachment mode
RANNATC    OEE    Strain Energy Nodal Attachment Mode
RARCONS    OQG    Reaction Force Constraint Mode
RARDATC    OQG    Reaction Force Distributed Attachment Mode
RAREATC    OQG    Reaction Force Equivalent Inertia Attachment mode
RARNATC    OQG    Reaction Force Nodal Attachment Mode
RASCONS    OES    Stress Constraint Mode
RASDATC    OES    Stress Distributed Attachment Mode
RASEATC    OES    Stress Equivalent Inertia Attachment mode
RASNATC    OES    Stress Nodal Attachment Mode

Best regards, 

Cédric 


Steven Doyle

unread,
Oct 11, 2022, 12:03:31 PM10/11/22
to pynastra...@googlegroups.com
I think it’s in scope.  I just don’t understand the out file and I don’t know what you requested.  I think it’s as easy as saying what result the first and second tables are.  I know the rows are individual node ids and I figure the columns are the 6 dofs

You received this message because you are subscribed to a topic in the Google Groups "pyNastran Discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pynastran-discuss/bkFDHFaqUBk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pynastran-disc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pynastran-discuss/1af74cfb-3406-4930-82a8-7057390b712en%40googlegroups.com.

Cédric Dumoulin

unread,
Oct 13, 2022, 5:34:29 AM10/13/22
to pyNastran Discuss
Hi Steve, 

The first table is displacement, the second accelerations. 
You'll find enclosed an updated version of the files, I have added the request of velocities in addition to displacements and acceleration. 
I also included the ascii output files for the different requests.

I can provide you with example with different request that type that you may find useful.  

Best regards, 

Cédric 
PyNastran_RESDYN_MWE.zip

Steven Doyle

unread,
Oct 16, 2022, 11:54:24 PM10/16/22
to pynastra...@googlegroups.com
Cédric,

Thank you for those examples.  They're a lot easier to understand.

There's support now for OUGPK1/OEFPK1.  You'll find the results in:
 model.op2_results.rms.displacements (or other depending)

You'll need to use the latest version found in the main/dev.

Steve

Cédric Dumoulin

unread,
Oct 27, 2022, 9:42:23 AM10/27/22
to pyNastran Discuss
Hi Steve, 
I could test it today, thank you so much! 
Reply all
Reply to author
Forward
0 new messages