properties.SetValue(KratosMaterialModels.C10, C10)

#allocate a geometry
#a = PointerVector()
#a.append(node1)
#geom = Geometry(a)
#geom = Geometry()
geom = Triangle2D3(node1, node2, node3)
print(geom)

N = Vector(3)
DN_DX = Matrix(3, 2)

######################################## here we choose the constitutive law #########################
#construct a constitutive law
elasticity_model = KratosMaterialModels.SaintVenantKirchhoffModel()
cl = KratosMaterialModels.LargeStrain3DLaw(elasticity_model)

#plasticity_model = KratosMaterialModels.VonMisesNeoHookeanPlasticityModel()
#cl  = KratosMaterialModels.LargeStrain3DLaw(plasticity_model)

cl.Check(properties, geom, model_part.ProcessInfo)

if (cl.WorkingSpaceDimension() != dim):
    raise Exception(
        "mismatch between the WorkingSpaceDimension of the Constitutive Law and the dimension of the space in which the test is performed"
    )

##set the parameters to be employed
#note that here i am adding them all to check that this does not fail
cl_options = Flags()
Esempio n. 2
0
 def __init__(self):
     #print(" python: elastic law ")
     self.constitutive_law = KratosMaterial.Linear3DLaw()
Esempio n. 3
0
def AssignMaterial(Properties):

    prop_id = 1
    prop = Properties[prop_id]
    mat = KratosMaterial.SmallStrainPlaneStrain2DLaw(
        KratosMaterial.LinearElasticModel())
    prop.SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, mat.Clone())

    prop_id = 2
    prop = Properties[prop_id]
    mat = KratosMaterial.SmallStrain3DLaw(KratosMaterial.LinearElasticModel())
    prop.SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, mat.Clone())

    prop_id = 3
    prop = Properties[prop_id]
    mat = KratosMaterial.SmallStrainPlaneStress2DLaw(
        KratosMaterial.SimoJuExponentialDamageModel())
    prop.SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, mat.Clone())

    prop_id = 4
    prop = Properties[prop_id]
    mat = KratosMaterial.SmallStrainPlaneStress2DLaw(
        KratosMaterial.LinearElasticModel())
    prop.SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, mat.Clone())

    prop_id = 5
    prop = Properties[prop_id]
    mat = KratosMaterial.LargeStrainPlaneStrain2DLaw(
        KratosMaterial.SaintVenantKirchhoffModel())
    prop.SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, mat.Clone())

    prop_id = 6
    prop = Properties[prop_id]
    mat = KratosMaterial.LargeStrain3DLaw(
        KratosMaterial.SaintVenantKirchhoffModel())
    prop.SetValue(KratosMultiphysics.CONSTITUTIVE_LAW, mat.Clone())