Using PLOAD2 with THRU

16 views
Skip to first unread message

clarkbr...@gmail.com

unread,
Apr 14, 2026, 2:40:05 PMApr 14
to pyNastran Discuss
Steve (et al):
I have been using add_pload2 with a pressure and a single EID. pynastran makes a line like
$RIGHT OUTBOARD WING DISTRIBUTED PRESSURE LOAD ON UPPER SURFACE                
                              PLOAD2         4.0064599    3137    THRU    3137
See the THRU has EID2 = EID1. MSC Nastran doesn't complain, but NX Nastran cries about
 *** USER FATAL MESSAGE 316 (IFPDRV)
     ILLEGAL DATA ON BULK DATA ENTRY PLOAD2  
 PLOAD2         4.0064599    3137    THRU    3137
Both QRGs say 
for the “THRU” option,
EID1 < EID2
Can you make pynastran stop doing that? I need to start running NX Nastran more.
Sincerely,
Clark

clarkbr...@gmail.com

unread,
May 18, 2026, 1:28:15 PMMay 18
to pyNastran Discuss
I haven't seen any responses at this point and it's been a month. That is unusual. Did I do something wrong in posting it?
Clark

Steven Doyle

unread,
May 19, 2026, 12:12:31 AMMay 19
to pynastra...@googlegroups.com
I forgot about it. I work a lot and anything related to that is more of a priority. This is an unfunded hobby project. I usually get to it on a couple of issues on the weekends, but after a months I've forgotten.

I also don't have an IDE right now, so that doesn't help.

--
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 visit https://groups.google.com/d/msgid/pynastran-discuss/45c1e144-d9ce-4acc-a0bb-35b1ed05031bn%40googlegroups.com.

clarkbr...@gmail.com

unread,
May 22, 2026, 7:48:03 PMMay 22
to pyNastran Discuss
Steve, I know there is a correct way to submit code changes, but I dunno how to do that. I'm in v4.1.1.
I think I chased this to static_loads.py class PLOAD2, function raw_fields( ) where it decides if the list of eids is sequence with step 1. It uses numpy diff( ) to do this. In my case, [eids] is a single element number and diff can't diff that. It returns diffs as a []. Then np.all(diffs == 1) incorrectly answers something interpreted as True.
I changed line 2330 from
if np.all(diffs == 1):
to
if len(diffs) !=0 and np.all(diffs == 1):
And the bdf does what I want:

PLOAD2         4.0055272    3137
I ran a simple check where I forced my eids to be two sequential element numbers, and it correctly wrote
PLOAD2         4.0055272    3137    THRU    3138
So, I hope that helps and there isn't more to it than that. I apologize for not following due process.
Sincerely,
Clark
Reply all
Reply to author
Forward
0 new messages