def _apply_material_properties(self, mp): #define properties orthotropic_props = Matrix(4, 16) # Orthotropic mechanical moduli orthotropic_props[0, 0] = 0.5 #lamina thickness orthotropic_props[0, 1] = 0.0 #lamina rotation (deg) orthotropic_props[0, 2] = 7850 #density orthotropic_props[0, 3] = 7500 #E1 orthotropic_props[0, 4] = 2000 #E2 orthotropic_props[0, 5] = 0.25 #nu_12 orthotropic_props[0, 6] = 1250 #G_12 orthotropic_props[0, 7] = 625 #G_13 orthotropic_props[0, 8] = 625 #G_23 # Orthotropic mechanical strengths. (T)ensile, (C)ompression, (S)hear # along 1, 2, 3 lamina directions orthotropic_props[0, 9] = 800 #T1 orthotropic_props[0, 10] = 500 #C1 orthotropic_props[0, 11] = 40 #T2 orthotropic_props[0, 12] = 300 #C2 orthotropic_props[0, 13] = 60 #S12 orthotropic_props[0, 14] = 60 #S13 orthotropic_props[0, 15] = 60 #S23 for row in range(1, 4): for col in range(16): orthotropic_props[row, col] = orthotropic_props[0, col] orthotropic_props[1, 1] = 90 orthotropic_props[2, 1] = 90 mp.GetProperties()[1].SetValue( KratosMultiphysics.StructuralMechanicsApplication. SHELL_ORTHOTROPIC_LAYERS, orthotropic_props) mp.GetProperties()[1].SetValue(KratosMultiphysics.THICKNESS, 2) mp.GetProperties()[1].SetValue(KratosMultiphysics.DENSITY, 2.5) g = [0, 0, 0] mp.GetProperties()[1].SetValue(KratosMultiphysics.VOLUME_ACCELERATION, g) cl = StructuralMechanicsApplication.LinearElasticOrthotropic2DLaw() mp.GetProperties()[1].SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, cl)
def _apply_orthotropic_shell_material_properties(self, mp): #define properties # we specify only the properties we need (others are youngs modulus etc) num_plies = 3 orthotropic_props = KratosMultiphysics.Matrix(num_plies, 16) for row in range(num_plies): for col in range(16): orthotropic_props[row, col] = 0.0 # Orthotropic mechanical moduli orthotropic_props[0, 0] = 0.005 # lamina thickness orthotropic_props[0, 2] = 2200 # density orthotropic_props[1, 0] = 0.01 # lamina thickness orthotropic_props[1, 2] = 1475 # density orthotropic_props[2, 0] = 0.015 # lamina thickness orthotropic_props[2, 2] = 520 # density mp.GetProperties()[1].SetValue( StructuralMechanicsApplication.SHELL_ORTHOTROPIC_LAYERS, orthotropic_props) cl = StructuralMechanicsApplication.LinearElasticOrthotropic2DLaw() mp.GetProperties()[1].SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, cl)