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

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

上板匀速平板间流动(Crank-Nicolson格式)【转载】">

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

上板匀速平板间流动(Crank-Nicolson格式)【转载】" title="下板不动, 上板匀速平板间流动(Crank-Nicolson格式)【转载】">

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

上板匀速平板间流动(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格式)【转载】的更多相关文章

  1. 下板不动, 上板匀速平板间流动(c++)【转载】

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

  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. SQL logic error no such module: fts5 解决方案

    因项目原因,需要使用SQLite的全文索引,用到了最新的fts5模块 但在咱们.net framwork中却会提示“SQL logic error no such module: fts5”:找不到f ...

  2. bat实现守护程序保证平台正常运行

    1.systeminfo查看系统最近一次重启时间: 2.杀进程: :start taskkill /f /im "xx.exe" goto start "xx.exe&q ...

  3. 关于微信小程序使用watch监听数据变化的方法

    众所周知,Vue中,可以使用监听属性 watch来观察和响应 Vue 实例上的数据变化,那么小程序能不能实现这一点呢? 监听器的原理,是将data中需监听的数据写在watch对象中,并给其提供一个方法 ...

  4. socket基本用法

    socket介绍 1.什么是socket socket是应用层与传输层中间的一个软件抽象层,它是一组接口.它把TCP/IP这些复杂的协议统一封装起来 这样我们只要知道如何使用socket就好,就已经符 ...

  5. Redis 学习-Redis Sentinel

    一.启动服务 1. 配置文件 sentinel.conf daemonize yes # 是否守护进程启动 pidfile "/var/run/redis-sentinel-26379.pi ...

  6. 阿里Java架构师打包 FatJar 方法小结

    在函数计算(Aliyun FC)中发布一个 Java 函数,往往需要将函数打包成一个 all-in-one 的 zip 包或者 jar 包.Java 中这种打包 all-in-one 的技术常称之为 ...

  7. 剑指Offer编程题(python)——二叉树

    1.重建二叉树 """ 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如输入前序遍历序列{1,2,4 ...

  8. JAVA Calendar类获取上个月的第一天和最后一天

    原文:https://www.cnblogs.com/QQParadise/articles/4936313.html 获取上个月第一天的方法: Calendar calendar = Calenda ...

  9. PAT Advanced 1022 Digital Library (30 分)

    A Digital Library contains millions of books, stored according to their titles, authors, key words o ...

  10. Java 基础 线程的Runnable接口 /线程的同步方法 /同步代码块

    笔记: /**通过 Runnable接口来实现多线程 * 1. 创建一个实现runnable 接口的类 * 2. 在类中实现接口的run() 抽象方法 * 3. 创建一个runnable 接口实现类的 ...