11from stlib .entities import Entity , EntityParameters
22from stlib .prefabs .material import Material , MaterialParameters
33from stlib .prefabs .visual import Visual
4- from splib .core .enum_types import ConstitutiveLaw , ElementType
4+ from splib .core .enum_types import ConstitutiveLaw , ElementType , StateType
55from splib .mechanics .linear_elasticity import *
66from splib .mechanics .hyperelasticity import *
77from splib .mechanics .mass import addMass
88
99
1010class DeformableBehaviorParameters (MaterialParameters ):
1111
12- constitutiveLawType : ConstitutiveLaw
13- elementType : ElementType
14- parameters : list [float ]
12+ constitutiveLawType : ConstitutiveLaw = None
13+ elementType : ElementType = None
14+ parameters : list [float ] = None
1515
1616 def addMaterial (self , node ):
1717
18- addMass (node , node .stateType , massDensity = node .massDensity , lumping = node .massLumping )
18+ addMass (node , str ( node .stateType ) , massDensity = node .massDensity , lumping = node .massLumping )
1919
2020 # TODO : change this with inheritance
2121 if (self .constitutiveLawType == ConstitutiveLaw .HYPERELASTIC ):
@@ -61,9 +61,11 @@ def createScene(root) :
6161 # from stlib.geometry.extract import ExtractParameters
6262
6363 liverParameters = EntityParameters ()
64- liverParameters .behavior = DeformableBehaviorParameters ()
65- liverParameters .behavior .constitutiveLawType = ConstitutiveLaw .ELASTIC
66- liverParameters .behavior .parameters = [1000 , 0.45 ]
64+ liverParameters .template = StateType .VEC3
65+ liverParameters .material = DeformableBehaviorParameters ()
66+ liverParameters .material .stateType = StateType .VEC3
67+ liverParameters .material .constitutiveLawType = ConstitutiveLaw .ELASTIC
68+ liverParameters .material .parameters = [1000 , 0.45 ]
6769 liverParameters .geometry = FileParameters ("liver.vtk" )
6870 # liverParameters.visual = ExtractParameters()
6971 myDeformableObject = root .add (Entity , liverParameters )
0 commit comments