if spaceOrder not in [1,2]: raise ValueError("INVALID: spaceOrder(" + str(spaceOrder) + ")") if useRBLES not in [0.0, 1.0]: raise ValueError("INVALID: useRBLES(" + str(useRBLES) + ")") if useMetrics not in [0.0, 1.0]: raise ValueError("INVALID: useMetrics(" + str(useMetrics) + ")") # ----- DISCRETIZATION ----- # nd = 2 if spaceOrder == 1: hFactor = 1.0 if useHex: basis = ft.C0_AffineLinearOnCubeWithNodalBasis elementQuadrature = ft.CubeGaussQuadrature(nd, 2) elementBoundaryQuadrature = ft.CubeGaussQuadrature(nd - 1, 2) else: basis = ft.C0_AffineLinearOnSimplexWithNodalBasis elementQuadrature = ft.SimplexGaussQuadrature(nd, 3) elementBoundaryQuadrature = ft.SimplexGaussQuadrature(nd - 1, 3) elif spaceOrder == 2: hFactor = 0.5 if useHex: basis = ft.C0_AffineLagrangeOnCubeWithNodalBasis elementQuadrature = ft.CubeGaussQuadrature(nd, 4) elementBoundaryQuadrature = ft.CubeGaussQuadrature(nd - 1, 4) else: basis = ft.C0_AffineQuadraticOnSimplexWithNodalBasis elementQuadrature = ft.SimplexGaussQuadrature(nd, 4) elementBoundaryQuadrature = ft.SimplexGaussQuadrature(nd - 1, 4)
raise ValueError("INVALID: spaceOrder(" + str(spaceOrder) + ")") if useRBLES not in [0.0, 1.0]: raise ValueError("INVALID: useRBLES(" + str(useRBLES) + ")") if useMetrics not in [0.0, 1.0]: raise ValueError("INVALID: useMetrics(" + str(useMetrics) + ")") # ----- DISCRETIZATION ----- # nd = 2 if spaceOrder == 1: hFactor = 1.0 if useHex: basis = ft.C0_AffineLinearOnCubeWithNodalBasis elementQuadrature = ft.CubeGaussQuadrature(nd, 3) elementBoundaryQuadrature = ft.CubeGaussQuadrature( nd - 1, 3) #[temp] 3? Others have 2. else: basis = ft.C0_AffineLinearOnSimplexWithNodalBasis elementQuadrature = ft.SimplexGaussQuadrature(nd, 3) elementBoundaryQuadrature = ft.SimplexGaussQuadrature(nd - 1, 3) elif spaceOrder == 2: hFactor = 0.5 if useHex: basis = ft.C0_AffineLagrangeOnCubeWithNodalBasis elementQuadrature = ft.CubeGaussQuadrature(nd, 4) elementBoundaryQuadrature = ft.CubeGaussQuadrature(nd - 1, 4) else: basis = ft.C0_AffineQuadraticOnSimplexWithNodalBasis elementQuadrature = ft.SimplexGaussQuadrature(nd, 4)