Exemplo n.º 1
0
dissipation_model_flag = 1
if ct.useRANS == 2:
    dissipation_model_flag = 2
elif ct.useRANS == 3:
    dissipation_model_flag = 3

coefficients = Kappa.Coefficients(
    V_model=int(ct.movingDomain) + 0,
    ME_model=ME_model,
    LS_model=LS_model,
    RD_model=RD_model,
    dissipation_model=dissipation_model,
    dissipation_model_flag=
    dissipation_model_flag,  #1 -- K-epsilon, 2 -- K-omega 1998, 3 -- K-omega 1988
    useMetrics=ct.useMetrics,
    rho_0=ct.rho_0,
    nu_0=ct.nu_0,
    rho_1=ct.rho_1,
    nu_1=ct.nu_1,
    g=ct.g,
    nd=nd,
    c_mu=0.09,
    sigma_k=1.0,
    sc_uref=ct.kappa_sc_uref,
    sc_beta=ct.kappa_sc_beta)

dirichletConditions = {0: lambda x, flag: domain.bc[flag].k_dirichlet}
advectiveFluxBoundaryConditions = {
    0: lambda x, flag: domain.bc[flag].k_advective
}
diffusiveFluxBoundaryConditions = {
Exemplo n.º 2
0
    dissipation_model = 6
if movingDomain:
    dissipation_model += 1
    ME_model += 1
#
dissipation_model_flag = 1 
if useRANS == 2:
    dissipation_model_flag=2
elif useRANS == 3:
    dissipation_model_flag=3

coefficients = Kappa.Coefficients(V_model=0,ME_model=ME_model,LS_model=LS_model,RD_model=RD_model,dissipation_model=dissipation_model,
                                  dissipation_model_flag=dissipation_model_flag,#1 -- K-epsilon, 2 -- K-omega 1998, 3 -- K-omega 1988
                                  useMetrics=useMetrics,
                                  rho_0=rho_0,nu_0=nu_0,
                                  rho_1=rho_1,nu_1=nu_1,
                                  g=g,
                                  c_mu=0.09,sigma_k=1.0, 
                                  sc_uref=kappa_sc_uref,
                                  sc_beta=kappa_sc_beta)


def getDBC_k(x,flag):
    if flag == boundaryTags['left']:
        return lambda x,t:kInflow
    if flag == boundaryTags['obstacle']:
        return lambda x,t:0.0
    if flag in [boundaryTags['front'], boundaryTags['back']]:
        if openSides:
            return lambda x,t:kInflow
dirichletConditions = {0:getDBC_k}
Exemplo n.º 3
0
from proteus import *
from proteus.default_p import *
from suboff2D import *
from proteus.mprans import Kappa

LevelModelType = Kappa.LevelModel

coefficients = Kappa.Coefficients(
    V_model=0,
    ME_model=3,
    LS_model=1,
    RD_model=None,
    dissipation_model=4,
    dissipation_model_flag=dissipation_model_flag,
    useMetrics=useMetrics,
    rho_0=rho_0,
    nu_0=nu_0,
    rho_1=rho_1,
    nu_1=nu_1,
    g=g,
    c_mu=0.09,
    sigma_k=1.0,
    sc_uref=kappa_sc_uref,
    sc_beta=kappa_sc_beta)


def getDBC_k(x, flag):
    if flag == boundaryTags['left']:
        return lambda x, t: kInflow
    if flag == boundaryTags['obstacle']:
        return lambda x, t: 0.0
Exemplo n.º 4
0
if ct.timeIntegration == "VBDF":
    timeIntegration = TimeIntegration.VBDF
    timeOrder = 2
else:
    timeIntegration = TimeIntegration.BackwardEuler_cfl
stepController = StepControl.Min_dt_controller

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

massLumping       = False
numericalFluxType = Kappa.NumericalFlux
conservativeFlux  = None
subgridError      = Kappa.SubgridError(coefficients=physics.coefficients,
                                       nd=nd)
shockCapturing    = Kappa.ShockCapturing(coefficients=physics.coefficients,
                                         nd=nd,
                                         shockCapturingFactor=ct.kappa_shockCapturingFactor,
                                         lag=ct.kappa_lag_shockCapturing)

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

nonlinearSmoother = None
linearSmoother    = None
#printNonlinearSolverInfo = True

matrix = LinearAlgebraTools.SparseMatrix
Exemplo n.º 5
0
RD_model = None
LS_model = None
ME_model = 1
dissipation_model = 2

coefficients = Kappa.Coefficients(
    V_model=int(movingDomain) + 0,
    ME_model=ME_model,
    LS_model=LS_model,
    RD_model=RD_model,
    dissipation_model=dissipation_model,
    #1 -- K-epsilon, 2 -- K-omega 1998, 3 -- K-omega 1988
    dissipation_model_flag=dissipation_model_flag,
    useMetrics=user_param.useMetrics,
    rho_0=user_param.rho_water,
    nu_0=user_param.nu_water,
    rho_1=user_param.rho_air,
    nu_1=user_param.nu_air,
    #g=user_param.gravity,
    g=numpy.array(
        [user_param.gravity[0], user_param.gravity[1], user_param.gravity[2]],
        dtype='d'),
    nd=user_param.nd,
    c_mu=0.09,
    sigma_k=1.0,
    sc_uref=user_param.kappa_sc_uref,
    sc_beta=user_param.kappa_sc_beta)

dirichletConditions = {
    0: lambda x, flag: domain.bc[flag].k_dirichlet.init_cython()
}
advectiveFluxBoundaryConditions = {
Exemplo n.º 6
0
RD_model = None
LS_model = None
ME_model = 1
dissipation_model = 2

coefficients = Kappa.Coefficients(
    V_model=0 + int(movingDomain),
    ME_model=ME_model,
    LS_model=LS_model,
    RD_model=RD_model,
    dissipation_model=dissipation_model,
    dissipation_model_flag=
    dissipation_model_flag,  # 1=K-epsilon, 2=K-omega 1998, 3=K-omega 1988
    useMetrics=useMetrics,  # main_param.useMetrics,
    rho_0=rho_0,  # main_param
    nu_0=nu_0,  # main_param
    rho_1=rho_1,  # main_param
    nu_1=nu_1,  # main_param
    g=gravity,
    nd=nd,  #main_param.nd,
    c_mu=0.09,
    sigma_k=1.0,
    sc_uref=kappa_sc_uref,  # main_param
    sc_beta=kappa_sc_beta  # main_param
)
'''
dirichletConditions = {
  0: lambda x, flag: domain.bc[flag].k_dirichlet.init_cython()
}

advectiveFluxBoundaryConditions = {
Exemplo n.º 7
0
    ME_model = 5
    dissipation_model = 6
#
dissipation_model_flag = 1
if ct.useRANS >= 2:
    dissipation_model_flag = 2

coefficients = Kappa.Coefficients(
    V_model=0 + int(ct.movingDomain),
    ME_model=ME_model + int(ct.movingDomain),
    LS_model=LS_model + int(ct.movingDomain),
    RD_model=RD_model + int(ct.movingDomain),
    dissipation_model=dissipation_model + int(ct.movingDomain),
    dissipation_model_flag=dissipation_model_flag +
    int(ct.movingDomain),  #1 -- K-epsilon, 2 -- K-omega
    useMetrics=useMetrics,
    rho_0=rho_0,
    nu_0=nu_0,
    rho_1=rho_1,
    nu_1=nu_1,
    g=g,
    c_mu=ct.opts.c_mu,
    sigma_k=ct.opts.sigma_k,
    sc_uref=kappa_sc_uref,
    sc_beta=kappa_sc_beta)

kInflow = ct.kInflow

dirichletConditions = {
    0: lambda x, flag: domain.bc[flag].k_dirichlet.init_cython()
}
Exemplo n.º 8
0
from proteus.mprans import Kappa
from main_param import *
from user_param import *

timeIntegration = TimeIntegration.BackwardEuler_cfl
stepController = StepControl.Min_dt_controller

if timeIntegration == "VBDF": timeIntegration = TimeIntegration.VBDF
if timeIntegration == "VBDF": timeOrder = 2

femSpaces = {0: basis}

massLumping = False
numericalFluxType = Kappa.NumericalFlux
conservativeFlux = None
subgridError = Kappa.SubgridError(coefficients=physics.coefficients, nd=nd)
shockCapturing = Kappa.ShockCapturing(
    coefficients=physics.coefficients,
    nd=nd,
    #shockCapturingFactor=user_param.kappa_shockCapturingFactor,
    #lag=user_param.kappa_lag_shockCapturing)
    shockCapturingFactor=kappa_shockCapturingFactor,
    lag=kappa_lag_shockCapturing)

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

nonlinearSmoother = None
linearSmoother = None
#printNonlinearSolverInfo = True
Exemplo n.º 9
0
dissipation_model_flag = 1
if ct.useRANS >= 2:
    dissipation_model_flag = 2

coefficients = Kappa.Coefficients(
    V_model=ct.V_model,
    ME_model=ct.K_model,
    LS_model=ct.LS_model,
    RD_model=ct.RD_model,
    dissipation_model=ct.EPS_model,
    SED_model=ct.SED_model,
    dissipation_model_flag=dissipation_model_flag +
    int(ct.movingDomain),  #1 -- K-epsilon, 2 -- K-omega
    useMetrics=useMetrics,
    rho_0=rho_0,
    nu_0=nu_0,
    rho_1=rho_1,
    nu_1=nu_1,
    g=g,
    nd=ct.nd,
    c_mu=ct.opts.Cmu,
    sigma_k=ct.opts.sigma_k,
    sc_uref=kappa_sc_uref,
    sc_beta=kappa_sc_beta,
    closure=ct.sedClosure)

kInflow = ct.kInflow

dirichletConditions = {
    0: lambda x, flag: domain.bc[flag].k_dirichlet.init_cython()