nd = ct.domain.nd mesh = domain.MeshOptions triangleOptions = mesh.triangleOptions elementQuadrature = ct.elementQuadrature elementBoundaryQuadrature = ct.elementBoundaryQuadrature timeIntegration = TimeIntegration.BackwardEuler_cfl stepController = StepControl.Min_dt_cfl_controller femSpaces = {0:ct.basis} massLumping = False numericalFluxType = Dissipation.NumericalFlux conservativeFlux = None subgridError = Dissipation.SubgridError(coefficients=physics.coefficients,nd=ct.nd) shockCapturing = Dissipation.ShockCapturing(physics.coefficients,ct.nd,shockCapturingFactor=ct.dissipation_shockCapturingFactor, lag=ct.dissipation_lag_shockCapturing) fullNewtonFlag = True multilevelNonlinearSolver = NonlinearSolvers.Newton levelNonlinearSolver = NonlinearSolvers.Newton nonlinearSmoother = None linearSmoother = None #printNonlinearSolverInfo = True matrix = SparseMatrix if not ct.useOldPETSc and not ct.useSuperlu: multilevelLinearSolver = LinearSolvers.KSP_petsc4py levelLinearSolver = LinearSolvers.KSP_petsc4py else: multilevelLinearSolver = LinearSolvers.LU levelLinearSolver = LinearSolvers.LU
timeIntegration = TimeIntegration.BackwardEuler_cfl stepController = StepControl.Min_dt_cfl_controller femSpaces = {0: ct.basis} elementQuadrature = ct.elementQuadrature elementBoundaryQuadrature = ct.elementBoundaryQuadrature massLumping = False numericalFluxType = Dissipation.NumericalFlux conservativeFlux = None subgridError = Dissipation.SubgridError(coefficients=physics.coefficients, nd=ct.domain.nd) shockCapturing = Dissipation.ShockCapturing( coefficients=physics.coefficients, nd=ct.domain.nd, shockCapturingFactor=ct.dissipation_shockCapturingFactor, lag=ct.dissipation_lag_shockCapturing) fullNewtonFlag = True multilevelNonlinearSolver = NonlinearSolvers.Newton levelNonlinearSolver = NonlinearSolvers.Newton nonlinearSmoother = None linearSmoother = None #printNonlinearSolverInfo = True matrix = LinearAlgebraTools.SparseMatrix if not ct.useOldPETSc and not ct.useSuperlu: multilevelLinearSolver = LinearSolvers.KSP_petsc4py levelLinearSolver = LinearSolvers.KSP_petsc4py else:
else: timeIntegration = TimeIntegration.BackwardEuler_cfl stepController = StepControl.Min_dt_controller femSpaces = {0: basis} elementQuadrature = elementQuadrature elementBoundaryQuadrature = elementBoundaryQuadrature massLumping = False numericalFluxType = Dissipation.NumericalFlux conservativeFlux = None subgridError = Dissipation.SubgridError(coefficients=physics.coefficients, nd=nd) shockCapturing = Dissipation.ShockCapturing( coefficients=physics.coefficients, nd=nd, shockCapturingFactor=user_param.dissipation_shockCapturingFactor, lag=user_param.dissipation_lag_shockCapturing) fullNewtonFlag = True multilevelNonlinearSolver = NonlinearSolvers.Newton levelNonlinearSolver = NonlinearSolvers.Newton nonlinearSmoother = None linearSmoother = None matrix = LinearAlgebraTools.SparseMatrix if not useSuperlu: multilevelLinearSolver = LinearSolvers.KSP_petsc4py levelLinearSolver = LinearSolvers.KSP_petsc4py