下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】
摘自《FLUENT流体工程仿真计算实例与分析》,程序略有修改
两个间距为1cm水平平板,如下图所示:
 上板匀速平板间流动(Crank-Nicolson格式)【转载】">
上板匀速平板间流动(Crank-Nicolson格式)【转载】">
充满着运动黏度系数υ=1cm2/s的液体。上板做水平运动并在0.1s时间内,速度线性由0线性地增加到10cm/s,如下图所示:
 上板匀速平板间流动(Crank-Nicolson格式)【转载】" title="下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】">
上板匀速平板间流动(Crank-Nicolson格式)【转载】" title="下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】">
通过对N—S方程的简化,可由下面的抛物线方程来描述
 上板匀速平板间流动(Crank-Nicolson格式)【转载】">
上板匀速平板间流动(Crank-Nicolson格式)【转载】">
流动区域在z=0和z=0.1cm之间,初始条件为u(z,0)=0cm/s,边界条件为:u|z=0=0,u|z=1=Ucm/s,U为上板移动速度
取Δz=0.1cm,Δt=0.001s,沿板的铅垂方向把空间离散为11等步长的节点,计算各点处的流速,边界条件可取节点i=1(z=0)和i=11(z=1cm)的流速
求解方程的程序代码:
#include
#include
#include
using
namespace std;
int
main()
{
float
u[100],u0[100];
float
b,t,dz,dt,dif,difmax,temp;
int
imax,imax1,iter,i,n;
dz=0.1;
dt=0.001;
imax=11;
for(i=1;i<=imax;i++)
{
u[i]=0;
u0[i]=0;
}
imax1=imax-1;
n=0;
t=0;
b=1.0/(1.0/dt+1.0/dz/dz);
cout<<endl;
cout<<setiosflags(ios::left)
<<setw(8)<<"t(s)"
<<setw(8)<<"0"
<<setw(8)<<"0.1"
<<setw(8)<<"0.2"
<<setw(8)<<"0.3"
<<setw(8)<<"0.4"
<<setw(8)<<"0.5"
<<setw(8)<<"0.6"
<<setw(8)<<"0.7"
<<setw(8)<<"0.8"
<<setw(8)<<"0.9"
<<setw(8)<<"1"<<endl;
do
{
t+=dt;
n+=1;
if(t<0.1)
u[imax]=t*100;
else
u[imax]=10;
iter=0;
do
{
difmax=0;
iter+=1;
if(iter>100)
exit(1);
for(i=2;i<=imax1;i++)
{
temp=u[i];
u[i]=u0[i]*b/dt+1.0*b/2/dz/dz*(u[i+1]+u[i-1]+u0[i+1]+u0[i-1]-2*u0[i]);
dif=fabs(temp-u[i]);
if(dif>difmax)
difmax=dif;
}
}while(difmax>0.00001);
for(i=1;i<=imax;i++)
u0[i]=u[i];
if(n0==0)
{
cout<<endl<<setw(8)<<t;
for(i=1;i<=imax;i++)
cout<<setw(8)<<setiosflags(ios::fixed)<<setprecision(3)<<u0[i];
cout<<resetiosflags(ios::fixed)<<endl<<"----------------------------------------------------------------------------------------------";
}
}while(n<1000);
cout<<endl;
return
0;
}
运行结果:
 上板匀速平板间流动(Crank-Nicolson格式)【转载】" title="下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】">
上板匀速平板间流动(Crank-Nicolson格式)【转载】" title="下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】">
下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】的更多相关文章
- 下板不动, 上板匀速平板间流动(c++)【转载】
		摘自<FLUENT流体工程仿真计算实例与分析>,程序略有修改 两个间距为1cm水平平板,如下图所示: 上板匀速平板间流动(c++)[转载]" title="下板不动, ... 
- OpenFOAM——具有压差的平行平板间流动(泊肃叶流动)
		本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例中两平板间没 ... 
- Xilinx FGPA 上板调试 集成逻辑分析工具 Integrated Logic Analyzer(ILA) 简单配置 chipscope
		Xilinx Vivado 提供了上板后的FPGA逻辑分析,信号视图显示等功能. 需要注意,上板后查看信号需要重新综合,并且需要耗费一定的片上布局布线资源. 1. 添加debug信号 可以对模块端口或 ... 
- 【转】两种方法教你在Ubuntu下轻松关闭触摸板(TinkPad)
		Ubuntu是一个以桌面应用为主的Linux操作系统,所以在使用时我经常的触碰到触摸板,这样会造成我们一些的麻烦,所以要如何的关闭触摸板呢?我们一起来看看吧! Ubuntu下如何关闭触摸板(Tin ... 
- Ubuntu server使用命令行上板VPNclient
		Ubuntu server使用命令行上板VPNclient VPN,虚拟专用网络,这个技术还是非常有用的.近期笔者參与的项目中就使用上了VPN,大概情况是这种.有两个开发团队,在异地,代码服务器在深圳 ... 
- OpenFOAM——具有压差且平行平板间具有相对运动流动
		本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例中两平板间具 ... 
- OpenFOAM——平行平板间具有相对运动(库埃特流)
		本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例研究了一个距 ... 
- [嵌入式开发板]iTOP-4412开发板linux 系统存储空间的修改
		平台:iTOP-4412开发板 这里我们以修改成 1G 存储空间为例来讲解修改方法, 如果需要改 成其他大小的存储空间,参照此方法修改即可. 首先连接好 iTOP-4412 开发板的调试串口到 pc ... 
- 背水一战 Windows 10 (60) - 控件(媒体类): Pointer 涂鸦板, InkCanvas 涂鸦板
		[源码下载] 背水一战 Windows 10 (60) - 控件(媒体类): Pointer 涂鸦板, InkCanvas 涂鸦板 作者:webabcd 介绍背水一战 Windows 10 之 控件( ... 
随机推荐
- .NetCore如何使用ImageSharp进行图片的生成
			ImageSharp是对NetCore平台扩展的一个图像处理方案,以往网上的案例多以生成文字及画出简单图形.验证码等方式进行探讨和实践. 今天我分享一下所在公司项目的实际应用案例,导出微信二维码图片, ... 
- Sublime Text 添加C/C++环境
			轻巧便捷的sublime text 3代码编辑功能非常强大,不过作为一款代码编辑软件,我们要是让它能把我们的c或者c++代码run起来,变成一个轻量级编译器那就更好了!今天来给大家说一下怎么在subl ... 
- @PostConstruct注解原理解析
			所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 @PostConstruct注解使用简介 在了解一个东西的原理之前,我们得初步的懂得如何 ... 
- 微信小程序 上传图片并等比列压缩到指定大小
			微信小程序官方API中 wx.chooseImage() 是可以进行图片压缩的,可惜的是不能压缩到指定大小. 实际开发中需求可能是压缩到指定大小: 原生js可以使用canvas来压缩,但由于微信小程 ... 
- JS 断点调试心得
			1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断 ... 
- Reeds-Shepp曲线和Dubins曲线
			转载:https://www.cnblogs.com/huyanan/articles/6243694.html 什么是Reeds-Shepp曲线? 想象你下班开车回家,到了小区后想把车停 ... 
- Python查看模块函数,查看函数方法的详细信息
			Python查看方法的详情 1.通用的帮助函数help() 使用help()函数来查看函数的帮助信息. 如: import requests help(requests) 会有类似如下输出: 2.查询 ... 
- mongoDB的基本操作之数据更新
			查询了解后,我们还要了解下如何进行数据的更新,在mongodb中,数据的更新是用update方法,update至少接收两个参数,一个是要查找的记录条件,一个是更新之后的数据,我们现在查找x为1的数据 ... 
- 自定义View-----汽泡效果
			先来看一下这次要实现的最终效果: 首先来实现效果一,为实现效果二做充足的准备,下面开始: 新建工程,并定义一个自定义View,然后将其定义在布局文件中,里面是空实现,之后会一步步来填充代码: MyRi ... 
- P1006 传纸条[棋盘DP]
			题目来源:洛谷 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接 ... 
