コード例 #1
0
def createBasis(interpolationType, basisUserNumber):
    basis = CMISS.Basis()
    basis.CreateStart(basisUserNumber)
    basis.type = CMISS.BasisTypes.LAGRANGE_HERMITE_TP
    basis.numberOfXi = numberOfXi
    basis.interpolationXi = [interpolationType] * numberOfXi
    basis.quadratureNumberOfGaussXi = [numGauss] * numberOfXi
    basis.CreateFinish()
    return basis
コード例 #2
0
# Create a 3D rectangular cartesian coordinate system
coordinateSystem = CMISS.CoordinateSystem()
coordinateSystem.CreateStart(coordinateSystemUserNumber)
coordinateSystem.DimensionSet(3)
coordinateSystem.CreateFinish()

# Create a region and assign the coordinate system to the region
region = CMISS.Region()
region.CreateStart(regionUserNumber, CMISS.WorldRegion)
region.LabelSet("Region")
region.coordinateSystem = coordinateSystem
region.CreateFinish()

# Define basis
basis = CMISS.Basis()
basis.CreateStart(basisUserNumber)
if InterpolationType in (1, 2, 3, 4):
    basis.type = CMISS.BasisTypes.LAGRANGE_HERMITE_TP
elif InterpolationType in (7, 8, 9):
    basis.type = CMISS.BasisTypes.SIMPLEX
basis.numberOfXi = numberOfXi
basis.interpolationXi = [
    CMISS.BasisInterpolationSpecifications.LINEAR_LAGRANGE
] * numberOfXi
if (NumberOfGaussXi > 0):
    basis.quadratureNumberOfGaussXi = [NumberOfGaussXi] * numberOfXi
basis.CreateFinish()

if (UsePressureBasis):
    # Define pressure basis
コード例 #3
0
# Creation a rectangular cartesian coordinate system
coordinateSystem = CMISS.CoordinateSystem()
coordinateSystem.CreateStart(coordinateSystemUserNumber)
coordinateSystem.dimension = 3
coordinateSystem.CreateFinish()

# Create a region in the world region
region = CMISS.Region()
region.CreateStart(regionUserNumber, CMISS.WorldRegion)
region.label = "LaplaceRegion"
region.coordinateSystem = coordinateSystem
region.CreateFinish()

# Create a tri-quadratic lagrange basis
basis = CMISS.Basis()
basis.CreateStart(basisUserNumber)
basis.type = CMISS.BasisTypes.LAGRANGE_HERMITE_TP
basis.numberOfXi = numberOfXi
basis.interpolationXi = [interpolationType] * numberOfXi
basis.quadratureNumberOfGaussXi = [numGauss] * numberOfXi
basis.CreateFinish()

# Create a generated regular mesh
generatedMesh = CMISS.GeneratedMesh()
generatedMesh.CreateStart(generatedMeshUserNumber, region)
generatedMesh.type = CMISS.GeneratedMeshTypes.REGULAR
generatedMesh.basis = [basis]
generatedMesh.extent = [width, length, height]
generatedMesh.numberOfElements = [ne for ne in numberGlobalElements if ne > 0]