我有一个两层模型。顶层无约束,底层有约束。我似乎无法让我的软盘模型垂直电导与在程序中自动计算的 PMWIN 模型的结果相匹配。这是相关的代码:
型号尺寸
nlay = 2 # number of layers
nrow = 80 # number of rows
ncol = 57 # number of columns
laytyp = [1,0] #unconfined top layer, confined aquifer below
zbot = -300 # bottom of aquifer same for entire model
每个模型层(顶部和底部)的高程都是从文本文件中导入的:
Model_Top_Elevation = np.loadtxt('model_top_elev.txt', dtype=np.float32)
Model_Top_Elevation = np.array([Model_Top_Elevation])
Lay1_Bottom_Elevation= np.loadtxt('bottom_lay1.txt', dtype=np.float32)
# Layer 1的底部标高是从txt文件中导入的
Lay1_Bottom_Elevation= np.loadtxt('bottom_lay1.txt', dtype=np.float32)
Lay1_Bottom_Elevation = np.array([Lay1_Bottom_Elevation])
Lay2_Top_Elevation = np.loadtxt('top_lay2.txt', dtype=np.float32)
Lay2_Top_Elevation = np.array([Lay2_Top_Elevation])
确定每个模型层的含水层厚度:
Lay1_Width = -1*(Lay1_Bottom_Elevation-Model_Top_Elevation)
Lay2_Width = -1*(-1*Lay2_Top_Elevation + -300)
如果第 1 层含水层从水位(不是顶部标高)开始计算,则计算其厚度:
Initial head = 211
Lay1_Watertable_Width = -1*(Lay1_Bottom_Elevation-Initial head)
整机采用10m/d导水率
hk = 10
垂直电导率
vk = 0.00001*np.ones((nlay, nrow, ncol), dtype=np.float32)
计算第 2 层的透射率
T = hk*(Lay2_Width)
计算垂直电导 (vcont)
vcont = 1/(((Lay1_Watertable_Width)/ vk[0])+((Lay2_Width*0.5)/ vk[1]))
写入 BCF 文件:
bcf = flopy.modflow.ModflowBcf(mf,ipakcb=50,laycon=[1,0], hdry=-1e+30, iwdflg=0, wetfct=0.1, iwetit=1, ihdwet=0, trpy = [1,0],hy=hk, vcont=vcont,tran=[0,T])
模型输出与 VCONT 的 PMWIN 计算不匹配
如果有人对我哪里出错有任何建议,请帮忙!