Файл: Количественные методы в мелиорации засоленных почв..pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 78
Скачиваний: 0
^кон |
|
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.