properties Package¶
bars Module¶
bush Module¶
All bush properties are defined in this file. This includes:
- PBUSH
- PBUSH1D
- PBUSH2D (not implemented)
- PBUSHT (not implemented)
All bush properties are BushingProperty and Property objects.
- class pyNastran.bdf.cards.properties.bush.BushingProperty(card, data)[source]¶
Bases: pyNastran.bdf.cards.baseCard.Property
- type = u'BushingProperty'¶
- class pyNastran.bdf.cards.properties.bush.PBUSH(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.bush.BushingProperty
- _field_map = {1: u'pid'}¶
- pid = None¶
Property ID
- type = u'PBUSH'¶
- class pyNastran.bdf.cards.properties.bush.PBUSH1D(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.bush.BushingProperty
- pid = None¶
Property ID
- type = u'PBUSH1D'¶
- class pyNastran.bdf.cards.properties.bush.PBUSH2D(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.bush.BushingProperty
- type = u'PBUSH2D'¶
damper Module¶
All damper properties are defined in this file. This includes:
- PDAMP
- PDAMP5 (not implemented)
- PDAMPT
- PVISC
All damper properties are DamperProperty and Property objects.
- class pyNastran.bdf.cards.properties.damper.PDAMP(card=None, nPDAMP=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.damper.DamperProperty
- _field_map = {1: u'pid', 2: u'b'}¶
- b = None¶
Force per unit velocity (Real)
- pid = None¶
Property ID
- type = u'PDAMP'¶
- class pyNastran.bdf.cards.properties.damper.PDAMP5(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.damper.DamperProperty
Defines the damping multiplier and references the material properties for damping. CDAMP5 is intended for heat transfer analysis only.
- _field_map = {1: u'pid', 2: u'mid', 3: u'b'}¶
- b = None¶
Damping multiplier. (Real > 0.0) B is the mass that multiplies the heat capacity CP on the MAT4 or MAT5 entry.
- mid = None¶
Material ID
- pid = None¶
Property ID
- type = u'PDAMP5'¶
- class pyNastran.bdf.cards.properties.damper.PDAMPT(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.damper.DamperProperty
- _field_map = {1: u'pid', 2: u'tbid'}¶
- pid = None¶
Property ID
- tbid = None¶
Identification number of a TABLEDi entry that defines the damping force per-unit velocity versus frequency relationship
- type = u'PDAMPT'¶
- class pyNastran.bdf.cards.properties.damper.PVISC(card=None, nPVISC=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.damper.DamperProperty
- _field_map = {1: u'pid', 2: u'ce', 3: u'cr'}¶
- type = u'PVISC'¶
mass Module¶
All mass properties are defined in this file. This includes:
- NSM
- PMASS
All mass properties are PointProperty and Property objects.
- class pyNastran.bdf.cards.properties.mass.NSM(card=None, nOffset=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.mass.PointProperty
Defines a set of non structural mass.
- _field_map = {1: u'sid', 2: u'Type', 3: u'id', 4: u'value'}¶
- type = u'NSM'¶
- validProperties = [u'PSHELL', u'PCOMP', u'PBAR', u'PBARL', u'PBEAM', u'PBEAML', u'PBCOMP', u'PROD', u'CONROD', u'PBEND', u'PSHEAR', u'PTUBE', u'PCONEAX', u'PRAC2D']¶
Set points to either Property entries or Element entries. Properties are:
- class pyNastran.bdf.cards.properties.mass.PMASS(card=None, nOffset=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.mass.PointProperty
- _field_map = {1: u'pid', 2: u'mass'}¶
- pid = None¶
Property ID
- type = u'PMASS'¶
properties Module¶
- All ungrouped properties are defined in this file. This includes:
- PFAST
- PGAP
- PLSOLID (SolidProperty)
- PSOLID (SolidProperty)
- PRAC2D (CrackProperty)
- PRAC3D (CrackProperty)
- PCONEAX (not done)
- class pyNastran.bdf.cards.properties.properties.PCONEAX(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.Property
- _field_map = {1: u'pid', 2: u'mid1', 3: u't1', 4: u'mid2', 5: u'i', 6: u'mid3', 7: u't2', 8: u'nsm', 9: u'z1', 10: u'z2'}¶
- mid1 = None¶
Material ID
- pid = None¶
Property ID
- type = u'PCONEAX'¶
- class pyNastran.bdf.cards.properties.properties.PFAST(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.Property
- _field_map = {1: u'pid', 2: u'd', 3: u'mcid', 4: u'mflag', 5: u'kt1', 6: u'kt2', 7: u'kt3', 8: u'kr1', 9: u'kr2', 10: u'kr3', 11: u'mass', 12: u'ge'}¶
- d = None¶
diameter of the fastener
- ge = None¶
Structural damping
- kr1 = None¶
Rotational stiffness values in directions 1-3
- kt1 = None¶
stiffness values in directions 1-3
- mass = None¶
Lumped mass of fastener
- mcid = None¶
Specifies the element stiffness coordinate system
- mflag = None¶
0-absolute 1-relative
- pid = None¶
Property ID
- type = u'PFAST'¶
- class pyNastran.bdf.cards.properties.properties.PGAP(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.baseCard.Property
Defines the properties of the gap element (CGAP entry).
- _field_map = {1: u'pid', 2: u'u0', 3: u'f0', 4: u'ka', 5: u'kb', 6: u'kt', 7: u'mu1', 8: u'mu2', 9: u'tmax', 10: u'mar', 11: u'trmin'}¶
- f0 = None¶
preload
- ka = None¶
axial stiffness of closed gap
- kb = None¶
axial stiffness of open gap
- kt = None¶
transverse stiffness of closed gap
- mu1 = None¶
static friction coeff
- mu2 = None¶
kinetic friction coeff
- pid = None¶
Property ID
- type = u'PGAP'¶
- u0 = None¶
initial gap opening
- class pyNastran.bdf.cards.properties.properties.PLSOLID(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.properties.SolidProperty
Defines a fully nonlinear (i.e., large strain and large rotation) hyperelastic solid element. PLSOLID PID MID STR PLSOLID 20 21
- _field_map = {1: u'pid', 2: u'mid', 3: u'str'}¶
- mid = None¶
Material ID
- pid = None¶
Property ID
- str = None¶
Location of stress and strain output
- type = u'PLSOLID'¶
- class pyNastran.bdf.cards.properties.properties.PRAC2D(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.properties.CrackProperty
CRAC2D Element Property Defines the properties and stress evaluation techniques to be used with the CRAC2D structural element.
- _field_map = {1: u'pid', 2: u'mid', 3: u'thick', 4: u'iPlane', 5: u'nsm', 6: u'gamma', 7: u'phi'}¶
- gamma = None¶
Exponent used in the displacement field. See Remark 4. (Real; Default = 0.5)
- iPlane = None¶
Plane strain or plane stress option. Use 0 for plane strain; 1 for plane stress. (Integer = 0 or 1)
- mid = None¶
Material ID
- nsm = None¶
Non-structural mass per unit area.(Real >= 0.0; Default = 0)
- phi = None¶
Angle (in degrees) relative to the element x-axis along which stress intensity factors are to be calculated. See Remark 4. (Real; Default = 180.0)
- pid = None¶
Property ID
- type = u'PRAC2D'¶
- class pyNastran.bdf.cards.properties.properties.PRAC3D(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.properties.CrackProperty
CRAC3D Element Property Defines the properties of the CRAC3D structural element.
- _field_map = {1: u'pid', 2: u'mid', 3: u'gamma', 4: u'phi'}¶
- gamma = None¶
Exponent used in the displacement field. See Remark 4. (Real; Default = 0.5)
- mid = None¶
Material ID
- phi = None¶
Angle (in degrees) relative to the element x-axis along which stress intensity factors are to be calculated. See Remark 4. (Real; Default = 180.0)
- pid = None¶
Property ID
- type = u'PRAC3D'¶
- class pyNastran.bdf.cards.properties.properties.PSOLID(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.properties.SolidProperty
PSOLID PID MID CORDM IN STRESS ISOP FCTN PSOLID 1 1 0 PSOLID 2 100 6 TWO GRID REDUCED
- _field_map = {1: u'pid', 2: u'mid', 3: u'cordm', 4: u'integ', 5: u'stress', 6: u'isop', 7: u'fctn'}¶
- mid = None¶
Material ID
- pid = None¶
Property ID
- type = u'PSOLID'¶
shell Module¶
All shell properties are defined in this file. This includes:
- PCOMP
- PCOMPG
- PLPLANE
- PSHEAR
- PSHELL
All shell properties are ShellProperty and Property objects.
- class pyNastran.bdf.cards.properties.shell.CompositeShellProperty(card, data)[source]¶
Bases: pyNastran.bdf.cards.properties.shell.ShellProperty, pyNastran.bdf.deprecated.DeprecatedCompositeShellProperty
- Material(iply)[source]¶
Gets the material of the \(i^{th}\) ply (not the ID unless it is not cross-referenced).
Parameters: - self – the PCOMP/PCOMPG object
- iply – the ply ID (starts from 0)
- Mid(iply)[source]¶
Gets the Material ID of the \(i^{th}\) ply.
Parameters: - self – the PCOMP/PCOMPG object
- iply – the ply ID (starts from 0)
- Mids()[source]¶
Gets the material IDs of all the plies
Parameters: self – the PCOMP/PCOMPG object Returns mids: the material IDs
- _adjust_ply_id(iply)[source]¶
Gets the ply ID that’s stored in self.plies.
When a ply is not symmetric, this function returns the input iply. When a ply is symmetrical and the iply value is greater than the number of plies, we return the mirrored ply. For the case of a symmetrical ply, the element will always have an even number of layers.
Parameters: - self – the PCOMP object
- iply – the ply ID
Raises: IndexError if iply is invalid
Case 1 (nplies=6, len(plies)=3, lam='SYM'): ply 2 ply 1 ply 0 ------- sym ply 0 / 3 ply 1 / 4 ply 2 / 5 Ask for ply 3, return ply 0 Ask for ply 4, return ply 1 Ask for ply 5, return ply 2 Case 2 (nplies=5, len(plies)=5, lam='NO'): ply 5 ply 4 ply 3 ply 1 ply 0 Ask for ply 3, return ply 1 Ask for ply 4, return ply 2
- cross_reference(model)[source]¶
Links the Material IDs to the materials.
Parameters: - self – the PCOMP/PCOMPG object
- model – a BDF object
- get_density(iply)[source]¶
Gets the density of the \(i^{th}\) ply
Parameters: - self – the PCOMP/PCOMPG object
- iply – the ply ID (starts from 0)
- get_mass_per_area(iply=u'all', method=u'nplies')[source]¶
Gets the Mass/Area for the property.
\[\frac{m}{A} = \sum(\rho t) + nsm\]or
\[\frac{m}{A} - nsm = \sum(\rho t)\]and
\[\frac{m_i}{A} = rho_i t_i + nsm_i\]where \(nsm_i\) is the non-structural mass of the \(i^{th}\) ply
Parameters: - self – the PCOMP object
- iply – the string ‘all’ (default) or the mass per area of the \(i^{th}\) ply
- method –
the method to compute MassPerArea
- Case 1 (iply = all)
method has no effect because the total nsm is defined
- Case 2 (iply != all)
method ‘nplies’ smear the nsm based on \(n_{plies}\) (default)
\(nsm_i = nsm / n_{plies}\) # smear based on nplies
- Case 3 (iply != all)
method ‘rho*t’ smear the nsm based on the mass distribution
\[nsm_i = \rho_i t_i \frac{nsm}{\sum(\rho_i t_i)}\]\[nsm_i = \rho_i t_i \frac{nsm}{\frac{m}{A} - nsm}\] - Case 4 (iply != all)
method ‘t’ smear the nsm based on the thickness distribution
\[nsm_i = t_i \frac{nsm}{\sum(t_i)}\]
- Case 1 (iply = all)
Note
final mass calculation will be done later
- get_mass_per_area_rho(rhos, iply=u'all', method=u'nplies')[source]¶
Gets the Mass/Area for the property.
\[\frac{m}{A} = \sum(\rho t) + nsm\]or
\[\frac{m}{A} - nsm = \sum(\rho t)\]and
\[\frac{m_i}{A} = rho_i t_i + nsm_i\]where \(nsm_i\) is the non-structural mass of the \(i^{th}\) ply
Parameters: - self – the PCOMP object
- iply – the string ‘all’ (default) or the mass per area of the \(i^{th}\) ply
- method –
the method to compute MassPerArea
- Case 1 (iply = all)
method has no effect because the total nsm is defined
- Case 2 (iply != all)
method ‘nplies’ smear the nsm based on \(n_{plies}\) (default)
\(nsm_i = nsm / n_{plies}\) # smear based on nplies
- Case 3 (iply != all)
method ‘rho*t’ smear the nsm based on the mass distribution
\[nsm_i = \rho_i t_i \frac{nsm}{\sum(\rho_i t_i)}\]\[nsm_i = \rho_i t_i \frac{nsm}{\frac{m}{A} - nsm}\] - Case 4 (iply != all)
method ‘t’ smear the nsm based on the thickness distribution
\[nsm_i = t_i \frac{nsm}{\sum(t_i)}\]
- Case 1 (iply = all)
Note
final mass calculation will be done later
- get_nonstructural_mass()[source]¶
Gets the non-structural mass \(i^{th}\) ply
Parameters: self – the PCOMP/PCOMPG object
- get_nplies()[source]¶
Gets the number of plies including the core.
if Lam=SYM: returns nPlies*2 (even) else: returns nPlies
- get_sout(iply)[source]¶
Gets the the flag identifying stress/strain outpur of the \(i^{th}\) ply (not the ID). default=’NO’.
Parameters: - self – the PCOMP/PCOMPG object
- iply – the ply ID (starts from 0)
- get_theta(iply)[source]¶
Gets the ply angle of the \(i^{th}\) ply (not the ID)
Parameters: - self – the PCOMP/PCOMPG object
- iply – the ply ID (starts from 0)
- get_thickness(iply=u'all')[source]¶
Gets the thickness of the \(i^{th}\) ply.
Parameters: - self – the PCOMP object
- iply – the string ‘all’ (default) or the mass per area of the \(i^{th}\) ply
- class pyNastran.bdf.cards.properties.shell.PCOMP(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.shell.CompositeShellProperty
PCOMP 701512 0.0+0 1.549-2 0.0+0 0.0+0 SYM 300704 3.7-2 0.0+0 YES 300704 3.7-2 45. YES 300704 3.7-2 -45. YES 300704 3.7-2 90. YES 300705 .5 0.0+0 YES
- TRef = None¶
Reference Temperature (default=0.0)
- _field_map = {1: u'pid', 2: u'z0', 3: u'nsm', 4: u'sb', 5: u'ft', 6: u'TRef', 7: u'ge', 8: u'lam'}¶
- ft = None¶
Failure Theory
[‘HILL’, ‘HOFF’, ‘TSAI’, ‘STRN’, None]
- lam = None¶
symmetric flag - default = No Symmetry (NO)
- nsm = None¶
Non-Structural Mass per unit Area
- pid = None¶
Property ID
- plies = None¶
list of plies
- type = u'PCOMP'¶
- class pyNastran.bdf.cards.properties.shell.PCOMPG(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.shell.CompositeShellProperty
- _field_map = {1: u'pid', 2: u'z0', 3: u'nsm', 4: u'sb', 5: u'ft', 6: u'TRef', 7: u'ge', 8: u'lam'}¶
- type = u'PCOMPG'¶
- class pyNastran.bdf.cards.properties.shell.PLPLANE(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.shell.ShellProperty
- _field_map = {1: u'pid', 2: u'mid', 6: u'cid', 7: u'str'}¶
- pid = None¶
Property ID
- type = u'PLPLANE'¶
- class pyNastran.bdf.cards.properties.shell.PSHEAR(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.shell.ShellProperty
Defines the properties of a shear panel (CSHEAR entry). PSHEAR PID MID T NSM F1 F2
- _field_map = {1: u'pid', 2: u'mid', 3: u't', 4: u'nsm', 5: u'f1', 6: u'f2'}¶
- mid = None¶
Material ID
- pid = None¶
Property ID
- type = u'PSHEAR'¶
- class pyNastran.bdf.cards.properties.shell.PSHELL(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.shell.ShellProperty
PSHELL PID MID1 T MID2 12I/T**3 MID3 TS/T NSM Z1 Z2 MID4 PSHELL 41111 1 1.0000 1 1 0.02081 - _field_map = {1: u'pid', 2: u'mid1', 3: u't', 4: u'mid2', 5: u'twelveIt3', 6: u'mid3', 7: u'tst', 8: u'nsm', 9: u'z1', 10: u'z2'}¶
- mid2 = None¶
Material identification number for bending -1 for plane strin
- nsm = None¶
Non-structural Mass
- pid = None¶
Property ID
- t = None¶
thickness
- twelveIt3 = None¶
Scales the moment of interia of the element based on the moment of interia for a plate
..math:: I = frac{12I}{t^3} I_{plate}
- type = u'PSHELL'¶
- write_code_aster()[source]¶
- http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters/shell/static
- http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters/platedynamics
The angle_rep is a direction angle, use either angle(a,b) or vecteur(x,y,z) coque_ncou is the number of gauss nodes along the thickness, for linear analysis one node is sufficient.
springs Module¶
All spring properties are defined in this file. This includes:
- PELAS
- PELAST
All spring properties are SpringProperty and Property objects.
- class pyNastran.bdf.cards.properties.springs.PELAS(card=None, nPELAS=0, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.springs.SpringProperty
Specifies the stiffness, damping coefficient, and stress coefficient of a scalar elastic (spring) element (CELAS1 or CELAS3 entry).
- _field_map = {1: u'pid', 2: u'k', 3: u'ge', 4: u's'}¶
- ge = None¶
Damping coefficient, . See Remarks 5. and 6. (Real) To obtain the damping coefficient GE, multiply the critical damping ratio c/c0 by 2.0.
- k = None¶
Ki Elastic property value. (Real)
- pid = None¶
Property identification number. (Integer > 0)
- s = None¶
Stress coefficient. (Real)
- type = u'PELAS'¶
- class pyNastran.bdf.cards.properties.springs.PELAST(card=None, data=None, comment=u'')[source]¶
Bases: pyNastran.bdf.cards.properties.springs.SpringProperty
Frequency Dependent Elastic Property Defines the frequency dependent properties for a PELAS Bulk Data entry.
The PELAST entry is ignored in all solution sequences except frequency response (108) or nonlinear analyses (129).
- Tgeid()[source]¶
Returns the table ID for nondimensional structural damping coefficient vs. frequency (c/c0 vs freq)
- _field_map = {1: u'pid', 2: u'tkid', 3: u'tgeid', 4: u'tknid'}¶
- pid = None¶
Property identification number. (Integer > 0)
- tgeid = None¶
Identification number of a TABLEDi entry that defines the nondimensional structural damping coefficient vs. frequency relationship. (Integer > 0; Default = 0)
- tkid = None¶
Identification number of a TABLEDi entry that defines the force per unit displacement vs. frequency relationship. (Integer > 0; Default = 0)
- tknid = None¶
Identification number of a TABELDi entry that defines the nonlinear force vs. displacement relationship. (Integer > 0; Default = 0)
- type = u'PELAST'¶