FEAPpv Linux编译及运行方法
整理日期:2016-03-06
问题反馈:师访,QQ:1549221758,pomato157300@126
1. FEAPpv简介
FEAP是由加州大学伯克利分校(University of California, Berkeley)开发的通用有限元程序,FEAPpv是其对应的开放源代码的个人版本。程序最初是由Robert L. Taylor教授(berkeley.edu/~rlt/)为满足教学和科研目的而编写的。与FEAPpv对应的教材为The Finite Element Method, 6th edition。
FEAPpv的功能包括:
linux终端下载软件(1)有限的单元库(与付费版本相比)和用户自定义单元。
①结构分析:弹簧-质点单元(pointnd.f)、一维-二维-三维桁架单元(trussnd.f)、二维梁单元(frame2d.f)、三维梁单元(frame3d.f)、二维壳单元(shell2d.f)、三维壳单元(shell3d.f)、二维(平面应力-平面应变-轴对称)结构单元(solid2d.f)、三维实体单元(solid3d.f)、三维四边形膜单元(membr3d)。
②热传导分析:二维热传导表面单元(convec2d.f)、三维热传导表面单元(convec3d.f)、二维热传导单元(therm2d.f)、三维热传导单元(therm3d.f)。
③用户自定义单元接口:可通过ver31\user文件夹下的elmt01.f至elmt05.f实现。
(2)少量的材料本构(与付费版本相比)和用户自定本构。
①弹性、横观各向同性、正交各向异性、超弹性(Neo-Hookean)、粘弹性、塑性(包括可用于金属材料模拟的Mises和岩土材料模拟的Drucker-Prager屈服准则和相关流动法则)、和热传导本构。这些材料相关代码都在material.f文件中。
②用户自定义材料本构关系接口:可通过ver31\user文件夹下的umati1.f至umati5.f和umatl1.f 至umatl5.f实现。
(3)云图输出功能。
相关程序在ver31\plot文件夹下。
FEAPpv的用法:用户编写输入文件,在终端中通过feappv命令激活程序,并读入输入文件,程序运行完毕后保存输出文件、并根据输入文件中的plot语句绘制相关图形。以下内容为上的输入
文件示例(Iblock,该示例计算一个二维平面应变块体受拉变形问题):
feap * * test on solution !项目名称定义
0 0 0 2 2 4 !问题描述,6个数字的含义分别是:节点数目、单元数目、材料种类、维度、每个节点的
!未知量数目、每个单元的最大节点数目。由于程序可自动识别,所以1-3个数字可设为0 block !建模及单元划分(规则网格可直接用block命令形成)
cart 4 4 !笛卡尔坐标系下4x4=16单元模型
1 0 0 !模型几何坐标定义
2 5 0
3 5 5
4 0 5
ebou !边界条件定义
1 0 1 0 !给x=0的节点施加x方向的位移约束
2 0 0 1 !给y=0的节点施加y方向的位移约束
forc !节点载荷(施加到24,25号节点上)
24 0 0 10
25 0 0 10
mate 1 !材料参数定义
solid !实体单元
elastic isotropic 1000 0.25 !弹性模量和泊松比
end
batch !进入求解设置
loop,,2 !通过两次Newton迭代求解(由于该问题是线性的,所以两次Newton迭代即可
收敛) tang,,1 !形成切线刚度矩阵、残差向量、并求解,等价于TANG+FORM+SOLVe三个命令的组合 next
disp,all !保存所有位移值
stre all !保存所有应力值
reac all !保存所有节点反力值
plot cont 2 !激活y方向位移云图的绘制
plot load !激活载荷的绘制
plot boun !激活边界条件的绘制
end
inter
stop
本文详细说明FEAPpv在Linuxmint(基于Ubuntu的Linux发行版,本文档完全适用于Ubuntu)下的编译和运行方法。关于FEAPpv输入文件的编写,可参考帮助手册,其中有非常详细的说明。
相关连接:
(1)FEAPpv下载地址:berkeley.edu/projects/feap/feappv/
(2)FEAPpv官方论坛(有问题可在此论坛提问,有时候Taylor教授会亲自回答问题):
feap.berkeley.edu/forum/index.php?board=9.0
2. FEAPpv在Linux下的编译方法(以Linuxmint 17.3为例)
(1)通过浏览器从伯克利上下载源文件,下载后的文件默认存放路径是“下载”文件夹(或
Download文件夹)。
(2)在用户主文件夹(本文对应的是shi-linux-mint,位于home文件夹下)下新建Programming文件夹(可以为任意名称,但本文以Programming文件夹来演示),将下载的源文件拷贝至其中。
(3)打开终端(Ctrl + Alt + T),输入以下命令定位到Programming文件夹(再次提醒:其中“shi-linux-mint”是用户主文件夹名称,需根据你情况修改):
终端输入:cd /home/shi-linux-mint/Programming
(4)解压feappv31.zip
终端输入:unzip feappv31.zip
(5)安装编译所必须的相关文件、gfortran编译器以及GUI显示相关的软件包终端输入:sudo apt-get install build-essential
终端输入:sudo apt-get install gfortran
终端输入:sudo apt-get install xfonts-100dpi && sudo apt-get install xfonts-75dpi
(6)定位到解压出来的ver31文件夹
终端输入:cd ver31
(7)设定环境变量,以便告诉编译器资源文件所在位置
终端输入:export FEAPPVHOME3_1=/home/shi-linux-mint/Programming/ver31
注意:等号两边不能有空格!
(8)编译
终端输入:make install
编译时间约1分钟,编译结束后可得到目标文件Feappv.a,大小约为3.3MB,如下图所示。
3. Linux下FEAPpv的运行实例
(1)从下载示例输入文件Iblock,拷贝到ver31下的main文件夹中。
(2)定位到main文件夹
终端输入:cd main
(3)运行feappv
终端输入:./feappv
注意以上命令左边的“.”
之后会出现以下字符型软件界面:
(4)输入输出文件定义
Input Data处输入:Iblock,“回车”
Output Data处直接“回车”,程序默认生成名为Oblock的输出文件,当然此处也可自已命名输出文件。
Restart Read处直接“回车”即可。
Restart Save处直接“回车”即可。
最后输入“y”确定。
计算结果存储在Oblock中,y方向的位移云图:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论