constitutive module¶
The tacs.constitutive contains classes responsible for defining constitutive behaviors for elements.
Material classes¶
Most constitutive classes require a material properties class to setup. The following classes are available in TACS:
- class tacs.constitutive.MaterialProperties¶
Bases:
object
This class stores the mechanical and thermal material properties for isotropic and anisotropic materials.
The goal of this class is to store a set of material properties that can be queried by constitutive classes for beams, shells, plane stress and solid elements. The minimum set of properties consists of isotropic mechanical properties, with zero thermal expansion.
There are several different ways of specifying material properties. The following describes several of the possible ways and the appropriate situations:
'rho' + 'specific_heat' + 'kappa':
Specifies the density, specific heat, and thermal conductivity for an isotropic material. This is appropriate for 2D or 3D heat conduction analysis.
'rho' + 'specific_heat' + 'kappa1' + 'kappa2':
Specifies the density, specific heat, and thermal conductivity for an orthotropic material. This is appropriate for 2D heat conduction analysis.
'rho' + 'specific_heat' + 'kappa1' + 'kappa2' + 'kappa3':
Specifies the density, specific heat, and thermal conductivity for an orthotropic material. This is appropriate for 3D heat conduction analysis.
'rho' + 'E' + 'nu' + 'ys':
Specifies the density, Youngs' modulus, Poisson's ratio, and yield strength for an isotropic material. This is appropriate for 2D or 3D elastic structural analysis.
'rho' + 'E1' + 'E2' + 'nu12' + 'G12' + 'T1' + 'T2' + 'C1' + 'C2' + 'S12':
Specifies the density, Youngs' moduli, Poisson's ratios, and strength values for an orthotropic material. This is appropriate for 2D elastic structural analysis.
'rho' + 'E1' + 'E2' + 'E3' + 'nu12' + 'nu13' + 'nu23' + 'G12' + 'G13' + 'G23' + 'T1' + 'T2' + 'T3' + 'C1' + 'C2' + 'C3' + 'S12' + 'S13' + 'S23':
Specifies the density, Youngs' moduli, Poisson's ratios, and strength values for an orthotropic material. This is appropriate for 3D elastic structural analysis.
'rho' + 'specific_heat' + 'kappa' + 'alpha' + 'E' + 'nu' + 'ys':
Specifies the density, specific heat, thermal conductivity, thermal expansion, Youngs' modulus, Poisson's ratio, and yield strength for an isotropic material. This is appropriate for 2D or 3D thermoelastic structural analysis.
'rho' + 'specific_heat' + 'kappa1' + 'kappa2' + 'alpha1' + 'alpha2' + 'E1' + 'E2' + 'nu12' + 'G12' + 'T1' + 'T2' + 'C1' + 'C2' + 'S12':
Specifies the density, specific heat, thermal conductivity, thermal expansion, Youngs' moduli, Poisson's ratios, and strength values for an orthotropic material. This is appropriate for 2D thermoelastic structural analysis.
'rho' + 'specific_heat' + 'kappa1' + 'kappa2' + 'kappa3' + 'alpha1' + 'alpha2' + 'alpha3' + 'E1' + 'E2' + 'E3' + 'nu12' + 'nu13' + 'nu23' + 'G12' + 'G13' + 'G23' + 'T1' + 'T2' + 'T3' + 'C1' + 'C2' + 'C3' + 'S12' + 'S13' + 'S23':
Specifies the density, specific heat, thermal conductivity, thermal expansion, Youngs' moduli, Poisson's ratios, and strength values for an orthotropic material. This is appropriate for 3D thermoelastic structural analysis.
All parameters are optional and specified using a keyword arg format.
- Parameters:
rho (float or complex, optional) -- The material density (keyword argument).
specific_heat (float or complex, optional) -- The material specific heat (keyword argument).
kappa (float or complex, optional) -- The material isotropic thermal conductivity (keyword argument).
kappa1 (float or complex, optional) -- The material orthotropic thermal conductivity in the '1' direction (keyword argument).
kappa2 (float or complex, optional) -- The material orthotropic thermal conductivity in the '2' direction (keyword argument).
kappa3 (float or complex, optional) -- The material orthotropic thermal conductivity in the '3' direction (keyword argument).
alpha (float or complex, optional) -- The material isotropic thermal expansion coeeficient (keyword argument).
alpha1 (float or complex) -- The material orthotropic thermal expansion coefficient in the '1' direction (keyword argument).
alpha2 (float or complex, optional) -- The material orthotropic thermal expansion coefficient in the '2' direction (keyword argument).
alpha3 (float or complex, optional) -- The material orthotropic thermal expansion coefficient in the '3' direction (keyword argument).
E (float or complex, optional) -- The material isotropic Youngs' modulus (keyword argument).
E1 (float or complex, optional) -- The material orthotropic Youngs' modulus in the '1' direction (keyword argument).
E2 (float or complex, optional) -- The material orthotropic Youngs' modulus in the '2' direction (keyword argument).
E3 (float or complex, optional) -- The material orthotropic Youngs' modulus in the '3' direction (keyword argument).
nu (float or complex, optional) -- The material isotropic Poisson's ratio (keyword argument).
nu12 (float or complex, optional) -- The material orthotropic Poisson's ratio in the '1-2' plane (keyword argument).
nu13 (float or complex, optional) -- The material orthotropic Poisson's ratio in the '1-3' plane (keyword argument).
nu23 (float or complex, optional) -- The material orthotropic Poisson's ratio in the '2-3' plane (keyword argument).
G (float or complex, optional) -- The material isotropic shear modulus (keyword argument).
G12 (float or complex, optional) -- The material orthotropic shear modulus in the '1-2' plane (keyword argument).
G13 (float or complex, optional) -- The material orthotropic shear modulus in the '1-3' plane (keyword argument).
G23 (float or complex, optional) -- The material orthotropic shear modulus in the '2-3' plane (keyword argument).
ys (float or complex, optional) -- The material isotropic yield strength (keyword argument).
T1 (float or complex, optional) -- The material orthotropic tension strength in the '1' direction (keyword argument).
T2 (float or complex, optional) -- The material orthotropic tension strength in the '2' direction (keyword argument).
T3 (float or complex, optional) -- The material orthotropic tension strength in the '3' direction (keyword argument).
C1 (float or complex, optional) -- The material orthotropic compression strength in the '1' direction (keyword argument).
C2 (float or complex, optional) -- The material orthotropic compression strength in the '2' direction (keyword argument).
C3 (float or complex, optional) -- The material orthotropic compression strength in the '3' direction (keyword argument).
S12 (float or complex, optional) -- The material orthotropic shear strength in the '1-2' plane (keyword argument).
S13 (float or complex, optional) -- The material orthotropic shear strength in the '1-3' plane (keyword argument).
S23 (float or complex, optional) -- The material orthotropic shear strength in the '2-3' plane (keyword argument).
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding material information
- Return type:
card (pyNastran.bdf.cards.materials.MAT1 or pyNastran.bdf.cards.materials.MAT8)
- getMaterialProperties()¶
Return a dictionary of the material properties
- Returns:
Dictionary holding material property information
- Return type:
mat (dict)
- getNastranID()¶
Get material ID assigned in NASTRAN card for this object.
- Returns:
ID number associated with this object's NASTRAN card
- Return type:
id (int)
- setDensity(rho)¶
Set the density property values
- class tacs.constitutive.OrthotropicPly¶
Bases:
object
The following class holds the material stiffness and strength properties for an orthotropic ply. This class is used by several constitutive classes within TACS.
The interaction coefficient for the Tsai-Wu failure criterion is set to zero by default. If a value of C, the failure stress under combined in-plane loading, is supplied, the interaction coefficient is determined. Be careful - the value can easily fall outside acceptable bounds - these are tested during initialization.
- Parameters:
props (MaterialProperties) -- The ply material property.
max_strain_criterion (bool) -- Flag to determine if max strain strength criterion is to be used. Defaults to False (i.e. use max strength).
- getMaterialProperties()¶
Get the MaterialProperties class associated with this object
- Returns:
TACS material property class associated with object.
- Return type:
Constitutive classes¶
Most Element
classes require a Constitutive
class in their setup procedure.
These objects typically defines mass, stiffness, failure and buckling behaviors for the elements that reference them.
The following Constitutive
classes are available in TACS:
- class tacs.constitutive.BasicBeamConstitutive¶
Bases:
BeamConstitutive
Timoshenko theory based constitutive object for an general beam.
Note
- TACS uses a negative sign convention in the product of inertia definition, for example:
Iyz = -int[y * z * dA]
- The moments of area are always positive, as usual:
Iyy = int[(z^2 * dA]
- Parameters:
props (MaterialProperties) -- The material property.
A (float or complex) -- Beam cross-sectional area (keyword argument). Defaults to 0.0.
J (float or complex) -- Beam polar moment of area about x-axis (keyword argument). Defaults to 0.0.
Iy (float or complex) -- Beam area moment of area about y-axis (keyword argument). Defaults to 0.0.
Iz (float or complex) -- Beam area moment of area about z-axis (keyword argument). Defaults to 0.0.
Iyz (float or complex) -- Beam product of area in yz-plane (keyword argument). Defaults to 0.0.
ky (float or complex) -- Shear correction factor in y-direction (keyword argument). Defaults to 5/6.
kz (float or complex) -- Shear correction factor in z-direction (keyword argument). Defaults to 5/6.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.BladeStiffenedShellConstitutive¶
Bases:
ShellConstitutive
This constitutive class models a shell stiffened with T-shaped stiffeners. The stiffeners are not explicitly modelled. Instead, their stiffness is "smeared" across the shell.
- Parameters:
panelPly (tacs.constitutive.OrthotropicPly) -- Ply model to use for the panel
stiffenerPly (tacs.constitutive.OrthotropicPly) -- Ply model to use for the stiffener
stiffenerPitch (float or complex) -- Stiffener pitch DV value
panelPlyAngles (numpy.ndarray[float or complex]) -- Array of ply angles in the panel
panelPlyFracs (numpy.ndarray[float or complex]) -- Array of ply fractions in the panel
stiffenerHeight (float or complex) -- Stiffener height DV value
stiffenerThick (float or complex) -- Stiffener thickness DV value
stiffenerPlyAngles (numpy.ndarray[float or complex]) -- Array of ply angles for the stiffener
stiffenerPlyFracs (numpy.ndarray[float or complex]) -- Array of ply fractions for the stiffener
kcorr (float or complex, optional) -- Shear correction factor, defaults to 5.0/6.0
flangeFraction (float, optional) -- Ratio of the stiffener base width to the stiffener height. Defaults to 1.0
panelLengthNum (int, optional) -- Panel lenth DV number, passing a negative value tells TACS not to treat this as a DV. Defaults to -1
stiffenerPitchNum (int, optional) -- Stiffener pitch DV number, passing a negative value tells TACS not to treat this as a DV. Defaults to -1
panelThickNum (int, optional) -- Panel thickness DV number, passing a negative value tells TACS not to treat this as a DV. Defaults to -1
panelPlyFracNums (numpy.ndarray[np.intc], optional) -- Array of ply fraction DV numbers in the panel, passing negative values tells TACS not to treat that ply fraction as a DV. Defaults to -1's
stiffenerHeightNum (int, optional) -- Stiffener height DV number, passing a negative value tells TACS not to treat this as a DV. Defaults to -1
stiffenerThickNum (int, optional) -- Stiffener thickness DV number, passing a negative value tells TACS not to treat this as a DV. Defaults to -1
stiffenerPlyFracNums (numpy.ndarray[numpy.intc], optional) -- Array of ply fraction DV numbers for the stiffener, passing negative values tells TACS not to treat that ply fraction as a DV. Defaults to -1's
- Raises:
ValueError -- Raises error if panelPlyAngles, panelPlyFracs, or panelPlyFracNums do not have same number of entries
ValueError -- Raises error if stiffenerPlyAngles, stiffenerPlyFracs, or stiffenerPlyFracNums do not have same number of entries
- setKSWeight(ksWeight)¶
Update the ks weight used for aggregating the different failure modes
- Parameters:
ksWeight (float) -- KS aggregation weight
- setPanelPlyFractionBounds(lowerBound, upperBound)¶
Set the lower and upper bounds for the panel ply fraction design variables
The default bounds are 0 and 1
- Parameters:
lowerBound (numpy.ndarray[float or complex]) -- Lower bound
upperBound (numpy.ndarray[float or complex]) -- Upper bounds
- Raises:
ValueError -- Raises error if the length of lowerBound or upperBound is not equal to the number of panel plies
- setPanelThicknessBounds(lowerBound, upperBound)¶
Set the lower and upper bounds for the panel thickness design variable
The default bounds are 1e-4 and 1e20
- setStiffenerHeightBounds(lowerBound, upperBound)¶
Set the lower and upper bounds for the stiffener height design variable
The default bounds are 1e-3 and 1e20
- setStiffenerPitchBounds(lowerBound, upperBound)¶
Set the lower and upper bounds for the stiffener pitch design variable
The default bounds are 1e-3 and 1e20
- setStiffenerPlyFractionBounds(lowerBound, upperBound)¶
Set the lower and upper bounds for the stiffener ply fraction design variables
The default bounds are 0 and 1
- Parameters:
lowerBound (numpy.ndarray[float or complex]) -- Lower bound
upperBound (numpy.ndarray[float or complex]) -- Upper bounds
- Raises:
ValueError -- Raises error if the length of lowerBound or upperBound is not equal to the number of stiffener plies
- class tacs.constitutive.CompositeShellConstitutive¶
Bases:
ShellConstitutive
This constitutive class defines the stiffness properties for a composite laminate first-order shear deformation theory (FSDT) shell type element.
- Parameters:
ply_list (list[OrthotropicPly]) -- List of ply properties in layup.
ply_thicknesses (numpy.ndarray[float or complex]) -- Array of ply thicknesses in layup.
ply_angles (numpy.ndarray[float or complex]) -- Array of ply angles (in radians) in layup.
kcorr (float or complex, optional) -- FSDT shear correction factor. Defaults to 5.0/6.0.
tOffset (float or complex, optional) -- Offset distance of reference plane (where nodes are located) relative to thickness mid-plane. Measured in fraction of shell thickness. A value of 0.5 places the reference plane at the top of the plate, a value of 0.0 at the plate mid-plane, and a value of -0.5 at the bottom of the plate. Defaults to 0.0.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.DOFSpringConstitutive¶
Bases:
GeneralSpringConstitutive
This is the base class for the traditional spring constitutive objects with no dof coupling. Assumes 6 dofs.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.GeneralMassConstitutive¶
Bases:
Constitutive
This is the base class for the fully general point mass constitutive objects. Assumes 6 dofs (3 translations + 3 rotations). The mass properties of this object are specified using a symmetric 6 x 6 mass matrix, as shown below.
M[ 0] M[ 1] M[ 2] M[ 3] M[ 4] M[ 5]M[ 1] M[ 6] M[ 7] M[ 8] M[ 9] M[10]M[ 2] M[ 7] M[11] M[12] M[13] M[14]M[ 3] M[ 8] M[12] M[15] M[16] M[17]M[ 4] M[ 9] M[13] M[16] M[18] M[19]M[ 5] M[10] M[14] M[17] M[19] M[20]- Parameters:
M (array-like[float or complex]) -- Flattened array containing one side of symmetric mass matrix entries.
- evalMassMatrix()¶
Evaluate 6x6 symmetric mass matrix associated with this element.
- Returns:
Length 21 flattened array representing unique entries of mass matrix
- Return type:
M (numpy.ndarray)
- class tacs.constitutive.GeneralSpringConstitutive¶
Bases:
Constitutive
This is the base class for the fully general spring constitutive objects. Assumes 6 dofs (3 translations + 3 rotations). The spring properties of this object are specified using a symmetric 6 x 6 stiffness matrix, as shown below.
K[ 0] K[ 1] K[ 2] K[ 3] K[ 4] K[ 5]K[ 1] K[ 6] K[ 7] K[ 8] K[ 9] K[10]K[ 2] K[ 7] K[11] K[12] K[13] K[14]K[ 3] K[ 8] K[12] K[15] K[16] K[17]K[ 4] K[ 9] K[13] K[16] K[18] K[19]K[ 5] K[10] K[14] K[17] K[19] K[20]
- class tacs.constitutive.IsoRectangleBeamConstitutive¶
Bases:
BeamConstitutive
Timoshenko theory based constitutive object for a solid rectangular beam.
The thickness dimension is assumed to measured along the beam's local reference axis, the width is perpindicular to the reference axis.
- Parameters:
props (MaterialProperties) -- The material property.
width (float or complex, optional) -- Cross-section width (keyword argument). Defaults to 1.0.
wNum (int, optional) -- Design variable number to assign to width (keyword argument). Defaults to -1 (i.e. no design variable).
wlb (float or complex, optional) -- Lower bound on width (keyword argument). Defaults to 0.0.
wub (float or complex, optional) -- Upper bound on width diameter (keyword argument). Defaults to 10.0.
t (float or complex, optional) -- Cross-section thickness (keyword argument). Defaults to 0.1.
tNum (int, optional) -- Design variable number to assign to thickness (keyword argument). Defaults to -1 (i.e. no design variable).
tlb (float or complex, optional) -- Lower bound on thickness (keyword argument). Defaults to 0.0.
tub (float or complex, optional) -- Upper bound on thickness (keyword argument). Defaults to 10.0.
wOffset (float or complex, optional) -- Offset distance along width axis of reference axis (where nodes are located) relative to elastic axis. Measured in fraction of cross-section width. A value of 0.5 places the reference axis in the plane z=/2, a value of 0.0 at z=0.0, and a value of -0.5 at z=-w/2 (where z is the local beam axis). Defaults to 0.0.
tOffset (float or complex, optional) -- Offset distance along thickness axis of reference axis (where nodes are located) relative to elastic axis. Measured in fraction of cross-section thickness. A value of 0.5 places the reference axis in the plane y=t/2, a value of 0.0 at y=0.0, and a value of -0.5 at y=-t/2 (where y is the local beam axis). Defaults to 0.0.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.IsoShellConstitutive¶
Bases:
ShellConstitutive
This constitutive class defines the stiffness properties for a isotropic first-order shear deformation theory shell type element.
- Parameters:
props (MaterialProperties) -- The material property.
t (float or complex, optional) -- The material thickness (keyword argument). Defaults to 1.0.
tNum (int, optional) -- Design variable number to assign to thickness (keyword argument). Defaults to -1 (i.e. no design variable).
tlb (float or complex, optional) -- Thickness variable lower bound (keyword argument). Defaults to 0.0.
tub (float or complex, optional) -- Thickness variable upper bound (keyword argument). Defaults to 10.0.
tOffset (float or complex, optional) -- Offset distance of reference plane (where nodes are located) relative to thickness mid-plane. Measured in fraction of shell thickness. A value of 0.5 places the reference plane at the top of the plate, a value of 0.0 at the plate mid-plane, and a value of -0.5 at the bottom of the plate. Defaults to 0.0.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.IsoTubeBeamConstitutive¶
Bases:
BeamConstitutive
Timoshenko theory based constitutive object for a hollow circular beam.
- Parameters:
props (MaterialProperties) -- The material property.
d (float or complex, optional) -- Tube inner diameter (keyword argument). Defaults to 1.0.
dNum (int, optional) -- Design variable number to assign to tube diameter (keyword argument). Defaults to -1 (i.e. no design variable).
dlb (float or complex, optional) -- Lower bound on tube diameter (keyword argument). Defaults to 0.0.
dub (float or complex, optional) -- Upper bound on tube diameter (keyword argument). Defaults to 10.0.
t (float or complex, optional) -- Tube wall thickness (keyword argument). Defaults to 0.1.
tNum (int, optional) -- Design variable number to assign to wall thickness (keyword argument). Defaults to -1 (i.e. no design variable).
tlb (float or complex, optional) -- Lower bound on wall thickness (keyword argument). Defaults to 0.0.
tub (float or complex, optional) -- Upper bound on wall thickness (keyword argument). Defaults to 10.0.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.LamParamShellConstitutive¶
Bases:
ShellConstitutive
- class tacs.constitutive.PhaseChangeMaterialConstitutive¶
Bases:
Constitutive
This is the base class for the phase change material constitutive objects.
- Parameters:
solid_props (MaterialProperties) -- The material property of the solid phase.
liquid_props (MaterialProperties) -- The material property of the liquid phase.
lh (float or complex) -- The specific latent heat of the material.
mt (float or complex) -- The melting temperature of the material.
t (float or complex, optional) -- The material thickness (keyword argument). Defaults to 1.0.
tNum (int, optional) -- Design variable number to assign to thickness (keyword argument). Defaults to -1 (i.e. no design variable).
tlb (float or complex, optional) -- Thickness variable lower bound (keyword argument). Defaults to 0.0.
tub (float or complex, optional) -- Thickness variable upper bound (keyword argument). Defaults to 10.0.
- class tacs.constitutive.PlaneStressConstitutive¶
Bases:
Constitutive
This is the base class for the plane stress constitutive objects. All objects performing plane stress analysis should utilize this class.
- Parameters:
props (MaterialProperties) -- The material property.
t (float or complex, optional) -- The material thickness (keyword argument). Defaults to 1.0.
tNum (int, optional) -- Design variable number to assign to thickness (keyword argument). Defaults to -1 (i.e. no design variable).
tlb (float or complex, optional) -- Thickness variable lower bound (keyword argument). Defaults to 0.0.
tub (float or complex, optional) -- Thickness variable upper bound (keyword argument). Defaults to 10.0.
- class tacs.constitutive.PointMassConstitutive¶
Bases:
GeneralMassConstitutive
This is the base class for the traditional point mass constitutive objects with no translation-rotation coupling. Assumes 6 dofs.
Note
- TACS uses a negative sign convention in the product of inertia definition, for example:
I12 = -int[x1 * x2 * dm]
- The moments of inertia are always positive, as usual:
I11 = int[(x2^2 + x3^2) * dm]
- Parameters:
m (float or complex, optional) -- Mass value (keyword argument). Defaults to 0.0.
I11 (float or complex, optional) -- Moment of inertia in '1' direction (keyword argument). Defaults to 0.0.
I22 (float or complex, optional) -- Moment of inertia in '2' direction (keyword argument). Defaults to 0.0.
I33 (float or complex, optional) -- Moment of inertia in '3' direction (keyword argument). Defaults to 0.0.
I12 (float or complex, optional) -- Moment of inertia in '1-2' plane (keyword argument). Defaults to 0.0.
I13 (float or complex, optional) -- Moment of inertia in '1-3' plane (keyword argument). Defaults to 0.0.
I23 (float or complex, optional) -- Moment of inertia in '2-3' plane (keyword argument). Defaults to 0.0.
mNum (int, optional) -- Design variable number to assign to m (keyword argument). Defaults to -1.
mlb (float or complex, optional) -- Lower bound on m (keyword argument). Defaults to 0.0.
mub (float or complex, optional) -- Upper bound on wall thickness (keyword argument). Defaults to 1e20.
I11Num (int, optional) -- Design variable number to assign to I11 (keyword argument). Defaults to -1.
I11lb (float or complex, optional) -- Lower bound on I11 (keyword argument). Defaults to 0.0.
I11ub (float or complex, optional) -- Upper bound on I11 (keyword argument). Defaults to 1e20.
I22Num (int, optional) -- Design variable number to assign to I22 (keyword argument). Defaults to -1.
I22lb (float or complex, optional) -- Lower bound on I22 (keyword argument). Defaults to 0.0.
I22ub (float or complex, optional) -- Upper bound on I22 (keyword argument). Defaults to 1e20.
I33Num (int, optional) -- Design variable number to assign to I33 (keyword argument). Defaults to -1.
I33lb (float or complex, optional) -- Lower bound on I33 (keyword argument). Defaults to 0.0.
I33ub (float or complex, optional) -- Upper bound on I33 (keyword argument). Defaults to 1e20.
I12Num (int, optional) -- Design variable number to assign to I12 (keyword argument). Defaults to -1.
I12lb (float or complex, optional) -- Lower bound on I12 (keyword argument). Defaults to -1e20.
I12ub (float or complex, optional) -- Upper bound on I12 (keyword argument). Defaults to 1e20.
I13Num (int, optional) -- Design variable number to assign to I13 (keyword argument). Defaults to -1.
I13lb (float or complex, optional) -- Lower bound on I13 (keyword argument). Defaults to -1e20.
I13ub (float or complex, optional) -- Upper bound on I13 (keyword argument). Defaults to 1e20.
I23Num (int, optional) -- Design variable number to assign to I23 (keyword argument). Defaults to -1.
I23lb (float or complex, optional) -- Lower bound on I23 (keyword argument). Defaults to -1e20.
I23ub (float or complex, optional) -- Upper bound on I23 (keyword argument). Defaults to 1e20.
- class tacs.constitutive.ShellConstitutive¶
Bases:
Constitutive
This is the base class for the shell constitutive objects. All objects performing shell elastic analysis should utilize this class.
- class tacs.constitutive.SmearedCompositeShellConstitutive¶
Bases:
ShellConstitutive
This constitutive class defines the stiffness properties for a composite laminate first-order shear deformation theory (FSDT) shell type element. The stiffness of the laminate is computed by homogenizing the stiffness properties of each ply through the thickness weighted by their relative ply fractions. This class is a good continuous parametrization for laminates used in gradient-based optimizations where stacking sequence effects can be ignored.
- Parameters:
ply_list (list[OrthotropicPly]) -- List of ply properties in layup.
thicknesses (float or complex) -- Total laminate thickness of layup.
ply_angles (numpy.ndarray[float or complex]) -- Array of ply angles (in radians) in layup.
ply_fractions (numpy.ndarray[float or complex]) -- Fraction of layup contribution of each ply in ply_list.
thickness_dv_num (int, optional) -- Design variable number to assign to thickness (keyword argument). Defaults to -1.
ply_fraction_dv_nums (numpy.ndarray[int], optional) -- Design variable numbers to assign to ply fractions (keyword argument). Defaults to -1.
thickness_lb (float or complex, optional) -- Lower bound for thickness design variable (keyword argument). Defaults to 0.0.
thickness_ub (float or complex, optional) -- Upper bound for thickness design variable (keyword argument). Defaults to 1e20.
ply_fraction_lb (numpy.ndarray[float or complex], optional) -- Lower bound for ply fraction design variables (keyword argument). Defaults to 0.0.
ply_fraction_ub (numpy.ndarray[float or complex], optional) -- Upper bound for ply fraction design variables (keyword argument). Defaults to 1.0.
t_offset (float or complex, optional) -- Offset distance of reference plane (where nodes are located) relative to thickness mid-plane. Measured in fraction of shell thickness. A value of 0.5 places the reference plane at the top of the plate, a value of 0.0 at the plate mid-plane, and a value of -0.5 at the bottom of the plate. Defaults to 0.0.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type:
- class tacs.constitutive.SolidConstitutive¶
Bases:
Constitutive
This is the base class for the solid constitutive objects. All objects performing solid elastic analysis should utilize this class.
- Parameters:
props (MaterialProperties) -- The material property.
t (float or complex, optional) -- The material "thickness" (keyword argument). Weighting factor used for topology optimization. 0.0 corresponds to void, 1.0 corresponds material fully present, values in between are intermediate. Defaults to 1.0.
tNum (int, optional) -- Design variable number to assign to "thickness" (keyword argument). Defaults to -1 (i.e. no design variable).
tlb (float or complex, optional) -- "Thickness" variable lower bound (keyword argument). Defaults to 0.0.
tub (float or complex, optional) -- "Thickness" variable upper bound (keyword argument). Defaults to 10.0.
- generateBDFCard()¶
Generate pyNASTRAN card class based on current design variable values.
- Returns:
pyNastran card holding property information
- Return type: