regionUserNumber = 1
basisUserNumber = 1
pressureBasisUserNumber = 2
generatedMeshUserNumber = 1
meshUserNumber = 1
decompositionUserNumber = 1
geometricFieldUserNumber = 1
fibreFieldUserNumber = 2
materialFieldUserNumber = 3
dependentFieldUserNumber = 4
equationsSetUserNumber = 1
equationsSetFieldUserNumber = 5
problemUserNumber = 1

# Set all diganostic levels on for testing
iron.DiagnosticsSetOn(iron.DiagnosticTypes.ALL, [1, 2, 3, 4, 5], "Diagnostics",
                      ["DOMAIN_MAPPINGS_LOCAL_FROM_GLOBAL_CALCULATE"])

numberGlobalXElements = 1
numberGlobalYElements = 1
numberGlobalZElements = 1
totalNumberOfNodes = 8
totalNumberOfElements = 1
InterpolationType = 1
if (UsePressureBasis):
    numberOfMeshComponents = 2
else:
    numberOfMeshComponents = 1
if (numberGlobalZElements == 0):
    numberOfXi = 2
else:
    numberOfXi = 3
    hasDerivatives = False
elif opts.interpolation == "cubic-hermite":
    interpolationType = iron.BasisInterpolationSpecifications.CUBIC_HERMITE
    numGauss = 4
    hasDerivatives = True

(coordinateSystemUserNumber, regionUserNumber, basisUserNumber,
 generatedMeshUserNumber, meshUserNumber, decompositionUserNumber,
 geometricFieldUserNumber, equationsSetFieldUserNumber,
 dependentFieldUserNumber, equationsSetUserNumber,
 problemUserNumber) = range(1, 12)

# Output all diagnostics in Neumann integration routine
iron.DiagnosticsSetOn(iron.DiagnosticTypes.IN, [1, 2, 3, 4, 5], "diagnostics",
                      [
                          "BoundaryConditions_NeumannIntegrate",
                          "BoundaryConditions_NeumannMatricesInitialise"
                      ])

# Get the computational nodes information
numberOfComputationalNodes = iron.ComputationalNumberOfNodesGet()
computationalNodeNumber = iron.ComputationalNodeNumberGet()

# Creation a rectangular cartesian coordinate system
coordinateSystem = iron.CoordinateSystem()
coordinateSystem.CreateStart(coordinateSystemUserNumber)
coordinateSystem.dimension = 3
coordinateSystem.CreateFinish()

# Create a region in the world region
region = iron.Region()