cards Package¶
aero Module¶
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 - 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'¶
- class pyNastran.bdf.cards.aero.AELINK(card=None, data=None, comment=u'')[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 - 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'¶
- 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 - These entries are referenced by the AESURF entry.
- When the THRU option is used, all intermediate grid points must exist. The word THRU may not appear in field 3 or 9 (2 or 9 for continuations).
- Intervening blank fields are not allowed.
- 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'¶
- 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 - _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'¶
- 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 - _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'¶
- 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 - _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'¶
- 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 - _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'¶
- 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 - _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'¶
- 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 - 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'¶
- 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.
- 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 1 | | | | 4 | | | | 2——3
- _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
- 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
- type = u'CAERO1'¶
- 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.
1 | | | 3 | | | | 2——4
- _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
- 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
- type = u'CAERO2'¶
- 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
- 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'¶
- class pyNastran.bdf.cards.aero.CAERO4(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
- 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
- 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'¶
- class pyNastran.bdf.cards.aero.CAERO5(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
- 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 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'¶
- 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 - _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'¶
- 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 - 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'¶
- 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 - _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
- _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
- 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'¶
- 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 - _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'¶
- 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 - 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'¶
- 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 - 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'¶
- 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 - _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'¶
- 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 - 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)
- 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.
- _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'¶
- 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 | | |
- 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 - _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
- type = u'SPLINE1'¶
- 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 - _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
- type = u'SPLINE2'¶
- 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 - _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
- type = u'SPLINE4'¶
- 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 - _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
- type = u'SPLINE5'¶
- class pyNastran.bdf.cards.aero.TRIM(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
- _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)
baseCard Module¶
- class pyNastran.bdf.cards.baseCard.BaseCard[source]¶
Bases: pyNastran.bdf.deprecated.BaseCardDeprecated
- _verify(xref)[source]¶
Verifies all methods for this object work
Parameters: - self – the object pointer
- xref (bool) – has this model been cross referenced
- class pyNastran.bdf.cards.baseCard.Element(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard, pyNastran.bdf.deprecated.ElementDeprecated
- Pid()[source]¶
returns the property ID of an element :param self: the Element pointer :returns pid: the Property ID :type pid: int
- faces[source]¶
Gets the faces of the element
Returns: dictionary with face number as the keys and a list of nodes (integer pointers) as the values. Note
The order of the nodes are consistent with ANSYS numbering.
>>> print element.faces
- nodes = None¶
the list of node IDs for an element (default=None)
- nodes2face(nodes)[source]¶
returns the face number that matches the list of nodes input
Parameters: nodes – list of nodes Returns faces: the face number as an integer Warning
It’s assumed you have the nodes in the proper order.
- pid = 0¶
- class pyNastran.bdf.cards.baseCard.Material(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
Base Material Class
- class pyNastran.bdf.cards.baseCard.Property(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
- Mid()[source]¶
returns the material ID of an element
Parameters: self – the Property pointer Returns mid: the Material ID
- pyNastran.bdf.cards.baseCard.build_thru(packs, maxDV=None)[source]¶
Takes a pack [1,7,2] and converts it into fields used by a SET card. The values correspond to the first value, last value, and delta in the list. This means that [1,1001,2] represents 500 values. [1,1001,1] represents 1001 values and will be written as [1,THRU,1001]..
Parameters: - packs – list of packs (list of 3 values: [first, last, delta] )
- maxDV – integer defining the max allowable delta between two values (default=None; no limit)
- pyNastran.bdf.cards.baseCard.build_thru_float(packs, maxDV=None)[source]¶
Takes a pack [1,7,2] and converts it into fields used by a SET card. The values correspond to the first value, last value, and delta in the list. This means that [1,1001,2] represents 500 values. [1,1001,1] represents 1001 values and will be written as [1,THRU,1001]..
Parameters: - packs – list of packs (list of 3 values: [first, last, delta] )
- maxDV – integer defining the max allowable delta between two values (default=None; no limit)
- pyNastran.bdf.cards.baseCard.build_thru_packs(packs, maxDV=1)[source]¶
# invalid SET1,4000, 1, 3, THRU, 10, 20, THRU, 30
# valid SET1,4000, 1 SET1,4000, 3, THRU, 10 SET1,4000, 20, THRU, 30
- returns
- singles = [1] doubles = [[3, ‘THRU’, 10], [20, ‘THRU’, 30]]
- pyNastran.bdf.cards.baseCard.collapse_thru_by(fields, get_packs=False)[source]¶
Parameters: - fields – the list of fields to collapse
- get_packs – get the list of packs so “special” formatting can be done
fields packs [1, 2, 3...150] -> [1, 150, 1] [1, 3, 5...150] -> [1, 150, 2]
- pyNastran.bdf.cards.baseCard.condense(value_list)[source]¶
Builds a list of packs (list of 3 values representing the first, last, and delta values for condensing a SET card.
See also
build_thru
- pyNastran.bdf.cards.baseCard.expand_thru(fields, set_fields=True, sort_fields=False)[source]¶
Expands a list of values of the form [1,5,THRU,9,13] to be [1,5,6,7,8,9,13]
Parameters: - fields – the fields to expand
- set_fields – should the fields be converted to a set and then back to a list? This is useful for [2, ‘THRU’ 5, 1] (default=True)
- sort_fields – should the fields be sorted at the end? (default=False)
- pyNastran.bdf.cards.baseCard.expand_thru_by(fields, set_fields=True, sort_fields=False)[source]¶
Expands a list of values of the form [1,5,THRU,9,BY,2,13] to be [1,5,7,9,13]
Parameters: - fields – the fields to expand
- set_fields – should the fields be converted to a set and then back to a list? This is useful for [2, ‘THRU’ 5, 1] (default=True)
- sort_fields – should the fields be sorted at the end? (default=False)
Todo
not tested
Note
used for QBDY3 and what else ???
bdf_sets Module¶
- 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 - IDs = None¶
- Identifiers of grids points. (Integer > 0)
- 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 | | | | | +——-+—–+—–+——+——+—–+—–+—–+—–+
- 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.)
- 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 - 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 - 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 - type = u'BSET'¶
- class pyNastran.bdf.cards.bdf_sets.BSET1(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_sets.ABQSet1
- 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 - 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 - IDs = None¶
- Identifiers of grids points. (Integer > 0)
- 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 - 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.
- 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.- - IDs = None¶
Grid or scalar point identification number. (0 < Integer < 1000000; G1 < G2)
- 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 - components = None¶
- Identifiers of grids points. (Integer > 0)
- 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 - IDs = None¶
- Identifiers of grids points. (Integer > 0)
- 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.
- IDs = None¶
Exterior grid point identification numbers for the primary superelement. (Integer > 0)
- psid = None¶
Identification number for the primary superelement. (Integer >= 0).
- 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 - IDs = None¶
- Identifiers of grids points. (Integer > 0)
- 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.
- IDs = None¶
- Grid or scalar point identification number. (0 < Integer < 1000000; G1 < G2)
- 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 - 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)
- sid = None¶
- Unique identification number. (Integer > 0)
- type = u'SET1'¶
- 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 | +——+—–+——-+—–+—-+
- IDs = None¶
- Identifiers of grids points, elements, points or properties. (Integer > 0)
- desc = None¶
- Set description (Character). Valid options are ‘GRID’, ‘ELEM’, ‘POINT’ and ‘PROP’.
- sid = None¶
- Unique identification number. (Integer > 0)
- 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
- IDs = None¶
- list of IDs in the SETx
- sid = None¶
- Unique identification number. (Integer > 0)
- 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.
- IDs = None¶
- list of IDs in the SESETx
- seid = None¶
- Superelement identification number. Must be a primary superelement. (Integer >= 0)
bdf_tables Module¶
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
- type = u'TABLE??'¶
- class pyNastran.bdf.cards.bdf_tables.TABDMP1(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABDMP1'¶
- class pyNastran.bdf.cards.bdf_tables.TABLED1(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLED1'¶
- class pyNastran.bdf.cards.bdf_tables.TABLED2(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLED2'¶
- class pyNastran.bdf.cards.bdf_tables.TABLED3(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLED3'¶
- class pyNastran.bdf.cards.bdf_tables.TABLED4(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLED4'¶
- class pyNastran.bdf.cards.bdf_tables.TABLEM1(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLEM1'¶
- class pyNastran.bdf.cards.bdf_tables.TABLEM2(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLEM2'¶
- class pyNastran.bdf.cards.bdf_tables.TABLEM3(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLEM3'¶
- class pyNastran.bdf.cards.bdf_tables.TABLEM4(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLEM4'¶
- class pyNastran.bdf.cards.bdf_tables.TABLES1(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLES1'¶
- class pyNastran.bdf.cards.bdf_tables.TABLEST(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.Table
- type = u'TABLEST'¶
- class pyNastran.bdf.cards.bdf_tables.TABRND1(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.bdf_tables.RandomTable
- 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.
- 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)
- 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
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.
- type = u'TIC'¶
- 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)
- _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)
constraints Module¶
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.ConstraintObject[source]¶
Bases: object
- 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
- class pyNastran.bdf.cards.constraints.MPC(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.constraints.Constraint
- 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)
- type = u'MPC'¶
- 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
- type = u'MPCADD'¶
- 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 - type = u'SPC'¶
- 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 - type = u'SPC1'¶
- 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 - organizeConstraints(model)[source]¶
Figures out magnitudes of the loads to be applied to the various nodes. This includes figuring out scale factors.
- type = u'SPCADD'¶
- 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 - c = None¶
Component identification number. (Any unique combination of the Integers 1 through 6.)
- conid = None¶
Identification number of a single-point constraint set.
- d = None¶
Enforced displacement value
- hid = None¶
Harmonic identification number. (Integer >= 0)
- rid = None¶
Ring identification number. See RINGAX entry.
- type = u'SPCAX'¶
- 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 - type = u'SPCD'¶
- 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
- type = u'SUPORT'¶
contact Module¶
- 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 - 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)
- surf = None¶
SURF Indicates the contact side. See Remark 1. (Character = “TOP” or “BOT”; Default = “TOP”)
- type = u'BCRPARA'¶
- 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.- Si must be unique and may not be the identification of this or any other BCTADD entry.
- S = None¶
Identification numbers of contact sets defined via BCTSET entries. (Integer > 0)
- csid = None¶
Contact set identification number. (Integer > 0)
- type = u'BCTADD'¶
- 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- - csid = None¶
Contact set ID. Parameters defined in this command apply to contact set CSID defined by a BCTSET entry. (Integer > 0)
- type = u'BCTPARA'¶
- 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- - 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)
- 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'¶
- 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
- eids = None¶
Element identification numbers of shell elements. (Integer > 0)
- n = None¶
Number (float)
- sid = None¶
Set identification number. (Unique Integer > 0)
- type = u'BSURF'¶
- 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.
Remarks: 1. The continuation field is optional. 2. BSURFS is a collection of one or more element faces on solid elements.
BSURFS defines a contact region which may act as a contact source (contactor) or target.- The ID must be unique with respect to all other BSURFS, BSURF, and BCPROP entries.
- 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)
- type = u'BSURFS'¶
coordinateSystems Module¶
All coordinate cards are defined in this file. This includes:
- CORD1R
- CORD1C
- CORD1S
- CORD2R
- CORD2C
- CORD2S
- class pyNastran.bdf.cards.coordinateSystems.CORD1C(card=None, nCoord=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Cord1x, pyNastran.bdf.cards.coordinateSystems.CylindricalCoord
1 2 3 4 5 6 7 8 9 CORD1C CIDA G1A G2A CIDB G1B G2B G3B Intilizes the CORD1R
Parameters: - self – the CORD1C coordinate system object
- card – a BDFCard object
- nCoord – the coordinate location on the line (there are possibly 2 coordinates on 1 card)
- data – a list version of the fields (1 CORD1R only)
- Type = u'C'¶
- type = u'CORD1C'¶
- class pyNastran.bdf.cards.coordinateSystems.CORD1R(card=None, nCoord=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Cord1x, pyNastran.bdf.cards.coordinateSystems.RectangularCoord
1 2 3 4 5 6 7 8 9 CORD1R CIDA G1A G2A CIDB G1B G2B G3B Intilizes the CORD1R
Parameters: - self – the CORD1R coordinate system object
- nCoord – the coordinate location on the line (there are possibly 2 coordinates on 1 card)
- card – a list version of the fields (1 CORD1R only)
- Type = u'R'¶
- type = u'CORD1R'¶
- class pyNastran.bdf.cards.coordinateSystems.CORD1S(card=None, nCoord=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Cord1x, pyNastran.bdf.cards.coordinateSystems.SphericalCoord
1 2 3 4 5 6 7 8 9 CORD1S CIDA G1A G2A CIDB G1B G2B G3B Intilizes the CORD1S
Parameters: - self – the CORD1S coordinate system object
- card – a BDFCard object
- nCoord – the coordinate location on the line (there are possibly 2 coordinates on 1 card)
- data – a list version of the fields (1 CORD1S only)
- Type = u'S'¶
- type = u'CORD1S'¶
- class pyNastran.bdf.cards.coordinateSystems.CORD2C(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Cord2x, pyNastran.bdf.cards.coordinateSystems.CylindricalCoord
Intilizes the CORD2C
1 2 3 4 5 6 7 8 9 CORD2C CID RID A1 A2 A3 B1 B2 B3 C1 C2 C3 Parameters: - self – the CORD2C coordinate system object
- card – a BDFCard object
- data – a list version of the fields (1 CORD2C only)
- Type = u'C'¶
- type = u'CORD2C'¶
- class pyNastran.bdf.cards.coordinateSystems.CORD2R(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Cord2x, pyNastran.bdf.cards.coordinateSystems.RectangularCoord
Intilizes the CORD2R
1 2 3 4 5 6 7 8 9 CORD2R CID RID A1 A2 A3 B1 B2 B3 C1 C2 C3 Parameters: - self – the CORD2R coordinate system object
- card – a BDFCard object
- data – a list version of the fields (1 CORD2R only) default=None -> [0, 0, 0., 0., 0., 0., 0., 1., 1., 0., 0.]
- Type = u'R'¶
- _verify(xref)[source]¶
Verifies all methods for this object work
Parameters: - self – the CORD2R object pointer
- xref (bool) – has this model been cross referenced
- type = u'CORD2R'¶
- class pyNastran.bdf.cards.coordinateSystems.CORD2S(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Cord2x, pyNastran.bdf.cards.coordinateSystems.SphericalCoord
Intilizes the CORD2S
1 2 3 4 5 6 7 8 9 CORD2S CID RID A1 A2 A3 B1 B2 B3 C1 C2 C3 Parameters: - self – the CORD2S coordinate system object
- card – a BDFCard object
- data – a list version of the fields (1 CORD2S only)
- Type = u'S'¶
- type = u'CORD2S'¶
- class pyNastran.bdf.cards.coordinateSystems.CORD3G(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Coord
Defines a general coordinate system using three rotational angles as functions of coordinate values in the reference coordinate system. The CORD3G entry is used with the MAT9 entry to orient material principal axes for 3-D composite analysis.
CORD3G CID METHOD FORM THETAID1 THETAID2 THETAID3 CIDREF CORD3G 100 E313 EQN 110 111 112 0 Intilizes the CORD3G
Parameters: - self – the CORD3G coordinate system object
- card – a list version of the fields
- coord3g_transformToGlobal(p, debug=False)[source]¶
Parameters: - self – the coordinate system object
- p – the point to transform. TYPE=NUMPY.NDARRAY.
- debug – should debug messages be printed
Warning
not done, just setting up how you’d do this
Note
per http://en.wikipedia.org/wiki/Euler_angles “This means for example that a convention named (YXZ) is the result of performing first an intrinsic Z rotation, followed by X and Y rotations, in the moving axes (Note: the order of multiplication of matrices is the opposite of the order in which they’re applied to a vector).”
- type = u'CORD3G'¶
- class pyNastran.bdf.cards.coordinateSystems.Coord(card, data, comment)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard, pyNastran.bdf.deprecated.CoordDeprecated
Defines a general CORDxx object
Parameters: - self – the coordinate system object
- card – a BDFCard object
- data – a list analogous to the card
- isResolved = None¶
have all the transformation matricies been determined
- move_origin(xyz)[source]¶
Move the coordinate system to a new origin while maintaining the orientation
Parameters: - self – the coordinate system object
- xyz – the new origin point to move the coordinate to in the global coordinate system
- setup()[source]¶
- \[e_{13} = e_3 - e_1\]\[e_{12} = e_2 - e_1\]\[k = \]
rac{e_{12}}{lvert e_{12} vert}
\[j_{dir} = k imes e_{13}\]\[j = \]rac{j_{dir}}{lvert j_{dir} vert}
\[i = j imes k\]
- transform_node_to_global(p, debug=False)[source]¶
Transforms a point from the local coordinate system to the reference coordinate frames “global” coordinate system.
\[[p_{global}]_{1\times 3} = [p_{local}]_{1\times 3}[\beta_{ij}]_{3\times 3} + [p_{origin}]\]where \([\beta]_{ij}\) is the transformation matrix
\[\begin{split}[\beta]_{ij} = \left[ \begin{array}{ccc} g_x \cdot i & g_x \cdot j & g_x \cdot k \\ g_y \cdot i & g_y \cdot j & g_y \cdot k \\ g_z \cdot i & g_z \cdot j & g_z \cdot k \end{array} \right]\end{split}\]- \(g\) is the global directional vector (e.g. \(g_x = [1,0,0]\))
- \(ijk\) is the math:i^{th} direction in the local coordinate system
Parameters: - self – the coordinate system object
- p – the point to be transformed in the local frame. Type=1x3 NUMPY.NDARRAY
- debug – developer debug (default=False)
Returns p2: the point in the global frame. Type=1x3 NUMPY.NDARRAY
Returns beta: the rotation matrix. Type=6x6 NUMPY.NDARRAY
Warning
make sure you cross-reference before calling this
Warning
you probably shouldnt call this, call the Node methods Position and PositionWRT
- transform_node_to_local(p, debug=False)[source]¶
Transforms the global point p to the local coordinate system
Parameters: - self – the coordinate system object
- p – the point to transform
- beta – the transformation matrix to apply - created by transformToGlobal
- debug – developer debug
Note
uses the matrix as there is no linking from a global coordinate system to the local
Note
the matrix that comes in is the local to global, so we need to invert the matrix. The inverse of the tranformation matrix \([\beta]\) is the transpose of the matrix.
\[p_{global} = (p_{coord})[\beta] + p_{origin}\]\[[\beta]^{-1} = [\beta]^T\]\[p_{coord} = (p_{global} -p_{origin}) [\beta]^T\]\[p_{local} = transform(p_{coord})\]Where transform(x) depends on the rectangular, cylindrical, or spherical coordinate system
- transform_vector_to_global(p, debug=False)[source]¶
Transforms a generalized vector from the local frame to the global frame. A generalized vector is unchanged when you shift it’s point of application. So:
- Generalized Vectors (Force, Moment about the origin)
- Not Generalized Vectors (node xyz, displacement, Moment)
Parameters: - p – the vector in the local frame
- debug – debug flag (default=False; unused)
Retval p3: the vector in the global frame
Note
Shifting the load application point of a force creates a moment, but the force will be the same.
- transform_vector_to_local(p, debug=False)[source]¶
see transform_node_to_local, but set the origin to <0, 0, 0>
- type = u'COORD'¶
- class pyNastran.bdf.cards.coordinateSystems.Cord1x(card, nCoord, data, comment)[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Coord
- _verify(xref)[source]¶
Verifies all methods for this object work
Parameters: - self – the CORD1x object pointer
- xref (bool) – has this model been cross referenced
- cid = None¶
the coordinate ID
- cross_reference(model)[source]¶
Links self.rid to a coordinate system.
Parameters: - self – the coordinate system object
- model – the BDF object
- g1 = None¶
a Node at the origin
- g2 = None¶
a Node on the z-axis
- g3 = None¶
a Node on the xz-plane
- nodeIDs()[source]¶
Gets the integers for the node [g1,g2,g3]
Parameters: self – the coordinate system object
- rid = 0¶
- setup()[source]¶
Finds the position of the nodes used define the coordinate system and sets the ijk vectors
Parameters: self – the coordinate system object
- class pyNastran.bdf.cards.coordinateSystems.Cord2x(card, data, comment)[source]¶
Bases: pyNastran.bdf.cards.coordinateSystems.Coord
Defines the CORD2x class
Parameters: - self – the coordinate system object
- card – a BDFCard object
- data – a list analogous to the card
- _verify(xref)[source]¶
Verifies all methods for this object work
Parameters: - self – the CORD2x object pointer
- xref (bool) – has this model been cross referenced
- cid = None¶
coordinate system ID
- cross_reference(model)[source]¶
Links self.rid to a coordinate system.
Parameters: - self – the coordinate system object
- model – the BDF object
Warning
Doesn’t set rid to the coordinate system if it’s in the global. This isn’t a problem. It’s meant to speed up the code in order to resolve extra coordinate systems.
- e1 = None¶
origin in a point relative to the rid coordinate system
- e2 = None¶
z-axis in a point relative to the rid coordinate system
- e3 = None¶
a point on the xz-plane relative to the rid coordinate system
- i = None¶
the global axes
- rid = None¶
reference coordinate system ID
- class pyNastran.bdf.cards.coordinateSystems.CylindricalCoord[source]¶
Bases: object
\[r = \sqrt(x^2+y^2)\]\[\theta = tan^{-1}\left(\frac{y}{x}\right)\]\[z = z\]\[x = r cos(\theta)\]\[y = r sin(\theta)\]\[z = z\]\[p = [x,y,z] + e_1\]http://en.wikipedia.org/wiki/Cylindrical_coordinate_system
See also
- class pyNastran.bdf.cards.coordinateSystems.RectangularCoord[source]¶
Bases: object
- class pyNastran.bdf.cards.coordinateSystems.SphericalCoord[source]¶
Bases: object
\[r = \rho = \sqrt(x^2+y^2+z^2)\]\[\theta = \cos^{-1}\left(\frac{z}{r}\right)\]\[\phi = \tan^{-1}\left(\frac{y}{x}\right)\]\[x = r \sin(\theta)\cos(\phi)\]\[y = r \sin(\theta)\sin(\phi)\]\[z = r \cos(\theta)\]\[p = [x,y,z]\]See also
- pyNastran.bdf.cards.coordinateSystems._fix_xyz_shape(xyz, name=u'xyz')[source]¶
Checks the shape of a grid point location and fixes it if possible
- pyNastran.bdf.cards.coordinateSystems.define_coord_e123(model, Type, cid, origin, rid=0, xaxis=None, yaxis=None, zaxis=None, xyplane=None, yzplane=None, xzplane=None)[source]¶
Create a coordinate system based on a defined axis and point on the plane. This is the generalized version of the CORDx card.
Parameters: - model – a BDF object
- Type – ‘CORD2R’, ‘CORD2C’, ‘CORD2S’
- cid – the new coordinate system id
- origin – a (3,) ndarray defining the location of the origin in the global coordinate frame
- rid – the new reference coordinate system id (default=0)
- xaxis – a (3,) ndarray defining the x axis (default=None)
- yaxis – a (3,) ndarray defining the y axis (default=None)
- zaxis – a (3,) ndarray defining the z axis (default=None)
Note
one axis (xaxis, yaxis, zaxis) and one plane (xyplane, yzplane, xz plane) must be defined; the others must be None
Note
the axes and planes are defined in the rid coordinate system
TODO: hasn’t been tested...
- pyNastran.bdf.cards.coordinateSystems.define_coord_ijk(model, Type, cid, origin, rid=0, i=None, j=None, k=None)[source]¶
Create a coordinate system based on 2 or 3 perpendicular unit vectors
Parameters: - model – a BDF object
- Type – ‘CORD2R’, ‘CORD2C’, ‘CORD2S’
- cid – the new coordinate system id
- origin – a (3,) ndarray defining the location of the origin in the global coordinate frame
- rid – the new reference coordinate system id (default=0)
- i – the i unit vector (default=None)
- j – the j unit vector (default=None)
- k – the k unit vector (default=None)
TODO: hasn’t been tested...
- pyNastran.bdf.cards.coordinateSystems.define_spherical_cutting_plane(model, origin, rid, cids, thetas, phis)[source]¶
Creates a series of coordinate systems defined as constant origin, with a series of theta and phi angles, which are defined about the aerodynamic axis <1, 0, 0>. This is intended to be with a supersonic mach plane for calculating wave drag where:
\[\theta = \mu = \frac{1}{\sqrt(Mach^2 - 1)}\]\[\phi = [-\pi, \pi]\]Parameters: - model – a BDF object
- origin – a (3,) ndarray defining the location of the origin in the global coordinate frame
- rid – the new spherical reference coordinate system id
- cids – list of new coordinate system ids
- thetas – list of thetas (in radians)
- phis – list of phis (in radians)
Note
creates 1 CORD2S and ncid CORD2R coordinate systems
Todo
hasn’t been tested...
dmig Module¶
dynamic Module¶
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. - 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()
- type = u'FREQ'¶
- 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
- type = u'FREQ1'¶
- 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
- type = u'FREQ2'¶
- class pyNastran.bdf.cards.dynamic.FREQ3(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.dynamic.FREQ
- type = u'FREQ3'¶
- 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...
- type = u'FREQ4'¶
- class pyNastran.bdf.cards.dynamic.FREQ5(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.dynamic.FREQ
- type = u'FREQ5'¶
- 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 - type = u'NLPARM'¶
- class pyNastran.bdf.cards.dynamic.NLPCI(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
- type = u'NLPCI'¶
- 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. - type = u'TSTEP'¶
- 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 - method = None¶
Note
not listed in all QRGs
- type = u'TSTEPNL'¶
materials Module¶
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
- class pyNastran.bdf.cards.materials.CREEP(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.Material
- 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'¶
- class pyNastran.bdf.cards.materials.EQUIV(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.Material
- mid = None¶
Identification number of a MAT1, MAT2, or MAT9 entry.
- type = u'EQUIV'¶
- class pyNastran.bdf.cards.materials.HyperelasticMaterial(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.Material
Hyperelastic Material Class
- class pyNastran.bdf.cards.materials.IsotropicMaterial(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.Material
Isotropic Material Class
- 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 - _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
- repr_fields()[source]¶
Gets the fields in their simplified form
Parameters: self – the MAT1 object pointer Returns fields: the fields that define the card
- type = u'MAT1'¶
- 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 - _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
- 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'¶
- 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 - _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'}¶
- 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'¶
- 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 - _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
- 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'¶
- 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 - _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
- 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'¶
- 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 - _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'}¶
- 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'¶
- 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 - _field_map = {1: u'mid', 2: u'kxx', 3: u'kxy', 4: u'kxz', 5: u'kyy', 6: u'kyz', 7: u'kzz'}¶
- kxx = None¶
Thermal conductivity (assumed default=0.0)
- 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'¶
- 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 - _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
- e11 = None¶
Todo
is this the correct default
- e22 = None¶
Todo
is this the correct default
- nu12 = None¶
Todo
is this the correct default
- 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'¶
- 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 - _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
- 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'¶
- class pyNastran.bdf.cards.materials.MATHP(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.materials.HyperelasticMaterial
- 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'¶
- class pyNastran.bdf.cards.materials.OrthotropicMaterial(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.Material
Orthotropic Material Class
- class pyNastran.bdf.cards.materials.ThermalMaterial(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.Material
Thermal Material Class
material_deps Module¶
- 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).
- 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
- Type = None¶
Type of material nonlinearity. (‘NLELAST’ for nonlinear elastic or ‘PLASTIC’ for elastoplastic.)
- 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.
- tid = None¶
Identification number of a TABLES1 or TABLEST entry. If H is given, then this field must be blank.
- type = u'MATS1'¶
- 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) - 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
- type = u'MATT1'¶
- 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) - type = u'MATT2'¶
- 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) - type = u'MATT4'¶
- 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) - type = u'MATT5'¶
- 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) - type = u'MATT8'¶
methods Module¶
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
- L1 = None¶
Eigenvalue range of interest. (Real, L1 < L2)
- 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’)
- sid = None¶
Set identification number. (Unique Integer > 0)
- type = u'EIGB'¶
- 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
- 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)
- method = None¶
Method of complex eigenvalue extraction
- norm = None¶
Method for normalizing eigenvectors
- sid = None¶
Set identification number. (Unique Integer > 0)
- type = u'EIGC'¶
- 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.
- alpha1 = None¶
Coordinates of point in complex plane. (Real)
- alpha2 = None¶
Coordinates of point in complex plane. (Real)
- 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)
- sid = None¶
Set identification number. (Unique Integer > 0)
- type = u'EIGP'¶
- 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
- 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)
- 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’)
- sid = None¶
Set identification number. (Unique Integer > 0)
- type = u'EIGR'¶
- 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
- 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’)
- 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)
- class pyNastran.bdf.cards.methods.Method(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
Generic class for all methods. Part of self.methods
nodes Module¶
- 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 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
- 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'¶
- 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 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
- 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
- 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
- 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'¶
- class pyNastran.bdf.cards.nodes.Node(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
Generic Node base class
- 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 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
- 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 Creates the RINGAX card :param self:
the RINGAX object pointerParameters: - card (BDFCard) – a BDFCard object
- data (LIST) – a list with the RINGAX fields defined in OP2 format
- comment (string) – a comment for the card
- 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'¶
- class pyNastran.bdf.cards.nodes.Ring(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.BaseCard
Generic Ring base class
- 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
- 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'¶
- 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. Creates the SPOINTs card that contains many SPOINTs :param self:
the SPOINTs object pointerParameters: - card (BDFCard) – a BDFCard object
- data (LIST) – a list with the SPOINT fields defined in OP2 format
- comment (string) – a comment for the card
- _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'¶
optimization Module¶
- class pyNastran.bdf.cards.optimization.DCONSTR(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.optimization.OptConstraint
- type = u'DCONSTR'¶
- class pyNastran.bdf.cards.optimization.DDVAL(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.optimization.OptConstraint
- type = u'DDVAL'¶
- class pyNastran.bdf.cards.optimization.DESVAR(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.optimization.OptConstraint
- type = u'DESVAR'¶
- class pyNastran.bdf.cards.optimization.DLINK(card=None, data=None, comment=u'')[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.-
- type = u'DLINK'¶
- 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.-
- 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}¶
- type = u'DOPTPRM'¶
- 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
- type = u'DRESP1'¶
- 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.
- c3 = None¶
Todo
or blank?
- type = u'DRESP2'¶
- class pyNastran.bdf.cards.optimization.DSCREEN(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.optimization.OptConstraint
- 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)
- trs = None¶
Truncation threshold. (Real; Default = -0.5)
- type = u'DSCREEN'¶
- 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.-
- mpMin = None¶
Todo
bad default
- type = u'DVMREL1'¶
- 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
- pMin = None¶
Minimum value allowed for this property. .. todo:: bad default (see DVMREL1)
- type = u'DVPREL1'¶
- 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.- - Type = None¶
Name of a property entry, such as PBAR, PBEAM, etc
- 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
- type = u'DVPREL2'¶
params Module¶
- 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=’‘)
- _field_map = {1: u'key'}¶
- 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.
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???