示例#1
0
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
示例#2
0
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:
示例#3
0
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