n.triangleFlag = 0 #if regular triangulatio then alternate diagonals n.triangleOptions = "pAq30.0Dena%f" % ((he**2) / 4.0, ) n.numericalFluxType = RANS2P.NumericalFlux if opts.periodic: n.periodicDirichletConditions = p.periodicDirichletConditions n.parallelPeriodic = True n.subgridError = RANS2P.SubgridError(coefficients=p.coefficients, nd=p.nd, lag=True, hFactor=1.0) n.shockCapturing = RANS2P.ShockCapturing(coefficients=p.coefficients, nd=p.nd, shockCapturingFactor=0.0, lag=True) n.multilevelNonlinearSolver = NonlinearSolvers.Newton n.levelNonlinearSolver = NonlinearSolvers.Newton n.fullNewtonFlag = True n.maxNonlinearIts = 50 n.maxLineSearches = 0 n.tolFac = 0.0 n.nl_atol_res = 1.0e-8 n.matrix = LinearAlgebraTools.SparseMatrix
elementBoundaryQuadrature = ct.elementBoundaryQuadrature femSpaces = {0: ct.basis, 1: ct.basis, 2: ct.basis} if nd == 3: femSpaces[3] = ct.basis massLumping = False numericalFluxType = RANS2P.NumericalFlux subgridError = RANS2P.SubgridError(coefficients=physics.coefficients, nd=nd, lag=ct.ns_lag_subgridError, hFactor=ct.hFactor) shockCapturing = RANS2P.ShockCapturing( coefficients=physics.coefficients, nd=nd, shockCapturingFactor=ct.ns_shockCapturingFactor, lag=ct.ns_lag_shockCapturing) fullNewtonFlag = True multilevelNonlinearSolver = NonlinearSolvers.Newton levelNonlinearSolver = NonlinearSolvers.Newton nonlinearSmoother = None if nd == 2: linearSmoother = LinearSolvers.SimpleNavierStokes2D elif nd == 3: linearSmoother = LinearSolvers.SimpleNavierStokes3D matrix = LinearAlgebraTools.SparseMatrix
timeIntegration = TimeIntegration.BackwardEuler_cfl stepController = StepControl.Min_dt_controller triangleOptions = ct.triangleOptions femSpaces = {0: ct.basis, 1: ct.basis, 2: ct.basis} elementQuadrature = ct.elementQuadrature elementBoundaryQuadrature = ct.elementBoundaryQuadrature massLumping = False numericalFluxType = None conservativeFlux = None numericalFluxType = RANS2P.NumericalFlux subgridError = RANS2P.SubgridError(physics.coefficients, ct.nd, lag=ct.ns_lag_subgridError, hFactor=ct.hFactor) shockCapturing = RANS2P.ShockCapturing(physics.coefficients, ct.nd, ct.ns_shockCapturingFactor, lag=ct.ns_lag_shockCapturing) fullNewtonFlag = True multilevelNonlinearSolver = NonlinearSolvers.Newton levelNonlinearSolver = NonlinearSolvers.Newton nonlinearSmoother = None linearSmoother = LinearSolvers.SimpleNavierStokes2D matrix = LinearAlgebraTools.SparseMatrix if ct.useOldPETSc: multilevelLinearSolver = LinearSolvers.PETSc levelLinearSolver = LinearSolvers.PETSc else: multilevelLinearSolver = LinearSolvers.KSP_petsc4py levelLinearSolver = LinearSolvers.KSP_petsc4py