Property for Modules#
Script for the definition of the class Property and its child classes.
- class NaxToPy.Modules.common.property.CompSolid[source]#
Bases:
Property
Class for homogeneous solid properties. Not implemented yet
- class NaxToPy.Modules.common.property.CompositeShell(n2p_property: N2PProperty = None, n2p_material_dict: dict = None)[source]#
Bases:
Property
Class for PCOMP property, representing a composite laminate.
- _mat_IDs -> List of Material ID for each ply of the laminate.
- _thicknesses -> List of thicknesses for each ply of the laminate.
- _num_plies -> Total number of plies composing the laminate.
- _theta -> List of theta angles - orientation wrt XY directions - for each ply of the laminate.
- _ABD_matrix -> Array representing each component of the Global Stiffness Matrix of the laminate,
considering Normal, Bending Loads and the coupling effects.
- _bearingAllowable -> Bearing allowable of the laminate
- _OHTAllowable -> Open Hole Tension Strains allowable of the laminate [Strength]
- _OHCAllowable -> Open Hole Compression Strains allowable of the laminate [Strength]
- _FHTAllowable -> Filled Hole Tension Strains allowable of the laminate [Strength]
- _FHCAllowable -> Filled Hole Compression Strains allowable of the laminate [Strength]
- _CAIAllowable -> Compression After Impact Strength allowable of the laminate [Strength]
- _PlainTensionAllowable -> Plain Tension Strength allowable of the laminate [Strength]
- _PlainCompressionAllowable -> Plain Compression Strength allowable of the laminate [Strength]
- _PTAllowable -> Pull Through strength allowable of the laminate [Strength]
CompositeShell instances can be intitialised both automatically from N2PProperty instances or manualy from user-input.
- When instancing from user input. The following atributes are requested:
NumPlies : int
MatIDs : list[tuple(MatID, PartID)]
thicknesses : list[float]
theta : list[float]
MaterialDict : dict{N2PMaterial}
simmetry (optional) : bool
It is mandatory that NumPlies is set in first place. Other attributes might be set with no order.
- EXAMPLE
laminate = CompositeShell() laminate.NumPlies = 6 laminate.PartIDs = ‘0’ laminate.MatIDs = [(11100000,’0’),(11100000,’0’),(11100000,’0’),(11100000,’0’),(11100000,’0’),(11100000,’0’)] laminate.thicknesses = [0.1,0.1,0.1,0.1,0.1,0.1] laminate.theta = [0,45,0,90,0,-45] model = n2p.load_model(r””) laminate.MaterialDict = model.MaterialDict laminate.simmetry = True
*** Every given list must have the same length as the number of plies of the laminate. Otherwise, instance will not be created.
- EqBenProps()[source]#
Calculate the Homogenized Bending Properties of the laminate using D matrix.
- Returns:
A tuple containing (Ex, Ey, nu, G).
Ex: Equivalent Bending modulus in the x-direction.
Ey: Equivalent Bending modulus in the y-direction.
nu: Equivalent Bending Poisson’s ratio.
G: Equivalent Bending shear modulus.
- Return type:
tuple[float, float, float, float]
Example
>>> CompositeShell: user_laminate = CompositeShell() >>> user_laminate.NumPlies = 6 >>> user_laminate.PartIDs = '0' >>> user_laminate.MatIDs = [(11211000,'0'),(11211000,'0'),(11211000,'0'),(11211000,'0'),(11211000,'0'),(11211000,'0')] >>> user_laminate.thicknesses = [0.1,0.1,0.1,0.1,0.1,0.1] >>> user_laminate.theta = [0,45,0,90,0,-45] >>> user_laminate.MaterialDict = model_test.MaterialDict >>> Ex, Ey, nu, G = user_laminate.EqBenProps()
- EqMemProps()[source]#
Calculate the Homogenized Membrane Properties of the laminate using A matrix.
- Returns:
A tuple containing (Ex, Ey, nu, G).
Ex: Equivalent Membrane modulus in the x-direction.
Ey: Equivalent Membrane modulus in the y-direction.
nu: Equivalent Membrane Poisson’s ratio.
G: Equivalent Membrane shear modulus.
- Return type:
tuple[float, float, float, float]
Example
>>> CompositeShell: user_laminate = CompositeShell() >>> user_laminate.NumPlies = 6 >>> user_laminate.PartIDs = '0' >>> user_laminate.MatIDs = [(11211000,'0'),(11211000,'0'),(11211000,'0'),(11211000,'0'),(11211000,'0'),(11211000,'0')] >>> user_laminate.thicknesses = [0.1,0.1,0.1,0.1,0.1,0.1] >>> user_laminate.theta = [0,45,0,90,0,-45] >>> user_laminate.MaterialDict = model_test.MaterialDict >>> Ex, Ey, nu, G = user_laminate.EqMemProps()
- QMatrix(i)[source]#
Delegate method from N2PProperty Core class to compute Reduced Stiffness Matrix in each ply of the laminate.
- property ABDMatrix#
Property that returns the ABDMatrix of the laminate
- property BearingAllowable: float#
Property that returns the Bearing Allowable of the laminate.
- property CAIAllowable: float#
Property that returns the Compression After Impact Strength allowable of the laminate.
- property FHCAllowable: float#
Property that returns the Filled Hole Compression Strength Strains allowable of the laminate.
- property FHTAllowable: float#
Property that returns the Filled Hole Tension Strength Strains allowable of the laminate.
- property Laminate: list#
Return the list of laminae objects.
- property MatIDs: list[tuple]#
Return the list of tuples which defines the material for each ply of the laminate.
- property MaterialDict#
Property that returns that N2PMaterial instances given from user input.
- property NumPlies: int#
Return the number of plies of the laminate.
- property OHCAllowable: float#
Property that returns the Open Hole Compression Strength Strains allowable of the laminate.
- property OHTAllowable: float#
Property that returns the Open Hole Tension Strength Strains allowable of the laminate.
- property PTAllowable: float#
Property that returns the Pull Through Strength allowable of the laminate.
- property PartIDs: str#
Return the part ID of the element.
- property PlainCompressionAllowable: float#
Property that returns the Plain Compression Strength allowable of the laminate.
- property PlainTensionAllowable: float#
Property that returns the Plain Tension Strength allowable of the laminate.
- property Thickness#
Property that returns the total thickness of the laminate.
- property simmetry: bool#
Return the simmetry condition of the laminate.
- property theta: list#
Return the list of theta angles.
- property thicknesses: list#
Return the list of theta angles.
- class NaxToPy.Modules.common.property.Core(index_core: int, core_type: str, n2p_property: N2PProperty, material_dict: dict)[source]#
Bases:
object
- property CoreType#
- property Material#
- property Thickness#
- class NaxToPy.Modules.common.property.IsotropicShell(thickness: float, isotropic_mat: Isotropic)[source]#
Bases:
object
- property Allowables#
- property Poisson#
- property Shear#
- property Thickness#
- property Young#
- class NaxToPy.Modules.common.property.Laminae(lamina_ID: int = None, mat_ID: int = None, thickness: float = None, theta: float = None, n2p_material: N2PMaterial = None)[source]#
Bases:
object
Class representing a single layer (lamina) in a composite laminate.
- lamina_id#
Identifier for the lamina.
- Type:
int
- mat_id#
Identifier for the material associated to the lamina.
- Type:
int
- thickness#
Thickness of the lamina.
- Type:
float
- theta#
Orientation angle of the lamina in degrees.
- Type:
float
- Ex, Ey, Nuxy
Mechanical properties of the lamina derived from the material.
- Type:
float
- Xt, Xc, Yt, Yc, S
Strength properties of the lamina derived from the material.
- Type:
float
- compute_Qmatrix()[source]#
Method to compute stiffness matrix Q in local axis system using material properties from each lamina
- property Ex#
- property Ey#
- property Nuxy#
- property Nuyx#
- property QBar#
- property Qmatrix#
- property S#
- property ShearXY#
- property Xc#
- property Xt#
- property Yc#
- property Yt#
- property isActive#
- property lamina_ID#
- property mat_ID#
- property material#
- property theta#
- property thickness#
- class NaxToPy.Modules.common.property.Property(n2p_property: N2PProperty = None, n2p_material: dict = None)[source]#
Bases:
object
Base class for managing properties common to all FEM property types.
- property ID#
- property Name#
- property Type#
- class NaxToPy.Modules.common.property.Sandwich(core_type, n2p_property: N2PProperty = None, n2p_material: dict = None, mat_dict: dict = None)[source]#
Bases:
object
- property LowerFace#
- property SandwichCore#
- property UpperFace#
- class NaxToPy.Modules.common.property.Shell(n2p_property: N2PProperty, n2p_material: dict)[source]#
Bases:
Property
Class for defining shell properties. It derives from Property
Attributes: MatMem_ID -> shell material identification number for membrane. tuple (Material ID, ‘Part ID’) MatBen_ID -> shell material identification number for bending. tuple (Material ID, ‘Part ID’) MatShe_ID -> shell material identification number for trasnverse shear. tuple (Material ID, ‘Part ID’) MatCoup_ID -> shell material identification number for membrane-bending coupling. tuple (Material ID, ‘Part ID’) Part_ID -> shell part ID. Thickness -> Total thickness of the shell. Ben_ratio -> Bending moment of inertia ratio of the shell. Tst_ratio -> Transverse shear thickness ratio of the shell. Fbru_e2d -> Ultimate Bearing allowable of the shell for e/D = 2 [Strength] Fbru_e1p5d -> Ultimate Bearing allowable of the shell for e/D = 1.5 [Strength] Ftu -> Ultimate Tension allowable of the shell [Strength] Fcu -> Ultimate Compression allowable of the shell [Strength] Fsu -> Ultimate Shear allowable of the shell [Strength]
- property BenMR#
Property that returns the BenMR
- property Fbru_e1p5d#
Property that returns the Ultimate Bearing Strength allowable of the shell for e/D = 1.5 [Strength]
- property Fbru_e2d#
Property that returns the Ultimate Bearing Strength allowable of the shell for e/D = 2 [Strength]
- property Fcu#
Property that returns the Ultimate Compression Strength allowable of the shell [Strength]
- property Fsu#
Property that returns the Ultimate Shear Strength allowable of the shell [Strength]
- property Ftu#
Property that returns the Ultimate Tension Strength allowable of the shell [Strength]
- property MatBenID#
Property that returns the matBen ID
- property MatCoupID#
Property that returns the matCoup ID
- property MatMemID#
Property that returns the matMem ID
- property MatSheID#
Property that returns the matShe ID
- property Thickness#
Property that returns the shell thickness
- property TrShThickness#
Property that returns the tst ratio