D:\j_Iam_TEMP\_jh\_jh_ex2a.wxmx

# Умова

Визначити силу гідростатичного тиску на бокову грань "MN" параболоїдального каналу
висотою Hmn = 1 метр та шириною B = 3 метри. Рівень води у каналі H = 2 метри.
Аналітичні та чисельні розрахунки методом K123.

kill(all);

ro:1000;g:9.81;H:2;B:3;Hmn:1;n:1000;

fh(x):=x**2;fHab(x):=Hmn;fH(x):=H;Fx(h):=sqrt(h);diff(Fx(h),h);

dh(h):=1/(2*sqrt(h));

plot2d([fh(x),fHab(x),fH(x)],[x,0,2]);

D:\j_Iam_TEMP\_jh\_jh_ex2.png

plot2d(Fx(h),[h,0,H]);

D:\j_Iam_TEMP\_jh\_jh_ex2a.png

fp(h):=ro*g*(H-h);

# P_x - горизонтальна проекція сили тиску

P_x:integrate(fp(h)*B,h,0,Hmn);

mP_x:integrate(fp(h)*(H-h)*B*h,h,0,Hmn);

mP_x_down:integrate(fp(h)*B*h,h,0,Hmn);

h_D:mP_x/P_x;

h_D_:mP_x_down/P_x;

h_D+h_D_;

D:\j_Iam_TEMP\_jh\_jh_ex2_P_x.jpg

# P_x - чисельний алгоритм методу К123

P_x_sum:0;dh:Hmn/n;h:0;

 Pi_x(h):=ro·g·(H−h)·B; 

for i:1 while h < Hmn do (Pi:Pi_x(h)*dh,P_x_sum:P_x_sum+Pi,h:h+dh);P_x_:P_x_sum;

 Px_test:integrate(Pi_x(hi),hi,0,Hmn); 

mP_x_sum:0;dh:Hmn/n;h:0;

for i:1 while h < Hmn do (Pi:Pi_x(h)*dh*h,mP_x_sum:mP_x_sum+Pi,h:h+dh);mP_x_:mP_x_sum;

kill(h);

 mPx_test:integrate(Pi_x(h)·(h),h,0,Hmn); 

 h_D:mP_x_sum/P_x_sum;h_D_test:mPx_test/Px_test; 

Rel_ERROR:(100/h_D_test)·(h_D_test−h_D),numer; 

# P_z - вертикальна проекція сили тиску

kill(h);

ro:1000;g:9.81;H:2;B:3;Hmn:1;

P_z:integrate(fp(h)*B*dh(h),h,0,Hmn);

mP_z:integrate(fp(h)*B*dh(h)*(Fx(h)),h,0,Hmn);

x_C:mP_z/P_z;

D:\j_Iam_TEMP\_jh\_jh_ex2_P_z.jpg

# P_z - чисельний алгоритм методу К123

ro:1000;g:9.81;H:2;B:3;Hmn:1;

P_z_sum:0;dh:Hmn/n;h:0;

coordinate - x {for h=i*dh x=sqrt(h)}

 fB(i,dh):=sqrt(i·dh); fB(1,dh),numer;

Pi_x(h):=ro·g·(H−h)·B; Pi_x(0.2);

fdb(i,dh):=(fB((i+1),dh)−fB((i),dh))/dh;fdb(1000,dh),numer;

 for i: 0 while h < Hmn do (db:fdb(i,dh),Pi:Pi_x(h)·db·dh,P_z_sum:P_z_sum+Pi,h:h+dh)$ 

P_z_:P_z_sum,numer;h;

FOR MOMENT P_z coordinate - x {for h=i*dh x=sqrt(h)}

mP_z_sum:0;dh:Hmn/n;h:0;

for i: 0 while h < Hmn do (db:fdb(i,dh),Pi:Pi_x(h)·db·dh*fB(i,dh),mP_z_sum:mP_z_sum+Pi,h:h+dh)$ 

mP_z_:mP_z_sum,numer;h;

 x_C_:mP_z_/P_z_,numer; x_C;

Rel_ERROR:(100/x_C)·(x_C−x_C_),numer; 

# P - Сила гідростатичного тиску

P:sqrt(P_x**2+P_z**2);

phi_rad:atan(P_z/P_x),numer;

phi_grad:atan(P_z/P_x)*(180/%pi),numer;

d:tan(P_z/P_x);

Plot2d

fh_D(x):=h_D_;

plot2d([fh(x),fHab(x),fH(x),fh_D(x),[discrete,[0.44,0.44],[0,1]],
        [discrete,[0.44],[0.45]]],[x,0,1.5],
    [legend, "parabola","Top_box", "Water", "P_x", "P_z", "point"], 
    [style, [lines, 5,5], lines, [lines, 3,1], lines, lines, [points, 3,2]], 
    [point_type, circle]);

D:\j_Iam_TEMP\_jh\_jh_ex2c.png

eq:y=x_C;plot2d([fh(x),fHab(x),fH(x),fh_D(x),eq],[x,0,2],[y,0,4]);

# Answer

P_x;P_z;P;h_D_;x_C;phi_grad;

D:\j_Iam_TEMP\_jh\_jh_ex2.jpg

Scale screen 300 px

P_x/300;P_z/300;P/300;

P_:sqrt(P_x_**2+P_z_**2);

# REL_ERRORS

Rel_ERROR_P_x:(100/P_x)·(P_x−P_x_),numer; 

Rel_ERROR_mP_x_:(100/mP_x_down)·(mP_x_down−mP_x_),numer;

Rel_ERROR_mP_z:(100/mP_z)·(mP_z−mP_z_),numer; 

Rel_ERROR_P_z:(100/P_z)·(P_z−P_z_),numer; 

Rel_ERROR_P:(100/P)·(P−P_),numer;