精华内容
下载资源
问答
  • 数值分析课程设计教学大纲 课程编号 1512110303 课程名称 数值分析课程设计 周数/学分3/3 先修课程数值分析 适用专业 信息与计算科学 开课教研室应用数学教研室 目的与要求 数值分析课程设计是实践性教学内容之一是 ...
  • PAGE 22 成 绩 评 定 表 学生姓名 班级学号 专 业 信息与计算科学 课程设计题目 数值分析算法案例 评 语 组长签字 成绩 日期 20 年 月 日 课程设计任务书 学 院 理学院 专 业 信息与计算科学 学生姓名 班级学号 课程...
  • 成 绩 评 定 表 学生姓名 班级学号 专 业 信息与计算 课程设计题目 数值分析算法案 科学 例 评 语 组长签字 成绩 日期 20 年 月 日 I 课程设计任务书 学 院 理学院 专 业 信息与计算科学 学生姓名 班级学号 课程设计...
  • 该课程设计是正对于信息与计算科学专业的学生,对数值分析里高斯列主元消去和牛顿差值的分析!
  • 数值分析课程设计积分方法的 实际应用 数值分析课程设计报告 求积公式的实际应用 学 院 数学与统计学院 专 业 信息与计算科学 学 号 姓 名 指导教师 成 绩 教师评语: 指导教师签字: 2018年1月 8日 1 绪论 数值分析是...
  • 书中选取的例子颇具趣味性和启发性,涉及信息检索和动画等现代应用领域以及来自物理和工程的传统主题.习题用MATLAB求解,使计算结果更容易理解.各章都简短介绍了数值方法的历史. 本书理论和应用完美结合,适合作为...
  • 业 论 文 题 目 数值积分常用算法设计与实现 学 生 * 指导教师 * 教授 年 级 2005?级 专 业 计算机科学与技术 系 别 计算机系 学 院 计算机科学技术与信息工程学院 * 2019?年?06?月 论文提要 本文应用插值积分法和...
  • 实用文案 数值分析课程设计报告 求积公式的实际应用 学 院 数学与统计学院 专 业 信息与计算科学 学 号 姓 名 指导教师 成 绩 教师评语 指导教师签字 2018年 1 月 8 日 标准文档 实用文案 绪论 数值分析是计算数学的...
  • 运用现代数码技术,设计了风浪要素数值化实景监测,对近距离局域风浪进行非入侵式自动图像监测与风浪数值信息提取.在设计中采取不同于常规风浪遥感散射回波反演的方式,通过人机互动,应用相似性搜索判别原理,实现...
  • 书中选取的例子颇具趣味性和启发性,涉及现代应用领域(如信息检索和动画)以及来自物理和工程的传统主题。习题用MATLAB求解,使计算结果更容易理解。各章都简短介绍了数值方法的历史。而且还有网上资料。 最高清,...
  • QSlider:滑动条,通过滑动设置数值,可用于数值输入。(此实例使用四个滑动条输入红、绿、蓝三色的Alpha值,然后合成颜色,作为一个QTextEdit组件的底色) QScrollBar:卷滚条,与QSlider功能类似,还可以用于卷滚...

    实例功能

    QSlider:滑动条,通过滑动设置数值,可用于数值输入。(此实例使用四个滑动条输入红、绿、蓝三色的Alpha值,然后合成颜色,作为一个QTextEdit组件的底色)

    QScrollBar:卷滚条,与QSlider功能类似,还可以用于卷滚区域

    QProgressBar:进度条,一般用于显示任务进度,可用于数值的百分比显示(实例程序中滑动一个Slider,获取其值并更新ScrollBar和ProgressBar)

    QDial:表盘式数值输入组件,通过转动表针获取输入值

    QLCDNumber:模仿LCD数字的显示组件,可以显示整数或浮点数,显示整数可以使用不同进制数值(实例程序中通过转动表盘,获得的值显示在LCD中)

    各组件的主要功能和属性

    1.QSlider

    QSlider、QScrollBar和Qdail三个组件都从QAbstractSlider继承而来,有一些共同的属性,QSlider是滑动的标尺型组件,滑动标尺上的滑块能改变值

    QAbstractSlider的主要属性包括以下几种:

    • minimum、maximum:设置输入范围的最小值和最大值
    • singleStep:单步长
    • pageStep:在Slider上输入焦点,按PgUp和PgDn键时变化的值
    • value:组件的当前值,拖动滑块时会自动改变其值,并且限定在maximum和minimum之间
    • sliderPosition:滑块的位置
    • tracking:如果tracking=true,sliderPosition就等于value,如果改变value,则sliderPositon也将改变
    • orientation:Slider的方向,之后水平和垂直两个选项
    • intertedAppeaerance:显示的方向是否为反向,如果其值为false,则Slider的数值自左向右增大,反之增大方向相反
    • invertedControls:方向按键控制

    QSlider的专有属性有两个:

    • tickPosition:标尺刻度的显示位置(NoTicks:不显示刻度、TicksBothSides:两边都有刻度、TicksAbove:标尺上方显示刻度、TicksBelow:标尺下方显示刻度、TicksLeft标尺左侧显示刻度、TicksRight标尺右侧显示刻度)
    • tickInterval:标尺刻度的间隔值,若设置为0,则自动选择singleStep和pageStep之间自动选择

    2.QScrollBar

    • QScrollBar是从QAbstractSlider继承来的,只有其基本属性,没有专属属性

    3.QDial

    QDial是仪表盘式的组件,通过旋转表盘获取输入值,其特有属性如下:

    • ontchesVisible:表盘的小刻度是否可见
    • notchTarget:表盘刻度间的间隔像素值

    4.QProgressBar

    QProgessBar的父类是Widget,一般用于进度条显示,常见属性如下:

    • minimum、maximum:最大值和最小值
    • vlaue:当前值
    • textVisible:是否显示文字,文字一般为百分比,用以表示进度
    • orientation:可以设置为水平或垂直方向
    • format:文字显示的格式,默认为%p%(%p%、%v、%m分别为显示百分比、显示当前值和显示总步数)

    5.QLCDNumber

    QLCDNumber是模拟LCD显示数字的组件,可以显示整数或小数,但是就像真正的LCD一样,需要设置显示数字的个数

    其主要属性如下:

    • digiitCount:显示的数的个数,如果有小数点,也算一位
    • smallDecimalPoint:是否有小数点
    • mode:数字的进制
    • value:返回显示值,浮点数,若设置为显示整数,则需要设置为intValue

    实例代码的实现

    1.红、绿、蓝配色

    在UI设计界面,点击hSlider组件,点击右键选择"Go to slot"对话框选择valueChanged(int)信号,生成的槽函数中代码如下:

    void Widget::on_hSlider_red_valueChanged(int value)
    {
        //拖动滑动条时设置textEdit的底色
        Q_UNUSED(value);
        QColor color;
        int R = ui->hSlider_red->value();
        int G = ui->hSlider_green->value();
        int B = ui->hSlider_blue->value();
        int alpha = ui->hSlider_apha->value();
        color.setRgb(R,G,B,alpha);          //使用setRgb函数获得颜色
        QPalette pal = ui->textEdit->palette();
        pal.setColor(QPalette::Base,color); //设置底色
        ui->textEdit->setPalette(pal);
    }

    以上代码是hSlider_red的valueChanged(int)信号的槽函数代码,其他三个滑动条的相应代码也与它完全相同,因此在设计界面时无需为其他三个组件再生成槽函数,只需将它们的valueChange(int)槽函数hSlider_blue、hSlider_green函数相关联即可

    在窗口类Widget的构造函数中实现此功能

    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
    
        QObject::connect(ui->hSlider_green,SIGNAL(valueChanged(int)),
                         this,SLOT(on_hSlider_red_valueChanged(int)));
        QObject::connect(ui->hSlider_alpha,SIGNAL(valueChanged(int)),
                         this,SLOT(on_hSlider_red_valueChanged(int)));
        QObject::connect(ui->hSlider_blue,SIGNAL(valueChanged(int)),
                         this,SLOT(on_hSlider_red_valueChanged(int)));
    
    }

    这样关联之后,这四个滑动条的任意一个值改变时,都会发射valueChanged()信号,从而改变textEdit组件的底色,并且每次都调用同一个槽函数,避免了重复编写代码

    2.LCD显示

    在UI设计界面中,点击Dail组件,右键选择"Go to slot",选择valueChanged(int),槽函数内容如下:

    void Widget::on_dial_valueChanged(int value)
    {
        //将LCD的显示值为Dail的值
        ui->lcdNumber->display(value);
        //将进度条进度设置为Dail的值
        ui->progressBar->setValue(value);
    
        ui->dial->setNotchesVisible(true);     //设置Dail的小刻度可见
    }

     

     

    展开全文
  • 离心泵CAE_3_FLUENT数值模拟

    千次阅读 2020-05-11 09:08:19
    针对本科毕设中所涉及到的离心泵数值分析和性能计算,将用最简单粗暴的方法,讲解如何基于CFturbo、ICEM、FLUENT来开展离心泵水力设计和性能分析的计算机辅助(CAE)实现。离心泵的水力设计由CFturbo软件实现;网格...

    针对本科毕设中所涉及到的离心泵数值分析和性能计算,将用最简单粗暴的方法,讲解如何基于CFturbo、ICEM、FLUENT来开展离心泵水力设计和性能分析的计算机辅助(CAE)实现。离心泵的水力设计由CFturbo软件实现;网格剖分由ICEM软件实现;CFD数值计算由FLUENT软件实现;并验证设计值是否达到。

    这里是第三部分,FLUENT软件实现泵内流动的数值模拟,并对模拟结果进行分析,验证设计值是否达到参数要求。

    1 读入网格

    先新建个文件夹作为FLUENT的工作目录,并把之前画好的三个网格文件fluent_in.msh、fluent_imp.msh、fluent_vol.msh全部拷进去。

    打开FLUENT软件,在Fluent Launcher中设置Dimensions维数选3D三维,因为咱们是三维网格;

    Options勾选Double Precision双精度,现在也没谁拿单精度Real算了,毕竟单精度计算误差太大了;

    Processiong Options处理器选项,可选Serial单核串行和Parallel多核并行,我这破机子,也只能Serial单核计算了;

    在Working Directory工作目录中指定到刚才新建的文件夹,即可确定FLUENT的工作目录跟它相关了。

    再次确认设置参数后,OK确定打开FLUENT。

    在这里插入图片描述

    读入网格,File->Read->Mesh,在打开的工作目录中,可发现有三个刚才放进去的网格文件,先打开fluent_imp.msh叶轮流道网格文件。

    在这里插入图片描述

    读入完毕后,点左上方Display查看下网格是否正确。
    在这里插入图片描述
    在Mesh Display窗口,可选择Surfaces中的面来逐个查看是否有错误,注意别选int_body_imp,这是内部区域的网格面,选上的话数量非常大,显示起来极有可能把机子卡死,当然你机子好的话,就当我没说。

    在这里插入图片描述

    在这里插入图片描述

    再把进口延长段的网格读进来,只是这次不能再用read mesh了,要用Setting Up Domain中的Zones中的Append下的Append Case File…,即再附加上另一个区域的方式来读入新的网格。

    在这里插入图片描述

    选择fluent_in.msh文件,OK读入。
    在这里插入图片描述

    同样的方式,把fluent_vol.msh也添加进来,Display一下看看,确定各个面都是正确的。

    在这里插入图片描述

    2 缩放网格

    ICEM输出的网格长度单位是毫米mm,FLUENT读入网格的长度单位是m,两者差了1000倍,所以要进行缩放的操作,不然的话,雷诺数就差了1000倍,结果完全不靠谱了。

    Setting Up Domain -> Mesh -> Transform -> Scale…,打开网格缩放窗口。
    在这里插入图片描述

    在Scale Mesh窗口中,选择Mesh Was Created In网格是用mm毫米创建的,然后点击Scale来缩放,可看到左上方的区域范围的值都变小了1000倍,缩放成功,Close关闭Scale Mesh窗口即可。
    在这里插入图片描述

    在这里插入图片描述

    Setting Up Domain -> Mesh -> Info -> Size,查看网格信息,大概50万节点不到,个人机还是可以跑跑的。

    Mesh Size
    
    Level    Cells    Faces    Nodes   Partitions
        0  2655266  5375651   476076            1
    
     3 cell zones, 21 face zones.
    

    Setting Up Domain -> Mesh -> Check,检查网格,没有负体积,计算域范围也缩放正确了,OK。

     Domain Extents:
       x-coordinate: min (m) = -1.900081e-01, max (m) = 7.313037e-01
       y-coordinate: min (m) = -1.773689e-01, max (m) = 2.250622e-01
       z-coordinate: min (m) = -2.579141e-01, max (m) = 1.051617e-01
     Volume statistics:
       minimum volume (m3): 3.716923e-11
       maximum volume (m3): 3.629198e-08
         total volume (m3): 1.217895e-02
     Face area statistics:
       minimum face area (m2): 4.020561e-08
       maximum face area (m2): 3.415682e-05
     Checking mesh.........................
    Done.
    

    Setting Up Domain -> Mesh -> Quality,检查网格质量,质量确实不咋滴,都逼近下限了,咱也就大概算算,不深究了。

    Mesh Quality:
    
    Minimum Orthogonal Quality =  1.05554e-02
    (Orthogonal Quality ranges from 0 to 1, where values close to 0 correspond to low quality.)
    
    Maximum Ortho Skew =  9.87453e-01
    (Ortho Skew ranges from 0 to 1, where values close to 1 correspond to low quality.)
    
    Maximum Aspect Ratio =  3.68410e+02
    

    接下来,基本上照着左侧的树形菜单挨个整下来,就顺序地完成了设置、计算和分析工作。

    3 一般设置

    左栏设置树,Tree -> Setup -> General,一般设置,保持默认的Pressure-Based压力基求解器(适用于不可压缩流动问题,Density-Based密度基求解器则适用于可压缩问题),Time中保持默认的Steady定常问题(非定常计算会非常消耗资源,这里就是大概算算),Gravity重立项也不予考虑。
    在这里插入图片描述

    左栏设置树,Tree -> Setup -> Models -> Viscous,打开粘性模型设置,把默认的Laminar层流模型改成k-epsilon(2 eqn) k − ϵ k-\epsilon kϵ两方程湍流模型,该湍流模型的设置保持默认即可,OK。
    在这里插入图片描述

    左栏设置树,Tree -> Steup -> Materials,设置介质,点开Fluid下面的air,再从Create/Edit Materials中打开Fluent Database…,从Fluent Database Materials中选择water-liquid (h2o<l>),Copy到当前介质中,Close关闭Fluent Database Materials窗口,检查Create/Edit Materials窗口中是否改成了water水,注意水的密度是998.2 kg/m3,单击Change/Create确认更改,Close关闭Crete/Edit Materials窗口,看到Materials中Fluid下多了个water-liquid。
    在这里插入图片描述

    4 区域设置

    该算例一共有三个区域,进口延伸段、叶轮流道、蜗壳流道,咱们要把进口延伸段和蜗壳流道定义成静止区域,而把叶轮流道定义成旋转区域,在区域设置中完成,同时还要指定区域中的流体介质。

    左栏设置树,Tree -> Setup -> Cell Zone Conditions,设置区域条件,双击body_in设置进口延伸区域,把Material Name从默认的air空气改成wate-liquid液态水,其余默认不做任何勾选和修改,OK,表明该区域是静止区域,且内部介质是液态水。
    在这里插入图片描述

    同样设置body_vol蜗壳流道区域,其设置和body_in区域一样。
    在这里插入图片描述

    重头戏来了,设置叶轮区域,双击body_imp,打开设置窗口,Material Name同样把air改成water-liquid,勾选Frame Motion运动参考系,Rotation-Axis Origin旋转轴心为坐标原点默认不动,Rotation-Axis Direction旋转轴方向默认z轴也不更改,Rotational Velocity旋转速度改为-2900rpm,负号表示它是绕z轴顺时针旋转的,(旋转单位默认是rad/s,可以在最上端的Setting Up Domain -> Mesh -> Units中将angular-velocity的单位Units从rad/s改为rpm),Translational Velocity平动速度保持默认的0就好,咱们这只有转动,没有平动。检查无误后OK确认。

    在这里插入图片描述

    在这里插入图片描述

    5 边界设置

    上一步设置的是区域条件,接下来设置边界的条件。

    左栏设置树,Tree -> Setup -> Boundary Conditions,设置边界条件。

    在这里插入图片描述

    5.1 旋转壁面边界

    双击imp_blade_leading,设置叶片前缘面的边界条件。

    将Wall Motion壁面运动类型从Stationary Wall静止壁面改为Moving Wall运动壁面;

    Motion运动类型保持默认的Relative to Adjacent Cell Zone相对于邻近的单元区域,即给定的是其相对于其所属的区域的运动(相对运动),它的Adjacent Cell Zone邻近区域在最上面第2行已经给你标出来了是body_imp叶轮流道区域,运动类型把默认的Translational平动改成Rotational旋转运动,转速Speed中保持默认的0,转轴中心和转轴依旧分别是原点和z轴。

    Shear Conditions剪切条件默认的No Slip无滑移壁面。

    OK确定设置。

    经过这么一番折腾,就使得叶片的前缘面相对于叶轮流道区域做转速是0的相对旋转运动,换句话说,叶片此时和叶轮流道一样做的是-2900rpm的绝对旋转运动。

    如果不做这个设置,那么叶轮前缘是固定不动的壁面,这和实际情况是不符的。

    在这里插入图片描述

    同样的,叶轮流道区域的叶片其他面、前后盖板也要设置成这种相对转速是0的运动壁面,如果一个个设置就太麻烦了,好在可以直接Copy的。

    看到下面那个Copy…了么,点开来,在Copy Conditions窗口中,左边选刚才设好的imp_blade_leading边界,右边选择imp_blade_pressure、imp_blade_suction、imp_blade_tip、imp_blade_hub、imp_blade_shroud边界,然后点最下面Copy完成复制边界条件的操作。

    如果不放心,再点开来看看它们设好了没有吧。

    在这里插入图片描述

    5.2 无滑移壁面设置

    还记得画网格的时候讲的叶轮流道前后盖板延伸的环面,以及蜗壳进口部分的侧向延伸环面和径向环面么?它们应该如何设置呢?

    实际上,它们也属于壁面,即限制流体不能穿透,但是它们又不能给流体施加任何的切向力,所以,把它们设置成剪切力是零的滑移壁面就可以了,当然,叶轮流道前后盖板的延伸面可以定义成是旋转面,也可以定义成是静止面,没有影响,因为它们压根就不会产生剪切应力,也就不会对流体施加切向载荷的影响了。

    只需要把Shear Condition剪切条件从No Slip无滑移改成Specified Shear指定剪切,同时保持Shear Stress剪切力为0,就可以了。

    imp_ext_hub和imp_ext_shroud叶轮前后盖板延伸环面的设置如下。
    在这里插入图片描述

    vol_ext和vol_side蜗壳流道进口周向延伸面和径向延伸面的设置:
    在这里插入图片描述

    5.3 静止壁面

    进口延伸段的外壁面,蜗壳的壁面都是静止壁面,保持默认的静止壁面和无滑移条件设置就好。

    in_walls和vol_wall的设置。
    在这里插入图片描述

    5.4 动静交界面设置和匹配

    进口延伸段的出口面,与,叶轮进口面,前者静止,后者运动,属于内部的动静交界面。

    叶轮出口面,与,蜗壳进口面,前者运动,后者静止,属于内部的动静交界面。

    先指定这四个面的类型为交界面。

    先选中in_outlet进口延伸段的出口面,然后从Type类型中下来选择interface交界面并单击确认,它会让你重命名,保持默认名字就好,OK确认,就把in_outlet面的类型从wall壁面修改成了interface交界面。

    在这里插入图片描述

    在这里插入图片描述

    同样的方法,把vol_inlet蜗壳进口面、imp_inlet叶轮进口面、imp_outlet叶轮出口面也设置成interface交界面类型。

    虽然设好了它们是交界面,但是并没有将它们匹配起来啊,好办。

    是不是设置树,Tree中Setup中多了一个Mesh Interfaces网格界面的选项啊,没错,就是它了,单击Create/Edit…打开交界面匹配创建窗口。

    在这里插入图片描述

    在Create/Edit Mesh Interface窗口中,Mesh Interface中输入名字“in_2_imp”表示进口段到叶轮段的交界面,在Interface Zone Side 1中选择第一个交界面in_outlet,在Interface Zone Side 2中选择第二个交界面imp_inlet,单击最下面Create创建,这样便将进口段出口和叶轮段进口匹配为了一对交界面。

    同样创建另一个名为"imp_2_vol"叶轮到蜗壳的交界面,把imp_outlet和vol_inlet配对即可。

    设置好后,Close关闭Create/Edit Mesh Interface窗口。

    在这里插入图片描述

    在这里插入图片描述

    5.5 进出口边界条件设置

    只剩下两个边界面,in_inlet进口段的进口面和vol_outlet蜗壳流道的出口面了,这两个面也对应着整个计算域的进口边界和出口边界。

    通常是把进口指定总压,出口指定流量。进口总压比较好理解,比如接个大气管道什么的,那就是大气压了对吧,出口流量有点费解,其实出口一般接了一堆乱七八糟的管道,那么会有阻力什么的,而做实验的时候呢,会用个节流阀什么的去调节出口流量,也就是说,出口流量实际上是由使用场所或者人为来调节的,所以是可以直接指定的(当然了,如果指定一个非常高的不切实际的流量,那么算出来的结果也是不符合物理意义的),我们指定了这个流量,再去看能否达到所需要的扬程就可以了,就跟自来水龙头,可以调节流量是一样的道理了。

    将in_inlet的类型从wall改成pressure-inlet压力进口,设置其Guage Total Pressure总压为0(这个是相对表压),Supersonic/Initial Gauge Pressure初始静压为0(只是初始值而已,一旦计算过程中,这个面上有了速度,那么会把速度的动压减去来计算静压值,最终是保证动压和静压加起来的总压值是0就OK了,所以算起来之后静压会成负值的,表明是进口存在负压差)。

    Turbulence湍流模型的设置中,将设置方式改为Intensity and Hydraulic Diameter湍流强度和水力直径,湍流强度给成5%(湍流度中等),水力直径给成0.1259m,即进口管道的直径即可。

    OK确定。
    在这里插入图片描述

    将vol_outlet的类型从wall改成velocity-inlet速度进口(没办法,这里没有流量出口,也没有速度出口,就用速度进口,把速度指定成负值来给流量算了,效果是一样的)。

    先得算下速度值是多少,出口圆截面的直径为102.46mm,面积是 π d 2 / 4 = 0.00824515 m 2 \pi d^2/4=0.00824515m^2 πd2/4=0.00824515m2,泵的设计流量是 200 m 3 / h = 0.0555556 m 3 / s 200m^3/h=0.0555556m^3/s 200m3/h=0.0555556m3/s,出口速度应该是 0.0555556 / 0.00824515 = 6.737967 m / s 0.0555556/0.00824515=6.737967m/s 0.0555556/0.00824515=6.737967m/s,别忘了加负号。

    即把Velocity Magnitude速度幅值设为-6.737967m/s,初始背压设为0Pa,这个初始背压同样只是初始值,会在计算过程中自动做调整的。

    湍流度同样用强度和水力直径给定,湍流强度指定为10%(出口一般湍流会更强烈一些的,10%依旧是中等湍流度并不是特别大),水力直径为0.10246m为管道直径。

    OK确定。

    在这里插入图片描述

    至此,设置树的Setup部分就设置完了。

    6 求解设置和迭代求解

    设置树,Tree -> Solution -> Solution Methods,保持默认求解方法即可。

    在这里插入图片描述

    设置树,Tree -> Solution -> Solution Controls,保持默认松弛因子即可。
    在这里插入图片描述

    设置树,Tree -> Solution -> Monitors监视器,Edit…打开设置。

    把所有项的绝对残差都从0.001改为0.00001(我其实也没指望它能收敛到这么高的水平,只是改着玩玩罢了),OK确认。
    在这里插入图片描述

    设置树,Tree -> Solution -> Solution Initialization初始化。

    选择Standard Initialization,Compute from选择in_inlet,用进口值来做初始化,单击Initialize完成初始化。
    在这里插入图片描述

    计算前,先保存下设置文件,File -> Write -> Case…,命名,保存。
    在这里插入图片描述

    设置树,Tree -> Solution -> Run Calculation开始计算。

    在Number of Iterations中输入迭代步3000步,先跑3000步看看效果,如果收敛得不理想,再来几千步看看。

    单击Calculate开始迭代计算。

    拼机子的时刻到了……漫长的等待过程……

    在这里插入图片描述

    7 后处理

    先看下残差曲线,基本上残差已经水平,不会再往下降了,姑且认为计算结束了吧,实际上,除非网格画的非常精巧,设置得非常正确,问题非常简单,才有可能让残差收敛到非常小的状态……而咱们用这么渣渣的网格和模型,能收敛成这样已经是谢天谢地了。

    在这里插入图片描述

    计算完成后,可以做切面或者在已有面上查看各种压力、速度云图,可以查看流线……

    但是咱们最关心的是泵的性能如何,即,如何获取其扬程、功率、效率等外特性。

    7.1 扬程计算

    泵的扬程 = (出口总压 - 进口总压) / (介质密度 * 重力加速度值) + 进出口高度差,数学表达式为:
    H = p o u t − p i n ρ g + Δ z H = \frac{p_{out}-p_{in}}{\rho g} + \Delta z H=ρgpoutpin+Δz
    左栏设置树,Tree -> Results -> Reports -> Surface Integrals,打开Surface Integrals边界面的相关量输出设置窗口。
    在这里插入图片描述

    在Surface Integrals窗口中,选择Report Type报告类型为Area-Weighted Average即面加权平均型,Field Variable场变量选择Pressure压力和Total Pressure总压,Surfaces面则选择in_inlet和vol_outlet,即整体计算域的进口面和出口面,来计算这两个面上的平均总压值。单击下方的Compute让其计算。
    在这里插入图片描述

    在窗口中有如下输出信息

               Area-Weighted Average
                      Total Pressure             (pascal)
    -------------------------------- --------------------
                          vol_outlet            877535.16
                            in_inlet                    0
                    ---------------- --------------------
                                 Net             350022.7
    

    跟设置的和预想中的一样,进口的总压值是 0 P a 0Pa 0Pa,出口的总压值是 877535.16 P a 877535.16Pa 877535.16Pa,进出口的高度差 Δ z = 0.7313 m \Delta z=0.7313m Δz=0.7313m,这个跟泵相关。考虑到水的密度为 ρ = 998.2 k g / m 3 \rho=998.2kg/m^3 ρ=998.2kg/m3,重力加速度为 g = 9.8 k g / m 2 g=9.8kg/m^2 g=9.8kg/m2,按扬程计算公式可得
    H = p o u t − p i n ρ g + Δ z = 877535.16 − 0 998.2 × 9.8 + 0.7313 = 90.44 m \begin{aligned} H &= \frac{p_{out}-p_{in}}{\rho g} + \Delta z \\ &= \frac{877535.16-0}{998.2\times9.8} + 0.7313\\ &= 90.44 m \end{aligned} H=ρgpoutpin+Δz=998.2×9.8877535.160+0.7313=90.44m

    设计值是84m,算出来居然高达90.44m,我自己都不相信,显然,这么粗糙的计算未必靠谱,好在两者量级还是比较接近的。

    7.2 功率和水力效率计算

    泵的输入功率,应该等于叶片所有壁面的扭矩与转动角速度的乘积,即
    P = T ω P = T \omega P=Tω
    ω \omega ω根据转速 2900 r p m 2900rpm 2900rpm很容易就能算出来,扭矩是要让FLUENT也来report一下的。

    左栏设置树,Tree -> Results -> Reports -> Forces,打开Forces Reports力的相关量输出设置窗口。
    在这里插入图片描述

    在Force Reports窗口中,Options选项设置为Moments力矩,Moment Center力矩中心设为原点 ( 0 , 0 , 0 ) (0,0,0) (0,0,0),Moment Axis力矩转轴设为 z z z轴,Wall Zones壁面区域中选择叶轮的所有壁面,即imp_blade_leading、imp_blade_pressure、imp_blade_suction、imp_blad_tip、imp_hub、imp_shroud,单击下方Print输出。
    在这里插入图片描述

    窗口中有如下输出信息。
    在这里插入图片描述

    整体的转矩为 T = 181.33732 N m T=181.33732Nm T=181.33732Nm,算得其输入功率为
    P = T ω = T n π / 30 = 181.33732 × 2900 × π / 30 = 55069.839 w = 55.070 k w P=T \omega=Tn\pi/30=181.33732\times2900\times\pi/30=55069.839w=55.070kw P=Tω=Tnπ/30=181.33732×2900×π/30=55069.839w=55.070kw

    泵的有效功率为
    P e = ρ g Q H = 998.2 × 9.8 × ( 200 / 3600 ) × 90.44 = 49150.924 w = 49.151 k w P_e=\rho g Q H=998.2\times9.8\times(200/3600)\times90.44=49150.924w=49.151kw Pe=ρgQH=998.2×9.8×(200/3600)×90.44=49150.924w=49.151kw

    那么泵的水力效率为
    η = P e / P = 49.151 / 55.070 = 89.25 % \eta=P_e/P=49.151/55.070=89.25\% η=Pe/P=49.151/55.070=89.25%

    当然,也可以继续设置不同的出口流速(出口流量 Q Q Q),从而算得泵在不同流量下的扬程、功率、效率,绘制出泵的性能曲线来。

    8 后话

    至此,基于商业软件的离心泵的水力设计、网格划分、数值计算、性能分析就讲完了,这里只是简单粗暴地走了一遍,并没有对结果的可靠性做任何验证工作。

    网格划分部分用的是最简单最粗糙的非结构均匀网格,数值模拟部分用的也是最常规最普通的湍流模型,结果未必准确,仅供参考。

    网格若想划分的漂亮,可能要用到边界层+非结构网格,或者分块结构化网格,或者嵌套网格等方法,需要耗费较大的精力去折腾;而流场若想算得准确,可能要用到大涡模拟湍流模型,非定常数值计算,这已经远远超出了个人机的承受范围……还有,实话实说,这么高端的操作我是不会的,哈哈。

    展开全文
  • 整形数值与字符型数值大小比较

    千次阅读 热门讨论 2013-12-05 22:07:44
     因为在数据库中卡号这个字段,我设计为字符串类型,而字符串类型的数据跟数值型的数据排序方式是不同的。    当我把卡号这个字段(cardno)设计为字符串类型(char(10))时,进行降序排列结果

              在机房收费系统  中  学生上机统计信息这一组合查询窗体中,按卡号查询时,出了一些问题。明明有卡号为33的记录,但是我按卡号大于4去查询时,却没有查出这条记录,这是为什么?

           因为在数据库中卡号这个字段,我设计为字符串类型,而字符串类型的数据跟数值型的数据排序方式是不同的。

     

          当我把卡号这个字段(cardno)设计为字符串类型(char(10))时,进行降序排列结果为:

         当我把卡号这个字段(cardno)设计为整数类型(int)时,进行降序排列结果为:

    所以我们为某些字段设计类型时,应注意一下。

    展开全文
  • 该方法采用酶数值膜系统结构,利用膜之间的信息交流,实现多个膜融合多个传感器的距离信息,根据融合距离信息自适应调节巡航速度,使移动机器人能够有效的避开障碍物,同时兼顾无障碍物时移动机器人行走速度....
  • 数值天气预报

    千次阅读 2020-03-18 13:57:09
    The Quiet Revolution of Numerical Weather Prediction Peter Bauer, Alan Thorpe & Gilbert Brunet ... 摘要 数值天气预报的发展如同一次寂静革命(...

     

    The Quiet Revolution of Numerical Weather Prediction

    Peter Bauer, Alan Thorpe & Gilbert Brunet

    http://www.nature.com/nature/journal/v525/n7567/full/nature14956.html

     

    摘要

    数值天气预报的发展如同一次寂静革命(译注1),来自于多年以来科学知识和技术发展的持续积累,而且除了少数例外以外与物理的突破并无联系。但是,数值天气预报是所有物理科学中影响最大的领域之一。作为一个计算问题,全球天气预报与对人脑和宇宙早期演化的模拟水平相当,并且每天都在世界各地主要的业务预报中心运行。

     

    正文

    在19世纪与20世纪之交,Abbe和Bjerknes都提出,物理学的定律可以被用于预报天气;他们认识到对大气状况的预报可以被视作数学物理的初值问题,未来的天气可以使用偏微分控制方程从观测到的当前的天气向前积分得到。这一主张即使以最乐观的牛顿主义决定论(译注2)的观点来解读也是极为大胆的,因为当时鲜少有对大气状况的日常观测,没有计算机,人们对天气过程是否有任何显着程度的可预报性也知之甚少。但在一百多年之后的今天,这一范式已经变成每天求解从初始时刻到数周甚至数月之后、每个时间步长有着五亿个空间格点、综合考虑空间尺度延伸几百米到几千公里、时间尺度遍及几秒到几周的动力学、热力学、辐射和化学过程的一组非线性微分方程的问题。

    科学知识的一个检验标准是能否准确预测一个实验的结果。在气象学的领域,这就变成了天气预报的准确性问题。此外,如今的数值天气预报还让预报员能够定量评估任何特定预报的可信度。这是一个通过应用经典物理学定律获得科学领域重要而意义深远的成功的故事。很明显,这一成功既需要技术的敏锐性,又需要科学进步的前瞻性。

    准确的天气预报能够拯救生命、辅佐应急管理、在灾害天气事件中减轻影响、避免经济损失,还能创造持续不断地财政收入——例如能源、农业、交通和娱乐行业。天气预报的潜在利益远远超过对相关基础科学研究、超算设备、卫星和其它观测程序等用于产生天气预报的领域的投资。

    这些科学和技术领域的发展带来了过去40年间天气预报水平的提高。重要的是,天气预报水平可以客观、定量地加以评估,因为我们每天都在将预报和实际发生的天气加以比较。例如,3到10天的天气预报的预报技巧每十年就能提高大约一天的水平:如图1所示,如今6天预报的水平跟十年前5天预报的准确程度相当。受益于能够提供全球观测的卫星数据的高效实用,如今北半球和南半球的预报水平已经几乎相同。

     

    图1. 以热带以外的北半球和南半球计算的三天、五天、七天和十天的预报技巧。预报技巧是在500百帕高度层上的预报和用于验证的分析场各自对气候平均高度的异常之间的相关性。超过60%的数值表示可用的预报,超过80%的数值表示准确度很高。1999年之后北半球和南半球曲线的收敛是由于使用变分方法处理卫星资料带来的突破。

     

    不过,对社会来说,更引人注目的是极端天气事件。2012年10月飓风Sandy不同寻常的路径和强度提前8天就预报出来了,2010年俄罗斯的酷暑与2013年美国的凛冬的预报都提前了一到两周,而与厄尔尼诺/南方涛动(ENSO)相关的热带海表温度变化能提前三到四个月加以预报。天气和气候的预报技巧有着密切的联系,因为准确的气候预报依赖于对天气状况及其统计特征的优良体现,因为在所有预报时长范围内最根本的物理定律是相同的。

    这篇综述会解释数值天气预报最基础的科学根据,随后会着重介绍之前预报技巧受益最多的三个领域——对物理过程的代表,集合预报和模式初始化。这也是提出了接下来的十年中最有挑战性的科学问题的领域,但是以1 km的水平分辨率、也即比现在精细一个数量级的水平运行全球模式的展望也增加了新的影响因素,因为这需要对使用目前还不存在的技术的高性能计算设备进行投资。

    天气预报的物理学

    纳维-斯托克斯方程、考虑地球自转的影响的质量连续性方程和热力学第一定律、理想气体方程一起构成了一组完整的大气预报方程,大气中的风场、气压场、密度场合温度场的时空变化都可以用这组方程加以描述。这些方程需要在时间和空间离散化之后以数值方法求解,因为这组方程的解析解在数学上极难获得,而这一近似(译注:指原始偏微分方程近似为离散化的差分方程)造成了通常所谓可解析与不可解析的运动尺度之间的差异。在不可解析的尺度直到分子尺度发生的物理过程会通过摩擦、凝结和蒸发一类的湿过程和辐射加热与冷却作为质量、动量和热量的源项进入可解析尺度的方程中。由于这些过程通常都无法解析,它们需要按照与可解析尺度的相互作用被“参数化”。为了便利地进行数值求解和多少降低一些方程组的复杂程度,有时候也会对方程组进行一些简化,这也是Richardson最早提出数值天气预报时的想法,虽然他并不十分成功。通过引入能够对大气中最大尺度的运动进行精确描述的近似,1950年在普林斯顿大学人们使用第一台电子计算机(译注:即ENIAC)第一次尝试进行了天气预报。普林斯顿的模拟是一次追报(译注:指对之前的天气进行模拟预报),而第一次实时预报则于1954年出现于斯德哥尔摩。

    随着20世纪70年代超算能力的增长,像Abbe和Bjerknes所提出的那样求解整套方程组成为了可能。从那之后,也出现了各种各样的数值求解方法,旨在解决数值稳定性、精度、计算速度和处理更多预报变量的多功能性,还有可解析与不可解析尺度之间的相互作用。这些方法的主要组成部分包括:对空间变化加以代表的空间离散化方法,时间积分方法,对边界的处理和初始化方法。求解整套方程组的能力奠定了数值天气预报的基础。今天,有着不同复杂程度的不同层次的多种模式覆盖了从全球气候预测、全球天气预报、灾害天气的局地模拟和空气质量预报的所有范围。

    主要的步伐

    全球模式中对不可解析过程的代表的提高、能够估计预报不确定性的集合预报方法的出现和引入客观分析方法决定初始条件带来了我们今日所获得的预报技巧。对物理过程加以代表、集合模拟和模式初始化同样也是未来的主要挑战,此外也有与观测和计算相关的技术挑战,我们将会在后文加以讨论。

    - 物理过程

    参数化方案捕捉大气和大气与地面之间界面的辐射、对流和扩散效应,这些效应通常由相对较小的空间尺度所决定。图2描绘了这些过程以及它们如何在大气中起作用。虽然不能被数值模式解析,这些过程能在格点尺度上驱动热量和动量收支,对提高预报技巧至关重要。不同的物理过程的参数化程度和由此对基础物理过程的代表性千差万别。例如,全球模式中对辐射和云微物理过程的参数化方程与在区域模式和高分辨率模式中使用的方程相同,因为这些方程考虑最基础的小尺度物理过程,而这一过程在这些不同的模式空间尺度下是相似的,即使在更高的水平分辨率情况下需要额外的复杂度。参数化过程的方程主要受限于我们对用于参数化描述物理过程的细节的理解程度,这些参数化描述决定了这些物理过程对动量和热量通量的空间平均的影响。另一方面,深对流和特定的边界层过程需要更高程度的参数化方程,因为它们只在格点尺度的一小部分中出现;因此这些参数化方案敏感地取决于它们所使用的分辨率。

     

    图2. 天气预报中重要的物理过程。这些过程在现在的数值天气预报模式中并没有被显式解析,而是通过描述它们对可解析尺度的质量、动量和热量传递的贡献的参数化方法加以表征。

     

    参数化方案对决定预报技巧起到了根本性的作用,因为它们决定了所模拟的天气的关键特征,例如云和降水,当然还有温度和风。在业务数值天气预报模式中,本质上相同的参数化方程被用于10到100公里的水平尺度和短期到中期的预报、模式初始化所使用的最小化算法和季节尺度的预报。达成这一“格点尺度不变性”的要素同时又包含尽可能多的物理过程细节是近期最基础的突破。

    - 集合模拟

    在二十世纪之初,庞加莱就认为在初始条件中加入微小的扰动就会使非线性系统的预报变得极为不同,而这一困难可能会是限制预报技巧的基础。在20世纪50年代,Thompson第一次定量地估计了预报中的初始误差增长,而Lorenz则更为整体化地总结了这些知识,以他对量化大气可预报性的尝试为基础创立了混沌理论。他的结论认为不稳定系统有着有限的、取决于状态的可预报性的极限,由此产生了将初始条件不确定性的增长、它们随着大气状况的演变发展和不完美的模式所引入的误差加以削减的需求。承认天气预报不完美性、并确定如何通过集合的方法计算分析和预报的不确定性是物理科学领域的主要和独特的成就之一。对于降水这样的高变率参数的预报尤其如此(图3),集合发散度定量地描述了降水位置和强度的预报不确定性,为用户提供了重要的信息。

     

    图3. 用于估计英国降水概率的36小时集合预报示意图。 单一预报(中间红框)通过将模式从初始大气状态分析场(左侧)向前进行时间积分获得。在已知的分析误差内的对分析场的小扰动能够提供一组预报解的集合,这一集合对预报的不确定性加以代表(中间的多个框)。将这些预报解以一些空间相邻采样方法相结合便可提供平滑的降水概率估计(右侧)。图片来自K. Mylne(英国气象办公室)。

     

    系统的非线性复杂性意味着使用纯粹统计的方法给出预报的不确定性是不合适的。作为替代,我们需要有一个有着许多完整的、物理化的、非线性的系统具现的集合,以提供分析集合和预报集合的无缝衔接,这其中观测信息可用于减小不确定性。在实际操作中,集合成员通过在初始场和模式物理过程中增加与分析误差和模式误差相当的扰动而获得。一致性、持续性地生成这些扰动、以便让集合提供预报尺度的大范围内不确定性的优良估计是一个挑战,而数学和统计物理学专门技术的介入极为重要。如今的天气预报包括了一组数值天气预报的集合,提供概率性的预报结果。

    - 模式初始化

    早期用于确定初始条件的方法基于对天气图的分析。各种各样的插值方法后来被基于最优控制理论的资料同化技术所取代。对当前大气和地面状况(称为分析)的推导被视为使用观测资料、短期预报所提供的初始信息和它们的不确定性以及预报模式作为约束的贝叶斯反演问题。这些包括了全局最小化的计算在四维中进行,以生成在时间和空间上物理一致的分析,并能够处理大量的、时空分布不均匀的观测数据(例如自20世纪80年代开始用于地球观测的大量而多种多样的卫星数据)。由于初始条件不确定性的估计对集合预报很重要、并且资料同化使用了不完美的观测数据和预报模式,集合方法也成为了资料同化的一个组成部分,如图4所展示的那样。

     

    图4. 集合分析和预报循环示意图。使用上一组分析集合初始化,生成某一时间窗内(如图中09:00 – 21:00 UTC)的全球集合预报轨迹。这组集合提供了对当前天气的估计(初估值场)。这组预报和可用的观测(表示为有误差范围的数据点)之间的差异是短期预报误差。通过使用变分技术在四维空间进行最小化,所生成的改进的估计(四维变分轨迹)与观测之间的距离被减小。下一个集合预报循环再从这一组改善过的分析场进行初始化。图片来自M Bonavita(欧洲中期天气预报中心)。

     

    这些四维变分(4D-Var)资料同化方法的业务运行是全球业务数值天气预报中的里程碑。在欧洲中期天气预报中心(ECMWF)这一方法与1997年开始运行,随后是2000年的法国气象局(Météo-France)、2004年的英国气象办公室(Met Office)、2005年的日本气象厅(JMA)和加拿大环境部(Environment Canada)和2009年的美国海军研究实验室(NRL)。四维变分方法的发展和首次运行花费了超过10年时间,进一步的研究结果也在不断地改进其主要成分。这些包括将预报模式和运算高效的辐射传输模式相结合以更充分地利用卫星辐射数据、使用取决于状态的权重对短期预报和观测误差的特征进行更好的估计以及由物理参数化方案的显著进步带来的对观测的更好的使用。

    可预报性与预报技巧

    地球系统的可预报性的根源是一个持续而重要的研究领域。预报未来的天气就像是一个战场,可预报之力与不可预报之力两军对垒。可预报性的根源包括对小尺度天气的大尺度强迫、不同地理区域的遥相关和可预报链和大气、陆面、植被、海冰和海面的相互作用在较长。的时间尺度上的影响。不可预报性的根源包括小尺度里不稳定性引入的混沌的“噪音”和它们的能量的升尺度传播、与数值近似和物理近似相关的误差和不足的观测数量或糟糕的观测质量。框图1提供了这样一个遥相关和欧洲地区中期预报糟糕的预报表现的来源的例子。

     

    框图1. 预报对初始条件和误差传播的敏感性。展示模式初始化对欧洲地区预报的长距离影响的地图。嵌图a是2014年2月15日大约5公里高度上气流的6天平均预报误差(彩色填色;500百帕气压层的高度,单位米),预报(实线等值线)和用于检验的分析场(虚线等值线)。在美国西部,高空急流向南延伸,与低空槽并置。红色长箭头是一个大气波动扰动随着西风气流的移动路径。大尺度偶极误差结构的出现表明预报和分析之间的滞后(蓝色双向箭头)。欧洲地区的巨大的预报误差主要是由于波的随时间增长的相位移动造成的。对波的传播的反向追踪发现赤道东太平洋(嵌图b的红框)可能使预报误差的来源所在地。这一区域有着非常大的24小时高层风场预报误差,因为此处风场观测极少。如果运行一个嵌图b中的红框区域向分析场松弛逼近而非在预报中自由发展的饰演的话,预报误差的初始误差被减小,六天之后欧洲地区预报和分析之间波的滞后也得以缩减(嵌图b中的蓝色双向箭头),预报误差只有大约原来的一半。这一实验表明了模式初始化的长距离影响和热带与中纬度之间的联系,并展示了在一周时间尺度的预报技巧能够如何提高。

     

    这个“战斗”的结果可以描述为噪音在预报过程中非线性增长、并导致确定事物能够预报的时限的根本局限。小尺度事件的局限在几小时到几天之间,高影响灾害天气的准确和可信预报的时限大约是一到两周,大尺度的天气形势和流场的转变的预报能提前一个月,全球环流异常能提前一个季度加以预报。预报时间越长,预报技巧就越多地取决于异常,也即预报状态和模拟的气候平均态之间的差异,时空平均对于信号的识别也越重要。在短期预报里预报技巧存在于细节之中,而长期预报的技巧则与大尺度结构相关。因而,连续地横跨这么大时空范围的预报极限的预报能力取决于捕捉在差异非常大的时空尺度上的过程的能力。

    相比于其他很多科学领域,数值天气预报的一个天然优势是它的技巧每天都在被覆盖全球地加以客观评估,预报的成功与否可以精确得知,提高预报技巧的途径可以有效地加以测试。我们通常使用平均和均方根误差之类的参量和高空或地面的预报与分析的异常的相关性对预报技巧加以评估。此外,还有着针对像是降水这样更容易变化的变量的评分。随着预报时间的增长,模式的偏差也会变得愈发显著。虽然可以借助以往的预报加以校准以减小模式偏差,在复杂的模式中确认偏差的来源依旧是数值天气预报的最主要的挑战之一,对气候的预报更是如此。使用资料同化统计特征的诊断方法能够对此有所帮助,因为大多数偏差的信号在分析场中和预报早期即已十分明显,虽然它们的量级还很小。这一方法同样能够给天气和气候研究带来益处。

    由于数值天气预报包含了一组预报的集合,评估标准需要考虑概率分布的不同特征,例如平均误差和分布的陡峭程度。通过比较预报的概率分布和观测的出现频率,我们可以确定预报的可信度。由于集合被设计为用于提供极端天气状况的概率的重要信息,我们开始发展着眼于概率分布的尾部的评分,以考虑稀疏的统计特征。

    此外,综合性的以特征为基础的评估方法已经被用于热带气旋和天气流场形势之中,以及评估模式对低纬和高纬、对流层和平流层、行星波活动驱动的天气尺度特征以及天气尺度与小尺度对流和地面之间相互作用的联系的代表性。

    评估预报技巧的另一个有效方法来自于天气模拟和水文模拟的结合,对河流流量的预报能够帮助评估数值模式中降水和源汇,这一方法即可应用于单一模拟也可应用于集合预报。随着天气模式的增强,气溶胶和示踪气体这样的描述大气组分的变量的引入也通过研究示踪物的平流和模式化学参数化给大气演变的评估提供了新的方法。

    我们的现状

     

    业务数值天气预报中心提供从每天多次的非常短期的千米尺度预报到每个月一次的水平分辨率几十公里的全球季节预报。这些预报与天气相关,也应用于空气质量和水文领域。

    资料同化算法将预报模式和每天数千万量级的观测相结合,生成四维空间中物理一致的初始条件:覆盖全球,从地面到中间层(地面以上约80公里),使用从数小时到数天的时间窗。业务模式频繁升级以引进新技术,这些技术或者能够提高对模式物理过程和不确定性的代表、或者提供了不同的数值算法和观测数据用法、或者提高了计算效率。

    在评估模式发展的不同领域对天气预报的成功和提升的贡献的时候,资料同化方法和观测数据的使用很难加以区分,因为它们相互密切关联。更精确的模式物理过程意味着预报能够更好地吻合观测、促进资料同化的提高;这又反过来使得更多的观测能够被吸收,进一步改善预报。

    数值天气预报同样从计算机的进步中获益良多。以浮点运算为标准,自从20世纪80年代开始,计算能力每五年就增长一个数量级。这是处理器技术的进步和更多的处理器加以运用带来的。英特尔联合创始人Gordon Moore的定律认为,得益于每块芯片上晶体管密度和时钟速度的增长,计算能力每18个月就能翻一番。计算能力的增长与数值天气预报中分析和预报计算任务的数量增长齐头并进。在欧洲中期天气预报中心,资料同化在多个阶段中进行模式积分,总计要在12小时的同化时间窗内对6亿5千万的格点进行数百次迭代运算。与此同时,还有大约1千万个辐射运算将超过60个仪器的卫星观测数据和预报模式加以比较。如今,欧洲中期天气预报中心的16公里最高分辨率的模式对两百万个格点柱(译注:也即这一模式每一水平层有两百万个格点)进行计算,以10分钟的时间步长进行10天的预报,也即1440个时间步。相应的集合预报有50个集合成员,生成15到30天的预报,有着30到60公里的水平分辨率和30分钟的时间不长。这样每天两次,有大约四百亿个格点柱的运算在2.5小时内实时运算完毕。这一运算任务需要使用目前最强大的一些超算设备。

    描述全球天气预报技巧的提高的时间序列令人印象深刻(图1),展现了在超过30年时间内,除了一些年际波动以外,预报技巧一直在提高。预报技巧提高的速度使得每十年的研究和发展就会使得预报范围延长一天。这一持续的发展得益于科学的进步以及观测和超算能力的利用。有些预报技巧的波动源于周期性的大气潜在的可预报性的增加或减少。这意味着有些天气状况比其它的更容易准确地提供更长时间的预报。我们对于这些天气状况的了解还在不断发展,也使得我们能够更有针对性地量化预报技巧。

    光明的未来

    气象科学、高性能计算和观测系统的发展对数值天气预报的持续进步是决定性的。关键的科学和技术的十字路口要么已经达到,要么很有可能会在很近的未来达到。因此,当下对天气预报和气候学科未来将会如何发展有着根本性地影响。全球的天气和气候模拟在未来十年甚至更长时间的设想,建立于预期的对物理过程的理解的提升、数值模式的发展、观测技术和高性能运算的基础之上,将会是这样的:在分辨率方面,将能够运行全球的、水平分辨率在1公里量级的对流解析模拟;在复杂程度方面,将能够运行完全耦合的大气-陆地-海洋-海冰模式。有着此等分辨率和复杂程度的集合预报将能够提供动力学、物理学和化学甚至是部分生物化学过程的、从数个季度的天气到数十年的气候的概率预报。这些全球预报为在更高分辨率下有限地理区域内对短期天气演变的模拟提供了重要的初始和边界信息。

    - 科学挑战

    未来全球数值天气预报的主要科学挑战就是过去给数值预报带来主要进展、将天气预报引领至今天这个高度的几个主题:物理过程参数化、使用集合估计分析场和预报的不确定性以及使用观测为预报提供物理一致的初始条件。有许多关键领域可以预期未来的大量进展,与现在相比这些领域同样也需要显著的发展。

    在物理参数化方面,有人可能会预期,随着分辨率的提高,对参数化的需求会逐渐降低。对于辐射、云过程和陆面模式,这是将现有的方案应用于已经在千米尺度的区域和局地模拟中加以使用的完全显式解析的模式的问题。对对流来说,情况会更加复杂,因为即使在当前的解析尺度上(15公里)已经会出现大型的热带对流云或者有组织的对流,而其中包含的小尺度对流卷即使在1公里尺度也无法解析、依旧需要进行参数化。这个能够部分解析对流的模式分辨率范围也被称为灰色地带,因为对通量的解析化贡献和参数化贡献需要定量并加以结合。现有的方案夹射对流完全不可解析,因而它们无法正确地描述同时出现的可解析和不可解析分量在灰色地带里可解析尺度的热量和动量的影响。

    高分辨率有限区域云模式已经表明组织化的对流的动力模型可以被模式捕捉,对对流的生命史、云的组织或者它与大尺度环流的相互作用的模拟可以进一步提高。在目前,以1公里量级的分辨率运行全球模式能否去除与对流相关的不确定性、为减小模式偏差和提高所有时长范围的预报技巧提供基本的踏脚石依旧不甚清楚。由于这样的水平分辨率依旧无法达到,对流参数化对下一个十年里天气和气候的模拟依旧十分重要,在这一领域的进展需要气象界和气候界的合作。

    此外还有两个领域,需要在未来给予更多的关注,有望显著提高预报技巧,同时也需要对科学发展和计算资源的持续投入。

    第一,物理参数化方案内在的不确定性,无论是源于我们对物理过程了解的不完整、还是源于在可解析尺度上展示不可解析过程的影响的两难困境,都需要一个从根本上不一样的方法。参数化方案的元素或者整个方案都可能需要对大尺度而言统计性的组成部分,因为它们并非完全由可解析尺度决定。这方面的例子有对参数概率分布函数的随机取样、次网格模式的随机驱动或通过在次网格尺度内嵌入整个对流解析模拟的超级参数化方法。目前仍不知道这一方法需要从多大程度上与现有方案有所差异。

    第二,添加更多的物理过程和化学过程。更多的物理过程源于大气与海洋、陆面和海冰模式的耦合,其中有些已经在业务运行之中。每种耦合都有其特征的空间和时间尺度,耦合本身带来的益处可能超过3到7天的范围,因为海洋、海冰和陆面过程相对较慢,主要影响长期的系统记忆。然而,有些例子也显示了耦合会对短期预报产生影响:例如,移动速度较慢的热带气旋的尾流中的上翻流会影响热带气旋的强度,陆地的降水会受到地面蒸发和土壤湿度的制约。

    耦合的最大科学挑战在于匹配界面上的通量,在界面上每个组成部分的偏差会相互作用,产生模式冲击,在每个耦合时间步中改变平均场,通过长时间积分的反馈影响预报结果。

    示踪气体和气溶胶这样的大气组分直接影响辐射加热,但是气溶胶同样能在成云过程中作为凝结核,非均相化学会在极地平流云的表面发生,加速臭氧的破坏。不过,气溶胶和示踪气体因其自身就对天气预报很重要,因为它们会影响空气质量。与增加更多的物理和化学过程相关的一个挑战是,模式初始条件中需要提供这些组分的信息,因此更多更复杂的观测需要被同化。中期以上的集合预报的可信度因此可以通过描述模式中复杂得多的过程的不确定性和能够使用更多种多样的观测对耦合模式初始化而得到提高。

    使用更多的已存在的或新的观测以及资料同化的进步给数值天气预报提出了更多的科学挑战。目前每个全球预报只使用了大约5%到10%的卫星数据;这一比例已经包括了对这些预报有用的大部分信息。这一方法对全球对地球观测,尤其是卫星观测,的投入的最优化管理十分重要。然而,数值天气预报受限于不足的观测数据。除了维护能够提供温度和水汽的垂直廓线以及云和近地面天气的骨干卫星和地基观测系统以外,最基础的可观测量是缺失的。一个例子是使用多普勒雷达技术对高空风场进行直接观测,但是这一技术目前并未在业务卫星上加以应用。风场信息的需求主要在热带地区,这一区域覆盖了地球的50%的表面,而此处稀疏的观测是提高分析精度的障碍。然而,已有的骨干观测同样需要有可靠的、适应性强的观测系统提供,而这需要持续的国际投资和合作。卫星和地基观测同样需要相同级别的合作。

    尽管现在的资料同化已经很复杂了,未来还有着许多的挑战,大多数与改进求解算法有关;这些算法将着眼于提高新观测数据的利用,同样也能够处理更好的模式。考虑到产生于报的很大一部分计算开支与资料同化相关,可用的计算资源将会继续成为约束条件。下一代的资料同化方法很可能会应用全新的数学原理,但是近未来的同化方法可能会以现有的原理为基础加以结合。

    目前的算法多半依赖于线性原理和变分方法,而某些特定组成部分,例如误差的统计特征,是通过集合获得的。变分方法通过不同的“风格”加以应用,下一个十年内可能会被或者选择变分和集合的最有效率的结合方法、或者使用集合卡尔曼滤波这样完全基于集合的方法所主导。在较短的时间尺度上起作用的较小尺度的影响(例如对流)可能会需要非线性资料同化方法,而目前对这些方法只有有限的使用理想模式的研究实验。它们目前很难被扩展应用于全球业务应用之中。

    耦合资料同化将对未来耦合模式的初始化至关重要。这一资料同化过程会需要包括大气组分(气溶胶,示踪气体)、海洋、陆面和海冰。每个地球系统的组成部分都有着独特的过程特征和时空尺度,而在一个统一的资料同化框架下对其加以处理将会极其充满挑战。

    - 技术挑战

    如今在数值天气预报领域所使用的最快的计算机在500强中名列前20,每秒浮点运算次数超过一千万亿次(10的15次方),每天使用一百万比特数量级的观测数据、生成一万亿(10的12次方)比特数量级的模式输出结果。未来的全球数值天气预报模式在水平方向分辨率达到公里量级,在大约100层垂直层的共计约五亿个格点上以数秒的时间步长对数量级为一百的预报变量进行积分,生成数量级为一百的集合成员,同时与维数稍低的陆面模式耦合。由于国际合作提供低轨和静止卫星上有数千个通道的高分辨率的光谱仪,观测数据的使用同样会增加一个数量级。

    然而,对未来高性能计算技术发展的预期会给如何解决这些科学挑战带来新的制约。在过去,处理器的发展、存储容量和处理器时钟速度都遵循着摩尔定律发展。这一趋势在未来可能不会持续下去,因为能源需求需要降低。未来可能会更着重于发展并行计算,假如模式在更多的(不同种类相组合的)处理器上运行时求解时间能够获得收益,一个应用的“可扩展性”会因而变得重要。并行运行代码的不同部分的效益会受限于线性运行的部分,这也是从根本上限制可扩展性的要素,类似的还有在不同处理期间交换大量数据的需求。让数值天气预报代码变得更可扩展是接下来十年中优先级最高的事情之一。

    对欧洲中期天气预报中心这样的数值天气预报中心来说,可负担的能源消耗的上限大约是两千万伏安。未来的数值天气预报系统的计算任务可能使现在的系统一百到一千倍,可能会需要十倍的能源。图5描绘了假定在现在的模式设计和可用的技术的情况下单一模拟和50个成员的集合的模式分辨率提高的时候计算核数和电力供应需求的增长。为了达到对解析对流活动至关重要的1到5公里的分辨率,我们将需要有着空前维度和运算量的高性能运算资源(假设使用传统技术)。

     

    图5. 中央处理器和能源需求随数值天气预报模式分辨率的变化。在今天的模式代码和计算技术情况下单一的10天模式预报(下方曲线)和50个成员的集合预报(上方曲线)所需使用的简化的运算核数(左侧y轴)和能源(以百万伏安为单位,右侧y轴)随模式分辨率的变化。阴影区域表示完美扩展(阴影下方曲线)和低效扩展(阴影上方曲线)之间的范围。今天的单一全球预报大约在15公里分辨率运行,集合预报大约在30公里分辨率运行。

     

    因此,我们需要改变现有的硬件、代码设计和数值方法。新技术将会把低能耗处理器与现在中央处理器的继任者结为一体并提供两者的好处——也就是说,在较低的时钟速度下数据交换很少、高度并行的计算性能,加上有着较大存储、快速数据交换和更高的时钟速度的中央处理器式的性能。代码设计和算法的选择必须要通过优化浮点运算性能和存储使用适应这一技术,而由于我们使用的是有数百万行、代代相传的程序,这一过程会充满挑战。在十年内,全球集合预报将会在十万到百万量级的处理器上运行。由于处理器一定会出错和不精确的低能耗硬件的出现,错误的发现和适应性管理将会至关重要。

    对数据分发和存储的需求会进一步加剧计算上的挑战。虽然数据的增长看起来比计算资源的增长要慢,百亿亿(10的18次方)比特的数据生产可能会比百亿亿浮点运算能力更早到来。重新计算甚至比存储更加昂贵,因此以高优先级处理数据挑战是不可避免的。至于未来的处理器技术,数据传输带宽将会受到硬件的制约。偶尔出现的硬件失灵需要通过设计适应性存储系统加以处理。这些失灵同样对未来的工作流程的设计有着意义。更高级的数据压缩方法需要加以应用,并由气象界和气候界一同标准化并加以支持。

    从未来的地球观测系统中会诞生许多的技术机遇和挑战。从高级的一方面说,新的卫星仪器技术将会越来越多地向有着数千个光谱通道、能够探测大气热力状况和组分高光谱辐射计和能探测地面特征、气溶胶、风场、水汽、云和降水的主动仪器(例如高分辨率雷达和激光)的方向发展。这两类仪器每天都能产生一千亿字节数量级的数据,这些数据需要在几个小时内下行、预处理并分发以供预报系统使用。这些数据的分发和存储需要像模式输出结果一样使用并行的方法加以管理。只有在接受可能有“信息损失”的压缩之后,数据分发才会变得可行。从普通的一方面说,手机这样的日用设备对气象观测来说虽然精度不足但是采样率很高,虽然这方面的工作刚刚开始,但是这为特定区域的高密度观测网提供了潜力。

    很显然,在很多领域,科学和技术的挑战是相互联系的。计算和数据处理的效率给需要在有限的时间表内完成的天气和气候模式的复杂程度设定了硬边界,在全球尺度运行1公里对流解析尺度的模拟充满挑战。科学和计算能力之间的权衡早已不是新鲜事,而“可扩展性”为这一问题增加了新的难度。

    数值天气预报的寂静革命需要将科学、观测和计算机技术的进步相结合。这一结合同样出现去其它需要解决大型问题的自然科学之中,例如对人类大脑的神经连接的模拟或宇宙中星系的演变。科学与技术之间的跨学科研究才会带来进一步的发展。随着社会对更准确、更可靠的天气和气候信息的需求变得越来越紧迫,全球数值模式必须要变得更高分辨率、更复杂。全球数值天气预报的进步是可以达到的,但是需要在本文中概述的所有要素的协同发展,图6对此做出了示意性的总结。

    图6. 未来数值天气预报的主要挑战领域。计算能力、参数化方案中对物理过程的代表性、地球系统不同部分的耦合、使用先进资料同化方法处理观测数据和使用集合方法一致性地描述不确定性及其在不同尺度之间的相互作用这些科学和技术方面的进步将会带来预报技巧的进步。椭圆以10米至10000公里之间的尺度为单位展示了数值天气预报中能被模式解析的关键现象及其所代表的从小尺度气流到完全耦合的地球系统之间模拟过程的复杂性。方框代表未来提高预报技巧最有挑战的复杂尺度区域。箭头表示误差在不同分辨率范围和地球系统组成部分之间传播的重要性。

     

    译注:

    1. 寂静革命(法语:Révolution tranquille),指加拿大魁北克在1960年代社会迅速变革的一段时期。变革内容包括社会的世俗化、地方福利的建立和分离主义与联邦主义政治势力的重组。寂静革命是一段经济和社会均不受控制的变革,同样的变革也同时发生在其它西方世界里。(摘自维基百科:https://zh.wikipedia.org/zh/寂静革命)

    2. 决定论(Determinism),又称拉普拉斯信条,是哲学的一种命题,认为每个事件的发生,包括人类的认知、举止、决定和行动都是因为先前的事而有原因地发生。如果从原始宇宙以来,有一连串的事件注定地、从未中断地发生,自由意志则是不可能的。在牛顿主义者看来,世界都是有序的,都是按照着严格的定律来的,它的行为完全可以预测,都有因果关系决定。(摘自维基百科:https://zh.wikipedia.org/zh/决定论)

    展开全文
  • 数据库用户表结构设计,数据库中用户登录注册用户信息表怎么设计如何设计?数据库中用户登录注册用户信息表如何设计如何设计?数据表优化构想
  • CSI:信息的表示与处理-数值陷阱(二) 前言 本篇继续上一篇,进行浮点数的介绍,浮点数的表示并不像整型那样简单,其在计算机中的运算也会使用更多地时钟周期。我们都知道计算机并不能绝对正确的表示浮点数,都是在...
  • 提出一种面向近邻泄露的数值型敏感属性隐私保护方法,该方法首先在保护准标识符属性和数值型敏感属性...实验结果表明,提出的方法能在有效保护数值型敏感信息不泄露的同时保持较高的数据效用,并且保护了数据间的关系。
  • 东北大学秦皇岛分校 数值计算课程设计报告 数值积分及Matlab实现 学 院 数学与统计学院 信息与计算科学 学 号 5133117 姓 名 楚文玉 指导教师 张建波姜玉山 成 绩 教师评语: 指导教师签字: 2015年07月14日 1 绪论 在...
  • 计算机数值和非数值数据编码基础

    千次阅读 2015-01-19 00:01:46
    数值的存储都是小端模式:little endian,网络的传输是大端模式:big endian。 1.整数用补码表示 正数和0的补码是自身;负数的补码是符号位不变,其余各位取反,最后加1(加1是因为二进制最大只能表示到模减1大小...
  • 立足我国公路、铁路及城市轨道交通工程隧道设计现状,以信息化集成系统为平台,结合隧道工程类比设计数据库和有限差分数值仿真技术,完成了隧道信息化集成设计系统.该系统通过将工程类比设计参数数据化形成设计...
  • 数值类型的转换

    千次阅读 2018-10-15 17:49:39
    最近在找工作的时候,经常碰到一些数值类型转换的笔试题,也想好好整理一下java的知识点,首先上一张图:  这个箭头表示可以自动转换类型的路线图,他们之间可以越级自动转换,例如char类型可以直接转为double...
  • 数值策划要做什么? 有一天和朋友闲聊,说起我在做数值策划,他突然用很崇拜的语气问我:“是不是要会很多牛x的公式?”。其实很多人都会这样的想法:要会很多公式、数学要很厉害才能做数值策划。真的是这样么?...
  • MATLAB | 经典力学框架下的三体运动数值模拟软件

    万次阅读 多人点赞 2018-10-19 15:14:57
    本文基于MATLAB及其GUI界面设计了一个基于经典力学的三体运动数值模拟软件,旨在建立经典力学框架内的空间三质点运动模型,又名为三体运动模型。软件根据当前的质点初始运动参数,运用数值模拟,迭代计算出后续每一...
  • 东北大学秦皇岛分校 数值计算课程设计报告 数值积分算法及MATLAB实现 学 院 数学与统计学院 专 业 信息与计算科学 学 号 姓 名 陈悦 指导教师 姜玉山 张建波 成 绩 教师评语 指导教师签字 2015年07月14日 1 绪论 ...
  • 本书专为物理学家设计,涵盖了物理学中用于解决现实问题的各种数值和分析技术。 有关完整的书籍说明和订购信息,请参阅http://www.mathworks.com/support/books/book1592.jsp 。
  • 常用数值计算库

    千次阅读 2013-04-14 23:53:13
    常用数值计算库linpack软件名称 Linear Algebra Package 程序设计语言 Fortran 77 发布日期 1980 资源网址 http://www.netlib.org/linpack 下载专栏 Linpack压缩包 功能概述 解线性方程和线性最小二乘问题的子程序包...
  • http://www.gameres.com/456687.html ... 关于游戏数值我只想说:数值不是你想象的那么简单!  下面具体说说我对数值工作的想法。  1)不要随大流。  例如,很多人就认为腾讯能成功靠的
  • 2018.在这两个月中,我深入研究了数值方法,数值稳定性,最优控制和Matlab编程(更多详细信息请参见我的报告在这里:)。 由于这是一个非常令人兴奋的项目,因此我在离开程序后继续进行研究。 该项目仍在进行中。 ...
  • 静态原型的更多天气信息天气的更多信息,是通过列表的形式展现的。参数设计列表项的高度在Material Design中,被定义成了48dp;并且整个list的顶部还有8dp的边距。列表项由3部分组成,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 266,545
精华内容 106,618
关键字:

信息数值设计