2dBoundaryLayerExample/boundary-layer-RANS-keps-NN/setup_case.py~

132 lines
2.8 KiB
Python
Raw Normal View History

2026-04-24 13:14:31 +02:00
def setup_case():
import numpy as np
import sys
########### section 1 choice of differencing scheme ###########
scheme='h' #hybrid
scheme_turb='h' #hybrid upwind-central
########### section 2 turbulence models ###########
cmu=0.09
kom = True
c_omega_1= 5./9.
c_omega_2=3./40.
prand_omega=2.0
prand_k=2.0
########### section 3 restart/save ###########
restart = False
save = True
########### section 4 fluid properties ###########
viscos=3.57E-5
########### section 5 relaxation factors ###########
urfvis=0.5
urf_vel=0.5
urf_k=0.5
urf_p=1.0
urf_omega=0.5
########### section 6 number of iteration and convergence criterira ###########
maxit=2000
min_iter=1
sormax=5e-5
solver_vel='lgmres'
solver_pp='pyamg'
solver_turb='gmres'
nsweep_vel=50
nsweep_pp=50
nsweep_kom=50
convergence_limit_u=1e-6
convergence_limit_v=1e-6
convergence_limit_k=-1e-6 # use absolute conv. criterion
convergence_limit_om=-1e-6 # use absolute conv. criterion
convergence_limit_pp=5e-2
########### section 7 all variables are printed during the iteration at node ###########
imon=ni-10
jmon=int(nj/2)
########### section 8 save data for post-processing ###########
vtk=False
save_all_files=False
vtk_file_name='bound'
########### section 9 residual scaling parameters ###########
uin=1
resnorm_p=uin*y2d[1,-1]
resnorm_vel=uin**2*y2d[1,-1]
########### Section 10 boundary conditions ###########
# boundary conditions for u
u_bc_west=np.ones(nj)
u_bc_east=np.zeros(nj)
u_bc_south=np.zeros(ni)
u_bc_north=np.zeros(ni)
u_bc_west_type='d'
u_bc_east_type='n'
u_bc_south_type='d'
u_bc_north_type='n'
# boundary conditions for v
v_bc_west=np.zeros(nj)
v_bc_east=np.zeros(nj)
v_bc_south=np.zeros(ni)
v_bc_north=np.zeros(ni)
v_bc_west_type='d'
v_bc_east_type='n'
v_bc_south_type='d'
v_bc_north_type='d'
# boundary conditions for p
p_bc_west=np.zeros(nj)
p_bc_east=np.zeros(nj)
p_bc_south=np.zeros(ni)
p_bc_north=np.zeros(ni)
p_bc_west_type='n'
p_bc_east_type='n'
p_bc_south_type='n'
p_bc_north_type='n'
# boundary conditions for k
k_bc_west=np.ones(nj)*1e-2
k_bc_west[10:]=1e-5
k_bc_east=np.zeros(nj)
k_bc_south=np.zeros(ni)
k_bc_north=np.ones(ni)*1e-5
k_bc_west_type='d'
k_bc_east_type='n'
k_bc_south_type='d'
k_bc_north_type='n'
# boundary conditions for omega
om_bc_west=np.ones(nj)
om_bc_east=np.zeros(nj)
om_bc_south=np.zeros(ni)
om_bc_north=np.zeros(ni)
xwall_s=0.5*(x2d[0:-1,0]+x2d[1:,0])
ywall_s=0.5*(y2d[0:-1,0]+y2d[1:,0])
dist2_s=(yp2d[:,0]-ywall_s)**2+(xp2d[:,0]-xwall_s)**2
om_bc_south=6*viscos/0.075/dist2_s
om_bc_west_type='d'
om_bc_east_type='n'
om_bc_south_type='d'
om_bc_north_type='n'
return