摘自《FLUENT流体工程仿真计算实例与分析》,程序略有修改

两个间距为1cm水平平板,如下图所示:

上板匀速平板间流动(c++)【转载】" title="下板不动, 上板匀速平板间流动(c++)【转载】">

充满着运动黏度系数υ=1cm2/s的液体。上板做水平运动并在0.1s时间内,速度线性由0线性地增加到10cm/s,如下图所示:

上板匀速平板间流动(c++)【转载】" title="下板不动, 上板匀速平板间流动(c++)【转载】">

通过对N—S方程的简化,可由下面的抛物线方程来描述

上板匀速平板间流动(c++)【转载】">

流动区域在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
t,dz,dt,umax;

int
i,n,imax,imax1;

imax=11;

dz=0.1;

dt=0.001;

imax1=imax-1;

for(i=1;i<=imax;i++)

{

u[i]=0;

u0[i]=0;

}

t=0;

n=0;

cout<<endl<<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;

for(i=2;i<=imax1;i++)

u[i]=u0[i]+dt/dz/dz*(u0[i+1]+u0[i-1]-2*u0[i]);

for(i=1;i<=imax;i++)

u0[i]=u[i];

if(n0==0)

{

cout<<endl<<setw(8)<<setiosflags(ios::fixed)<<setprecision(3)<<t;

for(i=1;i<=imax;i++)

cout<<setw(8)<<setprecision(3)<<u0[i];

cout<<endl<<"----------------------------------------------------------------------------------------------"<<endl;

}

}while(n<1000);

return
0;

}

运行结果:

上板匀速平板间流动(c++)【转载】" title="下板不动, 上板匀速平板间流动(c++)【转载】">

不同时刻的速度变化:

上板匀速平板间流动(c++)【转载】">

生成该图的matlab代码:

position=[0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];

t_01=[0.000
0.086 0.202 0.386 0.684 1.162 1.903 3.017 4.633 6.905
10.000];

t_02=[0.000
0.543 1.128 1.794 2.573 3.490 4.554 5.763 7.097 8.524
10.000];

t_03=[0.000
0.826 1.668 2.544 3.463 4.435 5.463 6.543 7.668 8.825
10.000];

t_04=[0.000
0.935 1.876 2.829 3.799 4.789 5.799 6.829 7.876 8.935
10.000];

t_05=[0.000
0.976 1.954 2.936 3.925 4.921 5.925 6.936 7.954 8.976
10.000];

t_06=[0.000
0.991 1.983 2.976 3.972 4.970 5.972 6.976 7.983 8.991
10.000];

t_07=[0.000
0.997 1.994 2.991 3.990 4.989 5.990 6.991 7.994 8.997
10.000];

t_08=[0.000
0.999 1.998 2.997 3.996 4.996 5.996 6.997 7.998 8.999
10.000];

t_09=[0.000
1.000 1.999 2.999 3.999 4.998 5.999 6.999 7.999 9.000
10.000];

t_10=[0.000
1.000 2.000 3.000 3.999 4.999 5.999 7.000 8.000 9.000
10.000];

plot(position,t_01,position,t_02,position,t_03,position,t_04,position,t_05,position,t_06,position,t_07,position,t_08,position,t_09,position,t_10,'marker','.')

xlabel('板上位置(m)')

ylabel('速度(m/s)')

legend('t=0.1s','t=0.2s','t=0.3s','t=0.4s','t=0.5s','t=0.6s','t=0.7s','t=0.8s','t=0.9s','t=1s','Location','Best')

legend('boxoff')

box
off

不同高度的速度变化图

上板匀速平板间流动(c++)【转载】">

生成该图的matlab代码:

t=[0
0.1    0.2    0.3    0.4    0.5    0.6    0.7    0.8    0.9    1]

position_0=[0
0    0    0    0    0    0    0    0    0    0]

position_1=[0
0.086    0.543    0.826    0.935    0.976    0.991    0.997    0.999    1    1]

position_2=[0
0.202    1.128    1.668    1.876    1.954    1.983    1.994    1.998    1.999    2]

position_3=[0
0.386    1.794    2.544    2.829    2.936    2.976    2.991    2.997    2.999    3]

position_4=[0
0.684    2.573    3.463    3.799    3.925    3.972    3.99    3.996    3.999    3.999]

position_5=[0
1.162    3.49    4.435    4.789    4.921    4.97    4.989    4.996    4.998    4.999]

position_6=[0
1.903    4.554    5.463    5.799    5.925    5.972    5.99    5.996    5.999    5.999]

position_7=[0
3.017    5.763    6.543    6.829    6.936    6.976    6.991    6.997    6.999    7]

position_8=[0
4.633    7.097    7.668    7.876    7.954    7.983    7.994    7.998    7.999    8]

position_9=[0
6.905    8.524    8.825    8.935    8.976    8.991    8.997    8.999    9    9]

position_10=[0
10    10    10    10    10    10    10    10    10    10]

plot(t,position_0,t,position_1,t,position_2,t,position_3,t,position_4,t,position_5,t,position_6,t,position_7,t,position_8,t,position_9,t,position_10,'marker','.')

ylim([0
11])

xlabel('时间(s)')

ylabel('速度(cm/s)')

legend('z=0cm','z=0.1cm','z=0.2cm','z=0.3cm','z=0.4cm','z=0.5cm','z=0.6cm','z=0.7cm','z=0.8cm','z=0.9cm','z=1cm','Location','BestOutside')

legend('boxoff')

box
off

下板不动, 上板匀速平板间流动(c++)【转载】的更多相关文章

  1. 下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】

    摘自<FLUENT流体工程仿真计算实例与分析>,程序略有修改 两个间距为1cm水平平板,如下图所示: 上板匀速平板间流动(Crank-Nicolson格式)[转载]"> 充 ...

  2. OpenFOAM——具有压差的平行平板间流动(泊肃叶流动)

    本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例中两平板间没 ...

  3. Xilinx FGPA 上板调试 集成逻辑分析工具 Integrated Logic Analyzer(ILA) 简单配置 chipscope

    Xilinx Vivado 提供了上板后的FPGA逻辑分析,信号视图显示等功能. 需要注意,上板后查看信号需要重新综合,并且需要耗费一定的片上布局布线资源. 1. 添加debug信号 可以对模块端口或 ...

  4. 【转】两种方法教你在Ubuntu下轻松关闭触摸板(TinkPad)

    Ubuntu是一个以桌面应用为主的Linux操作系统,所以在使用时我经常的触碰到触摸板,这样会造成我们一些的麻烦,所以要如何的关闭触摸板呢?我们一起来看看吧!   Ubuntu下如何关闭触摸板(Tin ...

  5. Ubuntu server使用命令行上板VPNclient

    Ubuntu server使用命令行上板VPNclient VPN,虚拟专用网络,这个技术还是非常有用的.近期笔者參与的项目中就使用上了VPN,大概情况是这种.有两个开发团队,在异地,代码服务器在深圳 ...

  6. OpenFOAM——具有压差且平行平板间具有相对运动流动

    本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例中两平板间具 ...

  7. OpenFOAM——平行平板间具有相对运动(库埃特流)

    本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例研究了一个距 ...

  8. [嵌入式开发板]iTOP-4412开发板linux 系统存储空间的修改

    平台:iTOP-4412开发板 这里我们以修改成 1G 存储空间为例来讲解修改方法, 如果需要改 成其他大小的存储空间,参照此方法修改即可. 首先连接好 iTOP-4412 开发板的调试串口到 pc  ...

  9. 背水一战 Windows 10 (60) - 控件(媒体类): Pointer 涂鸦板, InkCanvas 涂鸦板

    [源码下载] 背水一战 Windows 10 (60) - 控件(媒体类): Pointer 涂鸦板, InkCanvas 涂鸦板 作者:webabcd 介绍背水一战 Windows 10 之 控件( ...

随机推荐

  1. Senparc.Weixin+nginx配置之坑 ‘10003 redirect_uri域名与后台不一致’

    微信公众号扫一扫功能提示:10003 redirect_uri域名与后台不一致 Senparc.Weixin组件很好用,但一个坑,不知道这和个是否有关.. 先说明下环境,centos+.net cor ...

  2. 【原创】大叔经验分享(94)jdbc连接mysql、sqlserver、oracle

    Mysql driver下载:https://mvnrepository.com/artifact/mysql/mysql-connector-java import java.sql.*; publ ...

  3. Python练习_文件操作_day8

    1. 1.作业 1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的学校, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读出来并 ...

  4. springboot启动流程(四)application配置文件加载过程

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 触发监听器加载配置文件 在上一篇文章中,我们看到了Environment对象的创建方法.同时也 ...

  5. bash shell的ANSI控制

    格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如:  echo -e "\033[41;36m something here \03 ...

  6. 第二章 Django之Django安装(2)

    Django 安装 1.官方发布版安装 大多数人会考虑从 http://www.djangoproject.com/download/ 下载安装最新的官方 发布版.Django 使用了 Python ...

  7. Linux基本命令-chmod

           chmod命令用来变更文件或目录的权限.在UNIX系统家族里,文件或目录权限的控制分别以读取.写入.执行3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件 ...

  8. 数据库连接池,DBUtil的模板,dbcp,c3p0

    数据库连接池,DBUtil的模板,Druid使用(重点) 一.DBUtil模板 public class DBUtilTest { public static Connection connectio ...

  9. win10锁屏壁纸文件夹Assets中无文件问题的解决方法

    一.前言 win10在锁屏时会有很多精美的壁纸,在网上查找到win10锁屏壁纸存放目录为 : C:\Users\你的用户名\AppData\Local\Packages\Microsoft.Windo ...

  10. How Many Answers Are Wrong(带权并查集)

    题目 带权并查集的博客~ 题目: 多组输入数据.n,m.你不知道[1,n]内任意区间内值的和. m次询问,a b 是端点,都在n的范围以内 : v表示 [a,b]的区间内值的和.对每次询问,判断v是否 ...