equationsSetSpecification = [ iron.EquationsSetClasses.ELASTICITY, iron.EquationsSetTypes.FINITE_ELASTICITY, iron.EquationsSetSubtypes.CONSTITUTIVE_LAW_IN_CELLML_EVALUATE ] equationsSet.CreateStart(equationsSetUserNumber, region, fibreField, equationsSetSpecification, equationsSetFieldUserNumber, equationsSetField) equationsSet.CreateFinish() equationsSet.DependentCreateStart(dependentFieldUserNumber, dependentField) equationsSet.DependentCreateFinish() #DOC-START create cellml environment # Create the CellML environment CellML = iron.CellML() CellML.CreateStart(CellMLUserNumber, region) # Import a Mooney-Rivlin material law from a file MooneyRivlinModel = CellML.ModelImport("mooney_rivlin.xml") #DOC-END create cellml environment #DOC-START flag variables # Now we have imported the model we are able to specify which variables from the model we want to set from openCMISS CellML.VariableSetAsKnown(MooneyRivlinModel, "equations/E11") CellML.VariableSetAsKnown(MooneyRivlinModel, "equations/E12") CellML.VariableSetAsKnown(MooneyRivlinModel, "equations/E13") CellML.VariableSetAsKnown(MooneyRivlinModel, "equations/E22") CellML.VariableSetAsKnown(MooneyRivlinModel, "equations/E23") CellML.VariableSetAsKnown(MooneyRivlinModel, "equations/E33") # and variables to get from the CellML CellML.VariableSetAsWanted(MooneyRivlinModel, "equations/Tdev11")
# Create the equations_set equationsSetField = iron.Field() equationsSet = iron.EquationsSet() equationsSetSpecification = [iron.EquationsSetClasses.ELASTICITY, iron.EquationsSetTypes.FINITE_ELASTICITY, iron.EquationsSetSubtypes.CONSTIT_AND_GROWTH_LAW_IN_CELLML] equationsSet.CreateStart(equationsSetUserNumber,region,fibreField, equationsSetSpecification,equationsSetFieldUserNumber,equationsSetField) equationsSet.CreateFinish() equationsSet.DependentCreateStart(dependentFieldUserNumber,dependentField) equationsSet.DependentCreateFinish() # Create the CellML environment for the growth law. Set the rates as known so that we can spatially vary them. growthCellML = iron.CellML() growthCellML.CreateStart(growthCellMLUserNumber,region) growthCellMLIdx = growthCellML.ModelImport("simplegrowth.cellml") growthCellML.VariableSetAsKnown(growthCellMLIdx,"Main/fibrerate") growthCellML.VariableSetAsKnown(growthCellMLIdx,"Main/sheetrate") growthCellML.VariableSetAsKnown(growthCellMLIdx,"Main/normalrate") growthCellML.CreateFinish() # Create CellML <--> OpenCMISS field maps. Map the lambda's to the U3/growth dependent field variable growthCellML.FieldMapsCreateStart() growthCellML.CreateCellMLToFieldMap(growthCellMLIdx,"Main/lambda1",iron.FieldParameterSetTypes.VALUES, dependentField,iron.FieldVariableTypes.U3,1,iron.FieldParameterSetTypes.VALUES) growthCellML.CreateCellMLToFieldMap(growthCellMLIdx,"Main/lambda2",iron.FieldParameterSetTypes.VALUES, dependentField,iron.FieldVariableTypes.U3,2,iron.FieldParameterSetTypes.VALUES) growthCellML.CreateCellMLToFieldMap(growthCellMLIdx,"Main/lambda3",iron.FieldParameterSetTypes.VALUES, dependentField,iron.FieldVariableTypes.U3,3,iron.FieldParameterSetTypes.VALUES)