generatedMesh.numberOfElements = [ne for ne in numberGlobalElements if ne > 0] mesh = CMISS.Mesh() generatedMesh.CreateFinish(meshUserNumber, mesh) # Create a decomposition for the mesh decomposition = CMISS.Decomposition() decomposition.CreateStart(decompositionUserNumber, mesh) decomposition.type = CMISS.DecompositionTypes.CALCULATED decomposition.numberOfDomains = numberOfComputationalNodes decomposition.calculateFaces = True decomposition.calculateLines = True decomposition.CreateFinish() # Create a field for the geometry geometricField = CMISS.Field() geometricField.CreateStart(geometricFieldUserNumber, region) geometricField.meshDecomposition = decomposition geometricField.scalingType = CMISS.FieldScalingTypes.ARITHMETIC_MEAN geometricField.CreateFinish() # Set geometry from the generated mesh generatedMesh.GeometricParametersCalculate(geometricField) # Create standard Laplace equations set equationsSetField = CMISS.Field() equationsSet = CMISS.EquationsSet() equationsSet.CreateStart(equationsSetUserNumber, region, geometricField, CMISS.EquationsSetClasses.CLASSICAL_FIELD, CMISS.EquationsSetTypes.LAPLACE_EQUATION, CMISS.EquationsSetSubtypes.STANDARD_LAPLACE,
generatedMesh.numberOfElements = [ numberGlobalXElements, numberGlobalYElements, numberGlobalZElements ] # Finish the creation of a generated mesh in the region mesh = CMISS.Mesh() generatedMesh.CreateFinish(meshUserNumber, mesh) # Create a decomposition for the mesh decomposition = CMISS.Decomposition() decomposition.CreateStart(decompositionUserNumber, mesh) decomposition.type = CMISS.DecompositionTypes.CALCULATED decomposition.numberOfDomains = numberOfComputationalNodes decomposition.CreateFinish() # Create a field for the geometry geometricField = CMISS.Field() geometricField.CreateStart(geometricFieldUserNumber, region) geometricField.MeshDecompositionSet(decomposition) geometricField.TypeSet(CMISS.FieldTypes.GEOMETRIC) geometricField.VariableLabelSet(CMISS.FieldVariableTypes.U, "Geometry") geometricField.ComponentMeshComponentSet(CMISS.FieldVariableTypes.U, 1, 1) geometricField.ComponentMeshComponentSet(CMISS.FieldVariableTypes.U, 2, 1) geometricField.ComponentMeshComponentSet(CMISS.FieldVariableTypes.U, 3, 1) if InterpolationType == 4: geometricField.fieldScalingType = CMISS.FieldScalingTypes.ARITHMETIC_MEAN geometricField.CreateFinish() # Update the geometric field parameters from generated mesh generatedMesh.GeometricParametersCalculate(geometricField) # Create a fibre field and attach it to the geometric field
mesh = CMISS.Mesh() generatedMesh.CreateFinish(meshUserNumber, mesh) #DOC-END generated mesh #DOC-START decomposition # Create a decomposition for the mesh decomposition = CMISS.Decomposition() decomposition.CreateStart(decompositionUserNumber, mesh) decomposition.type = CMISS.DecompositionTypes.CALCULATED decomposition.numberOfDomains = numberOfComputationalNodes decomposition.CreateFinish() #DOC-END decomposition #DOC-START geometry # Create a field for the geometry geometricField = CMISS.Field() geometricField.CreateStart(geometricFieldUserNumber, region) geometricField.meshDecomposition = decomposition geometricField.TypeSet(CMISS.FieldTypes.GEOMETRIC) geometricField.VariableLabelSet(CMISS.FieldVariableTypes.U, "coordinates") geometricField.ComponentMeshComponentSet(CMISS.FieldVariableTypes.U, 1, linearMeshComponentNumber) geometricField.CreateFinish() # Set geometry from the generated mesh generatedMesh.GeometricParametersCalculate(geometricField) #DOC-END geometry #DOC-START equations set # Create the equations_set equationsSetField = CMISS.Field()