基于matlab实现的额特征线法管道瞬变流计算程序

news2024/9/25 13:16:02

完整曲线:

% 假设阀门瞬间关闭
% 初始数据:

clear
tic
L=3000;          % 管线长度
Hr=70;          % 泵压力
N=10;            % 分段数
NS=N+1;         % 节点数
e=0.001651;     % 壁厚m,0.065''
D=0.00635-2*e;    % 管道内径
K=2.1e+9;       % 流体体积弹性系数
Rho=1000;        % 液体密度kg/m^3
E=2.1e11;       % 弹性模数
G=9.806;        % 重力加速度
f=0.018;        % 摩擦系数
A=pi*D^2/4;     % 管道横截面积
dx=L/N;         % 单位长度
t_max=20;        % 总计算时间
a=sqrt(K/Rho/(1+K*D/E*e)); % 波速
dt=dx/a;        % 单位计算时间
k=1;
t=0;time(k)=t;

B=a/(G*A);
R=f*dx/(2*G*D*A^2);
Q0=0;
H0=0;

for j=1:NS                  
Q(k,j)=0; % 第一行流量
H(k,j)=0; % 第一行压头
end
H(1,1)=Hr;

while t<t_max
   for j=2:N
        CP=H(k,j-1)+B*Q(k,j-1)-R*Q(k,j-1)*abs(Q(k,j-1));    % +dt*Q(k,j-1)/A;    % CP==C-==CR
        CM=H(k,j+1)-B*Q(k,j+1)+R*Q(k,j+1)*abs(Q(k,j+1));    % -dt*Q(k,j+1)/A;    % CM==C+==CL
        H(k+1,j)=(CP+CM)/2;       % 计算压头
        Q(k+1,j)=(H(k+1,j)-CM)/(B);   % 计算流量
         
   end
    
   % 边界值需要单独计算
    CP=H(k,N)+B*Q(k,N)-R*Q(k,N)*abs(Q(k,N));    % +dt*Q(k,N)/A;    % 单独计算CP
    CM=H(k,2)-B*Q(k,2)+R*Q(k,2)*abs(Q(k,2));    % -dt*Q(k,2)/A;    % 单独计算CM
    H(k+1,1)=Hr;                                % 压头第一列
    Q(k+1,1)=(H(k+1,1)-CM)/B;                     % 流量第一列数值,边界条件公式
    Q(k+1,NS)=0;                                % 流量最后一列
    H(k+1,NS)=CP;                               % 压头最后一列数值,边界条件公式
    t=t+dt;
    k=k+1;
    time(k)=t;
    
end
toc

plot(time,H(:,N+1))
% hold on
% plot([0,t_max],[Hr,Hr],'b:') % 选取阀门处压力值绘制曲线图
% hold on
% plot([0,t_max],[0,0],'b:') % 选取阀门处压力值绘制曲线图
title('MOC-阀门处圧力曲线');
xlabel('单位:s');
ylabel('单位:m');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1014019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考高级架构师下篇-15嵌入式系统架构设计的理论

目录 1. 引言2. 嵌入式系统发展历程3. 嵌入式系统硬件4.嵌人式系统软件5.嵌入式系统软件架构设计方法6.嵌入式系统软件架构实践7. 前文回顾1. 引言 此章节主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本小时知识点会涉及案例分析题(25分)。在历年考…

Redis 配置文件详解 - 持久化(RDB、AOF)

目录 Redis 配置文件详解 单位 包含 INCLUDES 网络 NETWORK 通用 GENERAL 快照 SNAPSHOTTING &#xff08;持久化&#xff09; 复制 REPLICATION&#xff08;主从复制&#xff09; 安全 SECURITY&#xff08;账号密码设置&#xff09; ​编辑 限制 CLIENTS 追加模…

Redis - 超越缓存的多面手

文章目录 Redis 使用场景图解 Redis 使用场景 Redis可以在各种场景中使用 &#x1f539;会话 我们可以使用Redis在不同服务之间共享用户会话数据。 &#x1f539;缓存 我们可以使用Redis缓存对象或页面&#xff0c;特别是对于热点数据。 &#x1f539;分布式锁 我们可以使用…

gin框架再探

Gin框架介绍及使用 | 李文周的博客 (liwenzhou.com) lesson03_gin框架初识_哔哩哔哩_bilibili 1.路由引擎 //路由引擎 rgin.Default() 2.一些http请求方法 get post put delete等等 遇到什么路径&#xff0c;执行什么函数 r.GET("/hello",func{做你想做的事返回…

【Linux】缓冲区/回车换行

1、缓冲区 C程序默认有输出缓冲区。数据输出时&#xff0c;被及时看到&#xff0c;是立马刷新了&#xff1b;如果没被看到&#xff0c;是被暂存在数据缓冲区中。fflush(stdout); 【强制刷新】\n【行刷新&#xff0c;也是一种刷新方式】 2、回车换行 \n【回车换行】输入完一行内…

如何根据性能需求进行场景设计?

场景设计一 探索 测试环境 客户端: win10 这里可以用linux,但没用,因为想直观查看结果。 被测环境:linux X86 4核CPU16G内存 被测接口:登录接口,没有做数据驱动。 在测试执行前,先使用influxSQL把influxdb的数据清理一下,以防影响结果查看。 有这么一个需求,要求系…

docker中安装Ubuntu20,浏览器访问其图形界面

介绍 Kasm&#xff08;https://kasmweb.com/&#xff09;是一家提供虚拟化和远程访问解决方案的公司。他们的主要产品是 Kasm Workspaces&#xff0c;它是一个基于浏览器的虚拟桌面和应用程序交付平台。 Kasm Workspaces 基于开源项目 Apache Guacamole 和 Chromium 浏览器引…

python连接mysql数据库的练习

一、导入pandas内置的sqlite3模块&#xff0c;连接的信息&#xff1a;ip地址是本机, 端口号port 是3306, 用户user是root, 密码password是123456, 数据库database是lambda-xiaozhang import pymysql# 打开数据库连接&#xff0c;参数1&#xff1a;主机名或IP&#xff1b;参数…

安装Anaconda与pytorch,在IDEA中配置环境进行编程

1.官网下载与自己python版本匹配的Anaconda(注意&#xff0c;要想成功安装pytorch&#xff0c;python版本也要对应pytorch的相关版本) Anaconda官网最新版本 与自己python版本不否请查找自己版本anaconda版本对应 清华大学镜像下载 2.安装时勾选添加环境变量或者手动添加&am…

Vue.js vs React:哪一个更适合你的项目?

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

红外检漏技术

SF6气体绝缘设备发生泄漏后会造成运行开关闭锁、 内部绝缘击穿&#xff0c; 泄漏到空气中会造成环境污染&#xff0c; 并严重危害现场人员安全。 再加之SF6气体成本高&#xff0c; 频繁补气&#xff0c; 使维护成本增加&#xff0c; 造成经济损失。 红外检漏是依据SF6气体对红外…

SpringBoot如何保证接口安全?

对于互联网来说&#xff0c;只要你系统的接口暴露在外网&#xff0c;就避免不了接口安全问题。如果你的接口在外网裸奔&#xff0c;只要让黑客知道接口的地址和参数就可以调用&#xff0c;那简直就是灾难。 举个例子&#xff1a;你的网站用户注册的时候&#xff0c;需要填写手…

byte buddy字节码增强——输出方法执行时间

目标&#xff1a; 输出各函数执行时间 引包 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

Vue Router入门:为Vue.js应用添加导航

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Vue.js新手指南:从零开始建立你的第一个应用

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

在SpringBoot项目中整合SpringSession,基于Redis实现对Session的管理和事件监听

1、SpringSession简介 SpringSession是基于Spring框架的Session管理解决方案。它基于标准的Servlet容器API&#xff0c;提供了Session的分布式管理解决方案&#xff0c;支持把Session存储在多种场景下&#xff0c;比如内存、MongoDB、Redis等&#xff0c;并且能够快速集成到Spr…

C++之operator=与operator==用法区别(二百一十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

宝塔面板日志和缓存占用磁盘空间很大,如何清理?

服务器使用的宝塔面板&#xff0c;最近发现服务器的“系统盘”快爆满了&#xff0c;点面板上日志管理都要收费&#xff0c;我也不是很懂服务器的运维&#xff0c;使用ai进行询问&#xff0c;得到了解决&#xff1a; /var/log 日志目录 运行下面的命令查找是哪些目录占用空间很…

解决vue项目导出当前页Table为Excel

解决vue项目中导出当前页表格为Excel表格的方案 用到的技术&#xff1a; Vue2Element-uifile-saverxlsx 1、创建vue项目&#xff0c;安装element-ui 2、创建一个组件&#xff0c;组件内放入表格&#xff0c;和导出按钮 <template><div><!-- 导出的按钮 -->…

阿里云交互式建模(PAI-DSW)训练并微调推理ChatGLM模型

参考内容为《轻量微调和推理ChatGLM模型实践》 点击“交互式建模&#xff08;DSW&#xff09;”&#xff0c;然后选择“创建实例” 写上实例名称&#xff0c;然后选择GPU规格&#xff0c;选择“ecs.gn6v-c8g1.2xlarge(8 vCPU&#xff0c;32GB)” 页面往下拉选择“pytorch:…