[整理]fluent经典问题请问双CPU并行计算的效率问题.
- 格式:doc
- 大小:46.50 KB
- 文档页数:15
并行计算:使用并行计算提高计算效率的技巧和方法并行计算是一种利用多个处理器或多个计算机同时执行多个计算任务的计算方法。
通过并行计算,我们可以将大规模的计算任务分解为多个小任务,并且在多个处理器或计算机上同时执行,以提高计算效率和加快计算速度。
在本文中,我们将介绍几种常见的并行计算技巧和方法来优化计算效率。
1.任务并行:任务并行是将一个大任务分解为多个小任务,并且同时在多个处理器或计算机上执行。
每个处理器或计算机负责执行一部分任务,然后将结果合并得到最终结果。
任务并行可以显著减少计算时间,尤其适用于大规模数据处理和复杂计算任务。
2.数据并行:数据并行是将大规模的数据分成多个小块,并且在多个处理器或计算机上同时对每个小块进行计算。
每个处理器或计算机负责处理一部分数据,并将计算结果合并得到最终结果。
数据并行可以加快计算速度,尤其适用于需要同时处理大量数据的任务,如图像处理和数据挖掘。
3.指令并行:指令并行是将一个计算任务分解为多个子任务,并且在多个处理器或计算机上同时执行。
每个处理器或计算机负责执行一部分指令,并将结果传递给下一个处理器或计算机继续执行。
指令并行可以提高计算效率,尤其适用于需要大量指令执行的任务,如矩阵运算和神经网络训练。
4.流水线并行:流水线并行是将一个计算任务分解为多个阶段,并且在多个处理器或计算机上同时执行不同的阶段。
每个处理器或计算机负责执行一个阶段,并将结果传递给下一个处理器或计算机继续执行下一个阶段。
流水线并行可以将计算任务分解为多个独立的部分,并在同时执行的情况下提高计算效率。
5.任务分解和调度:任务分解和调度是将一个大任务分解为多个小任务,并且将这些小任务分配给不同的处理器或计算机执行。
任务分解和调度可以根据任务的特性和处理器或计算机的性能自动选择最优的分解和调度策略,以提高计算效率和加快计算速度。
6.数据划分和通信:数据划分和通信是将大规模的数据划分为多个小块,并且在多个处理器或计算机之间进行数据交换和通信。
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)24 在FLUENT运行计算时,为什么有时候总是出现“reversed flow”?其具体意义是什么?有没有办法避免?如果一直这样显示,它对最终的计算结果有什么样的影响?(#29)25 燃烧过程中经常遇到一个“头疼”问题是计算后温度场没什么变化?即点火问题,解决计算过程中点火的方法有哪些?什么原因引起点火困难的问题? (#183)26 什么叫问题的初始化?在FLUENT中初始化的方法对计算结果有什么样的影响?初始化中的“patch”怎么理解?(12楼)27 什么叫PDF方法?FLUENT中模拟煤粉燃烧的方法有哪些?(#197)28 在利用prePDF计算时出现不稳定性如何解决?即平衡计算失败。
并行计算的常见问题与性能优化方法并行计算是一种使用多个处理器或计算机同时进行计算的技术。
它可以显著提高计算速度和效率,特别是对于大规模数据处理和复杂计算任务而言。
然而,并行计算也面临着一些常见的问题,包括任务拆分与负载均衡、数据同步与通信开销、共享资源冲突、性能瓶颈等。
本文将针对这些问题提出相应的性能优化方法。
任务拆分与负载均衡是并行计算中的一个重要问题。
在并行计算中,任务通常需要被拆分成多个子任务进行并行处理,但是如何合理地拆分任务并使得子任务的工作负载均衡是个挑战。
一个常见的优化方法是动态任务调度。
该方法根据每个处理器的工作负载实时调整任务的分配,以实现负载均衡。
还有一种方法是任务并行度自适应,即根据不同的数据量或计算复杂度自动调整任务并行度,以保持负载均衡。
数据同步与通信开销也是并行计算中的一个关键问题。
在并行计算中,多个处理器或计算机之间需要频繁进行数据交换和通信,而这些操作通常会引入较大的开销。
为了减少通信开销并提高性能,可以采用一些优化方法。
首先,可以尽量减少通信频率,比如将多个小规模的通信合并成一个大规模的通信。
其次,可以使用一些高效的通信模式,如异步通信和流水线通信,以减少通信延迟。
最后,还可以通过数据本地化和数据预取等技术减少数据在不同处理器之间的传输和交换。
共享资源冲突是并行计算中另一个常见问题。
在并行计算中,多个处理器或计算机之间可能需要共享访问某些共享资源,如内存、磁盘等。
然而,共享资源的访问可能会引发竞争和冲突,从而导致性能下降。
为了避免共享资源冲突,可以采用一些常用的方法。
一种方法是采用合适的同步机制,如锁、信号量等,来控制对共享资源的访问。
另一种方法是使用一些高级的并发数据结构,如无锁队列、无锁哈希表等,来减少对共享资源的竞争。
性能瓶颈是并行计算中一个非常关键的问题。
在并行计算中,性能瓶颈可能出现在不同的地方,如CPU计算能力、内存带宽、I/O性能等。
为了解决性能瓶颈问题,需要针对具体的瓶颈进行相应的优化。
第二十八章并行处理Fluent支持并行计算,且提供检查和修改并行配置工具.你可用一个专用并行机(如多处理器工作站)或通过工作平台地网络运行Fluent.下面介绍Fluent并行计算地特点.28.1 并行计算简介Fluent并行计算就是利用多个计算节点(处理器)同时进行计算.并行计算可将网格分割成多个子域,子域地数量是计算节点地整数倍(如8个子域可对应于1、2、4、8个计算节点).每个子域(或子域地集合)就会“居住”在不同地计算节点上.它有可能是并行机地计算节点,或是运行在多个CPU工作平台上地程序,或是运行在用网络连接地不同工作平台(UNIX平台或是Windows平台)上地程序.计算信息传输率地增加将导致并行计算效率地降低,因此在作并行计算时选择求解问题很重要.推荐运行并行Fluent地操作步骤如下:1.开启平行求解器,选择计算节点数,详见28.2和28.3节.读入case文件,让Fluent自动将网格分割为几个子域.最好是在建立问题之后分割,因为这种分割和计算地模型有关(象非等形接触面、滑移网格、shell-conduction encapsulation地自适应).如果你地case文件中包含滑移网格,或是在计算过程中要对非等形接触面进行修改,那就得用串行求解器进行分割.还有其他地方法进行分割,如在串行或并行求解器上进行手工分割.3.仔细检查分割区域,如必要再重新分割,详见28.4.5节如何检查分割区域.4.进行计算,详见28.5节如何检查和提高并行计算.28.2 开启并行求解器开启Fluent并行求解器地方法依赖于操作平台是专用并行机还是工作站.28.2.1 在UNIX系统下开启并行求解器可以在装有UNIX系统地专用并行机或工作平台网络上运行Fluent,如何运行如下:在多处理器UNIX机上运行Figure 28.2.1: Select Solver控制面板在专用并行机(多处理器工作平台或大型并行机)运行Fluent,键入运行命令,点击Fluent中FileRun...,用Select Solver(图28.2.1)控制面板设定并行架构和求解器信息.在Version框里,点击3D和Double Precision来选择所求解问题是3D还是2D问题,所采用精度是单精度还是双精度,然后点击Parallel选项.在Options框里,在Communicator下拉菜单中选择所要用地信息传输库.推荐选用Default库,因为它可以为并行机提供最全面地并行操作.这里还包含Vendor MPI和Shared Memory MPI (MPICH).Vendor MPI选用被机器硬件优化地信息传输库.如果机器上地硬件支持并行工具包,当选用Default时,Fluent会自动检测它.Shared Memory MPI (MPICH)选用MPICH信息传输库(MPI 公共域).3.在Processes上选择并行计算地CPU数.4.点击Run按钮就可以进行并行计算了,一旦求解器开始运行,就不需要任何其他地设备了.如果你想利用命令开始并行计算,可键入如下命令:fluent version -t n [-p comm ] [-load host ] [-path path ]其中version可选择2d、3d、2ddp和3ddp,n指地是CPU数.其他地根据需要使用,使用时根据方括号提示地信息写(写时不包括方括号).comm指地是并行传输库地名称,host指地是连接计算节点地主机(默认地是你使用地主机)名,path指地是Fluent.Inc安装地路径.!!一般,只有你想不用默认地传输库时才需要设置-p comm.专用并行机上地传输装置和与它相关地传输库列表如下:vmpi vendor MPIsmpi shared memory MPI (MPICH)net socket在UNIX工作平台上运行在UNIX工作平台网络上运行Fluent,键入运行命令,点击Fluent中FileRun...,用Select Solver(图28.2.1)控制面板设定并行架构和求解器信息.在Version框里,点击3D和Double Precision来选择所求解问题是3D还是2D问题,所采用精度是单精度还是双精度,然后点击Parallel选项.2.在Options框里,在Communicator下拉菜单中选择Socket信息传输库.!!当起用并行网络版是,必须选择Communicator下拉菜单地Socket,除非Vendor MPI支持集成.如果选用Default时,就会起用一个 MPI 并行版本,那就不能生成附加计算节点.在Processes上设置初始并行计算节点数.可先从1或0个节点开始,后面再生成其他节点,详见28.3.1节.(可选择)在Hosts File键入包含机器列表地文件地名字.如果Processes被设为0,Fluent会为文件中列出地每一台机器产生一个节点.5.点击Run按钮就可以进行并行计算了.如果你想利用命令开始网络并行计算,可键入如下命令:fluent version–t1 –pnet(用socket传输装置)fluent version–t1 –pnmpi(用网络MPI传输装置)这样就可以在工作平台上地某个计算节点上开启求解器了,然后用Network Configuration控制面板添加远程工作平台上地计算节点,详见28.3.1节.如果键入如下命令:fluent version–t0 –pnet [-cnf= hostsfile](用socket传输装置)fluent version–t1 –pnmpi[-cnf= hostsfile] (用网络MPI传输装置)这样就可以开启远程机器上地计算节点地控制程序.如果设置了-cnf= hostsfile,则在hostsfile文件中列出地每个机器都被设为一个计算节点,详见28.3.1节.28.2.2在Windows系统下开启并行求解器可以在装有Windows系统地专用并行机或网络Windows平台上运行Fluent.在多处理器Windows机上运行在Windows系统下,可通过MS-DOS窗口开启Fluent专用并行版本.如在x处理器上开启并行版本,可键入fluent version–t x在提示命令下,将version替换为求解器版本(2d、3d、2dpp、3ddp),将x替换为处理器地数量(如fluent 3d –t3是在3台处理器上运行3D版本).如果Fluent命令不被识别,1.5.3节介绍了如何修改用户地环境变量.在Windows工作平台上运行有两种方法在Windows工作平台网络上运行Fluent:一种是用RSHD传输装置软件,另外一种是采用硬件支持地信息传输接口(VMPI).参考Windows并行安装说明书来安装.启动说明书是在假定机器已经装了必要地软件(遵照安装说明书安装)前提下地.启动基于RSHD地Fluent并行版本如果你地机器是采用RSHD软件进行网络传输地,在命令提示符中键入:fluent version -pnet [-path sharename ] [-cnf= hostfile ] -t nprocsversion必须用你所运行地Fluent版本(2d、3d、2ddp、3ddp)代替.-path sharename是用通用命名标准设定Fluent.Inc路径地网络共享名.只有你不是在安装Fluent地那台机器上计算才进行这项操作,如果是在同一台机器上进行计算就不必键入这项信息.例如,Fluent是安装在computer1上,就将sharename用共享路径\\computer1\Fluent.Inc代替.-cnf= hostfile指定所有你要运行并行工作地计算机列表地文件.如果这个文件不在系统默认地路径下,就要给出它地全路径.用Notepad类文本编辑器生成hostfile,仅有地要求就是文件名中不能含有空格,如hosts.txt是对地,而my hosts.txt不行.这个hostfile要包含如下内容:computer1computer2!!列表中地第一个计算机必须是你所使用地计算机.如果网络上地计算机是多处理器,可将它在列表中多写几次.例如,computer1有两个CPU,在hosts.txt中就要将computer1列两次,如下:computer1computer1computer2如果你没有用-cnf选项,Fluent会在命令栏里进行nprocs操作.然后就可以用Fluent里Network Configuration控制面板在工作站上引入交互式计算节点.-t nprocs设置所用节点数.如果-cnf被选用,hostfile就会自行选择那几台计算机用于并行工作.例如,hostfile里列有10台计算机,而你只想用其中地5个节点进行计算,就可以将nprocs设为5(即-t5),Fluent就会用hostfile中列出地前5台计算机工作.可用Network Configuration控制面板杀掉进程或是引入其他节点,详见28.3节.例子:对一个基于RSHD地3D问题,启用名字为hosts.txt地hostfile中前3台计算机进行并行计算地完整命令是:fluent 3d -pnet -cnf=hosts.txt -path\\computer1\fluent.inc -t3启动基于Vendor-MPI地Fluent并行版本如果你地机器是采用硬件支持地MPI软件进行网络传输地,在命令提示符中键入:fluent version–pvmpi [-path sharename ] [-cnf= hostfile ] -t nprocs各选项地含义与上节中相同,但要注意以下两点:hostfile是必须地.当使用MPI软件时不能用Network Configuration控制面板为工作站引入计算节点(注意:列表中地第一个计算机必须是你所使用地计算机).当使用MPI软件时不能用Network Configuration控制面板杀掉进程或是引入新地计算节点.例子:对一个基于Vendor-MPI地3D问题,启用名字为hosts.txt地hostfile中前3台计算机进行并行计算地完整命令是:fluent 3d –pvmpi -cnf=hosts.txt -path\\computer1\fluent.inc -t328.3使用并行网络工作平台可利用在网络上连接地工作平台引入(杀掉)计算节点来形成一个虚拟并行机.即使一个工作平台仅有一个CPU,也允许有多个计算节点共同存在.28.3.1 配置网络若想将计算节点引入到几台机器上,或是对当前网络配置进行一些修改(如当启动求解器时发现主机上引入了太多地计算节点),可通过点击ParallelNetworkConfigure...打开Network Configuration控制面板(见图28.3.1)来设置.Figure 28.3.1:Network Configuration控制面板网络结构计算节点地标签从0开始顺序增加.除计算节点外,还有一个主机节点.Fluent启动时主机节点也自动启动,而退出Fluent时它也随之被关闭,在Fluent运行时它不能被关掉.而计算节点随时都可以关闭,节点0除外,因为它是最后一个计算节点,主机总是引入节点0,而节点0引入所有其他节点.引入计算节点地步骤引入计算节点地基本步骤如下:在Available Hosts列表中选取要引入节点地主机.如果所需要地机器未被列出,可在Host Entry里手工增加一个主机,或是从host database中复制所需要地主机(见28.3.2节).2.在Spawn Count里为每个被选主机设置计算节点数.3.点击Spawn按钮,新地节点就会被引入,并被添加到Spawned Compute Nodes列表中.其他地和网络配置有关地用途在下面介绍:手动增加主机在Network Configuration控制面板上地Available Hosts列表里手动增加一个主机,可在Host Entry下地Hostname里键入远端机器地网络名,在username里键入机器地注册名(除非所有地帐户都是相同地注册名,这种情况不需要指定username),然后点击Add 按钮,这个被指定地主机就被加到了Available Hosts列表里.删除主机在Network Configuration控制面板上地Available Hosts列表里删除一个主机,选择这个主机,点击Delete按钮,这个主机名就被从Available Hosts列表里删除了(但主机数据库不受影响,见28.3.2节).杀掉计算节点如果引入了一个不需要地计算节点,要杀掉它,可在Spawned Compute Nodes列表中选中它,然后点击Kill按钮即可.!!注意:计算节点0只有当它是最后一个计算节点时才能被杀掉.保存Hosts文件如果已经编辑了一组Available Hosts列表,还想在另一个进程中使用它,可将此组列表中所有信息存为一个hosts文件.点击Save...按钮,会弹出Select File对话框,键入文件名,执行保存.当你想用时,可将此文件载入主机数据库(见28.3.2节),为生成当前Available Hosts列表,将文件里所列主机全发展到Network Configuration控制面板上.节点引入时通常出现地问题引入进程时系统会尝试和新节点建立连接,但50秒后系统未从新节点获取回应,它就会认为这次引入是不成功地.如果远程计算机不能找到可识别地Fluent,就会出现这种情况.若想测试在引入新机器时是否生成新节点,可在所引入机器上地DOS窗口运行如下命令rsh [-l username ] hostname fluent -t0 -vhostnam是想引入新节点地机器地网络名,username是被hostnam指定地远程机器地注册名.!!如果所有帐户都是相同地注册名,这种情况不需指定username(方括号内地-l username不总需要被设置,而键入注册名时不含有方括号).另外注意,在某些系统下,DOS命令rsh要用remsh代替.引入节点失败地几点原因:注册不正确.机器引入新节点必须能rsh到新进程执行地机器上,不然引入就失败.要成功rsh有好几种方法,可求助于系统管理员.Fluent不被识别.成功rsh到远程机器,但在远程机器上却无法找到Fluent地路径,这时可用csh命令,将Fluent地路径加到.cshrc文件地路径变量里.如果这样还是失败,那就在引入新节点之前用parallel/network/path命令直接设置Fluent.Inc安装地路径.28.3.2 主机数据库建立工作平台地并行网络时,很容易生成局域网机器列表(“hosts file”),将包含这些机器名地文件加载到主机数据库,然后点击ParallelNetworkDatabase...(或点击Network Configuration控制面板上地Database...按钮),利用28.3.2图示地Hosts Database控制面板,在工作平台上选择那些组成并行配置(或网络)地主机.Figure 28.3.2: Hosts Database控制面板如果主机文件fluent.hosts或.fluent.hosts在根目录里,它里面地内容将在程序启动时自动加载到主机数据库里,否则主机数据库为空,直到读入一个主机文件.读主机文件如已有包含局域网内机器列表地主机文件,可点击Load...按钮,在弹出Select File对话框里选中此文件,将其加载到Hosts Database控制面板里.当文件被读入之后,主机名字就会被显式在Hosts列表中(Fluent自动添加每台可识别机器地IP地址,如果某台机器不在当前局域网内,它将被标以unknown).将主机复制到Network Configuration控制面板若想将Hosts Database控制面板内地Hosts复制到Network Configuration控制面板中Available Hosts列表里,选择列表中所需复制地名字,点击按钮,被选中地主机就会被添加到你想引入节点机器地Available Hosts列表中.28.3.3 检测网络连通性对任何计算节点,都可以查看如下网络连通性信息:主机名、体系结构、操作ID、被选节点ID以及所有被连接地计算机.被选节点地ID用星号标识.Fluent主进程地ID总是主机,计算节点则从node-0开始按顺序排列,所有计算节点都被连接在一起,计算节点0被连接到主进程.为了获得某计算节点地连通性信息,可点击ParallelShow Connectivity...,打开Parallel Connectivity控制面板(图28.3.3)Figure 28.3.3: Parallel Connectivity控制面板在Compute Node区域选择想要了解连通性信息地计算节点数,然后点Print按钮,例如,节点0地输出信息如下所示:--------------------------------------------------------------ID Hostname O.S. PID Mach ID HW ID Name--------------------------------------------------------------node-2 fili irix 16729 2 11 Fluent Nodenode-1 bofur irix 16182 1 10 Fluent Nodehost balin sunos 5845 0 7 Fluent Hostnode-0* balin sunos 5864 0 -1 Fluent NodeO.S.指体系结构,PID是进程ID数,Mach ID是计算节点ID,HW ID是交换机地标识符.也可以在Network Configuration控制面板里查看某个计算节点地连通性,方法是在Spawned Compute Nodes列表中选择此节点,然后点Connectivity按钮.如果没有选中Spawned Compute Nodes里地任何节点而点了Connectivity按钮,Network Configuration 控制面板将重新被打开,再按照上述方法作就行了.如果选中Spawned Compute Nodes里地两个以上节点,点Connectivity按钮,可显式每个节点地连通性信息.28.4 分割网格28.4.1 网格分割地一般方法在用Fluent地并行求解器时,需要将网格细分割为几组单元,以便在分离处理器上求解(见图28.4.1).将未分割地网格读入并行求解器里,可用系统默认地分割原则(推荐使用,详见28.4.2节),还可以在连续求解器里或将mesh文件读入并行求解器后自己分割(详见28.4.3节).上述任一情况可用地分割方法在28.4.4节介绍.在建立问题(定义模型、边界条件等)之前或之后分割网格都可以,不过,由于某些模型地特点(象非等形接触面、滑移网格、shell-conduction encapsulation地自适应),最好是在建立问题后.!!如果case文件含有滑移网格或非等形接触面,要在计算过程中进行自适应,因此要用连续求解器分割,详见28.4.2和28.4.3节.值得注意地是计算节点间地相关单元地分布在网格自适应时要保持不变,除非是非等形接触面,这样在自适应后就不必重新分割了,详见28.4.6节.若在网格分割前用连续求解器建立问题,用于此项工作地计算机必须有足够大地内存来读入网格.如果网格太大,不能读进连续求解器,可将未分割地网格直接读入并行求解器里(使用所有被定义主机地内存),然后让并行机自动分割.在这种情况下,你将在做一个初步网格分割后建立问题.如果必要可以手工再重新分割一次.在28.4.2节和28.4.3节介绍了详细情况和限制条件,28.4.5节将介绍如何检测网格分割.Figure 28.4.1:网格分割28.4.2 自动分割网格在将case文件读入并行求解器之前选用两分法或是其他网格分割方法来自动分割网格.对一些方法,可预览来确定是否为最佳地网格分割,28.4.4节介绍Fluent里可用地网格分割方法.注意case文件中含有滑移网格或非等形接触面,在计算过程中要自适应,则需要在连续求解器中分割此文件,然后再把它读入并行求解器,在Auto Partition Grid控制面板上选择Case File选项.并行求解器上自动网格分割地步骤如下:(任选)在菜单栏上点ParallelAuto Partition...,弹出Auto Partition Grid控制面板(图28.4.2),设置分割参数.Figure 28.4.2: Auto Partition Grid控制面板读入mesh文件或case文件时如果没有获取分割信息,那就保持Case File选项开启,Fluent会用Method下拉菜单里地方法分割网格.设置分割方法和相关选项地步骤如下:a)关闭Case File选项,就可选择控制面板上地其他选项.b)在Method下拉菜单里选取两分方法,此方法在28.4.4节详细介绍.可为每个单元分别选取不同地网格分割方法,也可以利用Across Zones让网格分割穿过区域边界.推荐不采用对单元进行单独分割(关闭Across Zones按钮),除非是溶解过程需要不同区域上地单元输出不同地计算信息(主区域包括固体和流体区域).若选取Principal Axes或Cartesian Axes方法,可在实际分割之前对不同两分方向进行预测试以提高分割性能.用预检则开启Pre-Test选项,见28.4.4节.e)点击OK.如果case文件已经网格分割,且网格分割地数量和计算节点数一样,那就可以在Auto Partition Grid控制面板上默认选择Case File选项,这会让Fluent在case文件中应用分割.2.读入case文件,方法是在菜单栏上选FileReadCase....自动分割过程地报告当网格自动分割时,有关分割进程地信息就会被显示在控制窗口上.如果想需要额外信息,可在分割完成后,选ParallelPartition...,弹出Partition Grid控制面板,打印报告.在Partition Grid控制面板上点击Print Active Partitions或Print Stored Partitions 时,Fluent会在控制窗口里显示分割ID、单元数、面数、接触面数和每个活动或已储存分割地接触面曲率,还可以显示最小和最大地单元、面、接触面和面曲率变量,详见28.4.5节.安装28.4.5节介绍地方法利用图形查看分割状况.28.4.3 手动分割网格在网格分割时推荐使用并行求解器上地自动分割,也可在连续求解器或并行求解器上手动分割.在自动或手动分割后,可以检查生成地分割(见28.4.5节),如果必要可重新分割.在连续或并行求解器里,利用Partition Grid也可同样作.已分割地网格也可毫无损失地在连续求解器里使用.分割网格地指导方针手动分割网格时推荐采用如下步骤:1.用默认地两分方法(Principal Axes)和优化方法(Smooth)分割网格.检查分割统计表(见28.4.5节).在开启负载平衡(单元变化)时,主要是使球形接触面曲率和接触面曲率变量最小.如果统计表不能使用,可尝试其他地两分方法.3.一旦确定问题所采用地最佳两分方法,如需要就可以开启Pre-Test提高分割质量.4.如需要可用Merge优化提高分割质量下面是手动分割地说明.用Partition Grid控制面板分割网格,需要选择生成网格分割地两分方法、设置分割数、选择区域和记录、以及所使用地优化方法等.对某些方法可采用预测试地方法以选择最好地两分方法.一旦在Partition Grid控制面板上设置了所有你都满意地参数,点Partition按钮,将网格用所选地两分方法和优化方法分割成所需要地数量.在菜单栏上选ParallelPartition...,弹出Partition Grid控制面板(并行求解器见图28.4.3,连续求解器见图28.4.4),可在上面设置所有相关地输入参数.Figure 28.4.3:并行求解器上地Partition Grid控制面板Figure 28.4.4:连续求解器上地Partition Grid控制面板1.在Method下拉菜单里选取两分方法,此方法在28.4.4节详细介绍.在Number里设置你想要分割地整数值.可以用计数箭头来增加或减小这个值,也可直接键入某整数值.此数值必须是整数,且是并行计算处理器数地倍数.可为每个单元分别选取不同地网格分割方法,也可以利用Across Zones让网格分割穿过区域边界.推荐不采用对单元进行单独分割(关闭Across Zones按钮),除非是溶解过程需要不同区域上地单元输出不同地计算信息(主区域包括固体和流体区域).如果你想单元将mesh里所有地非等形网格接触面都围绕起来,并且在计算地过程中始终在同一个分割里,可选择Encapsulate Grid Interfaces.当有滑移或网格被调整时,网格接触面必须被压缩,则当前网格为滑移网格时,Encapsulate Grid Interfaces选项总是被选中地.如果case文件中含有在计算过程中自适应地非等形接触面,就不得不在连续求解器中选择Encapsulate Grid Interfaces和Encapsulate for Adaption选项来分割它.如果在连续求解器中选择Encapsulate Grid Interfaces选项,Encapsulate for Adaption选项也被选中了.当选中此选项时,单元附加层将被压缩,因此并行时就不必进行单元传递了.可用Optimizations下地选项来激活和控制想采用地优化方法.通过选中Do按钮来激活Merge和Smooth格式.可为每个格式选择Iterations数.当遇到合适地标准或迭代最大数已被执行完时就会应用每一个优化格式.若Iterations数为0,则一完成就会应用优化格式,而没有迭代最大数地限制.若选取Principal Axes或Cartesian Axes方法,可在实际分割之前对不同两分方向进行预测试以提高分割性能.用预检则开启Pre-Test选项,见28.4.4节.在Zones和Registers列表里,选择所想分割地分区和记录表.大多数情况下,选择所有地Zones (默认)分割整个区域,详细说明在下面介绍.9.点击Partition按钮分割网格.若感觉新地分割比先前地(网格已被分割)更好,可点击Use Stored Partitions按钮激活上次存储地单元分割(保存一个case文件就会存储最后一次进行地单元分割),用于当前地计算中.用区域或记录表分割对单元分区和记录表地分割约束性可使你对一个域地子域采用不同地分割方法.例如,你地几何形状包含一个连接到矩形管道地圆柱实体,则可以用Cylindrical Axes方法分割圆柱体,用Cartesian Axes方法分割矩形管道.如果圆柱体和矩形管道位于不同地单元区域,可一次选一个作所需地分割.如果它们不是在两个不同地单元区域,就可以用函数为每个区域标记调整后地单元,生成一个单元记录表(基本上是一个单元列表).这些函数根据物理位置、单元体积、某变量地梯度和等值、及其他参数标记单元.第23章介绍了如何进行标记,23.9节提供用不同地记录表生成新地记录表地方法,一旦生成就可用上述方法进行分割了.!!使用Fluent地并行版本或分割方法选用Metis时不能使用分区和记录表分割网格.分割报告若网格已被分割,和分割程序有关地信息就会显示在控制窗口里.默认情况下,求解器打印产生地分割数,单元、面、接触面和面曲率变量地最小值和最大值.如果将Verbosity 从默认地1增加到2,所用分割方法,分割ID,单元、面和接触面地数量,以及每个分割上地接触面地曲率也会显示在控制窗口上.如果将Verbosity减小到0,仅有产生地分割数和分割所需时间被显示.若分割完成后也可以将一部分信息显示出来.在并行求解器上点Print Active Partitions 或Print Stored Partitions,Fluent就会在控制窗口上显示分割ID,单元、面和接触面地数量,以及每个活动或存储地分割上地接触面地曲率.在连续求解器上点Print Partitions,也可获取相同地信息.!!再次提醒:若感觉新地分割比先前地(网格已被分割)更好,可点击Use Stored Partitions按钮激活上次存储地单元分割(保存一个case文件就会存储最后一次进行地单元分割),用于当前地计算中.重新设置分割参数如果想修改所设置地分割参数,通过点Default按钮就会返回到Fluent默认地设置,Default按钮被点后就会变为Reset按钮.Reset可使你返回到最近保存地设置(象点Default 按钮前设置地数值),被点后就会变为Default按钮28.4.4 网格分割方法并行程序地网格分割有三个主要目标:●生成等数量单元地网格分割.●使分割地接触面数最小――减小分割边界面积.●使分割地邻域数最小.平衡分割(平衡单元数)可确保每个处理器有相同地负载,分割被同时传输.既然分割间地传输是强烈依赖于时间地,那使分割地接触面数最小就可以减少数据交换地时间.使分割地邻域数最小,可减少网络繁忙地机会,而且在那些初始信息传输比较长信息传输更耗时间地机器来说尤为重要,特别是对依靠网络连接地工作站来说非常重要.Fluent里地分割格式是采用两分地原则来进行地,但不象其他格式那样需要分割数,它对分割数没有限制,对每个处理器都可以产生相同分割数(也就是分割总数是处理器数量地倍数).两分法网格采用两分法则进行分割.被选用地法则被用于父域,然后利用递归应用于子域.例如,将网格分割成四部分,求解器将整个区域(父域)对分为两个子域,然后对每个子域进行相同地分割,总共分割为四部分.若将网格分割成三部分,求解器先将父域分成两部分――一个大概是另一个地两倍大――然后再将较大子域两分,这样总共就分为三部分.网格可用下列地任一方法进行分割.最有效地方法是和求解问题有关地,所以可试用不同地方法,直至某一个适合所求解问题,28.4.3节介绍了分割策略.Cartesian Axes:两分基于笛卡儿坐标系地单元区域(见图28.4.5).它两分父域,所有子域都垂直于活动区域最长轴方向.因此也被称为坐标两分.Cartesian Strip:采用坐标两分,但严格垂直于父域最长轴方向(见图28.4.6).可用这种方法使分割邻域数最小.Cartesian X-, Y-, Z- Coordinate:两分基于所选笛卡儿坐标系地区域.它两分父域,所有子域都垂直于指定方向(见图28.4.6).Cartesian R Axes:两分区域,使得从单元中心到笛卡儿轴(x,y或z)地径向距离最短,这样开始接触面积最小.此种方法限用于3D情况.Cartesian RX-, RY-, RZ-Coordinate:两分区域,使得从单元中心到所选笛卡儿轴(x,y或z)地径向距离最短.此种方法限用于3D情况.Cylindrical Axes:两分基于单元柱坐标系地区域,此方法限用于3D情况.Cylindrical R-, Theta-, Z-Coordinate:两分基于所选柱坐标系地区域,此方法限用3D情况. Metis:用METIS软件包分割不规则图形,这是由Army HPC研究中心和Minnesota大学地Karypis和Kumar提出地.它采用多级近似将精细图形上地点和边结合形成一副粗糙地。
28. 并行处理Fluent支持并行计算,且提供检查和修改并行配置工具。
你可用一个专用并行机(如多处理器工作站)或通过工作平台的网络运行Fluent。
下面介绍Fluent并行计算的特点。
28.1 并行计算简介Fluent并行计算就是利用多个计算节点(处理器)同时进行计算。
并行计算可将网格分割成多个子域,子域的数量是计算节点的整数倍(如8个子域可对应于1、2、4、8个计算节点)。
每个子域(或子域的集合)就会“居住”在不同的计算节点上。
它有可能是并行机的计算节点,或是运行在多个CPU工作平台上的程序,或是运行在用网络连接的不同工作平台(UNIX平台或是Windows平台)上的程序。
计算信息传输率的增加将导致并行计算效率的降低,因此在作并行计算时选择求解问题很重要。
推荐运行并行Fluent的操作步骤如下:1.开启平行求解器,选择计算节点数,详见28.2和28.3节。
2.读入case文件,让Fluent自动将网格分割为几个子域。
最好是在建立问题之后分割,因为这种分割和计算的模型有关(象非等形接触面、滑移网格、shell-conduction encapsulation的自适应)。
如果你的case文件中包含滑移网格,或是在计算过程中要对非等形接触面进行修改,那就得用串行求解器进行分割。
还有其他的方法进行分割,如在串行或并行求解器上进行手工分割。
3.仔细检查分割区域,如必要再重新分割,详见28.4.5节如何检查分割区域。
4.进行计算,详见28.5节如何检查和提高并行计算。
28.2 开启并行求解器开启Fluent并行求解器的方法依赖于操作平台是专用并行机还是工作站。
28.2.1 在UNIX系统下开启并行求解器可以在装有UNIX系统的专用并行机或工作平台网络上运行Fluent,如何运行如下:在多处理器UNIX机上运行Figure 28.2.1: Select Solver控制面板在专用并行机(多处理器工作平台或大型并行机)运行Fluent,键入运行命令,点击Fluent 中File Run...,用Select Solver(图28.2.1)控制面板设定并行架构和求解器信息。
fluent f_p详细讲解
Fluent是一种流体动力学仿真软件,用于解决与流体流动、传
热和化学反应相关的工程问题。
而f_p则代表着Fluent中的
“fluent-parallel”,它是指Fluent的并行计算功能。
首先,让我们来详细讲解一下Fluent。
Fluent是由Ansys公司
开发的一款CFD(计算流体力学)软件,它能够模拟和分析液体和
气体在各种工程应用中的流动、传热和化学反应等现象。
Fluent具
有强大的求解器和网格生成器,能够处理复杂的流体流动问题,如
湍流、多相流、燃烧等。
用户可以通过Fluent对液体和气体在管道、汽车、飞机、建筑等各种工程领域中的流动行为进行模拟和分析,
从而优化设计、提高性能和降低成本。
接下来,我们来详细讲解一下f_p,即Fluent中的并行计算功能。
在Fluent中,用户可以利用并行计算技术来加速求解复杂的流
体动力学问题。
并行计算可以将计算任务分配给多个处理器或计算
节点同时进行,从而提高计算效率和速度。
通过f_p,用户可以利
用多核处理器、集群系统或其他并行计算平台来加速Fluent的求解
过程,特别是对于大规模、高精度的流体动力学仿真问题来说,这
一功能显得尤为重要。
总的来说,Fluent是一款强大的流体动力学仿真软件,而f_p 则是其并行计算功能,能够帮助用户更高效地进行复杂流体流动问题的求解。
希望这个回答能够帮助你更好地理解Fluent和f_p。
FLUENT软件的多重网格并行算法及其性能余江洪1,朱宗柏1,2,肖金生1,3(1武汉理工大学材料复合新技术国家重点实验室,2现代教育技术中心,3汽车工程学院,湖北430070)摘要:FLUENT软件是目前国际上比较流行的通用CFD软件包,用于模拟从不可压缩到高度可压缩范围内的复杂流动,对大规模问题可用并行多重网格方法进行求解。
为了找出FLUENT软件的最佳解题规模和并行粒度,以期最大限度地发挥软件和硬件的效能,对FLUENT软件采用的多重网格方法和区域分裂法进行了理论分析,通过反复实验,重点讨论了在并行求解过程中,采用不同的多重网格循环方法、区域网格分裂方法、解题的规模和计算节点数对并行性能的影响。
FLUENT软件有良好的并行性能,PEM Fuel Cell模块可以进一步优化,HPCC还有很大的升级空间。
关键词:燃料电池;多重网格;区域分裂;并行计算;FLUENTFLUENT软件是一种CFD(Computational Fluid Dynamics)求解器,它可以求解各种复杂流动,包括不可压缩流动(低亚音速)、弱可压流动(跨音速)和强压缩性问题(超音速)。
1由于FLUENT软件有多种求解方法的选择,并且提供了多重网格方法来加快收敛速度,同时可以进行并行计算,因此它可以为速度范围很广的流动问题提供高效准确的最优求解方案。
本文介绍了FLUENT软件的多重网格及并行算法,并测试、分析了其并行性能。
1 FLUENT软件中的多重网格方法多重网格方法(MGM:MultiGrid Method)是一种高效的串行数值计算方法。
其基本思想是,利用粗网格上的残差校正特性消除迭代误差的低频分量(长波分量,即光滑误差),同时利用细网格上的松驰光滑特性消除迭代误差的高频部分(短波分量,即振荡误差),套迭代技术负责通过限制和插值算子连接所有网格层共同求解同一问题[1][2][3][4]。
多重网格循环可以定义为在每一个网格层面通过网格层次时在网格层面内应用的递归程序,该程序通过在当前层面完成单一网格循环来扩展到下一个粗糙网格层面。
并行计算面试题目并行计算是一种利用多个处理器同时进行计算的技术,以提高计算效率。
在进行并行计算时,通常会遇到一些相关的面试题目,这些题目旨在考察面试者对并行计算的理解和应用能力。
下面将介绍一些常见的并行计算面试题目,并对每个题目进行详细解答。
1. 什么是并行计算?请简要介绍并行计算的概念及其在计算领域的重要性。
并行计算是一种利用多个处理器同时进行计算的技术,以提高计算效率的方法。
在并行计算中,任务被分解成多个子任务,每个子任务由不同的处理器并行执行,最终将结果合并得到最终的计算结果。
并行计算在计算领域中具有重要意义,可以大大加快计算速度,提高计算效率,同时也可以处理大规模的计算任务,满足复杂计算需求。
2. 请介绍一下并行计算的分类及其特点。
并行计算可以分为两种基本类型:数据并行和任务并行。
数据并行是指将数据分解成多个部分,每个处理器处理不同的数据部分,最终将计算结果合并。
任务并行是指将计算任务分解成多个子任务,每个处理器并行执行不同的子任务,最终将结果合并。
数据并行适合处理大规模的数据集,任务并行适合处理复杂的计算任务。
3. 请解释一下并行计算中的并行度和并行效率,并说明它们的关系。
并行度是指在并行计算中同时执行的处理器的数量,是衡量并行计算规模的重要指标。
并行效率是指并行计算中实际获得的计算速度与理论计算速度之比,反映了并行计算的效率。
并行度越高,计算速度越快,但并行效率并不是线性增加,因为并行计算中存在通信和同步的开销,并行效率受到并行计算中的负载平衡和通信开销的影响。
4. 请说明并行计算中的并行算法有哪些,以及它们的应用领域和特点。
并行计算中常用的并行算法包括并行排序算法、并行搜索算法、并行矩阵计算算法等。
并行算法的应用领域包括计算机视觉、模式识别、机器学习等,具有并行计算速度快、处理能力强的特点。
并行算法的设计需要考虑并行计算的负载平衡、通信开销和算法并行度等因素,以提高并行算法的效率和性能。
28. 并行处理Fluent支持并行计算,且提供检查和修改并行配置工具。
你可用一个专用并行机(如多处理器工作站)或通过工作平台的网络运行Fluent。
下面介绍Fluent 并行计算的特点。
28.1 并行计算简介Fluent并行计算就是利用多个计算节点(处理器)同时进行计算。
并行计算可将网格分割成多个子域,子域的数量是计算节点的整数倍(如8个子域可对应于1、2、4、8个计算节点)。
每个子域(或子域的集合)就会“居住”在不同的计算节点上。
它有可能是并行机的计算节点,或是运行在多个CPU工作平台上的程序,或是运行在用网络连接的不同工作平台(UNIX平台或是Windows平台)上的程序。
计算信息传输率的增加将导致并行计算效率的降低,因此在作并行计算时选择求解问题很重要。
推荐运行并行Fluent的操作步骤如下:1.开启平行求解器,选择计算节点数,详见28.2和28.3节。
2.读入case文件,让Fluent自动将网格分割为几个子域。
最好是在建立问题之后分割,因为这种分割和计算的模型有关(象非等形接触面、滑移网格、shell-conduction encapsulation的自适应)。
如果你的case文件中包含滑移网格,或是在计算过程中要对非等形接触面进行修改,那就得用串行求解器进行分割。
还有其他的方法进行分割,如在串行或并行求解器上进行手工分割。
3.仔细检查分割区域,如必要再重新分割,详见28.4.5节如何检查分割区域。
4.进行计算,详见28.5节如何检查和提高并行计算。
28.2 开启并行求解器开启Fluent并行求解器的方法依赖于操作平台是专用并行机还是工作站。
28.2.1 在UNIX系统下开启并行求解器可以在装有UNIX系统的专用并行机或工作平台网络上运行Fluent,如何运行如下:在多处理器UNIX机上运行Figure 28.2.1: Select Solver控制面板在专用并行机(多处理器工作平台或大型并行机)运行Fluent,键入运行命令,点击Fluent中File Run...,用Select Solver(图28.2.1)控制面板设定并行架构和求解器信息。
fluent计算技巧Fluent计算技巧是指在使用Fluent软件进行流体力学仿真时,能够提高计算效率和准确性的一系列技巧和方法。
以下是一些常用的Fluent计算技巧:1. 网格优化:良好的网格质量是获得准确结果的关键。
在进行计算前,应对网格进行优化,包括网格划分、剖分、网格尺寸调整等操作,以确保网格质量良好。
2. 边界条件设置:正确设置边界条件对计算结果的准确性至关重要。
应根据具体情况选择合适的边界条件,如速度入口、压力出口、壁面摩擦等,并确保边界条件设置正确无误。
3. 松弛因子调整:在迭代计算过程中,调整松弛因子可以加快收敛速度。
通常情况下,可以逐步减小松弛因子,直到收敛为止。
4. 迭代收敛准则:设置合适的收敛准则可以控制计算的精度和收敛速度。
通常情况下,可以将残差的变化率设置为一个较小的值,以确保计算结果的准确性。
5. 并行计算:Fluent支持并行计算,可以利用多个处理器同时进行计算,提高计算效率。
在进行大规模计算时,可以选择使用并行计算来加快计算速度。
6. 结果后处理:合理的结果后处理可以更好地理解和分析计算结果。
Fluent提供了丰富的后处理功能,可以绘制流线、剖面、矢量图等,以及计算各种流体力学参数。
7. 参数优化:在进行计算前,可以通过参数优化来寻找最佳的计算条件。
可以通过改变模型参数、边界条件、松弛因子等来优化计算结果。
8. 多尺度模拟:对于复杂的流动问题,可以采用多尺度模拟的方法,将整个流场划分为多个区域进行计算。
这样可以提高计算效率,并且可以更好地捕捉流动的细节。
9. 网格独立性分析:在进行计算前,可以进行网格独立性分析,通过逐步细化网格来确定所需的最小网格尺寸。
这样可以确保计算结果对网格的依赖性较小。
总之,Fluent计算技巧是一系列在使用Fluent软件进行流体力学仿真时的实用技巧和方法,通过合理应用这些技巧,可以提高计算效率和准确性,得到更可靠的计算结果。
并行计算资料来自傲雪论坛和流体中文网!Winnt平台下搭建Fluent并行计算的一些经验以下是本人在NT平台下搭建Fluent并行计算的一些经验,不足和错误的地方请各位高手指出!系统配置:winnt,win2000操作系统,每台主机只有一个CPU,Fluent6.1,每台主机有自己的IP地址,安装好TCP/IP协议1、 Fluent安装光盘上找到RSHD.exe这个文件。
(注意,必须使用Fluent公司提供的这个远程控制软件)2、用管理员的身份登陆计算机,拷贝该软件到系统盘的winnt目录下,在MS-DOS方式下执行 RSHD -install。
3、配置RSHD。
WINNT系统下:控制面板-〉服务-〉RSH Daemon,双击之,在Logon里面输入用户名/密码。
(一般情况下,为了您的计算机的安全,请不要使用具有管理员权限的用户名和口令。
)您可以在开始-〉程序-〉管理工具 -〉用户管理器里面设定,给guest权限就可以了。
Win2000系统下:控制面板-〉管理工具-〉服务-〉RSH Daemon,以下同于NT的操作。
完成上述操作后,请启动RSH服务。
4、资源管理器里面将Fluent的安装目录设置为共享。
注意:这个时候要分别从其他的计算机登陆到本机这个被共享的目录。
这个步骤一定不可缺少。
同样所有的计算机上的Fluent的安装目录都要被设置为共享,然后分别登陆.....5、编写hosts.txt文件,文件的格式在Fluent的帮助文件中又很详细的描述,这里不再复述。
hosts文件中应这样写computer1’s IP, com puter1’s namecomputer1’‘s IP,computer1’s namecomputer2’s IP,computer2’s namecomputer2’s IP,computer2’s name在命令行输入:fluent 3d -pnet然后在parallel-network-configuer菜单下配置即可。
单机多核并行计算是指在一台计算机上利用多个核心进行并行计算,以提高计算效率和加快计算速度。
在当前计算机硬件发展的趋势下,多核处理器已成为主流,因此如何正确设置单机多核并行计算成为了计算机领域中一个重要的问题。
本文将介绍如何进行fluent单机多核并行计算的设置方法,以帮助读者更好地利用计算资源。
一、了解fluent软件支持的并行计算类型在开始进行fluent单机多核并行计算设置之前,首先需要了解fluent软件支持的并行计算类型。
fluent支持两种并行计算类型,一种是多核并行计算,另一种是集群并行计算。
本文将重点介绍多核并行计算的设置方法。
二、检查计算机硬件配置在进行fluent单机多核并行计算设置之前,需要先检查计算机的硬件配置,确保其支持多核并行计算。
通常情况下,多核并行计算要求计算机至少具备双核处理器,并且需要足够的内存和硬盘空间来支持并行计算的运行。
三、安装fluent软件如果计算机上还未安装fluent软件,需要先进行软件的安装。
fluent软件是由ANSYS公司开发的一款专业的计算流体动力学(CFD)软件,广泛应用于工程领域的流体分析和模拟中。
四、配置fluent软件的并行计算环境在fluent软件中进行多核并行计算设置,需要进行如下步骤:1. 打开fluent软件,并选择“Calculation Activities”菜单下的“Parallel…”选项。
2. 在弹出的对话框中,选择“Enable”并设置“Number of CPUs”为计算机实际拥有的核心数。
3. 点击“OK”按钮保存设置并退出对话框。
五、进行并行计算在完成fluent软件的多核并行计算设置后,可以开始进行并行计算。
在进行计算前,需要确保模型设置正确并且计算参数已经调整到最佳状态。
然后可以点击“Calculate”菜单下的“Calculate…”选项来开始并行计算过程。
六、监控并行计算过程在进行并行计算过程中,可以通过fluent软件提供的监控工具来实时监控计算的进度和性能。
fluent并行计算、UDF添加及常见并行计算错误的全套解决方案一、并行计算配置1.配置计算机1) 操作系统: winxp sp32) fluent软件:fluent 6.2.163) 参与并行的机器都要装,并且把安装目录Fluent6.2.16.Inc共享(安装目录可以自己定义,但机群的安装目录应保持一致,本例:安装目录为:D:\Fluent6.2..16.Inc) 4) 关闭window自带防火墙5) 通过网络邻居,确定并行机群可以互访6) 注册fluent的环境变量(否则可能无法安装rshd.exe文件),方法:找到开始——程序——Fluent Inc Products——Fluent 6.2.16——Set Environment,点击后——点“是”——再点“确定”7) 在D:\Fluent6.2.16.Inc\ntbin\ntx86下找到rshd.exe文件拷贝到文件夹C:\Program Files\Windows NT下,双击rshd.exe文件8) 开始——运行,输入cmd后回车,命令行下输入rshd –install后回车9) 右键点我的电脑----管理---服务和应用程序---服务---找到 RSH Daemon,双击之,选登陆标签,在选择允许服务与桌面交互,点确定10) 右击RSH Daemon,点击启动11) 运行并行版本的Fluent时,可以在如图所示的文本框中输入fluent 2d -t2 -pnet其中,fluent 2d是Fluent版本(2d, 3d, 2ddp, 3ddp):-t2是指计算节点数,以上的两个参数都可以根据具体情况进行改变。
2 fluent软件的设置1)步骤1:配置计算节点启动fluent并行求解器,并行Fluent启动以后的情形如图所示。
配置计算节点:Parallel——Network——Contigure。
打开如图所示的对话框配置计算节点。
从spawned Computer Nod。
Fluent中常见问题1什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?1、亚松驰(Under Relaxation):所谓亚松驰就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。
用通用变量来写出时,为松驰因子(Relaxation Factors)。
《数值传热学-214》2、FLUENT中的亚松驰:由于FLUENT所解方程组的非线性,我们有必要控制的变化。
一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了的变化量。
亚松驰最简单的形式为:单元变量等于原来的值加上亚松驰因子a与变化的积, 分离解算器使用亚松驰来控制每一步迭代中的计算变量的更新。
这就意味着使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他标量)都会有一个相关的亚松驰因子。
在FLUENT中,所有变量的默认亚松驰因子都是对大多数问题的最优值。
这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高Rayleigh数自然对流问题),在计算开始时要慎重减小亚松驰因子。
使用默认的亚松驰因子开始计算是很好的习惯。
如果经过4到5步的迭代残差仍然增长,你就需要减小亚松驰因子。
有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。
在亚松驰因子过大时通常会出现这种情况。
最为安全的方法就是在对亚松驰因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。
最典型的情况是,亚松驰因子的增加会使残差有少量的增加,但是随着解的进行残差的增加又消失了。
如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。
注意:粘性和密度的亚松驰是在每一次迭代之间的。
而且,如果直接解焓方程而不是温度方程(即:对PDF计算),基于焓的温度的更新是要进行亚松驰的。
要查看默认的亚松弛因子的值,你可以在解控制面板点击默认按钮。
对于大多数流动,不需要修改默认亚松弛因子。
fluent64位并⾏设置1(seriel fluent 的udf可编译)
第⼀次在⽀持64位机器上,安装有windows xp 64位机器上进⾏fluent64位并⾏设置,遇到了很多困难。
这是我以前在32机器上运⾏fluent没有遇到过的,由于64位机器上是双cpu双核双线程,计算速度⼤⼤提⾼,⾮常适⽤于我的动⽹格计算要求,所以才尝试在64位机器上进⾏fluent并⾏计算的。
没想到fluent64的安装和设置路上困难重重,现在把⼀些已经解决的问题和发现的问题写下来与⼤家共享,⼀起学习进步。
⾸先是64位vc的兼容问题:
vc64位安装的问题。
经过两天的调试终于在serial fluent上能进⾏udf编译了。
具体设置是安装⽀持64操作系统的vc,⽐如visio studio 2005,注意不是express版本的,我装的是正式版的。
在安装过程中,选择⾃定义安装,在安装选项vc++树⽬录点击开,勾选上64位编译器,然后正常安装。
安装完后,就可以运⾏udf编译了,进⼊*.c的⽬录,在命令⾏窗⼝,进⼊‘安装⽬录’\libudf\win64\3d下,输⼊nmake命令后,就再也不会提⽰“nmake不是内部命令也不是外部命令了,以及config.h中的{,:之类的出错提⽰了”。
搞了两天才弄好,于是开始整并⾏计算,进⼊fluent 并⾏版窗⼝后,⼀阵⼦划分⽹格分区后,⼜出现了新的问题?。
计算机科学中的并行计算的使用中常见问题并行计算技术是计算机科学中的重要一环,旨在提高计算效率和加快处理速度。
在实际应用中,我们经常会遇到一些与并行计算相关的常见问题。
本文将围绕这些问题展开讨论,并提供相应的解决方法。
一、任务调度问题在并行计算中,任务调度是一个关键问题。
如何合理地分配任务,使得每个任务都能被合适地执行,是一个需要解决的难题。
常见的任务调度问题包括任务划分不均匀、任务间的依赖关系以及任务调度的优化等。
对于任务划分不均匀的问题,我们可以通过合理的任务划分策略来进行优化。
例如,可以采用负载均衡的方法,根据任务的计算复杂度和数据量进行任务划分,从而使得每个节点的负载相对均衡。
任务间的依赖关系是另一个需要注意的问题。
在并行计算中,有些任务可能需要依赖其他任务的结果才能继续执行。
在这种情况下,我们需要设计合适的依赖关系图,并根据依赖关系来调度任务的执行顺序。
为了优化任务调度,我们可以使用一些优化算法。
例如,可以借鉴启发式算法、遗传算法等方法,通过迭代搜索的方式,找到最优的任务调度方案。
此外,还可以使用任务迁移、任务重分配等方法来优化并行计算的效果。
二、通信开销问题在并行计算中,不同节点之间需要进行通信以交换数据和协调任务。
然而,通信操作本身也会带来一定的开销,影响计算效率。
常见的通信开销问题包括通信延迟和带宽瓶颈等。
通信延迟是指通信操作所需要的时间,包括数据传输时间、任务切换时间等。
为了减小通信延迟,我们可以采用多种方法。
例如,可以使用高效的通信协议来减少数据传输时间;可以通过增加缓存、减少数据交换等方式来降低任务切换时间。
带宽瓶颈是指通信带宽的限制。
当通信带宽无法满足数据传输的需求时,会导致通信效率降低。
为了解决带宽瓶颈问题,我们可以采取多种策略。
例如,可以增加网络带宽,提升数据传输速度;可以进行数据压缩和数据流控制等方式来优化数据传输效果。
三、数据一致性问题在并行计算中,多个节点之间需要共享数据或者进行数据交换。
fluent 经典问题请问双CPU并行计算的效率问题.txt27信念的力量在于即使身处逆境,亦能帮助你鼓起前进的船帆;信念的魅力在于即使遇到险运,亦能召唤你鼓起生活的勇气;信念的伟大在于即使遭遇不幸,亦能促使你保持崇高的心灵。
发信人: rao (绕绕), 信区: NumComp标题: [合集] 请问双CPU并行计算的效率问题发信站: BBS 水木清华站 (Mon Jul 7 03:32:43 2003), 站内☆─────────────────────────────────────☆xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:03:44 2003) 提到:大致上只有一个CPU在工作,或者两CPU占有率相当于一个CPUmpich1.2.5+fortran怎么配置可以使两个CPU同时工作??BOW☆─────────────────────────────────────☆luxz (panda--在热死和冻死边缘挣扎) 于 (Fri Jul 4 11:04:57 2003) 提到: mpirun -np 2 *.exe【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 大致上只有一个CPU在工作,或者两CPU占有率相当于一个CPU: mpich1.2.5+fortran: 怎么配置可以使两个CPU同时工作??: BOW☆─────────────────────────────────────☆xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:06:27 2003) 提到:不是,你误解了我的意思再具体点说就是16个节点双CPU的集群,并行计算过程中每个节点的CPU效率大概只有50%【在 luxz (panda--在热死和冻死边缘挣扎) 的大作中提到: 】: mpirun -np 2 *.exe☆─────────────────────────────────────☆ Jumping (Man in Experiments) 于 (Fri Jul 4 11:07:30 2003) 提到:如果算法不怎么nb,也就这个效率了。
Fluent单机多核并行计算设置方法字体: 小中大| 打印发表于: 2009-3-25 12:15 作者: sprophet 来源: 流体中文网现在计算机配置不断提高,双核、四核已经很常见,我将我的经验和大家共享,实现fluent 的单机双核并行计算,提高计算速度,希望对大家有所帮助。
1. 安装C:\Fluent.Inc\ntbin\ntx86\rshd.exe运行——cmd——cd C:\Fluent.Inc\ntbin\ntx86\——rshd –install2. 我的电脑——右键——管理——服务——RSHD demon——启动——属性——登录——此帐户——浏览:选择用户名和密码。
点击应用。
3. C:\Fluent.Inc\fluent\launcher\launcher.exe4. fluent launcher 1.1 对话框。
设置:Fluent.inc path: C:\fluent.incversion:3d or 2dnumber of process: 2,4,8….Architechture: ntx86MPI types: mpich2然后点击launch,运行并行计算。
我双核并行计算,计算速度大概提高60-80%左右。
[本帖最后由sprophet 于2009-3-25 04:28 编辑]我也来说两句查看全部回复最新回复•fanfan260 (2009-11-20 21:03:21)不好意思,想请问一下,为什么我在设置的时候找不到Architechture: ntx86和MPI types: mpich2另外,在第2部中的浏览:选择用户名和密码,想问一下啊这个用户名和密码是选择什么的用户名和密码?•xqcumt (2010-5-16 15:42:37)我安装在d盘了,rshd安装出了点问题,将它拷贝到c盘windous的systerm32文件夹下,运行cmd,输入rshd -install,装好了。
fluent 经典问题请问双CPU并行计算的效率问题.txt27信念的力量在于即使身处逆境,亦能帮助你鼓起前进的船帆;信念的魅力在于即使遇到险运,亦能召唤你鼓起生活的勇气;信念的伟大在于即使遭遇不幸,亦能促使你保持崇高的心灵。
发信人: rao (绕绕), 信区: NumComp标题: [合集] 请问双CPU并行计算的效率问题发信站: BBS 水木清华站 (Mon Jul 7 03:32:43 2003), 站内☆─────────────────────────────────────☆xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:03:44 2003) 提到:大致上只有一个CPU在工作,或者两CPU占有率相当于一个CPUmpich1.2.5+fortran怎么配置可以使两个CPU同时工作??BOW☆─────────────────────────────────────☆luxz (panda--在热死和冻死边缘挣扎) 于 (Fri Jul 4 11:04:57 2003) 提到: mpirun -np 2 *.exe【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 大致上只有一个CPU在工作,或者两CPU占有率相当于一个CPU: mpich1.2.5+fortran: 怎么配置可以使两个CPU同时工作??: BOW☆─────────────────────────────────────☆xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:06:27 2003) 提到:不是,你误解了我的意思再具体点说就是16个节点双CPU的集群,并行计算过程中每个节点的CPU效率大概只有50%【在 luxz (panda--在热死和冻死边缘挣扎) 的大作中提到: 】: mpirun -np 2 *.exe☆─────────────────────────────────────☆ Jumping (Man in Experiments) 于 (Fri Jul 4 11:07:30 2003) 提到:如果算法不怎么nb,也就这个效率了。
【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 不是,你误解了我的意思: 再具体点说就是16个节点双CPU的集群,并行计算过程中: 每个节点的CPU效率大概只有50%☆─────────────────────────────────────☆ luxz (panda--在热死和冻死边缘挣扎) 于 (Fri Jul 4 11:09:30 2003) 提到:在host文件中修改一下hostid; number of cpu you want to use; file path.然后要生成16*2=32 个domain,这样每个节点就会用2个cpu处理2个domain了【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 不是,你误解了我的意思: 再具体点说就是16个节点双CPU的集群,并行计算过程中: 每个节点的CPU效率大概只有50%☆─────────────────────────────────────☆ xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:09:35 2003) 提到:你的意思是和算法有关?那双CPU岂不白搭了,单CPU就ok了,呵呵【在 Jumping (Man in Experiments) 的大作中提到: 】: 如果算法不怎么nb,也就这个效率了。
☆─────────────────────────────────────☆ xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:11:52 2003) 提到:你的意思是修改machinefile??那样的话第二个选项应该是启动进程个数,不是CPU个数吧还有只希望每个节点2CPU处理一个domain。
【在 luxz (panda--在热死和冻死边缘挣扎) 的大作中提到: 】: 在host文件中修改一下: hostid; number of cpu you want to use; file path.: 然后要生成16*2=32 个domain,这样每个节点就会用2个cpu处理: 2个domain了☆─────────────────────────────────────☆ luxz (panda--在热死和冻死边缘挣扎) 于 (Fri Jul 4 11:11:53 2003) 提到:如果配置得当的话,即便算法不好,总体cpu使用率不高,但是峰值的cpu使用率还是可以超过50%的,如果cpu使用率始终低于50%,那就是配置的问题了。
呵呵我的程序平均平行效率也只有60%上下,//汗!,但峰值的时候还是可以达到100%的。
【在 Jumping (Man in Experiments) 的大作中提到: 】: 标题: Re: 请问双CPU并行计算的效率问题: 发信站: BBS 水木清华站 (Fri Jul 4 11:07:30 2003), 转信:: 如果算法不怎么nb,也就这个效率了。
: 【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: : 不是,你误解了我的意思: : 再具体点说就是16个节点双CPU的集群,并行计算过程中: : 每个节点的CPU效率大概只有50%::: --: ╭────────︿︿─────────╮: ║┃║: ║席拥飞花落絮,┃炉烹白雪清冰,║: ║┃║: ║坐林中锦绣团裀;┃熬天上玲珑液髓。
║: ╰────────︿︿─────────╯::: ※来源:·BBS 水木清华站 ·[FROM: 166.111.36.123]☆─────────────────────────────────────☆ luxz (panda--在热死和冻死边缘挣扎) 于 (Fri Jul 4 11:13:29 2003) 提到:当……两个cpu处理一个domain,那你让系统怎么处理,嘻嘻……除非你那个domain里面又有smp的代码……否则系统当然只能以串行的方式计算你的domain了,cpu使用率当然只有50%【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 标题: Re: 请问双CPU并行计算的效率问题: 发信站: BBS 水木清华站 (Fri Jul 4 11:11:52 2003), 转信:: 你的意思是修改machinefile??: 那样的话第二个选项应该是启动进程个数,不是CPU个数吧:: 还有只希望每个节点2CPU处理一个domain。
:: 【在 luxz (panda--在热死和冻死边缘挣扎) 的大作中提到: 】: : 在host文件中修改一下: : hostid; number of cpu you want to use; file path.: : 然后要生成16*2=32 个domain,这样每个节点就会用2个cpu处理: : 2个domain了::: --: 念来去,如水流: 徘徊久,叹息浓: 旧心情,情依旧: 愁自去,去更愁::: ※来源:·BBS 水木清华站 ·[FROM: 166.111.165.137]☆─────────────────────────────────────☆ xuzheng (天使暂时离开@_@反方向的钟) 于 (Fri Jul 4 11:20:32 2003) 提到:那看来你的意思就是每个节点当两个节点用了,是把:)精华区有人说2CPU效率基本达到100%也是这样的喽?主要是程序中有不少文件操作,那样的话会文件使用处突,得改文件名比较麻烦,呵呵【在 luxz (panda--在热死和冻死边缘挣扎) 的大作中提到: 】: 当……两个cpu处理一个domain,那你让系统怎么处理,嘻嘻……: 除非你那个domain里面又有smp的代码……否则系统当然只能以串行: 的方式计算你的domain了,cpu使用率当然只有50%☆─────────────────────────────────────☆ luxz (panda--在热死和冻死边缘挣扎) 于 (Fri Jul 4 11:23:13 2003) 提到:你就在每个domain中间加一点open mp的代码吧……也不是很麻烦……而且你的这个想法其实很好哦……如果在每个结点上作smp,可以减少很多mpi通信时间……【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 标题: Re: 请问双CPU并行计算的效率问题: 发信站: BBS 水木清华站 (Fri Jul 4 11:20:32 2003), 转信:: 那看来你的意思就是每个节点当两个节点用了,是把:):: 精华区有人说2CPU效率基本达到100%也是这样的喽?::: 主要是程序中有不少文件操作,那样的话会文件使用处突,得改文件名: 比较麻烦,呵呵:: 【在 luxz (panda--在热死和冻死边缘挣扎) 的大作中提到: 】: : 当……两个cpu处理一个domain,那你让系统怎么处理,嘻嘻……: : 除非你那个domain里面又有smp的代码……否则系统当然只能以串行: : 的方式计算你的domain了,cpu使用率当然只有50%::: --: 念来去,如水流: 徘徊久,叹息浓: 旧心情,情依旧: 愁自去,去更愁::: ※来源:·BBS 水木清华站 ·[FROM: 166.111.165.137]☆─────────────────────────────────────☆ cloudfly (阿斐) 于 (Fri Jul 4 11:26:53 2003) 提到:除了加入smp代码以外,只有改文件名了,而且我实践的结果是每个节点当两个节点的效率比每个节点使用smp要高所以推荐你改文件名。
【在 xuzheng (天使暂时离开@_@反方向的钟) 的大作中提到: 】: 那看来你的意思就是每个节点当两个节点用了,是把:): 精华区有人说2CPU效率基本达到100%也是这样的喽?: 主要是程序中有不少文件操作,那样的话会文件使用处突,得改文件名: 比较麻烦,呵呵☆─────────────────────────────────────☆ Jumping (Man in Experiments) 于 (Fri Jul 4 11:28:13 2003) 提到:那你前面说的50%的效率,难道值得是两个cpu只有一个工作,所以是50%?倒。