Exemplo n.º 1
0
nLayersOfOverlapForParallel = mesh.nLayersOfOverlapForParallel
restrictFineSolutionToAllMeshes = mesh.restrictFineSolutionToAllMeshes
triangleOptions = mesh.triangleOptions

elementQuadrature = ct.elementQuadrature
elementBoundaryQuadrature = ct.elementBoundaryQuadrature
femSpaces = {0: ct.basis}

massLumping = False
numericalFluxType = NumericalFlux.DoNothing
conservativeFlux = None
subgridError = RDLS.SubgridError(coefficients=physics.coefficients,
                                 nd=ct.domain.nd)
shockCapturing = RDLS.ShockCapturing(
    coefficients=physics.coefficients,
    nd=ct.domain.nd,
    shockCapturingFactor=ct.rd_shockCapturingFactor,
    lag=ct.rd_lag_shockCapturing)

fullNewtonFlag = True
multilevelNonlinearSolver = NonlinearSolvers.Newton
levelNonlinearSolver = NonlinearSolvers.Newton

nonlinearSmoother = NonlinearSolvers.NLGaussSeidel
linearSmoother = None

matrix = LinearAlgebraTools.SparseMatrix

if ct.useOldPETSc:
    multilevelLinearSolver = LinearSolvers.PETSc
    levelLinearSolver = LinearSolvers.PETSc
Exemplo n.º 2
0
    useEisenstatWalker = False  #True
    maxNonlinearIts = 1
    maxLineSearches = 0
    nonlinearSolverConvergenceTest = 'rits'
    levelNonlinearSolverConvergenceTest = 'rits'
    linearSolverConvergenceTest = 'r-true'

femSpaces = {0: pbasis}

massLumping = False
numericalFluxType = DoNothing
conservativeFlux = None
subgridError = RDLS.SubgridError(coefficients, nd)
shockCapturing = RDLS.ShockCapturing(
    coefficients,
    nd,
    shockCapturingFactor=rd_shockCapturingFactor,
    lag=rd_lag_shockCapturing)

fullNewtonFlag = True
multilevelNonlinearSolver = Newton
levelNonlinearSolver = TwoStageNewton

nonlinearSmoother = NLGaussSeidel
linearSmoother = None

matrix = SparseMatrix

if useOldPETSc:
    multilevelLinearSolver = PETSc
    levelLinearSolver = PETSc