一、产品概述) E& T |: i. g: R* r( q' S
有限元语言及编译器(Finite Element Language And it’s Compiler),以下简称FELAC)是中国科学院数学与系统科学研究院梁国平研究院于1983年开始研发的通用有限元软件平台,是具有国际独创性的有限元计算软件,是PFEPG系列软件三十年成果(1983年—2013年)的总结与提升,有限元语言语法比PFEPG更加简练,更加灵活,功能更加强大。目前已发展到2.0版本。其核心采用元件化思想来实现有限元计算的基本工序,采用有限元语言来书写程序的代码,为各领域,各类型的有限元问题求解提供了一个极其有力的工具。FELAC可以在数天甚至数小时内完成通常需要一个月甚至数月才能完成的编程劳动。& `& J2 [3 y0 s: }
FELAC2.2采用自定义的有限元语言作为脚本代码语言,它可以使用户以一种类似于数学公式书写和推导的方式,非常自然和简单的表达待解问题的微分方程表达式和算法表达式,并由生成器解释产生完整的有限元计算C程序。8 V8 S, n: T+ C3 f& }# `7 w p% G
FELAC2.2面向高校、研究院设计院等科研单位,旨在将科研人员从繁重的代码编写工作中解放出来,快速将理念转化成现实成果,降低开发成本。
/ P; }) z+ b- R 二、FELAC2.2全新的理念4 F+ t& R/ @: z: @- U& V, M% P
2.1、FELAC2.2的特色
2 F& e) g- T, v! {7 K 2.2、FELAC2.2的基本思想- f5 B% q4 r3 k. m1 g7 d7 f
FELAC2.2的目标是通过输入微分方程表达式和算法之后,就可以得到所有有限元计算的程序代码。该系统采用一种语言和四种技术开发而成。
3 x+ x9 u. ]* T7 Y" A& W 三、产品功能7 ^/ u7 w: N( @; f5 ~
3.1、灵活简单的多物理场耦合描述
9 v2 x9 s: E3 b) M1 A 求解多物理场耦合的本质就是求解偏微分方程组,但是由于各个物理场的物理属性的本质差异,一般情况,每个PDE所对应的数值求解方法往往存在实质的差异,FELAC2.2的求解环境决定了它在求解领域上不受限制的优势。目前,在固体力学、传热传质学、电磁学、CFD等学科领域都可应用FELAC2.2进行仿真分析。0 ]/ ^( S. \9 x8 i/ j" Q8 m# N* l. V
面向微分方程描写有限元文件,每个方程对应其唯一的算法
& z0 C1 h1 P* r8 Q 程序统一,计算模拟环境统一
" |: ^, }: \% ^9 s+ R) e' z 便捷的数据耦合描述! h. J8 R+ S( a" ~0 y3 B
组件间简单、统一的数据接口
1 h' K$ {) i3 v" O) K9 K" o$ H+ F" D 3.2、友好的用户界面3 u2 h l; H, e/ J
FELAC并行版2.2采用Windows风格的图形用户界面,简洁、美观、友好的客户端界面为用户提供了强大的人机交互功能。
* B; b/ r1 @( p- H: S: c+ A/ R 友好直观的人机交互功能! w" X# N& d4 V: Y* V
方便灵活的“公式库”向导建模! z, O1 w* Z4 W, O/ u$ R8 C: ~$ }
循序渐进的多场耦合过程描述
* S: [. F8 p! K* C 交互式材料参数的设定与修改% `: v* M/ t! w) n7 M8 \
一键式有限元模型仿真分析! U# k9 C" g) U1 K) `& ]. A( l
功能丰富的多文档编辑器2 [- ?1 E9 k% h' |
3.3、丰富灵活的库功能
) G! M# y* s0 y7 M% ~ 根据用户输入的微分方程表达式与算法自动生成有限元、有限体积计算的C++代码,用户不仅可以直接采用脚本文件编制程序,还可以借助FELAC2.2的库功能自动完成程序生成,FELAC2.2提供了从一维到三维共12中坐标系下的模型库、微分算子库、形函数库、算例库等。
! B3 A) d* U& k, j FELAC并行版2.2公式库
2 t; y% j' X( q6 L: L( A* H* I 目前FELAC并行版2.2提供八种公式库模块,基本覆盖了固体、结构、流体、传热、电磁学及多物理场耦合等领域研究的主要问题。" i4 O% M0 L& d: K u) m
公式库中的模块均可通过界面工作区的公式库向导,生成该领域的有限元计算程序,方便高效的完成相应问题的仿真分析。
9 c$ m8 P7 n$ N# U 3.4、功能强大的帮助系统
' c! b. ^* g# k% _% J$ C9 `4 p/ P 用户可以随时通过快捷键F1进入FELAC2.2帮助系统,通过“查看”、“索引”“目录”跟踪查询相关内容,方便快捷的指导用户学习软件及其有限元相关理论,快速有效的解决用户在使用软件中遇到的相关问题。为用户使用软件提供了强大的帮助支持。
& A! z7 n- ~7 _" p. B 四、版本升级说明
: ^, Z4 R2 V W5 f 4.1、软件界面部分- G3 H% s; D2 b) T# T0 F5 x
1、全新的软件界面风格,提高软件的可操作性和可维护性。
~0 K6 j6 U) }8 |: y; K 2、全新的界面UE和界面UI,提升软件的用户体验。
6 b! K, u" @$ [; _) F! Y8 H6 C 3、全新的功能完善的帮助系统,为用户提供学习和帮助支持。* d, s- P r: U7 L2 ^# M( }6 x
4、重新架构底层数据库,修正工程管理文件和管理方式。
6 N$ G! K0 E; u! `4 D+ K# y 5、增加编辑区字体与字号的选择和记忆功能,并重新布局编辑区。
2 I7 t9 w( b# {# k, y) [ 6、重新实现对pre文件的读取,增加材料区域操作的右键功能。
. O0 F; t* u, m: o( B 7、新建工程会自动创建于工程名同名文件夹,并设置为当前工作目录。* p! M/ E$ @! E8 V6 y" V
8、增加方便快捷菜单“最近打开的项目”、“最近打开的文档”。( p% g8 h5 U/ O- {, U& N! j8 y
9、完善异常代码处理机制。! I9 n0 E" _1 I! M2 Y) k1 C: C
10、完善版本之间工程项目的兼容体系。
( e% X; a: F+ w: p7 M! E# G3 a% W 4.2、软件技术部分
, h- k$ ]9 T- M% h0 Y+ K* U 1、改进公式库电磁学时谐脚本,解决标准算例TEAM7铝板表面电流问题。+ g; K6 Q! J, e* e/ j. B
2、增加流体力学直接有限元计算时线性化的方式,以适应不同类型问题的选择,并对求解器进行了优化设置。( q& N9 F1 E* R* I* e" `+ B) J' X
3、改进流体力学算子分裂-特征线法对流项在自由度上的处理方式。
9 M3 `3 N* Z5 [' Q 4、改正流体力学使用混合元计算时压力正则项的处理方式。
. {7 y- D: i0 G 5、对公式库各个领域脚本进行精度上的测试改进,与商软进行对比。
6 H; `$ n3 H9 ?, p9 T 4.3、软件系统部分
' H$ m6 j T! ^& d 1、统一规范系统环境变量
- q5 }& Y7 C S 2、修复和完善错误信息提示功能
. I: u8 ?' I" R# x* B! c( B7 u5 } 3、系统增加通过参数的形式调用vs编译环境
h7 m. [+ K; n Y+ ^8 ^8 D Q 4、增加非直角坐标系的后处理数据变换为直角坐标系功能 X! R3 P: {1 G, @% O6 c
5、将ges文件翻译为单元子程序,减少刚度计算语句每行的字符数,方便用户查看修改。
% q3 O' D6 } ^2 i! J; j. l s5 a 6、修改了动态边界生成部分,将原始边值也传入fbound函数作为参数,添加了fforce的定义。: z6 g6 d7 P" Q
7、修改ges文件命名规则,如果一个场有多种体单元(不同的脚本生成),命名顺序为aeq4、a2eq4、a3eq4…,如果一个场有多种边界单元(不同的脚本生成),命名顺序为alq4、a2lq4、a3lq4…。
5 M& K& R# L% K( H! N% Z 8、修复gcn中的第一段中标志“&a”对第二段组件命令参数的影响。
% v$ U( m6 w0 F 9、修复了gcn文件中命令流段翻译为main主函数时对变量声明语句的重新写入。
7 h* y4 G9 Y( n$ A K 10、增加系统对于mdi文件中pde文件名中的减号‘-’的识别。
" T) G* W1 y. n0 Z- Q" V
) C, C. [6 N7 \& W0 \: K% p |