fastran软件中的流固耦合分析功能可以用来求解静气弹和动气弹问题,同时可以耦合嵌套和六自由度模块分析运动中的气动弹性问题。
流程介绍如下:
流体网格和固体网格分辨率没有必要一致,两套网格可以完全公用也可以基本共用同样的几何信息。在这个算例中,流体网格中机翼边界和固体网格中机翼边界不是完全一致,fastran可以支持。边界完全一致也同样支持。
点击configure parallel run,弹出mdice窗口,设置并行参数。
在CFD-FASTRAN中,结构化和非结构化的流求解器都使用与上面描述的域分解相同的通用策略执行并行情况。并行度在区域级别。模型必须有多个区域才能并行运行。有些区域分配给一台机器,有些区域分配给另一台机器,等等。因此,一个人不可能使用比模型中区域更多的处理器。
CFD-FASTRAN Version 2010.0本身不需要任何特殊的安装或配置程序来运行并行模拟。但仍有一些系统管理先决条件需要满足,下面将对此进行描述。
对于普通的串行模拟,用户需要设置ESI_HOME环境变量,并将$ESI_HOME/2010.0/UTILS/bin放在路径前面(可以使用-runver选项启动与2010.0软件并排安装的现有2009软件)。
要为并行CFD-FASTRAN模拟准备计算集群,用户或系统管理员必须了解以下要求
4.1 ESI_HOME > Installation directory (/usr/local/ESI_Software)
4.2 PATH > \$ESI_HOME/2010.0/UTILS/bin:$PATH
4.3 MDICEDIR > %ESI_HOME%\2010.0\FASTRAN_SOLVER\data (for Window platforms)
无密码的ssh依赖于用户执行某些步骤来启用ssh访问。这些步骤如下。考虑两台机器,fastran-00和fastran-01。
fastran-00% cat id_dsa.pub >> authorized_keys
fastran-01% cat id_dsa.pub.fastran-00 >> authorized_keys
如果需要,用户可以选择使用rsh。没有密码的rsh依赖于用户的.rhosts文件或/etc/hosts.equiv文件。用户的.rhosts文件必须具有权限600(仅由用户读写)。.rhosts文件的语法非常简单:每行一个主机,后面跟着允许连接的用户名(不需要输入密码)。有时需要使用完全限定的域名。
/etc/hosts.equiv文件是允许对当前主机进行无密码访问的主机列表;它适用于所有用户。
假设集群仅由fastran-00和fastran-01两个节点组成,用户名为bob。如果正确设置了rsh,您应该能够执行以下命令
bob@fastran-00% rsh fastran-01 echo "Hi"
ssh的语法略有不同
bob@fastran-00% ssh bob@fastran-01 echo "Hi"
另外,确保您的.cshrc(或.tcshrc或.bashrc文件,无论您的shell使用什么)不会产生任何输出。如果出现输出,rsh会错误地返回错误状态。这是标准的Posix行为。在创建终端窗口期间需要生成的任何输出都应该在.login文件中完成,而不是shell的初始化文件。
接下来,您需要验证是否可以找到典型的工作目录,以及rsh或ssh启动的进程是否具有工作权限
bob@fastran-00% rsh fastran-01 ls /net/home/bob/projects
bob@fastran-00% rsh fastran-01 touch /net/home/bob/projects/test_file
如果这些命令中的任何一个返回错误,那么要么/home分区没有从fastran-01导出,要么目录的权限设置过于严格。在工作目录上尝试chmod 755 <目录>
的名称,将其权限更改为为所有者读/写/执行,并为组/其他用户读/执行。
您可能需要递归地执行chmod命令(-R选项),以允许也读取DTF文件。CFD-FASTRAN的要求是rsh或ssh应该能够读写工作目录和任何子目录。
此外,CFD-FASTRAN要求在并行运行期间打开(创建)的任何文件都具有读/写权限,因为解析器可能会关闭它们,然后试图重新打开它们以附加更多的输出。所以umask值(创建文件的默认权限)很重要。在shell的初始化文件中设置umask 000, .bashrc或.tcshrc。这将启用所有新创建文件的完整读/写/执行权限,因此权限不会给您带来任何进一步的问题。但是,您可能需要首先咨询系统管理员。
HP-MPI通过UTILS包提供给用户(2010.0/UTILS/hpmpi-1.01.00.00)。对于本地并行(在一台机器上),用户不需要做任何事情。对于跨多台机器(例如集群)并行运行,必须安装并启动HP-MPI远程启动服务。
要安装和启动HP-MPI远程启动服务,请启动一个命令窗口并运行以下命令
C:\> %ESI_HOME%\UTILS_2014.0\platform-09.01.02.01\sbin\pcmpiwin32service.exe –i
C:\> %ESI_HOME%\UTILS_2014.0\hpmpi-09.01.02.01\sbin\pcmpiwin32service.exe –start
每台机器只运行一次这些命令。如果您犯了错误,需要重新安装服务,请参阅下面的内容。
为了允许在Windows XP上使用HP-MPI的多个节点上运行,必须采取另一个步骤。有两种方法可以设置此选项(建议使用方法1)
1 .My Computer > Tools > Folder Options > View tab
Uncheck “Use simple file sharing (Recommended)”
Navigate to : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Double-click the key forceguest
Set the value to ‘0’ and click OK.
要使HP-MPI正常工作,必须为HP-MPI进程创建防火墙异常。向以下程序添加防火墙异常
UTILS\platform_mpi-09.01.02.01\sbin\pcmpiwin32service.exe
UTILS\platform_mpi-09.01.02.01\bin\mpirun.exe
UTILS\platform_mpi-09.01.02.01\bin\mpid.exe
FASTRAN_SOLVER\bin\CFD-FASTRAN-SOLVER-DP-PCMPI.exe
建议为身份验证注册(缓存)密码。这需要为每台机器的每个用户做一次。
在命令窗口中运行以下命令
C:\> %ESI_HOME%\20140.0\UTILS\hpplatformmpi-091.01.020.001\bin\mpidiag.exe –s -cache –st
Password for MPI runs:
Message received from Service:
With the -s option in the above command, the hostname can be either the local machine or a remote host.
在完成上述启动HP-MPI服务和注册密码的步骤后,建议用户测试机器之间是否可以使用HP-MPI进行通信。
C:>\ %ESI_HOME%\2014.0\UTILS_2009.4\hpplatformmpi-091.01.002.010\bin\mpidiag.exe –s -at
从服务接收的消息:<显示用户名>
如果输出包含您的用户名,那么机器将成功通信。建议在所有节点上执行此测试,以确保所有节点都成功通信。
好吧,最终还是不知道是怎么配置
============================================================================================
再次查看介绍文档,发现User Shared Library应该不是browser出来的。而应该是直接进行输入得到的。
因为图中只有名称而没有具体的路径,如果是浏览的话,无论如何都会有一个路径的。为此,笔者模仿文档种也输入相应的参数。发现.so应该是Linux中的动态库文件,在bin目录下找不到肯定是正常的。
MDICE的配置
如图所示,这里有效的工作目录,笔者觉得是自己随便定义的一个路径,并不能知道这其中到底有什么含义。因此笔者也随便设置了一个目录。这里的添加host的路径,因为上面写着Linux下为hostname,那么我这里为windows所以在控制台输入hostname得到windows的主机名,并作为这里host的名称。然后如图所示点击add和distribute zone然后点击ok。
路漫漫其修远兮啊~
===================================================================================================
这两天在无奈的时候又看了下相关的帮助文档,发现是和cfd-fastran-solver存在一定的关系。于是乎笔者就进了命令行来进行一些尝试。
看到这里面有hosts,还有local等。这些应该就是用来配置主机的,在GUI中配置好之后,一直存在问题不能进行运行。笔者在这里进行尝试。
这里笔者选择local,采用本地的主机,然后对DTF文件进行运行。
由于这里的DTF是经过GUI保存过的,因此配置参数其实都已经存放在该文件中了。直接进行运行即可。
这里不知道为什么,笔者连续输入了6次相同的密码才进入到运行界面,所以不要怀疑自己记错了密码。笔者一度以为自己记错了密码或者密码不对,然后到处瞎写。接下来进入到运行窗口,如图所示。这里已经开始了并行计算。
进入到CFD-FASTRAN-GUI中,发现Run那一栏下面已经开始计算了。
还是要继续慢慢来弄啊,好希望有个人直接告诉我怎么弄啊,就是一个环境和怎么计算的问题啊。
=======================================================================================
由于最终的任务需要在一台不能联网的主机上进行,该主机的配置是win7。这里说一下对于一台离线的win7主机怎么进行配置。这里将一些不同的内容写在这里。
http%3a%2f%2fcygwin.mirror.constant.com%2f
。可以在安装界面中选中,install from localdirectory。然后选择这个目录就好了,但是请注意在安装的时候也要再次选择我们需要的内容,比如ssh就没有勾选,直接进行默认安装是没有的。因此需要再次找到ssh的位置进行勾选。(详情见我的配置文档 https://blog.csdn.net/qq_33347077/article/details/82664585)分析:在我的个人PC本和离线的电脑都是在最后算出来这么一个结果。而且能够进行计算,说明环境配置已经没有问题了。其次对报错的内容进行分析:not enough handshakes from modules with the controller after 1200 seconds. 意思是1200秒之后就没有足够的模块和控制器的交流。