基于曼宁公式求解复式断面水位-流量关系曲线
1 曼宁公式原理
2 MATLAB求解代码
输入数据说明:X为n×2矩阵,第一列数据为起点距;第二列数据为起点距对应水位高程
部分代码如下:
clc
close all
clear
%% 曼宁公式原理
% 流量Q=A*R^(2/3)*J^(1/2)/n
% 变量说明:
% 过水断面面积A
% 湿周L:流体和固体边缘接触周长
% 水面半径R=A/L
% 糙率n
% 比降J ‰
%% 导入数据
load('X.mat');
nlength = length(X(:,1));
helpdlg("您的比降和糙率数据更改了么???","重要提示:");
n = 0.05;
J = 3.123 /1000;
Hmin = min( X(:,2) ); % 水位最低点
Hmax =max( X(:,2) ); % 水位最高点
% 将左右端节点水位高程设为最高点同一高程
% ---------------------------------------------
if X(1,2)==Hmax||X(end,2)==Hmax
if X(1,2)~=X(end,2)
if X(1,2)>X(end,2)
% 初始断面高于结束断面
X(nlength +1,1) = X(end,1);
X(nlength +1,2) = X(1,2);
else
% 初始断面低于结束断面
X(2:nlength +1,:) = X;
X(1,1) = X(2,1);
X(1,2) = X(end,2);
end
nlength = nlength +1;
end
else
X(1,2) = Hmax;
X(end,2) = Hmax;
end
糙率n增大(0.03-0.05之间),成灾水位对应的周期会减小。
3 案例
求解结果图形展示如下:
-
断面1:
-
断面2:
【说明】断面非单调的原因:
推测是因为曼宁公式的局限,代码在计算的时候固定比降和糙率不变,根据计算公式 Q~A*R,面积是单调增的,但是R=A/L(注:L为湿周),在复杂断面时,面积增加小部分,湿周可以增加很多,导致水利半径R变小,最终导致流量变小。
这也是我的疑惑,只知道原因,但是还不知道如何解决。但是代码针对规整的断面,水位-流量曲线应该是单增的。 -
断面3:
4 代码获取链接
基于曼宁公式求解复合断面水位-流量关系曲线
若需获取/有问题可私信
重点:将复杂过水断面(如复式断面)划分为多个子断面,计算各子断面的流量,相加得到整个复杂断面的流量。
参考
今天的文章曼宁公式计算流速_matlab如何求曲线包围面积「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/86104.html