fastran实例 -- 机翼静气弹分析

学习方面

  1. 设置流体网格的变形区域
  2. 设置材料参数及相应的边界条件
  3. 设置并行

算例说明

fastran软件中的流固耦合分析功能可以用来求解静气弹和动气弹问题,同时可以耦合嵌套和六自由度模块分析运动中的气动弹性问题。

流程介绍如下:

  1. 建立流场和固体网格,采取类似嵌套的方式将网格合并在一起,也可以利用安装目录下的dtf_merge.exe工具将各自的dtf组合在一起。(这句话就已经说明固体网格和流体网格可以分别单独进行建立,然后再合并)
  2. fastran中针对特定问题设置相关条件,包括材料参数、变形参数、变简条件和初始条件。
  3. 设置MDICE并行参数,fastran计算气动弹性问题必须采用并行的方式。windows下并行计算需要cygwin软件的支持。

流体网格和固体网格分辨率没有必要一致,两套网格可以完全公用也可以基本共用同样的几何信息。在这个算例中,流体网格中机翼边界和固体网格中机翼边界不是完全一致,fastran可以支持。边界完全一致也同样支持。

流程

  1. 选中控制面板中的问题类型(PT),勾选可压缩流体和结构耦合(压力)问题类型;
  2. 选中控制面板的模型选项栏(MO),设置全局Global和流动参数Flow,Global设置标题,Flow中保持默认即可。采用非粘性的欧拉模型。由于勾选结构耦合,将会在这里出现stress面板,将element order设置为:二阶,提高计算精度。
  3. 选择控制面板中的VC栏设置体条件,在右下角选中solid固体部分设置材料参数,从数据库中选取铝合金材料。在property下拉菜单中还需要设置另外两个属性,deforming和stress。变形设置是为了设置流体网格随固体网格变形的区域,气弹计算中,固体产生弹性变形,此时流场如果仍按照最初状态计算的话是不准确的。变形设置是为了将靠近固体变形区域的网格设置为可变性部分,从而将固体网格的变形量准确反馈到流场计算中,体现真实的流场信息。stress是为了设置固体网格快中哪些部分需要考虑弹性变形。选中流场块的区域,然后设置变形区域。(如何查询变形区域大的I,J,K范围是多种的,简单方法是通过View来完成。),然后选中stress面板后将固体块选中,激活应力分析。
  4. 选择BC面板,将流体外围八个网格面选中设置为Inflow/outflow。将固体网格(机翼的上下面哥哥网格面选中),BC Type设置为wall,stress中subType设置为Load,勾选Implicit pressure。此类边界条件是为了设置外载荷加载位置的,这里理解从流场获取压力载荷的固体面。在气弹分析中,implicit pressure事实就是指流体的压力。将固体面中z=0平面上的网格面选中,subtype设置为prescribed displacement,偏移量设置为零。其他三个固体网格面的边界类型设置为自由面,没有外力机翼加载,跟随上下机翼表面运动。流体的物面设置为绝热壁就好了。
  5. 在BC的下拉中找到Fluid-Structure interface用来设置流固耦合。选中固体块的上机翼,group。同样将该面对应的面也选中,然后进行group。同时选中这两个面,在下面的set按钮中,set为流固耦合面关系。同理设置下机翼面的流固耦合关系。设置为流固耦合关系FSI的时候必须以组为对象,这就是需要group的原因。
  6. 选择IC面板,设值流体的初始条件。需要通过volume by volume来将流体和固体分开设置。
  7. 选择SC面板,control分栏中的stress,有一个耦合频率,表示流体计算多少步之后计算以此固体变形。Relax分栏可以设置网格变形的松弛因子,通过调节松弛因子来避免早期流场不准确带来的固体大变形从而造成流体网格出现负体积的情况。网格真实的变形量为计算出的变形量乘以松弛因子。
  8. run面板,问题默认为并行计算。

并行计算设置步骤

点击configure parallel run,弹出mdice窗口,设置并行参数。
fastran实例 -- 机翼静气弹分析_第1张图片

一些小note

在CFD-FASTRAN中,结构化和非结构化的流求解器都使用与上面描述的域分解相同的通用策略执行并行情况。并行度在区域级别。模型必须有多个区域才能并行运行。有些区域分配给一台机器,有些区域分配给另一台机器,等等。因此,一个人不可能使用比模型中区域更多的处理器。

18.9.25更新

配置正文:

1. Parallel Processing Configuration Requirements

CFD-FASTRAN Version 2010.0本身不需要任何特殊的安装或配置程序来运行并行模拟。但仍有一些系统管理先决条件需要满足,下面将对此进行描述。

对于普通的串行模拟,用户需要设置ESI_HOME环境变量,并将$ESI_HOME/2010.0/UTILS/bin放在路径前面(可以使用-runver选项启动与2010.0软件并排安装的现有2009软件)。

2. Parallel Environment Setup

要为并行CFD-FASTRAN模拟准备计算集群,用户或系统管理员必须了解以下要求

  1. 用户应该有CFD-PARALLEL许可证。这可以通过查看许可证文件来验证,该文件应该具有此特性。
  2. CFD-FASTRAN软件包应该安装在NFS可以从集群中的每个节点访问的共享位置,或者,对于非NFS集群,应该安装在公共位置(例如,每台机器上的/usr/local/ESI_Software)。
  3. 对于非结构化网格并行情况,需要使用NFS。
  4. 用户应该在所有节点中设置所需的环境变量。
	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)
  1. 用户应该在集群中的每台机器上拥有相同的登录帐户(即相同的用户名)。
  2. 用户应该能够访问集群中的其他所有计算机,而无需输入密码,即使用ssh。对于Windows,用户可能需要安装额外的软件,比如cygwin s openssh来建立这个系统。
  3. 对于Windows平台中的非结构化网格情况,需要额外的IBM-MPI一次性设置。

3. 免密登陆RSH/SSH安装

3.1 SSH

无密码的ssh依赖于用户执行某些步骤来启用ssh访问。这些步骤如下。考虑两台机器,fastran-00和fastran-01。

  1. 运行ssh-keygen(通常带有选项-t)并回答问题。这将在用户的主目录中生成一个名为.ssh的目录,并进一步生成名为authorized_keys和id_dsa.pub的文件。在fastran-00和fastran-01上执行此步骤。
  2. 确保.ssh目录具有权限600。
  3. 在.ssh目录中,将生成的密钥添加到authorized_keys文件中
fastran-00% cat id_dsa.pub >> authorized_keys
  1. 复制id_dsa。通过您选择的任何方式(例如scp),将fastran-00上的发布文件传递到fastran-01。将其重命名为id_dsa.pub.fastran-00。现在,在fastran-01上的.ssh目录中,将这个公钥附加到authorized_keys文件
fastran-01% cat id_dsa.pub.fastran-00 >> authorized_keys
  1. 在另一台机器上重复。现在您应该在授权密钥文件中拥有两个密钥(来自每台机器)。
  2. 最后,使用ssh从fastran-00登录到fastran-01,反之亦然,还可以从fastran-00登录到它自己。第一次执行此过程时,ssh将提示输入用户名和密码,并将连接主机添加到已知主机列表(在known_hosts文件中)。随后,它将不会提示输入密码。

3.2 RSH

如果需要,用户可以选择使用rsh。没有密码的rsh依赖于用户的.rhosts文件或/etc/hosts.equiv文件。用户的.rhosts文件必须具有权限600(仅由用户读写)。.rhosts文件的语法非常简单:每行一个主机,后面跟着允许连接的用户名(不需要输入密码)。有时需要使用完全限定的域名。

/etc/hosts.equiv文件是允许对当前主机进行无密码访问的主机列表;它适用于所有用户。

3.3 Password-less Access Verification

假设集群仅由fastran-00和fastran-01两个节点组成,用户名为bob。如果正确设置了rsh,您应该能够执行以下命令

bob@fastran-00% rsh fastran-01 echo "Hi"

ssh的语法略有不同

bob@fastran-00% ssh bob@fastran-01 echo "Hi"

3.4 .bashrc or .cshrc file Should Not Print Any Output

另外,确保您的.cshrc(或.tcshrc或.bashrc文件,无论您的shell使用什么)不会产生任何输出。如果出现输出,rsh会错误地返回错误状态。这是标准的Posix行为。在创建终端窗口期间需要生成的任何输出都应该在.login文件中完成,而不是shell的初始化文件。

3.5 Correct Permissions on Working Directories

接下来,您需要验证是否可以找到典型的工作目录,以及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。这将启用所有新创建文件的完整读/写/执行权限,因此权限不会给您带来任何进一步的问题。但是,您可能需要首先咨询系统管理员。

4. Platform-MPI Setup - Additional requirements (Windows only)

4.1 安装和启动HP-MPI远程启动服务(多模式并行需要)

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

每台机器只运行一次这些命令。如果您犯了错误,需要重新安装服务,请参阅下面的内容。

4.2 对于windows xp系统

为了允许在Windows XP上使用HP-MPI的多个节点上运行,必须采取另一个步骤。有两种方法可以设置此选项(建议使用方法1)

1 .My Computer > Tools > Folder Options > View tab
Uncheck “Use simple file sharing (Recommended)”

  1. Click Start > Run > Type “regedit”

Navigate to : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

Double-click the key forceguest

Set the value to ‘0’ and click OK.

  1. You may have to restart your machine after applying this setting.

4.3 验证

  1. 启动Microsoft windows服务。(start>service.msc)
  2. Locate the IBM Platform MPI SMPID service (Display name: IBM Platform MPI Remote Launch)
  3. Ensure that the service has started.

4.4 为HP-MPI程序添加防火墙白名单(必需)

要使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

4.5 注册认证密码(推荐)

建议为身份验证注册(缓存)密码。这需要为每台机器的每个用户做一次。

在命令窗口中运行以下命令

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.

4.6 验证不同的节点可以互相通信(测试)

在完成上述启动HP-MPI服务和注册密码的步骤后,建议用户测试机器之间是否可以使用HP-MPI进行通信。

  1. 验证
    从命令窗口运行以下命令:
C:>\ %ESI_HOME%\2014.0\UTILS_2009.4\hpplatformmpi-091.01.002.010\bin\mpidiag.exe –s  -at

从服务接收的消息:<显示用户名>

如果输出包含您的用户名,那么机器将成功通信。建议在所有节点上执行此测试,以确保所有节点都成功通信。

好吧,最终还是不知道是怎么配置

============================================================================================

09.26更新,还是没有弄好

  1. 再次查看介绍文档,发现User Shared Library应该不是browser出来的。而应该是直接进行输入得到的。
    在这里插入图片描述
    因为图中只有名称而没有具体的路径,如果是浏览的话,无论如何都会有一个路径的。为此,笔者模仿文档种也输入相应的参数。发现.so应该是Linux中的动态库文件,在bin目录下找不到肯定是正常的。

  2. MDICE的配置

fastran实例 -- 机翼静气弹分析_第2张图片

如图所示,这里有效的工作目录,笔者觉得是自己随便定义的一个路径,并不能知道这其中到底有什么含义。因此笔者也随便设置了一个目录。这里的添加host的路径,因为上面写着Linux下为hostname,那么我这里为windows所以在控制台输入hostname得到windows的主机名,并作为这里host的名称。然后如图所示点击add和distribute zone然后点击ok。

依然报错。File not found。
fastran实例 -- 机翼静气弹分析_第3张图片

路漫漫其修远兮啊~

===================================================================================================

18.09.29重大更新

这两天在无奈的时候又看了下相关的帮助文档,发现是和cfd-fastran-solver存在一定的关系。于是乎笔者就进了命令行来进行一些尝试。

fastran实例 -- 机翼静气弹分析_第4张图片

看到这里面有hosts,还有local等。这些应该就是用来配置主机的,在GUI中配置好之后,一直存在问题不能进行运行。笔者在这里进行尝试。
在这里插入图片描述

这里笔者选择local,采用本地的主机,然后对DTF文件进行运行。

由于这里的DTF是经过GUI保存过的,因此配置参数其实都已经存放在该文件中了。直接进行运行即可。
fastran实例 -- 机翼静气弹分析_第5张图片

这里不知道为什么,笔者连续输入了6次相同的密码才进入到运行界面,所以不要怀疑自己记错了密码。笔者一度以为自己记错了密码或者密码不对,然后到处瞎写。接下来进入到运行窗口,如图所示。这里已经开始了并行计算。
fastran实例 -- 机翼静气弹分析_第6张图片

进入到CFD-FASTRAN-GUI中,发现Run那一栏下面已经开始计算了。fastran实例 -- 机翼静气弹分析_第7张图片

进入out文档查看相关内容
fastran实例 -- 机翼静气弹分析_第8张图片

还是要继续慢慢来弄啊,好希望有个人直接告诉我怎么弄啊,就是一个环境和怎么计算的问题啊。

=======================================================================================

18.09.30 更新

由于最终的任务需要在一台不能联网的主机上进行,该主机的配置是win7。这里说一下对于一台离线的win7主机怎么进行配置。这里将一些不同的内容写在这里。

  1. 对Cygwin进行安装,由于我在自己电脑上进行安装的时候已经将很多内容都下好了。而且Cygwin会提供一个默认的保存位置。笔者这里的文件夹是http%3a%2f%2fcygwin.mirror.constant.com%2f。可以在安装界面中选中,install from localdirectory。然后选择这个目录就好了,但是请注意在安装的时候也要再次选择我们需要的内容,比如ssh就没有勾选,直接进行默认安装是没有的。因此需要再次找到ssh的位置进行勾选。(详情见我的配置文档 https://blog.csdn.net/qq_33347077/article/details/82664585)
  2. 在win7中必须配置好免密登陆,我开始的win10。没有强制设置免密登陆,每次进行密码输入虽然麻烦但是能进行下去。但是win7这里不设置免密登陆会直接报错,大概就是说不能知道主机名下默认的工作地址是否存在。这里就需要配置好免密登陆,然后就OK了。
  3. 和原来的一样,注意在GUI中一直报错是file not found。这个时候需要进入命令行来运行就好了。如果没有报错能运行。请忽略该条。

然后之前并没有成功运行。fastran实例 -- 机翼静气弹分析_第9张图片

分析:在我的个人PC本和离线的电脑都是在最后算出来这么一个结果。而且能够进行计算,说明环境配置已经没有问题了。其次对报错的内容进行分析:not enough handshakes from modules with the controller after 1200 seconds. 意思是1200秒之后就没有足够的模块和控制器的交流。

你可能感兴趣的:(CFDLearn)