cards Package

aero Module

Inheritance diagram of pyNastran.bdf.cards.aero

All aero cards are defined in this file. This includes:

  • AEFACT
  • AELINK
  • AELIST
  • AEPARM
  • AESTAT
  • AESURF / AESURFS
  • AERO / AEROS
  • CSSCHD
  • CAERO1 / CAERO2 / CAERO3 / CAERO4 / CAERO5
  • FLFACT
  • FLUTTER
  • GUST
  • MKAERO1 / MKAERO2
  • PAERO1 / PAERO2 / PAERO3
  • SPLINE1 / SPLINE2 / SPLINE4 / SPLINE5

All cards are BaseCard objects.

class pyNastran.bdf.cards.aero.AEFACT(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines real numbers for aeroelastic analysis.

AEFACT SID D1 D2 D3 D4 D5 D6 D7
  D8 D9 -etc.-          
AEFACT 97 .3 0.7 1.0

Methods

Di = None

Number (float)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AEFACT object pointer
Returns fields:the fields that define the card
sid = None

Set identification number. (Unique Integer > 0)

type = u'AEFACT'
write_card(size=8, is_double=False)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines relationships between or among AESTAT and AESURF entries, such that:

\[u^D + \Sigma_{i=1}^n C_i u_i^I = 0.0\]
AELINK ID LABLD LABL1 C1 LABL2 C2 LABL3 C3
  LABL4 C4 etc.          
AELINK 10 INBDA OTBDA -2.0

Methods

Cis = None

linking coefficient (real)

id = None

an ID=0 is applicable to the global subcase, ID=1 only subcase 1

independentLabels = None

defines the independent variable name (string)

label = None

defines the dependent variable name (string)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AELINK object pointer
Returns fields:the fields that define the card
type = u'AELINK'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AELIST(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a list of aerodynamic elements to undergo the motion prescribed with the AESURF Bulk Data entry for static aeroelasticity.

AELIST SID E1 E2 E3 E4 E5 E6 E7
  E8 etc.            
AELIST 75 1001 THRU 1075 1101 THRU 1109 1201
  1202              

Methods

clean_ids()[source]
eids = None

List of aerodynamic boxes generated by CAERO1 entries to define a surface. (Integer > 0 or ‘THRU’)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AELIST object pointer
Returns fields:the fields that define the card
sid = None

Set identification number. (Integer > 0)

type = u'AELIST'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AEPARM(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a general aerodynamic trim variable degree-of-freedom (aerodynamic extra point). The forces associated with this controller will be derived from AEDW, AEFORCE and AEPRESS input data.

AEPARM ID LABEL UNITS
AEPARM 5 THRUST LBS

Methods

_field_map = {1: u'id', 2: u'label', 3: u'units'}
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AEPARM object pointer
Returns fields:the fields that define the card
type = u'AEPARM'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AERO(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.aero.Aero

Gives basic aerodynamic parameters for unsteady aerodynamics.

1 2 3 4 5 6 7
AERO ACSID VELOCITY REFC RHOREF SYMXZ SYMXY
AERO 3 1.3+4
1.-5 1 -1

Methods

_field_map = {1: u'acsid', 2: u'velocity', 3: u'cRef', 4: u'rhoRef', 5: u'symXZ', 6: u'symXY'}
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AERO object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the AERO object pointer
Returns fields:the fields that define the card
type = u'AERO'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AEROS(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.aero.Aero

Gives basic aerodynamic parameters for unsteady aerodynamics.

1 2 3 4 5 6 7 8
AEROS ACSID RCSID REFC REFB REFS SYMXZ SYMXY
AEROS 10 20
1  

Methods

_field_map = {1: u'acsid', 2: u'rcsid', 3: u'cRef', 4: u'bRef', 5: u'Sref', 6: u'symXZ', 7: u'symXY'}
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AEROS object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the AEROS object pointer
Returns fields:the fields that define the card
type = u'AEROS'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AESTAT(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Specifies rigid body motions to be used as trim variables in static aeroelasticity.

AESTAT ID LABEL
AESTAT 5001 ANGLEA

Methods

_field_map = {1: u'id', 2: u'label'}
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AESTAT object pointer
Returns fields:the fields that define the card
type = u'AESTAT'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AESURF(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Specifies an aerodynamic control surface as a member of the set of aerodynamic extra points. The forces associated with this controller will be derived from rigid rotation of the aerodynamic model about the hinge line(s) and from AEDW, AEFORCE and AEPRESS input data. The mass properties of the control surface can be specified using an AESURFS entry.

AESURF ID LABEL CID1 ALID1 CID2 ALID2 EFF LDW
  CREFC CREFS PLLIM PULIM HMLLIM HMULIM TQLLIM TQULIM

Methods

_field_map = {1: u'aesid', 2: u'label', 3: u'cid1', 4: u'alid1', 5: u'cid2', 6: u'alid2', 7: u'eff', 8: u'ldw', 9: u'crefc', 10: u'crefs', 11: u'pllim', 12: u'pulim', 13: u'hmllim', 14: u'hmulim', 15: u'tqllim', u'16': u'tqulim'}
aesid = None

Controller identification number

alid1 = None

Identification of an AELIST Bulk Data entry that identifies all aerodynamic elements that make up the control surface component. (Integer > 0)

cid1 = None

Identification number of a rectangular coordinate system with a y-axis that defines the hinge line of the control surface component.

crefc = None

Reference chord length for the control surface. (Real>0.0; Default=1.0)

crefs = None

Reference surface area for the control surface. (Real>0.0; Default=1.0)

eff = None

Control surface effectiveness. See Remark 4. (Real != 0.0; Default=1.0)

hmllim = None

Lower and upper hinge moment limits for the control surface in force-length units. (Real, Default = no limit) -> 1e8

label = None

Controller name.

ldw = None

Linear downwash flag. See Remark 2. (Character, one of LDW or NOLDW; Default=LDW).

pllim = None

Lower and upper deflection limits for the control surface in radians. (Real, Default = +/- pi/2)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AESURF object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the AESURF object pointer
Returns fields:the fields that define the card
tqllim = None

Set identification numbers of TABLEDi entries that provide the lower and upper deflection limits for the control surface as a function of the dynamic pressure. (Integer>0, Default = no limit)

type = u'AESURF'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.AESURFS(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Optional specification of the structural nodes associated with an aerodynamic control surface that has been defined on an AESURF entry. The mass associated with these structural nodes define the control surface moment(s) of inertia about the hinge line(s). Specifies rigid body motions to be used as trim variables in static aeroelasticity.

1 2 3 4 5 6 7
AESURFS ID LABEL   LIST1   LIST2
AESURFS 6001 ELEV   6002   6003

Methods

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the AESURFS object pointer
Returns fields:the fields that define the card
type = u'AESURFS'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.Aero(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard, pyNastran.bdf.deprecated.AeroDeprecated

Base class for AERO and AEROS cards.

Methods

is_anti_symmetric_xy()[source]
is_anti_symmetric_xz()[source]
is_symmetric_xy()[source]
is_symmetric_xz()[source]
set_ground_effect(enable)[source]
class pyNastran.bdf.cards.aero.CAERO1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard, pyNastran.bdf.deprecated.CAERO1Deprecated

Defines an aerodynamic macro element (panel) in terms of two leading edge locations and side chords. This is used for Doublet-Lattice theory for subsonic aerodynamics and the ZONA51 theory for supersonic aerodynamics.

1 2 3 4 5 6 7 8 9
CAERO1 EID PID CP NSPAN NCHORD LSPAN LCHORD IGID
  X1 Y1 Z1 X12 X4 Y4 Z4 X43

Methods

1
| \
|   \
|     \
|      4
|      |
|      |
2------3

Methods

Cp()[source]
Pid()[source]
_field_map = {16: u'x43', 1: u'sid', 2: u'pid', 3: u'cp', 4: u'nspan', 5: u'nchord', 6: u'lspan', 7: u'lchord', 8: u'igid', 12: u'x12'}
_get_field_helper(n)[source]

Gets complicated parameters on the CAERO1 card

Parameters:
  • self – the CAERO1 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the CAERO1 card

Parameters:
  • self – the CAERO1 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
cp = None

Coordinate system for locating point 1.

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the CAERO1 object pointer
  • model (BDF()) – the BDF object
eid = None

Element identification number

get_LChord()[source]
get_LSpan()[source]
get_npanel_points_elements()[source]
get_points()[source]
panel_points_elements()[source]
pid = None

Property identification number of a PAERO2 entry.

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the CAERO1 object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the CAERO1 object pointer
Returns fields:the fields that define the card
set_points(points)[source]
type = u'CAERO1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.CAERO2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard, pyNastran.bdf.deprecated.CAERO2Deprecated

Aerodynamic Body Connection Defines aerodynamic slender body and interference elements for Doublet-Lattice aerodynamics.

Methods

1           |             |               |      3
|      |
|      |
2------4

Methods

Cp()[source]
Lsb()[source]
Pid()[source]
_field_map = {1: u'sid', 2: u'pid', 3: u'cp', 4: u'nsb', 5: u'lsb', 6: u'nint', 7: u'lint', 8: u'igid', 12: u'x12'}
_get_field_helper(n)[source]

Gets complicated parameters on the CAERO2 card

Parameters:
  • self – the CAERO2 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the CAERO2 card

Parameters:
  • self – the CAERO2 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
cp = None

Coordinate system for locating point 1.

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the CAERO2 object pointer
  • model (BDF()) – the BDF object
eid = None

Element identification number

get_points()[source]
igid = None

Interference group identification. Aerodynamic elements with different IGIDs are uncoupled. (Integer >= 0)

lint = None

ID of an AEFACT data entry containing a list of division points for interference elements; used only if NINT is zero or blank. (Integer > 0)

lsb = None

ID of an AEFACT Bulk Data entry for slender body division points; used only if NSB is zero or blank. (Integer >= 0)

nint = None

Number of interference elements. If NINT > 0, then NINT equal divisions are assumed; if zero or blank, specify a list of divisions in LINT. (Integer >= 0)

nsb = None

Number of slender body elements. If NSB > 0, then NSB equal divisions are assumed; if zero or blank, specify a list of divisions in LSB. (Integer >= 0)

p1 = None

Location of point 1 in coordinate system CP

pid = None

Property identification number of a PAERO2 entry.

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the CAERO2 object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the CAERO2 object pointer
Returns fields:the fields that define the card
set_points(points)[source]
type = u'CAERO2'
write_card(size=8, is_double=False)[source]
x12 = None

Length of body in the x-direction of the aerodynamic coordinate system. (Real > 0)

class pyNastran.bdf.cards.aero.CAERO3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

Cp()[source]
Pid()[source]
cp = None

Coordinate system for locating point 1.

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the CAERO3 object pointer
  • model (BDF()) – the BDF object
eid = None

Element identification number

pid = None

Property identification number of a PAERO3 entry.

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the CAERO3 object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the CAERO3 object pointer
Returns fields:the fields that define the card
type = u'CAERO3'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.CAERO4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

Cp()[source]
Pid()[source]
cp = None

Coordinate system for locating point 1.

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the CAERO4 object pointer
  • model (BDF()) – the BDF object
eid = None

Element identification number

get_points()[source]
pid = None

Property identification number of a PAERO4 entry.

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the CAERO4 object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the CAERO4 object pointer
Returns fields:the fields that define the card
type = u'CAERO4'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.CAERO5(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

Cp()[source]
Pid()[source]
c1_c2(mach)[source]
cp = None

Coordinate system for locating point 1.

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the CAERO3 object pointer
  • model (BDF()) – the BDF object
eid = None

Element identification number

get_npanel_points_elements()[source]
get_points()[source]
panel_points_elements()[source]
pid = None

Property identification number of a PAERO5 entry.

repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the CAERO4 object pointer
Returns fields:the fields that define the card
type = u'CAERO5'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.CSSCHD(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a scheduled control surface deflection as a function of Mach number and angle of attack.

1 2 3 4 5 6
CSSCHD SlD AESID LALPHA LMACH LSCHD

Methods

AESid()[source]
LAlpha()[source]
LMach()[source]
LSchd()[source]
_field_map = {1: u'sid', 2: u'aesid', 3: u'lAlpha', 4: u'lMach', 5: u'lSchd'}
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the CSSCHD object pointer
  • model (BDF()) – the BDF object
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the CSSCHD object pointer
Returns fields:the fields that define the card
type = u'ASSCHD'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.FLFACT(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

1 2 3 4 5 6 7 8 9
FLFACT SID F1 F2 F3 F4 F5 F6 F7
  F8 F9 etc.          
1 2 3 4 5
FLFACT 97 .3 .7 3.5

# delta quantity approach

1 2 3 4 5 6 7
FLFACT SID F1 THRU FNF NF FMID
FLFACT 201 0.200 THRU 0.100 11 0.1333

Methods

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the FLFACT object pointer
Returns fields:the fields that define the card
type = u'FLFACT'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.FLUTTER(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines data needed to perform flutter analysis.

1 2 3 4 5 6 7 8 9
FLUTTER SID METHOD DENS MACH RFREQ IMETH NVALUE/OMAX EPS
FLUTTER 19 K 119 219 319 S 5 1.-4

Methods

_field_map = {1: u'sid', 2: u'method', 3: u'density', 4: u'mach', 5: u'rfreq_vel', 6: u'imethod', 8: u'epsilon'}
_get_field_helper(n)[source]

Gets complicated parameters on the FLUTTER card

Parameters:
  • self – the FLUTTER object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_get_raw_nvalue_omax()[source]
_repr_nvalue_omax()[source]
_update_field_helper(n, value)[source]

Updates complicated parameters on the FLUTTER card

Parameters:
  • self – the FLUTTER object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the FLUTTER object pointer
  • model (BDF()) – the BDF object
get_density()[source]
get_mach()[source]
get_rfreq_vel()[source]
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the FLUTTER object pointer
Returns fields:the fields that define the card
type = u'FLUTTER'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.GUST(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a stationary vertical gust for use in aeroelastic response analysis.

1 2 3 4 5 6
GUST SID DLOAD WG X0 V
GUST 133 61 1.0
1.+4

Methods

_field_map = {1: u'sid', 2: u'dload', 3: u'wg', 4: u'x0', 5: u'V'}
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the GUST object pointer
Returns fields:the fields that define the card
type = u'GUST'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.MKAERO1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Provides a table of Mach numbers (m) and reduced frequencies (k) for aerodynamic matrix calculation.

1 2 3 4 5 6 7 8 9
MKAERO1 m1 m2 m3 m4 m5 m6 m7 m8
  k1 k2 k3 k4 k5 k6 k7 k8

Methods

addFreqs(mkaero)[source]
getMach_rFreqs()[source]
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the MKAERO1 object pointer
Returns fields:the fields that define the card
type = u'MKAERO1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.MKAERO2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Provides a table of Mach numbers (m) and reduced frequencies (k) for aerodynamic matrix calculation.

1 2 3 4 5 6 7 8 9
MKAERO2 m1 k1 m2 k2 m3 k3 m4 k4

Methods

addFreqs(mkaero)[source]
getMach_rFreqs()[source]
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the MKAERO2 object pointer
Returns fields:the fields that define the card
type = u'MKAERO2'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.PAERO1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines associated bodies for the panels in the Doublet-Lattice method.

PAERO1 PID B1 B2 B3 B4 B5 B6

Methods

Bodies()[source]
_field_map = {1: u'pid'}
_get_field_helper(n)[source]

Gets complicated parameters on the PAERO1 card

Parameters:
  • self – the PAERO1 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the PAERO1 card

Parameters:
  • self – the PAERO1 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the PAERO1 object pointer
Returns fields:the fields that define the card
type = u'PAERO1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.PAERO2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines the cross-sectional properties of aerodynamic bodies.

PAERO2 PID ORIENT WIDTH AR LRSB LRIB LTH1 LTH2
THI1 THN1 THI2 THN2 THI3 THN3      

Methods

AR = None

Aspect ratio of the interference tube (height/width). float>0.

_field_map = {1: u'pid', 2: u'orient', 3: u'width', 4: u'AR', 5: u'lrsb', 6: u'lrib', 7: u'lth1', 8: u'lth2'}
_get_field_helper(n)[source]

Gets complicated parameters on the PAERO2 card

Parameters:
  • self – the PAERO2 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the PAERO2 card

Parameters:
  • self – the PAERO2 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
lrib = None

Identification number of an AEFACT entry containing a list of slender body half-widths at the end points of the interference elements. If blank, the value of WIDTH will be used. (Integer > 0 or blank)

lrsb = None

Identification number of an AEFACT entry containing a list of slender body half-widths at the end points of the slender body elements. If blank, the value of WIDTH will be used. (Integer > 0 or blank)

lth1 = None

dentification number of AEFACT entries for defining ? arrays for interference calculations. (Integer >= 0)

orient = None

Orientation flag. Type of motion allowed for bodies. Refers to the aerodynamic coordinate system of ACSID. See AERO entry. (Character = ‘Z’, ‘Y’, or ‘ZY’)

pid = None

Property identification number. (Integer > 0)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the PAERO2 object pointer
Returns fields:the fields that define the card
type = u'PAERO2'
width = None

Reference half-width of body and the width of the constant width interference tube. (Real > 0.0)

write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.PAERO3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines the number of Mach boxes in the flow direction and the location of cranks and control surfaces of a Mach box lifting surface.

Methods

_field_map = {1: u'pid', 2: u'orient', 3: u'width', 4: u'AR'}
_get_field_helper(n)[source]

Gets complicated parameters on the PAERO3 card

Parameters:
  • self – the PAERO3 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the PAERO3 card

Parameters:
  • self – the PAERO3 object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
pid = None

Property identification number. (Integer > 0)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the PAERO3 object pointer
Returns fields:the fields that define the card
type = u'PAERO3'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.PAERO5(card=None, data=None)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

PAERO5 PID NALPHA LALPHA NXIS LXIS NTAUS LTAUS
  CAOC1 CAOC2 CAOC3 CAOC4 CAOC5    
PAERO5 7001 1 702 1 701 1 700
0.0 | 0.0 | 5.25 | 3.99375 | 0.0 | | |

Methods

class pyNastran.bdf.cards.aero.SPLINE1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.aero.Spline

Surface Spline Methods Defines a surface spline for interpolating motion and/or forces for aeroelastic problems on aerodynamic geometries defined by regular arrays of aerodynamic points.

SPLINE1 EID CAERO BOX1 BOX2 SETG DZ METH USAGE
NELEM MELEM              
SPLINE1 3 111 115 122 14
   

Methods

CAero()[source]
Set()[source]
_field_map = {1: u'eid', 2: u'caero', 3: u'box1', 4: u'box2', 5: u'setg', 6: u'dz', 7: u'method', 8: u'usage', 9: u'nelements', 10: u'melements'}
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPLINE1 object pointer
  • model (BDF()) – the BDF object
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the SPLINE1 object pointer
Returns fields:the fields that define the card
repr_fields()[source]
type = u'SPLINE1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.SPLINE2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.aero.Spline

Linear Spline Defines a surface spline for interpolating motion and/or forces for aeroelastic problems on aerodynamic geometries defined by regular arrays of aerodynamic points.

SPLINE2 EID CAERO ID1 ID2 SETG DZ DTOR CID
  DTHX DTHY None USAGE        
SPLINE2 5 8 12 24 60
1.0 3
 
             

Methods

CAero()[source]
Cid()[source]
Set()[source]
_field_map = {1: u'eid', 2: u'caero', 3: u'id1', 4: u'id2', 5: u'setg', 6: u'dz', 7: u'dtor', 8: u'cid', 9: u'dthx', 10: u'dthy'}
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPLINE2 object pointer
  • model (BDF()) – the BDF object
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the SPLINE2 object pointer
Returns fields:the fields that define the card
repr_fields()[source]
type = u'SPLINE2'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.SPLINE4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.aero.Spline

Surface Spline Methods Defines a curved surface spline for interpolating motion and/or forces for aeroelastic problems on general aerodynamic geometries using either the Infinite Plate, Thin Plate or Finite Plate splining method.

SPLINE4 EID CAERO AELIST SETG DZ METH USAGE
NELEM MELEM              
SPLINE4 3 111 115 14
IPS  

Methods

AEList()[source]
CAero()[source]
Set()[source]
_field_map = {1: u'eid', 2: u'caero', 3: u'aelist', 5: u'setg', 6: u'dz', 7: u'method', 8: u'usage', 9: u'nelements', 10: u'melements'}
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPLINE4 object pointer
  • model (BDF()) – the BDF object
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the SPLINE4 object pointer
Returns fields:the fields that define the card
repr_fields()[source]
type = u'SPLINE4'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.SPLINE5(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.aero.Spline

Linear Spline Defines a 1D beam spline for interpolating motion and/or forces for aeroelastic problems on aerodynamic geometries defined by irregular arrays of aerodynamic points. The interpolating beam supports axial rotation and bending in the yz-plane.

SPLINE5 EID CAERO AELIST SETG DZ DTOR CID
  DTHX DTHY USAGE        

Methods

AEList()[source]
CAero()[source]
Cid()[source]
Set()[source]
_field_map = {1: u'eid', 2: u'caero', 3: u'aelist', 5: u'setg', 6: u'dz', 7: u'dtor', 8: u'cid', 9: u'thx', 10: u'thy', 12: u'usage'}
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPLINE5 object pointer
  • model (BDF()) – the BDF object
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the SPLINE5 object pointer
Returns fields:the fields that define the card
repr_fields()[source]
type = u'SPLINE5'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.aero.Spline(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

class pyNastran.bdf.cards.aero.TRIM(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

_field_map = {8: u'aeqr', 1: u'sid', 2: u'mach', 3: u'q'}
_get_field_helper(n)[source]

Gets complicated parameters on the TRIM card

Parameters:
  • self – the TRIM object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the TRIM card

Parameters:
  • self – the TRIM object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
label = None

Flag to request a rigid trim analysis (Real > 0.0 and < 1.0; Default = 1.0. A value of 0.0 provides a rigid trim analysis, not supported

labels = None

The label identifying aerodynamic trim variables defined on an AESTAT or AESURF entry.

mach = None

Mach number. (Real > 0.0 and != 1.0)

q = None

Dynamic pressure. (Real > 0.0)

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the TRIM object pointer
Returns fields:the fields that define the card
sid = None

Trim set identification number. (Integer > 0)

type = u'TRIM'
uxs = None

The magnitude of the aerodynamic extra point degree-of-freedom. (Real)

write_card(size=8, is_double=False)[source]
pyNastran.bdf.cards.aero.points_elements_from_quad_points(p1, p2, p3, p4, x, y)[source]

baseCard Module

bdf_sets Module

Inheritance diagram of pyNastran.bdf.cards.bdf_sets

class pyNastran.bdf.cards.bdf_sets.ABCQSet(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Generic Class ASET, BSET, CSET, QSET cards inherit from.

Defines degrees-of-freedom in the analysis set (A-set)

ASET ID1 C1 ID2 C2 ID3 C3 ID4 C4
ASET 16 2 23 3516 1 4    

Methods

IDs = None

Identifiers of grids points. (Integer > 0)

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

class pyNastran.bdf.cards.bdf_sets.ABQSet1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Generic Class ASET1, BSET1, QSET1 cards inherit from.

Defines degrees-of-freedom in the analysis set (a-set).

+–=—-+—–+—–+——+——+—–+—–+—–+—–+ | ASET1 | C | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 | ID7 | +——-+—–+—–+——+——+—–+—–+—–+—–+ | | ID8 | ID9 | | | | | | | +——-+—–+—–+——+——+—–+—–+—–+—–+ | ASET1 | C | ID1 | THRU | ID2 | | | | | +——-+—–+—–+——+——+—–+—–+—–+—–+

Methods

IDs = None

Identifiers of grids points. (Integer > 0)

components = None

Component number. (Integer zero or blank for scalar points or any unique combination of the Integers 1 through 6 for grid points with no embedded blanks.)

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

class pyNastran.bdf.cards.bdf_sets.ASET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABCQSet

Defines degrees-of-freedom in the analysis set (A-set).

ASET ID1 C1 ID2 C2 ID3 C3 ID4 C4
ASET 16 2 23 3516 1 4    

Methods

type = u'ASET'
class pyNastran.bdf.cards.bdf_sets.ASET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABQSet1

Defines degrees-of-freedom in the analysis set (a-set)

ASET1 C ID1 ID2 ID3 ID4 ID5 ID6 ID7
  ID8 ID9            
ASET1 C ID1 THRU ID2        

Methods

type = u'ASET1'
class pyNastran.bdf.cards.bdf_sets.BSET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABCQSet

Defines analysis set (a-set) degrees-of-freedom to be fixed (b-set) during generalized dynamic reduction or component mode synthesis calculations.

BSET ID1 C1 ID2 C2 ID3 C3 ID4 C4
BSET 16 2 23 3516 1 4    

Methods

type = u'BSET'
class pyNastran.bdf.cards.bdf_sets.BSET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABQSet1

Methods

type = u'BSET1'
class pyNastran.bdf.cards.bdf_sets.CSET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABCQSet

Defines analysis set (a-set) degrees-of-freedom to be fixed (b-set) during generalized dynamic reduction or component mode synthesis calculations.

CSET ID1 C1 ID2 C2 ID3 C3 ID4 C4
CSET 16 2 23 3516 1 4    

Methods

type = u'CSET'
class pyNastran.bdf.cards.bdf_sets.CSET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Defines analysis set (a-set) degrees-of-freedom to be fixed (b-set) during generalized dynamic reduction or component mode synthesis calculations.

CSET1 C ID1 ID2 ID3 ID4 ID5 ID6 ID7
  ID8 ID9            
CSET1 C ID1 THRU ID2        
CSET1 ,, ALL            

Methods

IDs = None

Identifiers of grids points. (Integer > 0)

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

type = u'CSET1'
class pyNastran.bdf.cards.bdf_sets.QSET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABCQSet

Defines generalized degrees-of-freedom (q-set) to be used for dynamic reduction or component mode synthesis.

QSET ID1 C1 ID2 C2 ID3 C3 ID4 C4
QSET 16 2 23 3516 1 4    

Methods

type = u'QSET'
class pyNastran.bdf.cards.bdf_sets.QSET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.ABQSet1

Defines generalized degrees-of-freedom (q-set) to be used for dynamic reduction or component mode synthesis.

Methods

type = u'QSET1'
class pyNastran.bdf.cards.bdf_sets.RADSET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Specifies which radiation cavities are to be included for radiation enclosure analysis.

RADSET ICAVITY1 ICAVITY2 ICAVITY3 ICAVITY4 ICAVITY5 ICAVITY6 ICAVITY7
  ICAVITY8 ICAVITY9 -etc.-        

Methods

IDs = None

Grid or scalar point identification number. (0 < Integer < 1000000; G1 < G2)

addRadsetObject(radset)[source]
raw_fields()[source]

gets the “raw” card without any processing as a list for printing

type = u'RADSET'
class pyNastran.bdf.cards.bdf_sets.SEBSET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Defines boundary degrees-of-freedom to be fixed (b-set) during generalized dynamic reduction or component mode calculations.

SEBSET SEID ID1 C1 ID2 C2 ID3 C3
SEBSET C ID1 THRU ID2      

Methods

components = None

Identifiers of grids points. (Integer > 0)

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

class pyNastran.bdf.cards.bdf_sets.SEBSET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Defines boundary degrees-of-freedom to be fixed (b-set) during generalized dynamic reduction or component mode calculations.

SEBSET1 C ID1 ID2 ID3 ID4 ID5 ID6 ID7
  ID8 ID9            
SEBSET1 C ID1 ‘THRU’ ID2        

Methods

IDs = None

Identifiers of grids points. (Integer > 0)

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

class pyNastran.bdf.cards.bdf_sets.SEQSEP(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.SetSuper

Used with the CSUPER entry to define the correspondence of the exterior grid points between an identical or mirror-image superelement and its primary superelement.

Methods

IDs = None

Exterior grid point identification numbers for the primary superelement. (Integer > 0)

psid = None

Identification number for the primary superelement. (Integer >= 0).

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

ssid = None

Identification number for secondary superelement. (Integer >= 0).

type = u'SEQSEP'
class pyNastran.bdf.cards.bdf_sets.SEQSET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Defines the generalized degrees-of-freedom of the superelement to be used in generalized dynamic reduction or component mode synthesis.

SEQSET1 C ID1 ID2 ID3 ID4 ID5 ID6 ID7
  ID8 ID9            
SEQSET1 C ID1 ‘THRU’ ID2        

Methods

IDs = None

Identifiers of grids points. (Integer > 0)

raw_fields()[source]

gets the “raw” card without any processing as a list for printing

class pyNastran.bdf.cards.bdf_sets.SESET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.SetSuper

Defines interior grid points for a superelement.

Methods

IDs = None

Grid or scalar point identification number. (0 < Integer < 1000000; G1 < G2)

add_SESET_Object(seset)[source]
raw_fields()[source]
type = u'SESET'
class pyNastran.bdf.cards.bdf_sets.SET1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Defines a list of structural grid points or element identification numbers.

SET1 SID ID1 ID2 ID3 ID4 ID5 ID6 ID7
  ID8 -etc.-            
SET1 3 31 62 93 124 16 17 18
  19              
SET1 6 29 32 THRU 50 61 THRU 70
  17 57            

Methods

IDs = None

List of structural grid point or element identification numbers. (Integer > 0 or ‘THRU’; for the ‘THRU’ option, ID1 < ID2 or ‘SKIN’; in field 3)

IsSkin()[source]
add_set(set1)[source]
raw_fields()[source]
sid = None

Unique identification number. (Integer > 0)

symmetric_difference(set1)[source]
type = u'SET1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.bdf_sets.SET3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Defines a list of grids, elements or points.

SET3 SID DES ID1 ID2 ID3 ID4 ID5 ID6
  ID7 ID8 etc          

Example +——+—–+——-+—–+—-+ | SET3 | 1 | POINT | 11 | 12 | +——+—–+——-+—–+—-+

Methods

IDs = None

Identifiers of grids points, elements, points or properties. (Integer > 0)

IsElement()[source]
IsGrid()[source]
IsPoint()[source]
IsProperty()[source]
desc = None

Set description (Character). Valid options are ‘GRID’, ‘ELEM’, ‘POINT’ and ‘PROP’.

raw_fields()[source]

Gets the “raw” card without any processing as a list for printing

sid = None

Unique identification number. (Integer > 0)

symmetric_difference(set1)[source]
type = u'SET3'
class pyNastran.bdf.cards.bdf_sets.Set(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Generic Class all SETx cards inherit from

Methods

IDs = None

list of IDs in the SETx

SetIDs()[source]

gets the IDs of the SETx

cleanIDs()[source]

eliminates duplicate IDs from self.IDs and sorts self.IDs

repr_fields()[source]
sid = None

Unique identification number. (Integer > 0)

write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.bdf_sets.SetSuper(card, data)[source]

Bases: pyNastran.bdf.cards.bdf_sets.Set

Generic Class all Superelement SETx cards inherit from.

Methods

IDs = None

list of IDs in the SESETx

seid = None

Superelement identification number. Must be a primary superelement. (Integer >= 0)

bdf_tables Module

Inheritance diagram of pyNastran.bdf.cards.bdf_tables

All table cards are defined in this file. This includes:

  • Table
  • TABLED1 - Dynamic Table = f(Time, Frequency)
  • TABLED2
  • TABLED3
  • TABLEM1 - Material table = f(Temperature)
  • TABLEM2
  • TABLEM3
  • TABLEM4
  • TABLES1 - Material table = f(Stress)
  • TABLEST
  • RandomTable * TABRND1
  • TABRNDG
  • TIC

All tables have a self.table parameter that is a TableObj

class pyNastran.bdf.cards.bdf_tables.RandomTable(card, data)[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

type = u'TABLE??'
class pyNastran.bdf.cards.bdf_tables.TABDMP1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABDMP1'
class pyNastran.bdf.cards.bdf_tables.TABLED1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLED1'
class pyNastran.bdf.cards.bdf_tables.TABLED2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLED2'
class pyNastran.bdf.cards.bdf_tables.TABLED3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLED3'
class pyNastran.bdf.cards.bdf_tables.TABLED4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLED4'
class pyNastran.bdf.cards.bdf_tables.TABLEM1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
type = u'TABLEM1'
class pyNastran.bdf.cards.bdf_tables.TABLEM2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLEM2'
class pyNastran.bdf.cards.bdf_tables.TABLEM3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLEM3'
class pyNastran.bdf.cards.bdf_tables.TABLEM4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLEM4'
class pyNastran.bdf.cards.bdf_tables.TABLES1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLES1'
class pyNastran.bdf.cards.bdf_tables.TABLEST(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TABLEST'
class pyNastran.bdf.cards.bdf_tables.TABRND1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.RandomTable

Methods

map_axis(axis)[source]
parse_fields(xy, nrepeated, isData=False)[source]
raw_fields()[source]
repr_fields()[source]
type = u'TABRND1'
class pyNastran.bdf.cards.bdf_tables.TABRNDG(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.RandomTable

Gust Power Spectral Density

Defines the power spectral density (PSD) of a gust for aeroelastic response analysis.

Methods

LU = None

Scale of turbulence divided by velocity (units of time; Real)

Type = None

PSD Type: 1. von Karman; 2. Dryden

WG = None

Root-mean-square gust velocity. (Real)

raw_fields()[source]
repr_fields()[source]
tid = None

Table identification number. (Integer >0)

type = u'TABRNDG'
class pyNastran.bdf.cards.bdf_tables.TIC(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.bdf_tables.Table

Transient Initial Condition

Methods

Defines values for the initial conditions of variables used in structural transient analysis. Both displacement and velocity values may be specified at independent degrees-of-freedom. This entry may not be used for heat transfer analysis.

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TIC'
class pyNastran.bdf.cards.bdf_tables.Table(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

map_axis(axis)[source]
parse_fields(xy, nrepeated, isData=False)[source]
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.bdf_tables.TableObj(xy, nrepeated, isData=False)[source]

Bases: object

Parameters:
  • self – the Table Object
  • xy – the X/Y data with an ENDT appended
  • nrepeated

    ???

  • isData – did this come from the OP2/BDF (True -> OP2)

Methods

_cleanup_xy(xy, isData=False)[source]

Removes the ENDT field.

Parameters:
  • xy – the xy data as a table with alternating x, y entries
  • isData – did this come from the OP2/BDF (True -> OP2)
_crash_fields(xy, nrepeated, nxy)[source]

Creates the print message if there was an error

Parameters:
  • xy – the xy data as a table with alternating x, y entries
  • nrepeated

    ???

  • nxy

    ???

fields()[source]

constraints Module

Inheritance diagram of pyNastran.bdf.cards.constraints

All constraint cards are defined in this file. This includes:

  • Constraint
  • SUPORT
  • SUPORT1
  • SPC
  • SPC1
  • SPCAX
  • SPCD
  • MPC
  • ConstraintADD
  • SPCADD
  • MPCADD

The ConstraintObject contain multiple constraints.

class pyNastran.bdf.cards.constraints.Constraint(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

raw_fields()[source]
class pyNastran.bdf.cards.constraints.ConstraintADD(card, data)[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

Methods

_reprSpcMpcAdd(fields)[source]
class pyNastran.bdf.cards.constraints.ConstraintObject[source]

Bases: object

Methods

Add(ADD_Constraint)[source]

Bad name, but adds an SPCADD or MPCADD

ConstraintID()[source]
_spc(spcID)[source]

could be an spcadd/mpcadd or spc/mpc,spc1,spcd,spcax,suport1

append(constraint)[source]
createConstraintsForID()[source]

This function returns all the constraints with an given constraint ID. For example an MPCADD that references 2 MPCADDs which reference 4 MPCs should return 4 MPCs (or rather the IDs of those MPCs).

Todo

This function should also find unassociated constraints. not really done yet, idea needs to be integrated/separated from cross-referencing. no point in doing it twice

cross_reference(model)[source]
getConstraintIDs()[source]
class pyNastran.bdf.cards.constraints.MPC(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

Methods

conid = None

Set identification number. (Integer > 0)

constraints = None

Component number. (Any one of the Integers 1 through 6 for grid points; blank or zero for scalar points.)

enforced = None

Coefficient. (Real; Default = 0.0 except A1 must be nonzero.)

gids = None

Identification number of grid or scalar point. (Integer > 0)

nodeIDs()[source]
raw_fields()[source]
type = u'MPC'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.MPCADD(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.ConstraintADD

Defines a multipoint constraint equation of the form \(\Sigma_j A_j u_j =0\) where \(u_j\) represents degree-of-freedom \(C_j\) at grid or scalar point \(G_j\). mPCADD 2 1 3

Methods

cross_reference(i, node)[source]
raw_fields()[source]
type = u'MPCADD'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SPC(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

Defines enforced displacement/temperature (static analysis) velocity/acceleration (dynamic analysis).

SPC SID G1 C1 D1 G2 C2 D2
SPC 2 32 3 -2.6 5    

Methods

cross_reference(i, node)[source]
getNodeDOFs(model)[source]
nodeIDs()[source]
raw_fields()[source]
type = u'SPC'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SPC1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

SPC1 SID C G1 G2 G3 G4 G5 G6
  G7 G8 G9 -etc.-        
SPC1 3 246 209075 209096 209512 209513 209516  
SPC1 3 2 1 3 10 9 6 5
  2 8            
SPC1 SID C G1 THRU G2
SPC1 313 12456 6 THRU 32

Methods

cross_reference(i, node)[source]
raw_fields()[source]
type = u'SPC1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SPCADD(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.ConstraintADD

Defines a single-point constraint set as a union of single-point constraint sets defined on SPC or SPC1 entries.

SPCADD 2 1 3

Methods

cross_reference(i, node)[source]
organizeConstraints(model)[source]

Figures out magnitudes of the loads to be applied to the various nodes. This includes figuring out scale factors.

raw_fields()[source]
type = u'SPCADD'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SPCAX(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

Defines a set of single-point constraints or enforced displacements for conical shell coordinates.

SPCAX SID RID HID C D
SPCAX 2 3 4 13 6.0

Methods

c = None

Component identification number. (Any unique combination of the Integers 1 through 6.)

conid = None

Identification number of a single-point constraint set.

cross_reference(i, node)[source]
d = None

Enforced displacement value

hid = None

Harmonic identification number. (Integer >= 0)

raw_fields()[source]
rid = None

Ring identification number. See RINGAX entry.

type = u'SPCAX'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SPCD(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.SPC

Defines an enforced displacement value for static analysis and an enforced motion value (displacement, velocity or acceleration) in dynamic analysis.

SPCD SID G1 C1 D1 G2 C2 D2
SPCD 100 32 436 -2.6 5 2 .9

Methods

raw_fields()[source]
type = u'SPCD'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SUPORT(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

SUPORT  ID1 C1 ID2 C2 ID3 C3 ID4 C4
SUPORT1 SID ID1 C1 ID2 C2 ID3 C3

Methods

raw_fields()[source]
type = u'SUPORT'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.constraints.SUPORT1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.constraints.Constraint

SUPORT1 SID ID1 C1 ID2 C2 ID3 C3
SUPORT1 1 2 23 4 15 5 0

Methods

raw_fields()[source]
type = u'SUPORT1'
write_card(size=8, is_double=False)[source]

contact Module

Inheritance diagram of pyNastran.bdf.cards.contact

  • BCRPARA
  • BCTADD
  • BCTSET
  • BSURF
  • BSURFS
class pyNastran.bdf.cards.contact.BCRPARA(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

1 2 3 4 5 6 7 8 9 10
BCRPARA CRID SURF OFFSET TYPE MGP        

Methods

Type = None

Indicates whether a contact region is a rigid surface if it is used as a target region. See Remarks 3 and 4. (Character = “RIGID” or “FLEX”, Default = “FLEX”). This is not supported for SOL 101.

crid = None

CRID Contact region ID. (Integer > 0)

mgp = None

Master grid point for a target contact region with TYPE=RIGID or when the rigid-target algorithm is used. The master grid point may be used to control the motion of a rigid surface. (Integer > 0,; Default = 0) This is not supported for SOL 101.

offset = None

Offset distance for the contact region. See Remark 2. (Real > 0.0, Default =OFFSET value in BCTPARA entry)

raw_fields()[source]
surf = None

SURF Indicates the contact side. See Remark 1. (Character = “TOP” or “BOT”; Default = “TOP”)

type = u'BCRPARA'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.contact.BCTADD(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

1 2 3 4 5 6 7 8 9
BCTADD CSID SI S2 S3 S4 S5 S6 S7
  S8 S9 -etc-          

Remarks: 1. To include several contact sets defined via BCTSET entries in a model,

BCTADD must be used to combine the contact sets. CSID in BCTADD is then selected with the Case Control command BCSET.
  1. Si must be unique and may not be the identification of this or any other BCTADD entry.

Methods

S = None

Identification numbers of contact sets defined via BCTSET entries. (Integer > 0)

csid = None

Contact set identification number. (Integer > 0)

raw_fields()[source]
type = u'BCTADD'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.contact.BCTPARA(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

1 2 3 4 5 6 7 8 9
BCTPARA CSID Param1 Value1 Param2 Value2 Param3 Value3  
  Param4 Value4 Param5 Value5 -etc-      

Methods

csid = None

Contact set ID. Parameters defined in this command apply to contact set CSID defined by a BCTSET entry. (Integer > 0)

raw_fields()[source]
type = u'BCTPARA'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.contact.BCTSET(card=None, data=None, comment=u'', sol=101)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

3D Contact Set Definition (SOLs 101, 601 and 701 only) Defines contact pairs of a 3D contact set.

1 2 3 4 5 6 7 8 9
BCTSET CSID SID1 TID1 FRIC1 MIND1 MAXD1    
  SID2 TID2 FRIC2 MIND2 MAXD2      
  -etc-              

Methods

csid = None

CSID Contact set identification number. (Integer > 0)

frictions = None

FRICi Static coefficient of friction for contact pair i. (Real; Default = 0.0)

max_distances = None

MAXDi Maximum search distance for contact. (Real) (Sol 101 only)

min_distances = None

MINDi Minimum search distance for contact. (Real) (Sol 101 only)

raw_fields()[source]
sids = None

SIDi Source region (contactor) identification number for contact pair i. (Integer > 0)

tids = None

TIDi Target region identification number for contact pair i. (Integer > 0)

type = u'BCTSET'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.contact.BSURF(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

3D Contact Region Definition by Shell Elements (SOLs 101, 601 and 701)

Defines a 3D contact region by shell element IDs.

1 2 3 4 5 6 7 8 9 10 BSURF ID EID1 EID2 EID3 EID4 EID5 EID6 EID7

EID8 EID9 EID10 -etc-

BSURF ID EID1 THRU EID2 BY INC EID8 EID9 EID10 EID11 -etc.- EID8 THRU EID9 BY INC

BSURF 15 5 THRU 21 BY 4 27 30 32 33 35 THRU 44 67 68 70 85 92

Methods

eids = None

Element identification numbers of shell elements. (Integer > 0)

nfields = None

Number (float)

raw_fields()[source]
sid = None

Set identification number. (Unique Integer > 0)

type = u'BSURF'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.contact.BSURFS(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a 3D contact region by the faces of the CHEXA, CPENTA or CTETRA elements.

Methods

eids = None

Element identification numbers of solid elements. (Integer > 0)

g1s = None

Identification numbers of 3 corner grid points on the face (triangular or quadrilateral) of the solid element. (Integer > 0)

id = None

Identification number of a contact region. See Remarks 2 and 3. (Integer > 0)

raw_fields()[source]
type = u'BSURFS'
write_card(size=8, is_double=False)[source]

coordinateSystems Module

dmig Module

Inheritance diagram of pyNastran.bdf.cards.dmig

class pyNastran.bdf.cards.dmig.DEQATN(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

evaluate(args)[source]
type = u'DEQATN'
class pyNastran.bdf.cards.dmig.DMI(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dmig.NastranMatrix

Methods

_add_column(card=None, data=None)[source]
_read_real(card)[source]
form = None

Form of the matrix: 1=Square (not symmetric); 2=Rectangular; 3=Diagonal (m=nRows,n=1); 4=Lower Triangular; 5=Upper Triangular; 6=Symmetric; 8=Identity (m=nRows, n=m)

is_complex()[source]
is_real()[source]
raw_fields()[source]
rename(newName)[source]
tin = None

1-Real, Single Precision; 2=Real,Double Precision; 3=Complex, Single; 4=Complex, Double

tout = None

0-Set by cell precision

type = u'DMI'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dmig.DMIG(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dmig.NastranMatrix

Defines direct input matrices related to grid, extra, and/or scalar points. The matrix is defined by a single header entry and one or more column entries. A column entry is required for each column with nonzero elements.

Methods

type = u'DMIG'
class pyNastran.bdf.cards.dmig.DMIJ(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dmig.NastranMatrix

Direct Matrix Input at js-Set of the Aerodynamic Mesh Defines direct input matrices related to collation degrees-of-freedom (js-set) of aerodynamic mesh points for CAERO1, CAERO3, CAERO4 and CAERO5 and for the slender body elements of CAERO2. These include W2GJ, FA2J and input pressures and downwashes associated with AEPRESS and AEDW entries. The matrix is described by a single header entry and one or more column entries. A column entry is required for each column with nonzero elements. For entering data for the interference elements of a CAERO2, use DMIJI or DMI.

Methods

type = u'DMIJ'
class pyNastran.bdf.cards.dmig.DMIJI(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dmig.NastranMatrix

Direct Matrix Input at js-Set of the Interference Body Defines direct input matrices related to collation degrees-of-freedom (js-set) of aerodynamic mesh points for the interference elements of CAERO2. These include W2GJ, FA2J and input pressures and downwashes associated with AEPRESS and AEDW entries. The matrix is described by a single header entry and one or more column entries. A column entry is required for each column with nonzero elements. For entering data for the slender elements of a CAERO2, or a CAERO1, 3, 4 or 5 use DMIJ or DMI.

Methods

type = u'DMIJI'
class pyNastran.bdf.cards.dmig.DMIK(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dmig.NastranMatrix

Direct Matrix Input at ks-Set of the Aerodynamic Mesh Defines direct input matrices related to physical (displacement) degrees-of-freedom (ks-set) of aerodynamic grid points. These include WKK, WTFACT and input forces associated with AEFORCE entries. The matrix is described by a single header entry and one or more column entries. A column entry is required for each column with nonzero elements.

Methods

type = u'DMIK'
class pyNastran.bdf.cards.dmig.NastranMatrix(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Base class for the DMIG, DMIJ, DMIJI, DMIK matrices

Methods

_add_column(card=None, data=None, comment=u'')[source]
getDType(type_flag)[source]
getMatrix(isSparse=False, applySymmetry=True)[source]
get_matrix(is_sparse=False, apply_symmetry=True)[source]

Builds the Matrix

Parameters:
  • self – the object pointer
  • is_sparse – should the matrix be returned as a sparse matrix (default=True). Slower for dense matrices.
  • apply_symmetry – If the matrix is symmetric (ifo=6), returns a symmetric matrix. Supported as there are symmetric matrix routines.
Returns M:

the matrix

Returns rows:

dictionary of keys=rowID, values=(Grid,Component) for the matrix

Returns cols:

dictionary of keys=columnID, values=(Grid,Component) for the matrix

Warning

isSparse WILL fail

ifo = None

4-Lower Triangular; 5=Upper Triangular; 6=Symmetric; 8=Identity (m=nRows, n=m)

isComplex()[source]
isPolar()[source]
isReal()[source]
is_complex()[source]
is_polar()[source]
Used by:
  • DMIG
  • DMIJ
  • DMIJI
  • DMIK
Not used by:
  • DMI
  • DMIAX
  • DMIG, UACCEL
  • DMIGOUT
  • DMIGROT
is_real()[source]
polar = None

Input format of Ai, Bi. (Integer=blank or 0 indicates real, imaginary format; Integer > 0 indicates amplitude, phase format.)

rename(new_name)[source]
tin = None

1-Real, Single Precision; 2=Real,Double Precision; 3=Complex, Single; 4=Complex, Double

tout = None

0-Set by cell precision

write_card(size=8, is_double=False)[source]

Todo

support double precision

write_code_aster()[source]

assume set 1 = MAAX1,MAAX2, etc. and 100/n % on each

pyNastran.bdf.cards.dmig.db(p, pref)[source]

sound pressure in decibels would capitalize it, but you wouldnt be able to call the function...

pyNastran.bdf.cards.dmig.dim(x, y)[source]

Note

used for DEQATN

pyNastran.bdf.cards.dmig.get_matrix(self, is_sparse=False, apply_symmetry=True)[source]

Builds the Matrix

Parameters:
  • self – the object pointer
  • is_sparse – should the matrix be returned as a sparse matrix (default=True). Slower for dense matrices.
  • apply_symmetry – If the matrix is symmetric (ifo=6), returns a symmetric matrix. Supported as there are symmetric matrix routines.
Returns M:

the matrix

Returns rows:

dictionary of keys=rowID, values=(Grid,Component) for the matrix

Returns cols:

dictionary of keys=columnID, values=(Grid,Component) for the matrix

Warning

isSparse WILL fail

pyNastran.bdf.cards.dmig.logx(x, y)[source]

log base x of y .. note:: used for DEQATN

pyNastran.bdf.cards.dmig.mod(x, y)[source]

x%y .. note:: used for DEQATN

pyNastran.bdf.cards.dmig.ssq(*listA)[source]

sum of squares .. note:: used for DEQATN

pyNastran.bdf.cards.dmig.sum2(*listA)[source]

sum of listA .. note:: used for DEQATN

dynamic Module

Inheritance diagram of pyNastran.bdf.cards.dynamic

All dynamic control cards are defined in this file. This includes:

  • FREQ
  • FREQ1
  • FREQ2 (not implemented)
  • FREQ3
  • FREQ4
  • FREQ5 (not implemented)
  • NLPCI
  • NLPARM
  • TSTEP
  • TSTEPNL

All cards are BaseCard objects.

class pyNastran.bdf.cards.dynamic.FREQ(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a set of frequencies to be used in the solution of frequency response problems.

1 2 3 4 5 6 7 8 9
FREQ SID F1 F2 etc.        

Methods

add_frequencies(freqs)[source]

Combines the frequencies from 1 FREQx object with another. All FREQi entries with the same frequency set identification numbers will be used. Duplicate frequencies will be ignored.

Parameters:
  • self – the object pointer
  • freqs – the frequencies for a FREQx object
add_frequency_object(freq)[source]
Parameters:
  • self – the object pointer
  • freq – a FREQx object

See also

addFrequencies()

cleanFreqs()[source]
getFreqs()[source]
raw_fields()[source]
type = u'FREQ'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.FREQ1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Defines a set of frequencies to be used in the solution of frequency response problems by specification of a starting frequency, frequency increment, and the number of increments desired.

1 2 3 4 5 6 7 8 9
FREQ1 SID F1 DF NDF        

Note

this card rewrites as a FREQ card

Methods

type = u'FREQ1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.FREQ2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Defines a set of frequencies to be used in the solution of frequency response problems by specification of a starting frequency, final frequency, and the number of logarithmic increments desired.

1 2 3 4 5 6 7 8 9
FREQ2 SID F1 F2 NDF        

Note

this card rewrites as a FREQ card

Methods

type = u'FREQ2'
class pyNastran.bdf.cards.dynamic.FREQ3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Methods

type = u'FREQ3'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.FREQ4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Defines a set of frequencies used in the solution of modal frequency response problems by specifying the amount of ‘spread’ around each natural frequency and the number of equally spaced excitation frequencies within the spread.

1 2 3 4 5 6 7 8 9
FREQ4 SID F1 F2 FSPD NFM      

Note

this card rewrites as a FREQ card

Todo

not done...

Methods

raw_fields()[source]
repr_fields()[source]
type = u'FREQ4'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.FREQ5(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Methods

type = u'FREQ5'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.NLPARM(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines a set of parameters for nonlinear static analysis iteration strategy.

1 2 3 4 5 6 7 8 9
NLPARM ID NINC DT KMETHOD KSTEP MAXITER CONV INTOUT
  ESPU EPSP EPSW MAXDIV MAXQN MAXLS FSTRESS LSTOL
  MAXBIS       MAXR   RTOLB CONV

Methods

raw_fields()[source]
repr_fields()[source]
type = u'NLPARM'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.NLPCI(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

raw_fields()[source]
repr_fields()[source]
type = u'NLPCI'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.TSTEP(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Transient Time Step Defines time step intervals at which a solution will be generated and output in transient analysis.

1 2 3 4 5 6 7 8 9
TSTEP N1 DT1 NO1          
  N2 DT2 NO2          
  etc.              

Methods

raw_fields()[source]
repr_fields()[source]
type = u'TSTEP'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.dynamic.TSTEPNL(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Defines parametric controls and data for nonlinear transient structural or heat transfer analysis. TSTEPNL is intended for SOLs 129, 159, and 600. Parameters for Nonlinear Transient Analysis.

1 2 3 4 5 6 7 8 9
TSTEPNL ID NDT DT NO METHOD KSTEP MAXITER CONV
  ESPU EPSP EPSW MAXDIV MAXQN MAXLS FSTRESS  
  MAXBIS ADJUST MSTEP RB MAXR UTOL RTOLB  

Methods

method = None

Note

not listed in all QRGs

raw_fields()[source]
repr_fields()[source]
type = u'TSTEPNL'
write_card(size=8, is_double=False)[source]

materials Module

Inheritance diagram of pyNastran.bdf.cards.materials

All material cards are defined in this file. This includes:

  • CREEP
  • MAT1 (isotropic solid/shell)
  • MAT2 (anisotropic)
  • MAT3 (linear orthotropic)
  • MAT4 (thermal)
  • MAT5 (thermal)
  • MAT8 (orthotropic shell)
  • MAT9 (anisotropic solid)
  • MAT10 (fluid element)
  • MATHP (hyperelastic)

All cards are Material objects.

class pyNastran.bdf.cards.materials.AnisotropicMaterial(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Anisotropic Material Class

Methods

class pyNastran.bdf.cards.materials.CREEP(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Methods

Mid()[source]
cross_reference(model)[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the CREEP object pointer
Returns fields:the fields that define the card
type = u'CREEP'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.EQUIV(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Methods

mid = None

Identification number of a MAT1, MAT2, or MAT9 entry.

raw_fields()[source]
type = u'EQUIV'
class pyNastran.bdf.cards.materials.HyperelasticMaterial(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Hyperelastic Material Class

Methods

class pyNastran.bdf.cards.materials.IsotropicMaterial(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Isotropic Material Class

Methods

class pyNastran.bdf.cards.materials.MAT1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.IsotropicMaterial

Defines the material properties for linear isotropic materials.

1 2 3 4 5 6 7 8 9
MAT1 MID E G NU RHO A TREF GE
  ST SC SS MCSID        

Methods

D()[source]
E()[source]
E_stress(stress)[source]
E_temperature(temperature)[source]
G()[source]
Nu()[source]
Rho()[source]
_field_map = {1: u'mid', 2: u'e', 3: u'g', 4: u'nu', 5: u'rho', 6: u'a', 7: u'TRef', 8: u'ge', 9: u'St', 10: u'Sc', 11: u'Ss', 12: u'Mcsid'}
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the MAT1 object pointer
  • xref (bool) – has this model been cross referenced
_write_calculix(elementSet=u'ELSetDummyMat')[source]
cross_reference(model)[source]
getG_default()[source]
get_density()[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT1 object pointer
Returns fields:the fields that define the card
set_E_G_nu(card)[source]

f[ G = frac{E}{2 (1+nu)} f]

type = u'MAT1'
write_card(size=8, is_double=False)[source]
write_code_aster()[source]
class pyNastran.bdf.cards.materials.MAT10(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Defines material properties for fluid elements in coupled fluid-structural analysis.

1 2 3 4 5 6 7 8 9
MAT10 MID BULK RHO C GE      

Methods

_field_map = {1: u'mid', 2: u'bulk', 3: u'rho', 4: u'c', 5: u'ge'}
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the MAT10 object pointer
  • xref (bool) – has this model been cross referenced
getBulkRhoC(card)[source]
\[bulk = c^2 \rho\]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT10 object pointer
Returns fields:the fields that define the card
type = u'MAT10'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT11(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Defines the material properties for a 3D orthotropic material for isoparametric solid elements.

1 2 3 4 5 6 7 8 9
MAT11 MID E1 E2 E3 NU12 NU13 NU23 G12
  G13 G23 RHO A1 A2 A3 TREF GE

Methods

_field_map = {1: u'mid', 2: u'e1', 3: u'e2', 4: u'e3', 5: u'nu12', 6: u'nu13', 7: u'nu23', 8: u'g12', 9: u'g13', 10: u'g23', 11: u'rho', 12: u'a1', 13: u'a2', 14: u'a3', 15: u'TRef', 16: u'ge'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT11 object pointer
Returns fields:the fields that define the card
type = u'MAT11'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.AnisotropicMaterial

Defines the material properties for linear anisotropic materials for two-dimensional elements.

1 2 3 4 5 6 7 8 9
MAT2 MID G11 G12 G13 G22 G23 G33 RHO
  A1 A2 A3 TREF GE ST SC SS
  MCSID              

Methods

Dplate()[source]

Eq 9.1.6 in Finite Element Method using Matlab

Dsolid()[source]

Eq 9.4.7 in Finite Element Method using Matlab

_field_map = {1: u'mid', 2: u'G11', 3: u'G12', 4: u'G13', 5: u'G22', 6: u'G23', 7: u'G33', 8: u'rho', 9: u'a1', 10: u'a2', 11: u'a3', 12: u'TRef', 13: u'ge', 14: u'St', 15: u'Sc', 16: u'Ss', 17: u'Mcsid'}
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the MAT2 object pointer
  • xref (bool) – has this model been cross referenced
cross_reference(model)[source]
get_density()[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT2 object pointer
Returns fields:the fields that define the card
type = u'MAT2'
write_calculix()[source]
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT3(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.OrthotropicMaterial

Defines the material properties for linear orthotropic materials used by the CTRIAX6 element entry.

1 2 3 4 5 6 7 8 9
MAT3 MID EX ETH EZ NUXTH NUTHZ NUZX RHO
      GZX AX ATH AZ TREF GE

Methods

_field_map = {1: u'mid', 2: u'ex', 3: u'eth', 4: u'ez', 5: u'nuxth', 6: u'nuthz', 7: u'nuzx', 8: u'rho', 11: u'gzx', 12: u'ax', 13: u'ath', 14: u'az', 15: u'TRef', 16: u'ge'}
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the MAT1 object pointer
  • xref (bool) – has this model been cross referenced
cross_reference(model)[source]
get_density()[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT3 object pointer
Returns fields:the fields that define the card
type = u'MAT3'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.ThermalMaterial

Defines the constant or temperature-dependent thermal material properties for conductivity, heat capacity, density, dynamic viscosity, heat generation, reference enthalpy, and latent heat associated with a single-phase change.

1 2 3 4 5 6 7 8 9
MAT4 MID K CP RHO MU H HGEN REFENTH
  TCH TDELTA QLAT          

Methods

_field_map = {1: u'mid', 2: u'k', 3: u'cp', 4: u'rho', 5: u'mu', 6: u'H', 7: u'hgen', 8: u'refEnthalpy', 9: u'tch', 10: u'tdelta', 11: u'qlat'}
cross_reference(model)[source]
get_density()[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT4 object pointer
Returns fields:the fields that define the card
type = u'MAT4'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT5(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.ThermalMaterial

Defines the thermal material properties for anisotropic materials.

1 2 3 4 5 6 7 8 9
MAT5 MID KXX KXY KXZ KYY KYZ KZZ CP
  RHO HGEN            

Methods

K()[source]

thermal conductivity matrix

_field_map = {1: u'mid', 2: u'kxx', 3: u'kxy', 4: u'kxz', 5: u'kyy', 6: u'kyz', 7: u'kzz'}
cross_reference(model)[source]
get_density()[source]
kxx = None

Thermal conductivity (assumed default=0.0)

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT5 object pointer
Returns fields:the fields that define the card
type = u'MAT5'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT8(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.OrthotropicMaterial

Defines the material property for an orthotropic material for isoparametric shell elements.

1 2 3 4 5 6 7 8 9
MAT8 MID E1 E2 NU12 G12 G1Z G2Z RHO
  A1 A2 TREF Xt Xc Yt Yc S
  GE1 F12 STRN          

Methods

D()[source]

Todo

what about G1z and G2z

E11()[source]
E22()[source]
G12()[source]
Nu12()[source]
_field_map = {1: u'mid', 2: u'e11', 3: u'e22', 4: u'nu12', 5: u'g12', 6: u'g1z', 7: u'g2z', 8: u'rho', 9: u'a1', 10: u'a2', 11: u'TRef', 12: u'Xt', 13: u'Xc', 14: u'Yt', 15: u'Yc', 16: u'S', 17: u'ge', 18: u'F12', 19: u'strn'}
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the MAT8 object pointer
  • xref (bool) – has this model been cross referenced
cross_reference(model)[source]
e11 = None

Todo

is this the correct default

e22 = None

Todo

is this the correct default

get_density()[source]
nu12 = None

Todo

is this the correct default

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT8 object pointer
Returns fields:the fields that define the card
type = u'MAT8'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MAT9(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.AnisotropicMaterial

Defines the material properties for linear, temperature-independent, anisotropic materials for solid isoparametric elements (see PSOLID entry description).

1 2 3 4 5 6 7 8 9
MAT9 MID G11 G12 G13 G14 G15 G16 G22
  G23 G24 G25 G26 G33 G34 G35 G36
  G44 G45 G46 G55 G56 G66 RHO A1
  A2 A3 A4 A5 A6 TREF GE  

Methods

D()[source]
_field_map = {1: u'mid'}
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the MAT9 object pointer
  • xref (bool) – has this model been cross referenced
mid = None

Material ID

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MAT9 object pointer
Returns fields:the fields that define the card
type = u'MAT9'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.MATHP(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.materials.HyperelasticMaterial

Methods

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the MATHP object pointer
Returns fields:the fields that define the card
type = u'MATHP'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.materials.OrthotropicMaterial(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Orthotropic Material Class

Methods

class pyNastran.bdf.cards.materials.ThermalMaterial(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.Material

Thermal Material Class

Methods

material_deps Module

Inheritance diagram of pyNastran.bdf.cards.material_deps

class pyNastran.bdf.cards.material_deps.MATS1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.material_deps.MaterialDependence

Specifies stress-dependent material properties for use in applications involving nonlinear materials. This entry is used if a MAT1, MAT2 or MAT9 entry is specified with the same MID in a nonlinear solution sequence (SOLs 106 and 129).

Methods

E(strain)[source]

Gets E (Young’s Modulus) for a given strain.

Parameters:
  • self – the object pointer
  • strain – the strain (None -> linear E value)
Returns E:

Young’s Modulus

Hf()[source]
Tid()[source]
Type = None

Type of material nonlinearity. (‘NLELAST’ for nonlinear elastic or ‘PLASTIC’ for elastoplastic.)

Yf()[source]
cross_reference(model)[source]
h = None

Work hardening slope (slope of stress versus plastic strain) in units of stress. For elastic-perfectly plastic cases, H=0.0. For more than a single slope in the plastic range, the stress-strain data must be supplied on a TABLES1 entry referenced by TID, and this field must be blank

hr = None

Hardening Rule, selected by one of the following values (Integer): (1) Isotropic (Default) (2) Kinematic (3) Combined isotropic and kinematic hardening

limit1 = None

Initial yield point

limit2 = None

Internal friction angle, measured in degrees, for the Mohr-Coulomb and Drucker-Prager yield criteria

mid = None

Identification number of a MAT1, MAT2, or MAT9 entry.

raw_fields()[source]
repr_fields()[source]
tid = None

Identification number of a TABLES1 or TABLEST entry. If H is given, then this field must be blank.

type = u'MATS1'
write_card(size=8, is_double=False)[source]
yf = None

Yield function criterion, selected by one of the following values (1) Von Mises (2) Tresca (3) Mohr-Coulomb (4) Drucker-Prager

class pyNastran.bdf.cards.material_deps.MATT1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.material_deps.MaterialDependence

Specifies temperature-dependent material properties on MAT1 entry fields via TABLEMi entries.

1 2 3 4 5 6 7 8 9
MATT1 MID T(E) T(G) T(NU) T(RHO) T(A)   T(GE)
  T(ST) T(SC) T(SS)          

Methods

A_table()[source]
E(temperature)[source]

Gets E (Young’s Modulus) for a given temperature.

Parameters:
  • self – the object pointer
  • temperature – the temperature (None -> linear E value)
Returns E:

Young’s Modulus

E_table()[source]
G_table()[source]
_xref_table(model, key, msg)[source]
cross_reference(model)[source]
ge_table()[source]
nu_table()[source]
raw_fields()[source]
repr_fields()[source]
rho_table()[source]
sc_table()[source]
ss_table()[source]
st_table()[source]
type = u'MATT1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.material_deps.MATT2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.material_deps.MaterialDependence

Specifies temperature-dependent material properties on MAT2 entry fields via TABLEMi entries.

1 2 3 4 5 6 7 8 9
MATT2 MID T(G12) T(G13) T(G13) T(G22) T(G23) T(G33) T(RHO)
  T(A1) T(A2) T(A3)   T(GE) T(ST) T(SC) T(SS)

Methods

A1_table()[source]
A2_table()[source]
A3_table()[source]
G11_table()[source]
G12_table()[source]
G13_table()[source]
G22_table()[source]
G23_table()[source]
G33_table()[source]
_xref_table(model, key, msg)[source]
cross_reference(model)[source]
ge_table()[source]
raw_fields()[source]
repr_fields()[source]
rho_table()[source]
sc_table()[source]
ss_table()[source]
st_table()[source]
type = u'MATT2'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.material_deps.MATT4(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.material_deps.MaterialDependence

Specifies temperature-dependent material properties on MAT2 entry fields via TABLEMi entries.

1 2 3 4 5 6 7 8 9
MATT4 MID T(K) T(CP)   T(H) T(mu) T(HGEN)  

Methods

Cp_table()[source]
H_table()[source]
Hgen_table()[source]
K_table()[source]
_xref_table(model, key, msg)[source]
cross_reference(model)[source]
mu_table()[source]
raw_fields()[source]
repr_fields()[source]
type = u'MATT4'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.material_deps.MATT5(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.material_deps.MaterialDependence

Specifies temperature-dependent material properties on MAT2 entry fields via TABLEMi entries.

1 2 3 4 5 6 7 8 9
MATT5 MID T(Kxx) T(Kxy) T(Kxz) T(Kyy) T(Kyz) T(Kzz) T(CP)
    T(HGEN)            

Methods

Cp_table()[source]
Hgen_table()[source]
Kxx_table()[source]
Kxy_table()[source]
Kxz_table()[source]
Kyy_table()[source]
Kyz_table()[source]
Kzz_table()[source]
_xref_table(model, key, msg)[source]
cross_reference(model)[source]
raw_fields()[source]
repr_fields()[source]
type = u'MATT5'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.material_deps.MATT8(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.material_deps.MaterialDependence

Specifies temperature-dependent material properties on MAT2 entry fields via TABLEMi entries.

1 2 3 4 5 6 7 8 9
MATT8 MID T(E1) T(E2) T(Nu12) T(G12) T(G1z) T(G2z) T(RHO)
  T(A1) T(A2)   T(Xt) T(Yc) T(Yt) T(Yc) T(S)
  T(GE) T(F12)            

Methods

type = u'MATT8'
class pyNastran.bdf.cards.material_deps.MaterialDependence(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

Mid()[source]
_get_table(key)[source]

internal method for accessing tables

methods Module

Inheritance diagram of pyNastran.bdf.cards.methods

All method cards are defined in this file. This includes:

  • EIGB
  • EIGC
  • EIGR
  • EIGP
  • EIGRL

All cards are Method objects.

class pyNastran.bdf.cards.methods.EIGB(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.methods.Method

Defines data needed to perform buckling analysis

Methods

L1 = None

Eigenvalue range of interest. (Real, L1 < L2)

cross_reference(model)[source]
method = None

Method of eigenvalue extraction. (Character: ‘INV’ for inverse power method or ‘SINV’ for enhanced inverse power method.) apparently it can also be blank...

ndp = None

Desired number of positive and negative roots. (Integer>0; Default = 3*NEP)

nep = None

Estimate of number of roots in positive range not used for METHOD = ‘SINV’. (Integer > 0)

norm = None

Method for normalizing eigenvectors. (‘MAX’ or ‘POINT’;Default=’MAX’)

raw_fields()[source]
repr_fields()[source]
sid = None

Set identification number. (Unique Integer > 0)

type = u'EIGB'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.methods.EIGC(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.methods.Method

Defines data needed to perform complex eigenvalue analysis .. todo: not done

Methods

C = None

Component number. Required only if NORM=’POINT’ and G is a geometric grid point. (1<Integer<6)

E = None

Convergence criterion. (Real > 0.0. Default values are: 10^-4 for METHOD = “INV”, 10^-15 for METHOD = “HESS”, E is machine dependent for METHOD = “CLAN”.)

G = None

Grid or scalar point identification number. Required only if NORM=’POINT’. (Integer>0)

cross_reference(model)[source]
loadCLAN(nRows, card)[source]
loadHESS_INV(nRows, card)[source]
method = None

Method of complex eigenvalue extraction

norm = None

Method for normalizing eigenvectors

rawMethod()[source]
raw_fields()[source]
reprMethod()[source]
repr_fields()[source]
sid = None

Set identification number. (Unique Integer > 0)

type = u'EIGC'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.methods.EIGP(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.methods.Method

Defines poles that are used in complex eigenvalue extraction by the Determinant method.

Methods

alpha1 = None

Coordinates of point in complex plane. (Real)

alpha2 = None

Coordinates of point in complex plane. (Real)

cross_reference(model)[source]
m1 = None

Multiplicity of complex root at pole defined by point at ALPHAi and OMEGAi

m2 = None

Multiplicity of complex root at pole defined by point at ALPHAi and OMEGAi

omega1 = None

Coordinates of point in complex plane. (Real)

omega2 = None

Coordinates of point in complex plane. (Real)

raw_fields()[source]
repr_fields()[source]
sid = None

Set identification number. (Unique Integer > 0)

type = u'EIGP'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.methods.EIGR(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.methods.Method

Defines data needed to perform real eigenvalue analysis

Methods

C = None

Component number. Required only if NORM=’POINT’ and G is a geometric grid point. (1<Integer<6)

G = None

Grid or scalar point identification number. Required only if NORM=’POINT’. (Integer>0)

cross_reference(model)[source]
f1 = None

Frequency range of interest

method = None

Method of eigenvalue extraction. (Character: ‘INV’ for inverse power method or ‘SINV’ for enhanced inverse power method.)

ne = None

Estimate of number of roots in range (Required for METHOD = ‘INV’). Not used by ‘SINV’ method.

norm = None

Method for normalizing eigenvectors. (‘MAX’ or ‘POINT’; Default=’MAX’)

raw_fields()[source]
repr_fields()[source]
sid = None

Set identification number. (Unique Integer > 0)

type = u'EIGR'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.methods.EIGRL(card=None, data=None, sol=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.methods.Method

Defines data needed to perform real eigenvalue (vibration or buckling) analysis with the Lanczos method

Methods

cross_reference(model)[source]
maxset = None

Number of vectors in block or set. Default is machine dependent

msglvl = None

Diagnostic level. (0 < Integer < 4; Default = 0)

nd = None

Number of roots desired

norm = None

Method for normalizing eigenvectors (Character: ‘MASS’ or ‘MAX’)

raw_fields()[source]
repr_fields()[source]
shfscl = None

Estimate of the first flexible mode natural frequency (Real or blank)

sid = None

Set identification number. (Unique Integer > 0)

type = u'EIGRL'
v1 = None

For vibration analysis: frequency range of interest. For buckling analysis: eigenvalue range of interest. See Remark 4. (Real or blank, -5 10e16 <= V1 < V2 <= 5.10e16)

write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.methods.Method(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Generic class for all methods. Part of self.methods

Methods

nodes Module

Inheritance diagram of pyNastran.bdf.cards.nodes

class pyNastran.bdf.cards.nodes.GRDSET(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Node

Defines default options for fields 3, 7, 8, and 9 of all GRID entries.

1 2 3 4 5 6 7 8 9
GRDSET   CP       CD PS SEID

Methods

Creates the GRDSET card

Parameters:
  • self – the GRDSET object pointer
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the GRDSET fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

Cd()[source]

Gets the output coordinate system

Parameters:self – the GRDSET object pointer
Returns cd:the output coordinate system
Cp()[source]

Gets the analysis coordinate system

Parameters:self – the GRDSET object pointer
Returns cp:the analysis coordinate system
Ps()[source]

Gets the GRID-based SPC

Parameters:self – the GRID object pointer
Returns ps:the GRID-based SPC
SEid()[source]

Gets the Superelement ID

Parameters:self – the GRDSET object pointer
Returns seid:the Superelement ID
_field_map = {8: u'seid', 1: u'nid', 2: u'cp', 6: u'cd', 7: u'ps'}

allows the get_field method and update_field methods to be used

_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the GRDSET object pointer
  • xref (bool) – has this model been cross referenced
cd = None

Analysis coordinate system

cp = None

Output Coordinate System

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPOINT object pointer
  • model (BDF) – the BDF object
ps = None

Default SPC constraint on undefined nodes

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the GRDSET object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the GRDSET object pointer
Returns fields:the fields that define the card
seid = None

Superelement ID

type = u'GRDSET'
write_card(f, size, is_double)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the SPOINT object pointer
  • size (int) – the size of the card (8/16)
class pyNastran.bdf.cards.nodes.GRID(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Node, pyNastran.bdf.deprecated.GridDeprecated

1 2 3 4 5 6 7 8 9
GRID NID CP X1 X2 X3 CD PS SEID

Methods

Creates the GRID card

Parameters:
  • self – the GRID object pointer
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the GRID fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

Cd()[source]

Gets the output coordinate system

Parameters:self – the GRID object pointer
Returns cd:the output coordinate system
Cp()[source]

Gets the analysis coordinate system

Parameters:self – the GRID object pointer
Returns cp:the analysis coordinate system
Nid()[source]

Gets the GRID ID

Parameters:self – the GRID object pointer
Returns nid:node ID
Ps()[source]

Gets the GRID-based SPC

Parameters:self – the GRID object pointer
Returns ps:the GRID-based SPC
SEid()[source]

Gets the Superelement ID

Parameters:self – the GRID object pointer
Returns seid:the Superelement ID
_field_map = {8: u'seid', 1: u'nid', 2: u'cp', 6: u'cd', 7: u'ps'}

allows the get_field method and update_field methods to be used

_get_field_helper(n)[source]

Gets complicated parameters on the GRID card

Parameters:
  • self – the GRID object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the GRID card

Parameters:
  • self – the GRID object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the GRID object pointer
  • xref (bool) – has this model been cross referenced
cd = None

Analysis coordinate system

cp = None

Grid point coordinate system

cross_reference(model, grdset=None)[source]

Cross links the card

Parameters:
  • self – the GRID object pointer
  • model (BDF()) – the BDF object
  • grdset (GRDSET() or None) – a GRDSET if available (default=None)

Note

The gridset object will only update the fields that have not been set

get_ndof()[source]

Gets the number of degrees of freedom for the GRID

Parameters:self – the GRID object pointer
Returns six:the value 6
get_position(debug=False)[source]

Gets the point in the global XYZ coordinate system.

Parameters:
  • self – the GRID object pointer
  • debug (bool) – developer debug (default=False)
Returns xyz:

the position of the GRID in the globaly coordinate system

get_position_wrt(model, cid, debug=False)[source]

Gets the location of the GRID which started in some arbitrary system and returns it in the desired coordinate system

Parameters:
  • self – the object pointer
  • model (BDF()) – the BDF model object
  • cid (int) – the desired coordinate ID
  • debug (bool) – developer debug (default=False)
Returns xyz:

the position of the GRID in an arbitrary coordinate system

nid = None

Node ID

ps = None

SPC constraint

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the GRID object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the GRID object pointer
Returns fields:the fields that define the card
seid = None

Superelement ID

set_position(model, xyz, cid=0)[source]

Updates the GRID location

Parameters:
  • self – the GRID object pointer
  • xyz (TYPE = NDARRAY. SIZE=(3,)) – the location of the node.
  • cp (int) – the analysis coordinate system. (default=0; global)
type = u'GRID'
write_card(size=8, is_double=False)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the GRID object pointer
  • size (int) – the size of the card (8/16)
  • isdouble – should this card be written with double precision (default=False)
xyz = None

node location in local frame

class pyNastran.bdf.cards.nodes.GRIDB(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Node

Creates the GRIDB card

Parameters:
  • self – the GRIDB object pointer
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the GRIDB fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

Cd()[source]

Gets the output coordinate system

Parameters:self – the GRIDB object pointer
Returns cd:the output coordinate system
_field_map = {8: u'idf', 1: u'nid', 4: u'phi', 6: u'cd', 7: u'ps'}

allows the get_field method and update_field methods to be used

_verify(xref)[source]

Verifies all methods for this object work

Parameters:
  • self – the GRIDB object pointer
  • xref (bool) – has this model been cross referenced
nid = None

node ID

ps = None

local SPC constraint

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the GRIDB object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the GRIDB object pointer
Returns fields:the fields that define the card
type = u'GRIDB'
write_card(size=8, is_double=False)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the GRIDB object pointer
  • size (int) – the size of the card (8/16)
class pyNastran.bdf.cards.nodes.Node(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Generic Node base class

Methods

class pyNastran.bdf.cards.nodes.POINT(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Node, pyNastran.bdf.deprecated.PointDeprecated

1 2 3 4 5 6 7 8 9
POINT NID CP X1 X2 X3      

Methods

Creates the POINT card

Parameters:
  • self – the POINT object pointer
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the POINT fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

Cp()[source]

Gets the analysis coordinate system

Parameters:self – the POINT object pointer
Returns cp:the analysis coordinate system
_field_map = {1: u'nid', 2: u'cp'}
_get_field_helper(n)[source]

Gets complicated parameters on the POINT card

Parameters:
  • self – the POINT object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
_update_field_helper(n, value)[source]

Updates complicated parameters on the POINT card

Parameters:
  • self – the POINT object pointer
  • n (int) – the field number to update
  • value – the value for the appropriate field
cd = None

Analysis coordinate system

cp = None

Grid point coordinate system

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the GRID object pointer
  • model (BDF()) – the BDF object
get_position(debug=False)[source]

Gets the point in the global XYZ coordinate system.

Parameters:
  • self – the POINT object pointer
  • debug – developer debug (default=False)
Returns position:
 

the position of the POINT in the globaly coordinate system

get_position_wrt(model, cid, debug=False)[source]

Gets the location of the POINT which started in some arbitrary system and returns it in the desired coordinate system

Parameters:
  • self – the POINT object pointer
  • model (BDF()) – the BDF model object
  • cid (int) – the desired coordinate ID
  • debug (bool) – debug (default=False)
Returns xyz:

the position of the POINT in an arbitrary coordinate system

nid = None

Node ID

ps = None

SPC constraint

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the GRID object pointer
Returns fields:the fields that define the card
repr_fields()[source]

Gets the fields in their simplified form

Parameters:self – the GRID object pointer
Returns fields:the fields that define the card
seid = None

Superelement ID

set_position(model, xyz, cid=0)[source]

Updates the POINT location

Parameters:
  • self – the POINT object pointer
  • xyz (TYPE = NDARRAY. SIZE=(3,)) – the location of the node.
  • cp (int) – the analysis coordinate system. (default=0; global)
type = u'POINT'
write_card(size=8, is_double=False)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the GRID object pointer
  • size (int) – the size of the card (8/16)
xyz = None

node location in local frame

class pyNastran.bdf.cards.nodes.RINGAX(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Ring

Defines a ring for conical shell problems.

1 2 3 4 5 6 7 8 9
RINGAX MID   R Z     PS  

Methods

Creates the RINGAX card :param self:

the RINGAX object pointer
Parameters:
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the RINGAX fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

R = None

Radius

_field_map = {1: u'mid', 3: u'R', 4: u'z', 7: u'ps'}

allows the get_field method and update_field methods to be used

nid = None

Node ID

ps = None

local SPC constraint

raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the RINGAX object pointer
Returns fields:the fields that define the card
type = u'RINGAX'
write_card(size=8, is_double=False)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the RINGAX object pointer
  • size (int) – the size of the card (8/16)
class pyNastran.bdf.cards.nodes.Ring(card, data)[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Generic Ring base class

Methods

class pyNastran.bdf.cards.nodes.SPOINT(nid, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Node

Creates the SPOINT card

Parameters:
  • self – the SPOINT object pointer
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the SPOINT fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPOINT object pointer
  • model (BDF) – the BDF object
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the SPOINT object pointer
Returns fields:the fields that define the card
type = u'SPOINT'
write_card(size=8, is_double=False)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the SPOINT object pointer
  • size – unused
  • is_double – unused
class pyNastran.bdf.cards.nodes.SPOINTs(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.nodes.Node

1 2 3 4 5 6 7 8 9
SPOINT ID1 THRU ID2          
SPOINT ID1 ID1 ID3 ID4 ID5 ID6 ID7 ID8
  ID8 etc.            

Methods

Creates the SPOINTs card that contains many SPOINTs :param self:

the SPOINTs object pointer
Parameters:
  • card (BDFCard) – a BDFCard object
  • data (LIST) – a list with the SPOINT fields defined in OP2 format
  • comment (string) – a comment for the card

Methods

_get_compressed_spoints()[source]

Gets the spoints in sorted, short form.

uncompresed: SPOINT,1,3,5 compressed: SPOINT,1,3,5

uncompresed: SPOINT,1,2,3,4,5 compressed: SPOINT,1,THRU,5

uncompresed: SPOINT,1,2,3,4,5,7 compressed: SPOINT,7

SPOINT,1,THRU,5
addSPoints(sList)[source]

Adds more SPOINTs to this object

Parameters:self – the SPOINT object pointer
createSPOINTi()[source]

Creates individal SPOINT objects

Parameters:self – the SPOINT object pointer
cross_reference(model)[source]

Cross links the card

Parameters:
  • self – the SPOINT object pointer
  • model (BDF) – the BDF object
get_ndof()[source]

Returns the number of degrees of freedom for the SPOINTs class

Parameters:self – the SPOINT object pointer
Returns ndofs:the number of degrees of freedom
raw_fields()[source]

Gets the fields in their unmodified form

Parameters:self – the SPOINT object pointer
Returns fields:the fields that define the card
type = u'SPOINT'
write_card(size=8, is_double=False)[source]

The writer method used by BDF.write_card

Parameters:
  • self – the SPOINT object pointer
  • size – unused
  • is_double – unused

optimization Module

Inheritance diagram of pyNastran.bdf.cards.optimization

class pyNastran.bdf.cards.optimization.DCONSTR(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Methods

raw_fields()[source]
repr_fields()[source]
type = u'DCONSTR'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DDVAL(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Methods

raw_fields()[source]
type = u'DDVAL'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DESVAR(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Methods

raw_fields()[source]
repr_fields()[source]
type = u'DESVAR'
write_card(size=8, is_double=False)[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Multiple Design Variable Linking Relates one design variable to one or more other design variables.:

DLINK ID DDVID C0 CMULT IDV1 C1 IDV2 C2
      IDV3 C3 -etc.-

Methods

raw_fields()[source]
repr_fields()[source]
type = u'DLINK'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DOPTPRM(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Design Optimization Parameters Overrides default values of parameters used in design optimization

DOPTPRM PARAM1 VAL1 PARAM2 VAL2 PARAM3 VAL3 PARAM4 VAL4
        PARAM5 VAL5 -etc.-

Methods

defaults = {u'DPMAX': 0.5, u'ETA1': 0.01, u'ETA2': 0.25, u'ETA3': 0.7, u'P2RSET': None, u'DPMIN': 0.01, u'OPTCOD': 0, u'APRCOD': 2, u'DRATIO': 0.1, u'CTMIN': 0.003, u'DESMAX': 5, u'FSDALP': 0.9, u'TDMIN': None, u'DXMAX': 1.0, u'DLXESL': 0.5, u'CT': -0.03, u'METHOD': 0, u'IGMAX': 0, u'GMAX': 0.005, u'CONVPR': 0.001, u'OBJMOD': 0, u'GSCAL': 0.001, u'NASPRO': 0, u'UPDFAC1': 2.0, u'UPDFAC2': 0.5, u'TREGION': 0, u'FSDMAX': 0, u'P2CM': None, u'P2CC': None, u'STPSCL': 1.0, u'PLVIOL': 0, u'P1': 0, u'DISBEG': 0, u'CONVDV': 0.001, u'P2CR': None, u'P2CP': None, u'DISCOD': 1, u'AUTOSE': 0, u'DSMXESL': 20, u'TCHECK': -1, u'P2CBL': None, u'CONV2': 1e-20, u'CONV1': 0.001, u'ISCAL': 0, u'P2': 1, u'DELB': 0.0001, u'DXMIN': 0.05, u'DELP': 0.2, u'DELX': 0.5, u'PTOL': 1e+35, u'IPRINT': 0, u'PENAL': 0.0, u'P2CALL': None, u'P2CDDV': None}
raw_fields()[source]
type = u'DOPTPRM'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DRESP1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

DRESP1         1S1      CSTRAIN PCOMP                  1       1   10000

Methods

raw_fields()[source]
type = u'DRESP1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DRESP2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Design Sensitivity Equation Response Quantities Defines equation responses that are used in the design, either as constraints or as an objective.

Methods

_pack_params()[source]
c3 = None

Todo

or blank?

raw_fields()[source]
repr_fields()[source]
type = u'DRESP2'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DSCREEN(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Methods

nstr = None

Maximum number of constraints to be retained per region per load case. (Integer > 0; Default = 20)

rType = None

Response type for which the screening criteria apply. (Character)

raw_fields()[source]
repr_fields()[source]
trs = None

Truncation threshold. (Real; Default = -0.5)

type = u'DSCREEN'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DVMREL1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

Design Variable to Material Relation Defines the relation between a material property and design variables.:

DVMREL1 ID TYPE MID MPNAME MPMIN MPMAX C0
        DVID1 COEF1 DVID2 COEF2 DVID3 COEF3 -etc.-

Methods

Mid()[source]
cross_reference(model)[source]
mpMin = None

Todo

bad default

raw_fields()[source]
repr_fields()[source]
type = u'DVMREL1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DVPREL1(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

DVPREL1   200000   PCOMP    2000      T2
          200000     1.0

Methods

Pid()[source]
cross_reference(model)[source]
pMin = None

Minimum value allowed for this property. .. todo:: bad default (see DVMREL1)

raw_fields()[source]
repr_fields()[source]
type = u'DVPREL1'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.DVPREL2(card=None, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.optimization.OptConstraint

DVPREL2 ID TYPE PID PNAME/FID PMIN PMAX EQID  
  DESVAR DVID1 DVID2 DVID3 DVID4 DVID5 DVID6 DVID7
  DVID8 -etc.-            
  DTABLE LABL1 LABL2 LABL3 LABL4 LABL5 LABL6 LABL7
  LABL8 -etc.-            

Methods

OptValue()[source]
Pid()[source]
Type = None

Name of a property entry, such as PBAR, PBEAM, etc

cross_reference(model)[source]

Todo

add support for DEQATN cards to finish DVPREL2 xref

eqID = None

Todo

or blank?

oid = None

Unique identification number

pMax = None

Maximum value allowed for this property. (Real; Default = 1.0E20)

pMin = None

Minimum value allowed for this property. If FID references a stress recovery location field, then the default value for PMIN is -1.0+35. PMIN must be explicitly set to a negative number for properties that may be less than zero (for example, field ZO on the PCOMP entry). (Real; Default = 1.E-15) .. todo:: bad default (see DVMREL1)

pNameFid = None

Property name, such as ‘T’, ‘A’, or field position of the property entry, or word position in the element property table of the analysis model. Property names that begin with an integer such as 12I/T**3 may only be referred to by field position. (Character or Integer 0)

pid = None

Property entry identification number

raw_fields()[source]
repr_fields()[source]

Todo

finish repr_fields for DVPREL2

type = u'DVPREL2'
write_card(size=8, is_double=False)[source]
class pyNastran.bdf.cards.optimization.OptConstraint[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Methods

params Module

Inheritance diagram of pyNastran.bdf.cards.params

class pyNastran.bdf.cards.params.PARAM(card, data=None, comment=u'')[source]

Bases: pyNastran.bdf.cards.baseCard.BaseCard

Creates a PARAM card.

Parameters:
  • self – the object
  • card – BDFCard object
  • data – list of PARAM entries not including ‘PARAM’; intended to be used by OP2 Reader (default=None)
  • comment – optional string (default=’‘)

Methods

_field_map = {1: u'key'}
_update_field_helper(n, value)[source]
raw_fields()[source]
repr_fields()[source]
type = u'PARAM'
update_values(value1=None, value2=None)[source]

Updates value1 and value2. Performs type checking based on the PARAM type after setting any default value(s).

Parameters:
  • self – the PARAM object
  • value1 – the main value (default=None)
  • value2 – optional value (default=None)

If you want to access the data directly, use: >>> param = bdf.params[‘POST’] >>> param.values[0] = -1 # value1 >>> param.values[1] = 3 # value2 >>>

Note

Most PARAM cards only have one value. Some have two.

write_card(size=8, is_double=False)[source]

utils Module

pyNastran.bdf.cards.utils.build_table_lines(fields, nstart=1, nend=0)[source]

Builds a table of the form:

DESVAR DVID1 DVID2 DVID3 DVID4 DVID5 DVID6 DVID7
  DVID8 -etc.-          
  UM VAL1 VAL2 -etc.-      

and then pads the rest of the fields with None’s

Parameters:
  • fields (list of values) – the fields to enter, including DESVAR
  • nStart – the number of blank fields at the start of the line (default=1)
  • nStart – int
  • nEnd – the number of blank fields at the end of the line (default=0)
  • nEnd – int

Note

will be used for DVPREL2, RBE1, RBE3

Warning

only works for small field format???

pyNastran.bdf.cards.utils.wipe_empty_fields(card)[source]

Removes an trailing Nones from the card. Also converts empty strings to None.

Parameters:card – the fields on the card as a list
Returns short_card:
 the card with no trailing blank fields

Todo

run this in reverse to make it faster