文档库 最新最全的文档下载
当前位置:文档库 › Openlayers加载Geoserver WFS

Openlayers加载Geoserver WFS

Openlayers加载Geoserver WFS
Openlayers加载Geoserver WFS

Openlayers加载Geoserver WFS

1、环境说明:

操作系统:Window 7 64位

GeoServer:GeoServer 2.1.2,端口8090

Openlayers:OpenLayers-2.12

Tomcat:apache-tomcat-7.0.22,端口8080

2、数据准备及发布

本文用到的数据为一面状数据,本地shapefile文件(Continents.shp),预览图如下:

2.1、在GeoServer的数据目录新建一目录Continents,把shp文件连同它关联的其它几个文件复制到该目录下;

2.2、打开GeoServer管理页面,用管理员登录:admin/geoserver;

2.3、新建一个Workspace,命名“mytest”,uri设置为:“https://www.wendangku.net/doc/405415478.html,/mytest”

2.4、添加一个Store,点击“Stores”->“Add new Store”,

选择“Shapefile”,在新的页面中输入如下信息:

(1)选择Workspace:设置为新建的“mytest”;

(2)设置Data Source Name:Continents;

(3)选择Shapefile location:file:data/Continents/Continents.shp

点击“save”保存。

2.5、图层发布。上一步点击“save”后,即弹出发布界面,如下图所示:

点击“Publish”按钮,弹出参数设置界面,该界面中主要设置wfs、wms服务相关的一些参数,不作详解,根据实际情况选择设置即可:

点击“Save”按钮,返回“Layers”界面,就可以看到新发布的Layer了:

2.6、图层预览:

点击GeoServer管理页面中“Layer Preview”按钮,找到刚发布的Layer;

点击“OpenLayers”,显示如下:

点击“Select one”,选择“WFS->GML2”,输出如下错误:

https://www.wendangku.net/doc/405415478.html,ng.NullPointerException

null

出现该错误的原因是Workspace(“mytest”)没有输出到图层的字段信息中,为什么会出现该问题目前还不清楚,要解决该问题可以通过如下方法:

在“Workspaces”页面中,修改“mytest”为其它名称(如mytest2),点击保存,这时会提示一个错误,不管它,保存完后,再到“Layer Preview”页面中查看,这时就可以了,如下图。如果觉得“mutest2”不喜欢,再改回去也没问题了。具体原因还要再详细查找。

到此次为止,服务发布完成。

3、在OpenLayers中加载Geoserver发布的WFS。

本人在实现该功能时遇到了两个问题:

(1)关于Openlayers中加载wfs的写法;

(2)Openlayers加载wfs时存在跨域问题。

下面一个一个来说。

3.1 写法问题

google、baidu、查看Openlayers API及Example后,得出在Openlayers中加载GeoServer WFS服务的写法如下:

varwfs = new https://www.wendangku.net/doc/405415478.html,yer.Vector("WFS", {

strategies: [new OpenLayers.Strategy.Fixed()],

projection: new OpenLayers.Projection("EPSG:4326"),

protocol: new OpenLayers.Protocol.WFS({

version : "1.0.0",

url: "http://localhost:8090/geoserver/wfs",

featureType: "Continents",

featurePrefix : "mytest",

featureNS: "https://www.wendangku.net/doc/405415478.html,/mytest",

srsName : "EPSG:4326",

geometryName:"the_geom"

})

});

下面介绍下几个关键的参数:

url:指GeoServerwfs服务地址,我安装在本机,端口号为8090;

featureType:发布的wfs图层名称,如上文所述,本文发布的wfs图层为:Continents;featureNS:GeoServer中workspace uri,本文中新建的workspace为:

https://www.wendangku.net/doc/405415478.html,/mytest;

清楚了加载wfs的写法后,发现怎么加载都没反应,后来在IE中调试发现,报“拒绝访问”的错误,百度后得知存在跨域问题。

3.2 跨域问题

Openlayers提供了使用代理的方式解决跨域问题,不过要搭建好这个代理环境得花点功夫。“在OpenLayers中如果要使用代理,那么我们先要改变全局变量OpenLayers.ProxyHost的值,设置成服务器的地址,url则为提供数据的地址,它和服务器不在同一个域中,这实际上是利用服务器进行了中转,因为服务器去跨域取数据要灵活的多

下面具体说明在Tomcat下搭建的过程:

(1)获取proxy.cgi文件。如果你已经下载到了Openlayers包,可以在其eaxmple文件夹下找到该文件,或者可以去网站下载(proxy.cgi);

(2)安装python;

(3)修改tomcat配置。

在Tomcat的配置文件中找到context.xml做如下修改:;

或者copy 该文件至META-INF下做如上修改。

(4)新建Java web工程(我的工程名称为openlayers),修改web.xml文件,添加如下内容:

cgi

org.apache.catalina.servlets.CGIServlet

debug

cgiPathPrefix

WEB-INF/cgi

executable

C:/Python26/ArcGIS10.0/python.exe

passShellEnvironment

true

5

default

/

cgi

/cgi/*

上述标注处是要根据实际安装修改的地方。

(5)修改proxy.cgi文件,添加本机GeoServer服务地址。如下:

将修改好的文件复制到java web工程的WEB-INF/cgi(与web.xml文件中的配置对应)文件夹下。

至此代理搭建完成。启动tomcat服务,在地址栏中输

入http://localhost:8080/openlayers/cgi/proxy.cgi,即可看到Openlayers的主页。

本文最后加载看到的截图如下:

Fluent经典问题及解答

Fluent经典问题及解答 1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢?(#61) 2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。(13楼) 3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?(#80) 4 常见离散格式的性能的对比(稳定性、精度和经济性)(#62) 5 在利用有限体积法建立离散方程时,必须遵守哪几个基本原则?(#81) 6 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么?(#130) 7 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?(#55) 8 什么叫边界条件?有何物理意义?它与初始条件有什么关系?(#56) 9 在一个物理问题的多个边界上,如何协调各边界上的不同边界条件?在边界条件的组合问题上,有什么原则? 10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别?(#143) 11 在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解?(#35) 12 在GAMBIT的foreground和background中,真实体和虚实体、实操作和虚操作四个之间是什么关系? 13 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节?(#38) 14 画网格时,网格类型和网格方法如何配合使用?各种方法有什么样的应用范围及做网格时需注意的问题?(#169) 15 对于自己的模型,大多数人有这样的想法:我的模型如何来画网格?用什么样的方法最简单?这样做网格到底对不对?(#154) 16 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢?(#40) 17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则?(#170) 18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?(#128) 19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?(#127) 20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的?(#41) 21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么?(9楼) 22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?(7楼)

OpenLayers二维地图使用教程

OpenLayers 1 OpenLayers简介 OpenLayers是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范,OpenLayers 采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript语言实 现,而应用于Web浏览器中的DOM(文档对 象模型)由JavaScript实现,同时,Web浏览 器(比如IE,FF等)都支持DOM。OpenLayers APIs采用动态类型脚本语言JavaScript编写, 实现了类似与Ajax功能的无刷新更新页面, 能够带给用户丰富的桌面体验(它本身就有一 个Ajax类,用于实现Ajax功能)。 目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。当然,也可以用简单的图片作为源。 在操作方面,OpenLayers 除了可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作,甚至可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。同时,在OpenLayers提供的类库当中,它还使用了类库Prototype.js 和Rico 中的部分组件,为地图浏览操作客户端增加Ajax效果。 2 Openlayers基本使用方法 Openlayers是使用Javascript编写的脚本,与网页设计技术密切相关,因此在使用之前需要掌握一定得相关知识,例如html、css、javascript等。编辑工具推荐使用:EditPlus。 1)下载并拷贝源代码即相关文件 到Openlayers官方网站https://www.wendangku.net/doc/405415478.html,下载源代码压缩包,解压后可以看到其中的一些目录和文件。需要拷贝的文件和目录有:根目录下的【OpenLayer.js】文件、根目录下的【lib】目录、根目录下的【img】目录、根目录下的【theme】目录。将这4项内容拷贝到你网站的Scripts目录下(当然,这个只是例子,自己的网站程序目录结构自己说了算,只要保证OpenLayers.js,/lib,/img,/theme在同一目录中即可)。

fluent经典问题整理

网格质量与那些因素有关? 网格质量本身与具体问题的具体几何特性、流动特性及流场求解算法有关。因此,网格质量最终要由计算结果来评判,但是误差分析以及经验表明,CFD计算对计算网格有一些一般性的要求,例如光滑性、正交性、网格单元的正则性以及在流动变化剧烈的区域分布足够多的网格点等。对于复杂几何外形的网格生成,这些要求往往并不可能同时完全满足。例如,给定边界网格点分布,采用Laplace 方程生成的网格是最光滑的,但是最光滑的网格不一定满足物面边界正交性条件,其网格点分布也很有可能不能捕捉流动特征,因此,最光滑的网格不一定是最好的网格。对计算网格的一个最基本的要求当然是所有网格点的Jacobian必须为正值,即网格体积必须为正,其他一些最常用的网格质量度量参数包括扭角(skew angle)、纵横比(aspect ratio、Laplacian)、以及弧长(arc length)等。通过计算、检查这些参数,可以定性的甚至从某种程度上定量的对网格质量进行评判。Parmley等给出了更多的基于网格元素和网格节点的网格质量度量参数。有限元素法关于插值逼近误差估计的理论,实际上也对网格单元的品质给出了基本的规定:即每个单元的内切球半径与外切球半径之,应该是一个适当的,与网格疏密无关的常数。 实体与虚体的区别 在建模中,经常会遇到实体、实面与虚体、虚面,虚体的计算域也可以进行计算并得到所需的结果。那么它们的区别是什么呢? 对于求解是没有任何区别的,只要你能在虚体或者实体上划分你需要的网格。关键是看你网格生成的质量如何,与实体虚体无关。 gambit的实体和虚体在生成网格和计算的时候对于结果没有任何影响,实体和虚体的主要区别有以下几点: 1.实体可以进行布尔运算但是虚体不能,虽然不能进行布尔运算,但是虚体存在merge,split 等功能。 2.实体运算在很多cad软件里面都有,但是虚体是gambit的一大特色,有了虚体以后,gambit 的建模和网格生成的灵活性增加了很多。 3.在网格生成的过程中,如果有几个相对比较平坦的面,你可以把它们通过merge合成一个,这样,作网格的时候,可以节省步骤,对于曲率比较大的面,可能生成的网格质量不好,这时候,你可以采取用split的方式把它划分成几个小面以提高网格质量。 在Fluent中进行非稳态(unsteady)计算时如何设置步长?

CAD绘图使用技巧(实践版)05图层控制命令、视图命令、图元选择方式

图层控制命令、视图命令、图元选择方式 图层控制命令和视图命令都是辅助绘图的命令,但是这些命令非常的关键,是否熟练,将会极大地影响到绘图的效率。先来看看和图层有关的命令。 和图层有关的命令实际上大部分是在Express(02版中好像是在Bonus)中,在安装AUTOCAD时,要完全安装才能出现。图层命令中,第一个,当然是layer,图层属性管理器。里面的具体内容以前已较为详细的谈过,这次不再重复。和图层控制有关的其他命令,则都是让我们在绘图过程中如何方便的来控制图层的“开关(显示)”、“锁定”、“当前层”,方便的转换所绘制图元的层属性。 和“当前层”有关的命令:ai_molc 改变当前层为所选择图元所属层。这个命令在工具栏里就有,大家应该都已经比较熟悉了。laycur (change to current layer) 改变所选择图元所属层为当前层。 和“开关”有关的命令: layoff (layer off) 关掉选择层。 Layiso* (layer isolate) 图面显示仅保留所选层(孤立层)。 Layon* (turn all layers on) 打开所有层。 和“锁定”有关的命令。 laylck (layer lock) 锁定选择层 layulk (layer unlock) 解开选择的锁定层 layerlckiso* 除选择层外,其它层均锁定(插件“免费迷你建筑工具”中的命令) 其它图层控制命令 layerp 恢复至上一个图层状态 laymch (layer match)改变选择图元所属层为最后选择的图元的层(类似于matchprop,但选择图元的顺序正好相反) 图层命令希望大家能花一点时间熟悉并掌握,当然,前提条件是图纸中的图元图层设置归类条例清晰。这点做不到的话,一切免谈。上面有三个命令,打* 号的,是大家平常可能忽视掉,但非常管用的命令。 视图命令有三类:

openlayers经典例子

Openlayers经典例子 案例地址 (2) 一. Popup (2) 二、图层叠加 (3) 三、编辑功能 (5) 四、鹰眼 (7) 五、书签及样式 (7) 六、改变显示内容 (9) 七、SLD (9) 八、动画效果 (10) 九、获得属性 (11) 十、局部放大 (12) 十一、记录上次操作历史 (12) 十二、鼠标滚轮 (13) 十三、鼠标坐标 (13) 十四、标签 (14) 十五、全屏 (14) 十六、显示缩放比例 (15)

案例地址 https://www.wendangku.net/doc/405415478.html,/releases/OpenLayers-2.10/examples/ https://www.wendangku.net/doc/405415478.html,/dev/examples/ 一.Popup https://www.wendangku.net/doc/405415478.html,/dev/examples/sundials.html https://www.wendangku.net/doc/405415478.html,/dev/examples/sundials-spherical-mercator.html

https://www.wendangku.net/doc/405415478.html,/dev/examples/select-feature-openpopup.html 二、图层叠加 https://www.wendangku.net/doc/405415478.html,/dev/examples/layerswitcher.html

https://www.wendangku.net/doc/405415478.html,/dev/examples/wmts-getfeatureinfo.html https://www.wendangku.net/doc/405415478.html,/dev/examples/wmts-capabilities.html

Fluent动网格----layering个一个简单实例(作者Snow)

Fluent动网格----layering个一个简单实例我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。 1.Gambit画网格 本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做! 这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要制定。 2.编写UDF #include "udf.h" #include "unsteady.h" #include "stdio.h" #include "stdlib.h" /************************************************************/ real current_time = 0.0 ; Domain * domain ; Thread * thread ; real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment ) ; /************************************************************/ DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime) { current_time = CURRENT_TIME ; vel[0] = 30; Message("time=%f omega=%f\n",current_time) ; }

Openlayers教程

OpenLayers教程 1开始使用openlayers 1.1设置 先到它的官方网站https://www.wendangku.net/doc/405415478.html,下载他的压缩包,解压。 拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。然后,创建一个****.html作为查看地图的页面。 2试验openlayers 环境:geoserver1.7 Openlayers2.4 Dreamviever8 2.1第一个地图窗口 目标:用openlayers加载geoserver wms。 步骤: (1)空白html文件 (2)插入div-map (3)为div付风格 以上为未加载地图的静态页面 代码为: 效果为: (4)插入openlayers代码引用 (5)写js代码,主要是init() 第一个地图窗口就完成了 注1.js中defer的作用是页面加载完成后,执行脚本。

注2.222 2.2控制地图与div的占据区域 目标:让地图默认占满展现区 方法: 设置map的options,由其中两个因素决定:maxExtent-最大地图边界;maxResolution-最大解析度。 当maxExtent设置为地图的最大边界后,maxResolution设置为auto,那地图就占满DIV。 var options = { controls: [], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, units: 'degrees' }; map = new OpenLayers.Map('map',options); 2.3地图控制-尺度缩放 目标:填加尺度缩放控件 步骤: (1)map初始化赋参数 var options = { controls: [], //scales: [50000000, 30000000, 10000000, 5000000], maxExtent: bounds, maxResolution: "auto", projection: "EPSG:4326", numZoomLevels: 7, (表示有几个缩放级别) units: 'degrees' }; map = new OpenLayers.Map('map',options); (2)填加控件,代码 map.addControl(new OpenLayers.Control.PanZoomBar({ position: new OpenLayers.Pixel(2, 15)(右边距,上边距) })); 思考:级别的计算,个人推测由(maxResolution- minResolution)/ numZoomLevels,但是默认值是书面日后再细究。

geoserver

●利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。 这个规范定义了三个操作: ?GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述; ?GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的; ?GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息 WFS: Web Feature Service(Web要素服务) ●Web 地图服务返回的是图层级的地图影像, ●Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删 除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作: ?GetCapabilites 返回Web要素服务性能描述文档(用XML描述); ?DescribeFeatureType 返回描述可以提供服务的任何要素结构的XML文档; ?GetFeature 一个获取要素实例的请求提供服务; ?Transaction 为事务请求提供服务; ?LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求。 WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。 WCS:Web Coverage Service(Web覆盖服务) Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。 ●网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType: ?GetCapabilities 操作返回描述服务和数据集的XML文档。 ?GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能 够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。 ?DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层 的完全描述。 GML: Geography Markup Language. 一种用于描述地理数据的XML。OGC——Open Geospatial Consortium——开放地理信息联盟 总之,GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如:MapBuilder (for web pages), UDig, GVSig,等等。对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。

FLUENT基础知识总结

======== FLUENT基础知识总结 仅仅就我接触过得谈谈对fluent的认识,并说说哪些用户适合用,哪些不适合fluent对我来说最麻烦的不在里面的设置,因为我本身解决的就是高速流动可压缩N-S方程,而且本人也是学力学的,诸如边界条件设置等概念还是非常清楚的同时我接触的流场模拟,都不会有很特别的介质,所以设置起来很简单。 对我来说,颇费周折的是gambit做图和生成网格,并不是我不会,而是gambit 对作图要求的条件很苛刻,也就是说,稍有不甚,就前功尽弃,当然对于计算流场很简单的用户,这不是问题。有时候好几天生成不了的图形,突然就搞定了,逐渐我也总结了一点经验,就是要注意一些小的拐角地方的图形,有时候做布尔运算在图形吻合的地方,容易产生一些小的面最终将导致无法在此生成网格,fluent里面的计算方法是有限体积法,而且我觉得它在计算过程中为了加快收敛速度,采取了交错网格,这样,计算精度就不会很高。同时由于非结构网格,肯定会导致计算精度的下降,所以我一贯来认为在fluent里面选取复杂的粘性模型和高精度的格式没有任何意义,除非你的网格做的非常好。 而且fluent5.5以前的版本(包括5。5),其物理模型,(比如粘性流体的几个模型)都是预先设定的,所以,对于那些做探索性或者检验新方法而进行的模拟,就不适合用。 同时gambit做网格,对于粘性流体,特别是计算湍流尺度,或者做热流计算来说其网格精度一般是不可能满足的,除非是很小的计算区域。所以,用fluent 做的比较复杂一点的流场(除了经典的几个基本流场)其计算所得热流,湍流,以及用雷诺应力模拟的粘性都不可能是准确的,这在物理上和计算方法已经给fluent判了死刑,有时候看到很多这样讨论的文章,觉得大家应该从物理和力学的本质上考虑问题。 但是,fluent往往能计算出量级差不多的结果,我曾经做了一个复杂的飞行器热流计算,高超音速流场,得到的壁面热流,居然在量级上是吻合的,但是,从计算热流需要的壁面网格精度来判断,gambit所做的网格比起壁面网格所满足的尺寸的要大了至少2个数量级,我到现在还不明白fluent是怎么搞的。 综上,我觉得,如果对付老板的一些工程项目,可以用fluent对付过去,但是如果真的做论文,或者需要发表文章,除非是做一些技术性工作,比如优化计算一般用fluent是不适合的。 我感觉fluent做力的计算是很不错的,做流场结构的计算,即使得出一些涡,也不是流场本身性质的反应,做低速流场计算,fluent的优势在于收敛速度快,但是低速流场计算,其大多数的着眼点在于对流场结构的探索,所以计算得到的

fluent全攻略(探索阶段)

GAMBIT使用说明 GAMBIT是使用FLUENT进行计算的第一个步骤。在GAMBIT 中我们将完成对计算模型的基本定义和初始化,并输出初始化结果供FLUENT的计算需要。以下是使用GAMBIT的基本步骤。 1.1定义模型的基本几何形状 如左图所示的按钮就是用于构造模型的基本几何形状的。当按下这个按钮时,将出现 如下5个按钮,它们分别是用以定义点、线、面、体的几何形状的。 值得注意的是我们定义这些基本的几何元素的一般是依照以下的顺序: 点——线(两点确定一线)——面(3线以上确定一面)——体(3面以上确定体)对各种几何元素的操作基本方式是:首先选中所要进行的操作,再定义完成操作所要的其他元素,作后点“APPL Y”按钮完成操作。以下不一一重复。 下面我们分别介绍各个几何元素的确定方法: 1.1.1点的操作 对点的操作在按下点操作按钮后进行(其他几何元素的操作也是这样)。点有以下几种主要操作 定义点的位置按钮,按下后出现下面对话框 Coordinate Sys.:用以选择已有坐标系中进行当前操 作的坐标系 Type:可以选择3种相对坐标系为当前坐标系:笛卡 儿坐标、柱坐标、球坐标。 以下通过在Global 中直接输入点的x、y、z值定义点, 注意这里的坐标值是绝对坐标值,而Local中输入的是相 对坐标值,一般我们使用绝对坐标值。 Label:为所定义的点命名。 在完成以上定义后就可以通过进行这个点 的定义,同时屏幕左半部的绘图区中将出现被定义的点。 用关闭此对话框。 查看所有点的几何参数按钮(在以后的操作中也可以查看其他元素的几何参数) 在Vertices栏中选择被查询的点,有两种选择方式(其他几 何元素的选择与此类似): ①按住shift键的同时用鼠标左键取点

Fluent经典问题及答疑2

Fluent经典问题及答疑2 51 对于出口有回流的问题,在出口应该选用什么样的边界条件(压力出口边界条件、质量出口边界条件等)计算效果会更好?(#42) 52 对于不同求解器,离散格式的选择应注意哪些细节?实际计算中一阶迎风差分与二阶迎风差分有什么异同?(#69) 53 对于FLUENT的耦合解算器,对时间步进格式的主要控制是Courant数(CFL),那么Courant 数对计算结果有何影响?(#43) 54 在分离求解器中,FLUENT提供了压力速度耦和的三种方法:SIMPLE,SIMPLEC及PISO,它们的应用有什么不同?(#44) 55 对于大多数情况,在选择选择压力插值格式时,标准格式已经足够了,但是对于特定的某些模型使用其它格式有什么特别的要求? (#60) 56 计算流体力学中在设定初始条件和边界条件的时候总是要先选择一组湍流参数,并给出其初值。如何选择并给出这些初值呢?有什么经验公式或者别的好的办法吗?(#73) 57 讨论在数值模拟过程中采用四面体网格计算效果好,还是采用六面体网格更妙呢?(#70) 58 如何将自己用C语言编辑的程序导入到FLUENT中?在利用UDF编写程序时需注意哪些问题?(#157) 59 在UDF中compiled型的执行方式和interpreted型的执行方式有什么不同?(#72) 60 在用gambit的时候,导入pro/e的stp文件后,在消去最短边的时候,有些最短边不能消去,其是空间线段,用面merge的方法和连接点的方法都不行,请问该怎么消去这类短边?(#144) 61 FLUENT help和GAMBIT help能教会我们(特别是刚入门的新手)学习什么基本知识?(#126) 62 FLUENT如何做汽车外流场计算的模拟?并且怎么可以得到汽车的阻力系数和升力系数?(#170) 63 FLUENT模拟飞行器外部流场,最高MA多少时就不准确了?MA达到一定的程度做模拟需注意哪些问题?(#125) 64 在用gambit建模,保存成*.msh文件时总是出现No entity的错误:Continuum Entity fluid does not contain any valid entity and is not written! Boundary Entity wall does not contain any validentity and is not written! 不知道是什么问题?产生的原因是什么?如何解决?(#150) 65 在做燃烧模拟的时候,入口燃料温度定义为蒸发/离解开始时的温度(也就是,为离散相材料指定的蒸发温度“Vaporization Temperature”),这是指水分蒸发温度吗?一般是多少?(#196) 66 在计算煤粉燃烧时遇到这样的问题: Warning: volatile + combustible fraction for lignite is greater than 1.0shell conduction zones 如何解决? 67 FLUENT控制方程是无因次的还是有因次的?如果是无因次的,怎么无因次的? 68 做飞机设计时,经常计算一些翼型,可是经常出现计算出来的阻力是负值,出现负值究竟是什么原因,是网格的问题还是计算参数设置的问题?(#71) 69 FLUENT中的Turbulent intensify是如何定义的?该值应该是小于等于100%,可是我的计算中该值达到400%,不知为何? 70 边界条件中湍流强度怎么设置:入口边界条件中的湍流强度和出口边界条件中的回流湍流强度怎么设置?是取默认值10%吗?(#135) 71 关于Injection中的Total Flow rate:injection 选surface,此时选了好几个面(面积不一定完全相同,但颗粒的入口速度相同),那Total Flow Rate 是指几个面的总流量还是某一个面的啊?只能处理完全相同的面吗?(#160) 72 FLUENT中能不能做插值:在ansys中的模型节点坐标和FLUENT中模型的节点坐标不一致,能

FLUENT菜鸟入门-不可不知的50个经典问题

Fluent必知的一些基本概念! 连续性方程不收敛是怎么回事? 在计算过程中其它指数都收敛了,就continuity不收敛是怎么回事 这和Fluent程序的求解方法SIMPLE有关。SIMPLE根据连续方程推导出压力修正方法求解压力。由于连续方程中流场耦合项被过渡简化,使得压力修正方程不能准确反映流场的变化,从而导致该方程收敛缓慢。 你可以试验SIMPLEC方法,应该会收敛快些。 湍流与黏性有什么关系? 湍流和粘性都是客观存在的流动性质。 湍流的形成需要一定的条件,粘性是一切流动都具有的。 流体流动方程本身就是具非线性的。 NS方程中的粘性项就是非线性项,当然无粘的欧拉方程也是非线性的。 粘性是分子无规则运动引起的,湍流相对于层流的特性是由涡体混掺运动引起的。 湍流粘性是基于湍流体的parcel湍流混掺是类比于层流体中的分子无规则运动,只是分子无规则运动遥远弱些吧了。不过,这只是类比于,要注意他们可是具有不同的属性。粘性是耗散的根源,实际流体总是有耗散的。 而粘性是制约湍流的。 LANDAU说,粘性的存在制约了湍流的自由度。 湍流粘性系数和层流的是不一样的,层流的粘性系数基本可认为是常数,可湍流中层流底层中粘性系数很小,远小于层流时的粘性系数;而在过渡区,与之相当,在一个数量级;在充分发展的湍流区,又远大于层流时的粘性系数.这是鮑辛内斯克1987年提出的。 1 FLUENT的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西? 一般是选取ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。 2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢? 对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值("额定值"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。即使解收敛了,这并

Ansys Workbench Fluid Flow(FLUENT)经典问题

1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢? 学习任何一个软件,对于每一个人来说,都存在入门的时期。认真勤学是必须的,什么是最好的学习方法,我也不能妄加定论,在此,我愿意将我三年前入门FLUENT心得介绍一下,希望能给学习FLUENT的新手一点帮助。 由于当时我需要学习FLUENT来做毕业设计,老师给了我一本书,韩占忠的《FLUENT流体工程仿真计算实例与应用》,当然,学这本书之前必须要有两个条件,第一,具有流体力学的基础,第二,有FLUENT 安装软件可以应用。然后就照着书上二维的计算例子,一个例子,一个步骤地去学习,然后学习三维,再针对具体你所遇到的项目进行针对性的计算。不能急于求成,从前处理器GAMBIT,到通过FLUENT进行仿真,再到后处理,如TECPLOT,进行循序渐进的学习,坚持,效果是非常显著的。如果身边有懂得FLUENT 的老师,那么遇到问题向老师请教是最有效的方法,碰到不懂的问题也可以上网或者查找相关书籍来得到答案。另外我还有本《计算流体动力学分析》王福军的,两者结合起来学习效果更好。 2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。 https://www.wendangku.net/doc/405415478.html,/dvbbs/viewFile.asp?BoardID=61&ID=1411 A.理想流体(Ideal Fluid)和粘性流体(Viscous Fluid): 流体在静止时虽不能承受切应力,但在运动时,对相邻的两层流体间的相对运动,即相对滑动速度却是有抵抗的,这种抵抗力称为粘性应力。流体所具备的这种抵抗两层流体相对滑动速度,或普遍说来抵抗变形的性质称为粘性。粘性的大小依赖于流体的性质,并显著地随温度变化。实验表明,粘性应力的大小与粘性及相对速度成正比。当流体的粘性较小(实际上最重要的流体如空气、水等的粘性都是很小的),运动的相对速度也不大时,所产生的粘性应力比起其他类型的力如惯性力可忽略不计。此时我们可以近似地把流体看成无粘性的,这样的流体称为理想流体。十分明显,理想流体对于切向变形没有任何抗拒能力。这样对于粘性而言,我们可以将流体分为理想流体和粘性流体两大类。应该强调指出,真正的理想流体在客观实际中是不存在的,它只是实际流体在某些条件下的一种近似模型。 B.牛顿流体(Newtonian Fluid)和非牛顿流体(non-Newtonian Fluid): 日常生活和工程实践中最常遇到的流体其切应力与剪切变形速率符合下式的线性关系,称为牛顿流体。而切应力与变形速率不成线性关系者称为非牛顿流体。图2-1(a)中绘出了切应力与变形速率的关系曲线。其中符合上式的线性关系者为牛顿流体。其他为非牛顿流体,非牛顿流体中又因其切应力与变形速率关系特点分为膨胀性流体(Dilalant),拟塑性流体(Pseudoplastic),具有屈服应力的理想宾厄流体(Ideal Bingham Fluid)和塑性流体(Plastic Fluid)等。通常油脂、油漆、牛奶、牙膏、血液、泥浆等均为非牛顿流体。非牛顿流体的研究在化纤、塑料、石油、化工、食品及很多轻工业中有着广泛的应用。图2-1(b)还显示出对于有些非牛顿流体,其粘滞特性具有时间效应,即剪切应力不仅与变形速率有关而且与作用时间有关。当变形速率保持常量,切应力随时间增大,这种非牛顿流体称为震凝性流体(Rheopectic Fluid)。当变形速率保持常量而切应力随时间减小的非牛顿流体则称为触变性流体(Thixotropic Fluid)。 C.可压缩流体(Compressible Fluid)和不可压缩流体(Incompressible Fluid):

Fluent经典问题及答疑

Fluent经典问题及答疑 1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢?(#61) 2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。(13楼) 3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?(#80) 4 常见离散格式的性能的对比(稳定性、精度和经济性)(#62) 5 在利用有限体积法建立离散方程时,必须遵守哪几个基本原则?(#81) 6 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么?(#130) 7 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?(#55) 8 什么叫边界条件?有何物理意义?它与初始条件有什么关系?(#56) 9 在一个物理问题的多个边界上,如何协调各边界上的不同边界条件?在边界条件的组合问题上,有什么原则? 10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别?(#143) 11 在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解?(#35) 12 在GAMBIT的foreground和background中,真实体和虚实体、实操作和虚操作四个之间是什么关系? 13 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节?(#38) 14 画网格时,网格类型和网格方法如何配合使用?各种方法有什么样的应用范围及做网格时需注意的问题?(#169) 15 对于自己的模型,大多数人有这样的想法:我的模型如何来画网格?用什么样的方法最简单?这样做网格到底对不对?(#154) 16 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢?(#40) 17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则?(#170) 18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?(#128) 19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?(#127) 20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT 是怎样使用区域的?(#41) 21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么?(9楼) 22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?(7楼) 23 在FLUENT运行过程中,经常会出现“turbulence viscous rate”超过了极限值,此时如何解决?而这里的极限值指的是什么值?修正后它对计算结果有何影响?(#28)

Fluent学习经典教材列举

G. Falkovich, Fluid Mechanics: A Short Course for Physicists L.D. Landau and E.M. Lifshitz, “Fluid Mechanics” - a classic G.K. Batchelor, “An Introduction to Fluid Dynamics” - complements Landau G.B. Whitman; “Linear and Nonlinear Waves” - yet another great one J. Lighthill; “Waves in Fluids” - excellent and accessible U. Frisch; “Turbulence-The Legacy of A.N. Kolmogorov” – classic book on urbulence ala’ K41 A. Townsend; “The Structure of Turbulent Shear Flow” –classic book on urbulence in real systems 上面诸位推荐流体力学教材若干,我另外推荐一本可能更侧重计算流体力学(CFD)的书:Computational Methods for Fluid Dynamics 2002 Joel Henry Ferziger, Milovan Peri? 这本书不算太旧,作者是斯坦福计算流体力学专业的教授,公认的计算流体力学方面的专家,springer出品,质量应该不会太差。 推荐几本我自己学的书吧。我个人非常反感将流体力学讲成数学课的做法。 基础书: 1.Frank White, Fluid Mechanics 2.J.D. Anderson, Computational Fluid Dynamics 3.吴子牛,空气动力学 4.朱克勤,许春晓,粘性流体力学 进阶书: 1.Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics 2.D.C. Wilcox, Turbulence Modelling for CFD 3.Pope, Turbulent Flows 我来说一下,也是一个参考,也希望大家尽快上手,免得走弯路。 当初我在学习的时候(现在我依然在学习),看过很多计算流体力学和流体力学的书,当初我还分不清什么是计算流体力学和流体力学,有限体积有限差分,于是我把有关流体力学和计算流体力学的书都买了(下载)。 但我做的是计算流体力学——有限体积法的相关基础内容。如果你和我做的一样的内容: 1. 计算流体力学而非流体力学; 2. 有限体积法而非有限差分; 3. 需要获取普适性理论而非湍流、燃烧等; 推荐以下: 初级:《数值传热学》,中文。 初级:An Introduction to Computational Fluid Dynamics The Finite Volume Method 2nd Edition 中级:Computational Methods for Fluid Dynamics 这三本书已经没有必要评论。真正看过的都懂得。红色那本书我购入4本原版,赠送给我工作室的相关人员(好吧作为发起者目前没有经营收入,只能以书籍表示大家的支持)

相关文档
相关文档 最新文档