コード例 #1
0
ファイル: duct.py プロジェクト: mhartman88/proteus
    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
コード例 #2
0
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
コード例 #3
0
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