# Proteus Poisson numerics file
# Generated by Kitware CMB

from proteus import *
from proteus.default_n import *
from ExportSimProteus_p import *

# Step controller class
# UI path not found for attribute type time
stepController = StepControl.Min_dt_controller

# Time integration class
# UI path not found for attribute type time
timeIntegration = TimeIntegration.BackwardEuler_cfl

# The time step
# UI path not found for attribute type time
DT = 1

# Number Of Output Time Steps
# UI path not found for attribute type time
nDTout = 1

# Global tolerances
# UI path not found for attribute type tolerancesalternate
nltol_u = 0.33
# UI path not found for attribute type tolerancesalternate
ltol_u = 0.05
# UI path not found for attribute type tolerancesalternate
nl_atol_res = 1
# UI path not found for attribute type tolerancesalternate
l_atol_res = 1

# Finite element space
# UI path not found for attribute type femspaces
femSpaces = {0:C0_AffineLinearOnSimplexWithNodalBasis}

# Boolean to do full Newton or modified Newton
# UI path not found for attribute type solver
fullNewtonFlag = True

# Element quadrature
# UI path not found for attribute type quadrature
elementQuadrature = GaussTetrahedron()

# Boundary element quadrature
# UI path not found for attribute type quadrature
elementBoundaryQuadrature = GaussTriangle()

# UI path not found for attribute type solver
multilevelNonlinearSolver = NonlinearSolvers.NLNI

# UI path not found for attribute type solver
nonlinearSmoother = NonlinearSolvers.NLGaussSeidel

# Boolean to dump mass matrix
# UI path not found for attribute type numerics_tools
massLumping = True

# The number of stages for the time discretization
# UI path not found for attribute type time
nStagesTime = 1

# Number of levels in mesh
# UI path not found for attribute type multilevelmeshlevels
nLevels = 1

# The maximum CFL for the time step
# UI path not found for attribute type time
runCFL = 0.9

# The order of time discretization
# UI path not found for attribute type time
timeOrder = 1

# UI path not found for attribute type numerics_tools
numericalFluxType = NumericalFlux.NF_base

# Stability or shock capturing
# UI path not found for attribute type numerics_tools
subgridError = SubgridError.Advection_ASGS(coefficients, nd)

# UI path not found for attribute type numerics_tools
shockCapturing = ShockCapturing.ShockCapturing_base(coefficients, nd)

# UI path not found for attribute type numerics_other
tolFac = 0.01
atol = 1e-08
maxNonlinearIts = 10
maxLineSearches = 10
psitc.nStepsForce = 3
psitc.nStepsMax = 100
matrix = SparseMatrix
multilevelLinearSolver = NI
levelLinearSolver = LU
computeEigenvalues = False
linearSmoother = StarILU
linTolFac = 0.001
multigridCycles = 2
preSmooths = 2
postSmooths = 2
computeLinearSolverRates = False
printLinearSolverRates = False
computeLevelLinearSolverRates = False
printLevelLinearSolverInfo = False
computeLinearSmootherRates = False
printLinearSmootherInfo = False
linearSolverMaxIts = 1000
linearWCycles = 3
linearPreSmooths = 3
linearPostSmooths = 3
computeNonlinearSolverRates = True
printNonlinearSolverInfo = False
computeNonlinearLevelSolverRates = False
printNonlinearLevelSolverInfo = False
computeNonlinearSmootherRates = False
printNonlinearSmootherInfo = False
nonlinearPreSmooths = 3
nonlinearPostSmooths = 3
nonlinearWCycles = 3
useEisenstatWalker = False
maxErrorFailures = 10
maxSolverFailures = 10
nonlinearSolverConvergenceTest = 'r'
levelNonlinearSolverConvergenceTest = 'r'
linearSolverConvergenceTest = 'r'
