コード例 #1
0
ファイル: duct.py プロジェクト: mhartman88/proteus
         n.elementBoundaryQuadrature = Quadrature.SimplexGaussQuadrature(
             p.nd - 1, 5)
 else:
     if opts.useTaylorHood:
         n.femSpaces = {
             0: FemTools.C0_AffineLinearOnCubeWithNodalBasis,
             1: FemTools.C0_AffineQuadraticOnCubeWithNodalBasis,
             2: FemTools.C0_AffineQuadraticOnCubeWithNodalBasis
         }
         if p.nd == 3:
             n.hex = True
             n.femSpaces[
                 3] = FemTools.C0_AffineQuadraticOnCubeWithNodalBasis
         else:
             n.quad = True
         n.elementQuadrature = Quadrature.CubeGaussQuadrature(p.nd, 2)
         n.elementBoundaryQuadrature = Quadrature.CubeGaussQuadrature(
             p.nd - 1, 2)
     else:
         n.femSpaces = {
             0: FemTools.C0_AffineLinearOnCubeWithNodalBasis,
             1: FemTools.C0_AffineLinearOnCubeWithNodalBasis,
             2: FemTools.C0_AffineLinearOnCubeWithNodalBasis
         }
         if p.nd == 3:
             n.hex = True
             n.femSpaces[3] = FemTools.C0_AffineLinearOnCubeWithNodalBasis
         else:
             n.quad = True
         n.elementQuadrature = Quadrature.CubeGaussQuadrature(p.nd, 5)
         n.elementBoundaryQuadrature = Quadrature.CubeGaussQuadrature(
コード例 #2
0
if useRBLES not in [0.0, 1.0]:
    print "INVALID: useRBLES" + useRBLES
    sys.exit()

if useMetrics not in [0.0, 1.0]:
    print "INVALID: useMetrics"
    sys.exit()

#  Discretization
nd = 2
if spaceOrder == 1:
    hFactor=1.0
    if useHex:
	 basis=FemTools.C0_AffineLinearOnCubeWithNodalBasis
         elementQuadrature = Quadrature.CubeGaussQuadrature(nd,3)
         elementBoundaryQuadrature = Quadrature.CubeGaussQuadrature(nd-1,3)
    else:
    	 basis=FemTools.C0_AffineLinearOnSimplexWithNodalBasis
         elementQuadrature = Quadrature.SimplexGaussQuadrature(nd,3)
         elementBoundaryQuadrature = Quadrature.SimplexGaussQuadrature(nd-1,3)

elif spaceOrder == 2:
    hFactor=0.5
    if useHex:
	basis=FemTools.C0_AffineLagrangeOnCubeWithNodalBasis
        elementQuadrature = Quadrature.CubeGaussQuadrature(nd,4)
        elementBoundaryQuadrature = Quadrature.CubeGaussQuadrature(nd-1,4)
    else:
	basis=FemTools.C0_AffineQuadraticOnSimplexWithNodalBasis
        elementQuadrature = Quadrature.SimplexGaussQuadrature(nd,4)