
книги из ГПНТБ / Количественные методы в мелиорации засоленных почв
..pdfСледующие обозначения используются для выполнения ЭВМ расчетов, связанных с функциями времени,
а. Параметры инфильтрации или поливов.
Число периодов инфильтрации предусмотрено не более шести в год, учитывая наиболее значительные по объему (не промывной режим!). Схема задания параметров полива приведена на рис. 15 со следующими обозначениями: W \n\=W n— время начала очередного периода инфильтра ции в сутках от начала года, л = 1, 2 , ... , 6; а [ п \ = а п— про должительность 7г-го периода инфильтрации (полива) в сут ках, 71 = 1, 2 , .. . , 6; qa\ii\=qan— средняя скорость инфиль трации В 7 7 -Н Ы Йпериод, [м/сут] .
Рис. 15. Схема задания параметров полива.
б. У ровни грунтовых в о д на вх оде и вы ходе расчетного участка (пьезометрический напор).
Задаются в виде линий из шести отрезков (рис. 16) по наблюдениям за уровнем грунтовых вод в течение года. W1 [тг] = W l n— дни замеров уровня, считая от начала года, 7г=0, 1 , ... , 6. Всегда W lo=0, a W l6 = 365; АН[п] =АНп и АН1[п]=АН1„— соответственно пьезометрические напоры в
начале — Н(0, г) и в конце — H(l, |
t) расчетного участка в |
W1 „ день, 77 = 1, .2 ,..., 7. |
: |
Рис. 16. |
График |
задания |
функций Що, t) и- H(l, t). |
|
W l0 = |
0 ; W 6 = 365. A H t = AH 7y |
А Н Ц '.= AHl7. |
||
, в. М аксимальная |
скорость |
р а сх о д а |
грунтовых в о д на |
эвапотранспирацию в формуле С. Ф, Аверьянова.
1 1 - 6 4 |
161 |
Задается в виде ломаной линии, состоящей из шести от резков (рис. 17) по данным наблюдений за испарением в те чение года. W2[n\ = W 2n— дни замеров испарения, начиная
с 1 января, |
п=0, 1 , ... , 6; |
W2o=0; |
ТР26 = 365; |
з[тг] = |
||
= д п [м/сут] — средняя скорость эвапотранспирации |
в W2 п |
|||||
день, тг= 1, 2 , . . . , 7. Все q n ^ 0 . |
|
|
в пото |
|||
г. |
У ср ед н ен н а я по вертикали, концентрация солей |
|||||
к е грунтовых |
в о д на вх оде |
расчетного |
участка, т. |
е. |
при |
|
х=0. |
|
|
|
|
|
|
|
Рис. 17. |
График задания |
функции |
g0(f). W 20= 0 ; |
|||
|
|
|
ТГ2б= 365; ffi = 37; |
|
|
||
Задается |
в |
виде |
ломаной |
линии |
из шести |
отрезков |
|
(рис. |
18). W 3 |
[n ]= W Z n— дни замеров концентрации от на |
|||||
чала |
года, |
77 = 0, |
1 , .. . , 6. |
Всегда Ж3о=0, |
Ж3б= 365. |
||
СО[п]=СОп [г/л] — значение |
концентрации в |
W 3n день, |
|||||
77 = 1, |
2 , .. . , 7. |
|
|
|
|
|
|
Рис. 18. График |
задания функции |
|
C0(t). W 30 = 0; |
|
||
W3e= 3 8 5 ; С О ^ С О ц СОп > 0. |
|
|
||||
Программа может |
начинать |
счет |
с |
любого |
дня |
года, |
т. е. с £ = 7нач = £нач |
и кончает |
счет |
в |
пределах |
не |
более |
пяти-шести суток после заданного времени £=7кон = 2кон. Выдача на печать промежуточных значений уровня грунто вых вод и концентрации солей по желанию может произво диться периодически через время 7=Шеч=^аВ,. Например, чтобы прогнозировать ВСР на 320 дней, начиная с 1 апреля,
182
и получать промежуточные прогнозы через каждые 30 дней,
нужно |
задать: |
f„a4 =90 (т., е. |
31 + 28 + 31), |
i K0H =320, |
|||
t ne4 =30. При построении графиков Щ0, |
t), Щ1, t), qo(t), |
||||||
C0(t) за t= 0 |
всегда принимается 1 |
января, |
т. е. первый день |
||||
года. dt = Axk— шаг по времени, |
выбираемый ЭВМ из усло |
||||||
вий устойчивости (см. гл. I, § 6). |
v, E, El, E2, ES, E4, E5, E6, |
||||||
t, temp, tpol, FI, F2, F3, F4, z, R, |
|||||||
d t l , dt2, |
dtS, |
dt4, ab, Cbx — действительные переменные, ис |
|||||
пользуемые |
в промежуточных |
расчетах. |
ЕО, |
PAR, poliv, |
|||
p r o g r a m m — целые переменные, причем: |
|
|
|||||
p r o g r a m m |
={fPAR = 1 — при испарении, |
|
|||||
|
|
|
I p oliv = 0 — в период инфильтрации |
— переключатель метода счета граничного условия урав нения 2 в зависимости от режима испарения или инфильт рации.
Рис. 19. Объем почвы, в котором рассчитывается изменение содержания солей.
Кроме того, программа вычисляет приращение количе ства солей — Sal [кг] на участке капиллярной каймы шири ной 1 м, длиной I и высотой Ай (рис. 19), к конечному моменту времени по формуле
S a l= Sytx—Syodv + SBy,
где
S y tx = m l ^y(x, A, t K0H)dv}
V
S yodv= mi J y ( x r A, tnil4)d v ; v
163
^кон |
|
SBy = mi j* |
^ B ( y —y n ) d v d t ; |
£нач |
V |
v — вышеуказанный объем |
части капиллярной каймы на |
расчетном участке. Для того чтобы определить общее при ращение количества солей в капиллярной кайме на всем участке, следует Sal умножить на ширину участка, т. е. на его размер в метрах в направлении, препендикулярном к направлению движения потока грунтовых вод (предполага ется, что продольная ось участка ориентирована по направ лению потока).
Необходимое количество и порядок ввода параметров системы и начальных значений концентраций в ЭВМ и вы вод прогнозируемых результатов предусматривается про
граммой в соответствии с процедурами input |
и o u tp u t . |
Согласно правилам АЛГОЛа, ввод начальных |
значений |
концентрации солей в почвенном растворе и грунтовых во дах, а также профили дневной поверхности и начальной поверхности грунтовых вод в расчетных узлах производятся
по точкам |
в порядке удаления |
от начала участка и затем |
|||
(для концентраций) — от дневной поверхности к |
водоупору, |
||||
т. е. |
|
|
|
|
|
Уо, О, Уо, 1 » |
Уо, 2 , |
, Уо, N , У1,0 , |
У1, 1 , --- - У1, N , |
У2,0 . . . . , |
|
У6,о, У6,1, . . |
•, У6, n, Со, о, Со, 1, •. • |
,Со, ц , С1,о> |
, , . , Ci, ц , . . . , |
||
Сд, о , Сп, 1 ,. . . , Сд, if , Lq, Li, . . . , Lн , . . . |
и т. д. |
В той же последовательности происходит и вывод рас четных значений. Параметры функций вводятся в порядке их следования по времени.
Периодическая выдача промежуточных прогнозов про
изводится в следующем порядке: |
начала счета |
1. z — время в сутках, прошедшее от |
|
(ОТ £цач)' |
; |
2. t — порядковый в году номер дня прогноза, например,
£= 90 соответствует 1 апреля.
3.Но, Ни . . . , HN— прогнозируемый напор (уровень сво бодной поверхности потока грунтовых вод относительно водоупора) в расчетных узлах сетки.
4.y n,i\ Сп, i — прогнозируемая концентрация солей в почвенном растворе и грунтовых водах к моменту времени
£леч* |
' |
164
В таком же порядке производится и выдача окончатель ного прогноза, однако при этом выдаются дополнительно
следующие данные: |
dHN— прогнозируемая скорость потока |
За. dHo, dHu . . . , |
|
грунтовых вод (с обратным знаком), [м/сут] . |
|
36. А0, |
An — прогнозируемая скорость эвапо- |
транспирации грунтовых вод в расчетных узлах, [ж/ci/r].
Рис. 20. Блок-схема программы «Мелиоративный прогноз».
165
5. |
Sal [кг] — прогнозируемое приращение |
количества |
солей в |
слое капиллярной каймы размером 1 |
м3 к |
моменту t KO„ .
Для отладки программы следует использовать тот факт, что за небольшой промежуток времени, порядка 15— 20 дней, при отсутствии инфильтрации прогнозируемое зна чение концентрации в узлах сетки должны незначительно отличаться от начальных (в первом — третьем знаках после запятой). При отсутствии больших начальных уклонов зеркала грунтовых вод и колебаний входного и выходного уровней это обстоятельство должно иметь место и для рас четных значений Н£ (г = 1, 2 , . . . , N). Блок-схема программы приведена на рис. 20. Как показали предварительные расче ты, для схемы из 400 точек (20 интервалов по горизонтали и 18 — по вертикали, при наименьших длинах 50 и 0,25 м
соответственно) |
при мощности |
потока |
грунтовых вод |
по |
|
рядка 20 м, |
коэффициенте |
фильтрации 5—10 м/сут |
и |
||
коэффициентах |
конвективной |
диффузии порядка 1 • 10~3 |
|||
м2/сут время |
счета на машине типа |
«Минск-22» — около |
|||
1 часа, для прогноза водно-солевого режима — на 5 лет. |
|
begin integer i, n, N, П, PAR, poliv, programm; real D l, D2, m l, m2, k, ao, Bras, Bkr, B, Cpol, alfa, dkp, HI, hk, 1, dx, dh, dt, ips, t, t нач, t печ, t кон, temp, tpol, SBy, Syodv,
Sytx, Sal, yn, FI, F2, F3, F4, qo, z, R, v;
input (N, П, D l, D2, m l, m2, k, ao, Bras, Bkr, Cpol, alfa, dkp, HI, hk, 1, t нач, t кон, ips, t печ, yn);
begin real array у [0:6, 0: N], L, A, H, dH [0: N], a, qa, W [1 :6 ], W l, W2, W3 [0 :6 ], q, AH1, AH, CO [1 :7 ],
C [0 :П, 0:N ], he [1:П , 0 :N ]; input (у, C, L, H, a, qa, q, АН, AH1, CO, W, W l, W2, W 3);
Netz: |
begin real E; integer EO; |
if |
HI ^ 3 .0 |
then {for |
||
i: = 0 |
step |
1 until N do {he [1, i ] : = h c |
[2, |
i ] : = hc |
[3, i ] : = |
|
he [4, |
i ] : =Hl/5.0}; E := 0.8X H 1; go |
to |
T l] |
else |
for i:= 0 |
|
step 1 until N do {he [1, i ] : = h c [2, i] : = h c |
[3, i ] : = |
|
||||
he [4, i ] : = hc [5, i ] : = 0.5}; if H l< 4.0 |
then {E := 2 .5go |
|||||
to Tl} else if H l< 5.0 then {E: = 3 .5 ; EO: = 6; |
go to T02} |
|||||
else if |
HI^ 6.0 then {E := 4 .5; E O := 7; |
go |
to T02} else if |
|||
HI s£7.0 |
|
|
|
|
|
166
then {E: = 5.5;E O : = 8; go to T02} else if Hl^lO.O then {E := 6 .5; E O := 9; go to T02} else {E:=(H1—8.5)/3.0+8.5; EO: = 9 ; for i: = 0 step 1 until N do begin he [10,i ] : = 2; he [11,i ] : = (HI—8.5)/3; end; gotoT02};
T 02: for n : = 6 step 1 until EO do (for i : = 0 step 1 until N do he [n, i ] : = 1 ;} ;
T1: for i: = 0 step 1 until N do he [П ,i ] : = AH [1] — <AH [1] — Hl)Xi/N — E; end Netz;
begin real d tl, dt2, dt3, dt4; dx: =Z/N; dh: =hk/6; output (dx, dh, he); t: = t нач; temp: = t печ; SBy: = 0 ; PA R : = 1;
poliv: = 0; z := 0 ; H [N ]:= H 1; d tl: = Zf2/(2XaoXNf2); dt2: =Zf2Xni2/(2XD 2X(Nt2+4X^t2)); dt3: = m lX hkf2/ (75XD1); dt4:=tKOH — t нач; R := d t l; for v : = d tl, dt2, dt3, dt4, t печ, 5 do {if R ^ v then R : =-R else R : —v};
end; Syodv: = 0 ; for n: = 0 step 1 until 5 do {for i: —0 step 1 until N—1 do Syodv: = Syodv+y [n, i]+ y [n + l,i] +
y [n, i+ l] + y [n+ 1, i+ 1 ];}; Syodv: = 0.25X dxX dhX m lX Syodv;
L ara: if t> 3 6 5 then t: = t —365 else t: = t ; for n: = 1 ,
2, 3, 4, 5, 6 do begin if a |
[n] <0.005 then dt: = R |
else {if |
(W [n ]—d t)< t< (W [n ]—0.001) then {dt:= W |
[n ]—t; go |
|
to quo} else dt: =R} end; |
for n: = 1 , 2, 3, 4, 5, 6 do begin |
if (W [n ]—0 .00 5)< t< (W [n ]+ a [n ]—0.005) then{
for i: = 0 step 1 until N do A |
[ i ] : = —qa [n ]; tpol: = W [n] |
+ a [n ]; programm: = poliv; |
if d t> a [n]/5 then dt: = |
a [n]/5 else dt: = d t; go to AHO} end; programm: = PAR; dt: = R ; go to quo;
quo: for n: = 6 step —1 until 1 do begin if t ^ W2 [n—1] then{qo: = q [n ]-f(q [n + 1 ]—q [n ])X (t—W2 [n—1])/
(W2 [n ]- W 2 [n—1 ]); go to AHO} end;
AHO: for n: = 6 step—1 until 1 do begin if t ^ W l [n —1] then {H [0 ]: = AH [n]+ (A H [n + 1 ]- A H [n ]) X (t -
W1 [n—1])/(W1 [ n ] - W l [n—1 ]); H [N ]:= A H 1 [n] + (AH1 [n+1]—AH1 [n ])X (t—W1 [n—1 ])/(Wl [n] — W1 [n—1]); go to M4} end;
167
М 4: |
if program m=poliv then go to Hxt else go to A xt; |
A xt: |
begin real E l; for i: = 0 step 1 until N do begin |
E l : = l —(L [ i] —H [i])/dkp; A [ i ] : = if E 1> 0 then q oX E lfalfa else 0; end; go to Hxt; end A xt;
H xt: begin real E2, ab; ab: = aoX dt/(dxf2); for i : = 1
step 2 until N—1 do H [ i ] : = abX (H [i+ 1 ]—2XH [i] + |
|
H [i—1])—dtX A |
[i]/m2+H [ i] ; E2: = l/ (l+ 2X ab ); |
for i : = 2 step 2 until N—1 do H [ i ] : = (abX (H [i+ 1]-f- |
|
H [i—1 ])—dtX A |
[i]/m2+H [i])X E 2; dH [0] : = |
kX(H [1]—H [0])/dx; for i: = 1 step 1 until N—1 do |
dH [ i ] : = kX (H |
[i+ 1] —H [i-l])/ (2 X d x ); dH [N ]: = |
kX(H [N]—H [N—l])/dx; end Hxt; |
|
M5: F l:= d tX D l/ (m lX d h f2 ); F 2:= 0.5X dt/ |
|
(m lX dh); for n: = 1 , 3, 5 do {for i: = 0 step 1 until N do |
|
begin B: = if(yn —у [n, i])> 0 then Bras else B kr; |
|
у [n, i]:= F lX { y [n—l , i ] —2ХУ [n ,i]+ y [n+ 1, i]) |
|
- F 2 X A [i]X (y |
[n—1, i ] —у [n + l,i])+ d tX B X |
(yn—у [n, i])+ y |
[n, i] end}; for n: = 2 , 4 |
do {for i: = 0 step 1 until N do begin B: = if (yn—у [n, i]> |
|
> 0 then Bras else Bkr; у [n, i ] : = (F lX (y [n—1, i] + |
|
у [n+ 1, i]) - F 2 X A [i] Х(У [ n - 1 , i ] - y [n+ 1, i])+ |
|
dt X B X (yn—у [n, i])+ y [n, i] )/(l+ 2X F l) end}; |
|
if programm= PAR then go to M l else go to М2; |
M l: begin real E3, E4; E4: =0.5X D l/dh; E3: = 3XE4+ips/dt; for i : —0 step 1 until N do begin В : =
if (yn—у [0, i])s^ 0 then Bkr else Bras; у |
[0, i ] : = |
|
(ipsX BX (yn—у |
[0, i] )+ y [0, i] X (A [i] +ips/ |
|
dt)+ E 4X (4X y |
[1, i] —У [2, i]))/E3; if у |
[0, i] |
< 0 then у [0, i ] : = 0 end; go to Cot end; |
|
|
М2: for i: = 0 step 1 until N do у [0, i ] : —0.5X(Cpol+ |
||
У [°> i])5 |
|
, |
Cot: begin real Cbx; for n: = 6 step—1 until 1 do begin if t> W 3 [n—1] then {Cbx: =CO [n]+(CO [n + 1 ]—CO [n]} X (t—W3 [n—1])/(W3 [n ]—W3 [n—1 ]); go to M7} end;
M 7: for n: = 1 step 1 until П do C [n, 0 ]: —Cbx; end; M6: F3:=dtXD 2/m 2; F4: =dt/(2Xm 2Xdx);
168
for n : = 1 step 2 until П —1 do {for i : = 1 step 2 until N—1 do C [n, i ] : =F3X({(C [n—1, i] —C [n, i] )/hc [n, i] —
(C [n, i ] —C [n+ 1, i])/hc [n+ 1, i])X2/(hc [n, i] +
h c [n + l, i])+(C [ n ,i+ l] —2XC [n ,i]+ C [n ,i—1])/
dxf 2)+C [n, i]+ F4X (dH [i+ l]X C [n, i + l ] - d H [ i - l ]
XC [n, i—1]);}; for n: —2 step 2 until П —1 do {for i: = 2 step 2 until N—1 do C [n, i ] : =F3X (((C [n—1, i] —
C [n, i])/hc [n, i] —(C [n, i ] —C [n+ 1, i])/
he [n+1, i])X2/(hc [n, i] +hc [n+ 1, i])+ (C [n, i+ 1] - 2 X C [n, i]+ C [n, i —l])/dxf2)+ C [n ,i]+ F 4 X (dH [i+ 1]X C [n, i+ 1]—dH [ i - l] X C [n, i —1]);};
for n: = 1 step 2 until П—1 do {for i: = 2 step 2 until N—1 do C [n, i]:= (F 3 X ((C [n—1, i]/hc [n, i]+ C [n+ 1, i]/
he [n+1, i])X2/(hc [n, i] +hc [n+ 1, i])+ (C [n, i+ 1] +C [n, i-l])/ d x f2 )+ F 4 X (d H [i+ l]X C [n, i + 1 ] - dH [ i - l] X C [n, i —1])+ C [n, i])/(l+F3X(2/
(he [n, i]X h c [n+ 1, i])+ 2/dxf2));}; fo r n := 2
step 2 until П—1 do {for i: = 1 step 2 until N—1 do C [n, i ] : =
(F3X((C [n |
1, i]/he |
[n, i]+ C [n+ 1, i]/hc [n + l,i]) |
|||
/(0.5X(hc [n, i]+ h c |
[n+ 1, i]))+ (C [n, i+ l] + |
||||
C [n, i—l])/dxf2)+ F4X (dH |
[i+ l]X C |
[n, i + 1 ] - |
|||
dH [i—1]X C [n, i —1])+ C |
[n,i])/(l+ F3X (2/ |
||||
(he [n, i]X h c |
[n+ 1, i])+ 2/dxf2));}; for i : = l step 1 |
||||
until N—1 do C [I I ,i]: = C |
[П—1 ,i ] ; for n: = 0 step 1 until П |
||||
do C [n, N ]: = C [n, N—1 ]; |
for i: = 0 |
step 1 until N do |
|||
у [6, i ] : = C |
[0, i ] : =(2XD 2XC |
[1, i] +D1XY [5, i] |
|||
/dh)/(Dl/dh+2XD2); |
|
|
|
||
M8: z : —z+ d t; |
t := t + d t ; |
begin |
real E6, E5; E 5 := 0 ; |
||
for n: —0 step 1 until 5 do {for i: = 0 |
step 1 until N—1 do { |
E 6:= 0 .25X (y [n ,i]+ y [n + l,i]+ y [n, i+ l] +
у [n+1, i+ 1]); B: = if E6>yn then Bkr else B ras; E5: = E 5+
BX(E6—yn)}}; SB y: = SB y+ m lX dtX dhX dxX E 5; end;
if z > t кон then go to M9; if z> tem p then {temp: = tem p+
t печ; go to M10};
M i l : if program m=PAR then go to L ara; if t< tp o l then
go to AHO else go to L ara;
M10: output (z, t, H, у, C); go to M i l ;
169
М 9: S ytx : = 0 ; for n: = 0 step |
1 until 5 |
do {for i:= 0 |
step 1 until N—1 do S ytx: = Sytx+ y |
[n, i]-j-y |
[n+ 1, i] + |
У [n, i+ l] + y [n+ 1, i+ 1 ] ;}; S ytx : —0.25X m lX dxX |
||
dhX Sytx; S al: —Sytx+ SB y — Syodv; |
|
|
output (z, t, H, dH, А, у, C, S a l); end end* |
|
|
ЛИТЕРАТУРА |
|
|
Б p у д н о А. Л. Алгол. M., 1971. |
Физико-математические ос |
|
Б э р Я., З а с л а в с к и Д . , И р м е й С . |
||
новы фильтрации воды. М., 1971. |
|
|
С а у л ь е в В. К. Интегрирование уравнений параболического типа методом сеток. М., 1960.