FEtch(Finite-Element-applications generating machine)是一款专业的有限元软件开发平台。它由大漠胡杨工作室历经数年潜心研究开发完成,是近四十年不断发展和完善的有限元语言的全新生成器系统。其核心是采用专用的有限元语言来书写程序的代码,通过元件化思想来实现有限元计算的基本工序,从而为各领域、各类型的有限元问题求解提供一个极其有力的求解工具。FEtch 系统免去了大量的繁琐的有限元编程劳动,保证了程序的正确性和统一性。使用 FEtch,你可以在数天甚至数小时内完成通常需要一个月甚至数月才能完成的编程劳动。
FEtch 面向高校、研究院和设计院等科研单位,旨在将科研人员从繁重的代码编写工作中解放出来,为用户节省大量的编程时间,降低开发成本,让用户将主要精力集中在最有创造性的工作,即物理模型建立和算法研究上,从而实现快速将理念转化成为现实成果。
产品特点
-
FEtch 通过互联网提供服务。不论身在何方,都可以通过远程服务器生成串行和并行的用户专用程序。用户将生成好的程序下载到本地后,即可在自己的计算机上自由地使用该程序进行计算,分析自己的专业问题。
-
FEtch 采用有限元语言和 Fortran 90 语言作为书写代码的统一格式。用户可以根据微分方程表达式和算法表达式,以一种类似于数学公式书写的方式,非常自然和简单地来开发自己的专用有限元计算程序。
-
FEtch 与高性能的前后处理软件 GiD 无缝衔接,图形图像功能完善,操作方便快捷。
三大技术
-
生成器技术
生成器把有限元语言翻译成 Fortran 90 语言。将微分方程表达式和算法表达式解释并生成计算程序源代码,是 FEtch 系统的核心技术。自动生成系统将目标程序分解为可变部分和不变部分。不变部分由系统直接给出,可变部分根据用户采用有限元语言编写的偏微分方程表达式及算法文件,通过生成系统自动产生对应的高级语言的源代码。 -
组件技术
组件化是当今许多软件公司为提高软件的再用性而普遍采用的一项软件技术。FEtch 生成的有限元计算程序由基本组件组成,每个组件程序完成相应单一的功能,包括有限元计算过程中的初始化组件 START、线性代数方程组求解组件 SOLV、 梯度场计算算法组件 GRAD。组件技术的关键是组件之间接口的统一和规范。FEtch 采用中间文件和共享模块两种方式来定义组件之间的接口。内容丰富,书写简单,操作灵活。 -
公式库技术
作为一款有限元程序研发平台,有限元语言、组件技术和生成器技术共同构成了一个有力的开发环境。然而作为 CAE 应用软件,为了减轻用户对常用公式和算法的编写负担,方便用户调用已完善的程序模块,FEtch 还进一步创建了公式库和算法库。公式库提供了常用的各种坐标系下的虚功方程表达式和常用的有限元单元类型等资源。算法库提供了常用的算法程序代码。使用时,用户无需重新编写代码,只要调用公式库和算法库中的相应资源即可创建工程项目,极大地提高了开发效率。
有限元语言
有限元语言作为 FEtch 系统的专用脚本语言,它可以使用户以一种类似于数学公式书写和推导的方式,非常自然和简单地表达待解问题的微分方程表达式和算法表达式,简练清晰。 有限元语言包含两大部分:
1) 描写偏微分方程的表达式
- 描述微分方程的虚功方程
- 空间插值方法,即有限元单元类型
2) 描述半离散的偏微分方程的求解算法
- 非线性的偏微分方程的线性化
- 瞬态问题的时间离散
- 计算流程和迭代的控制
有限元语言有如下一些的典型特点:
✓ 简约性:表达方式与教科书、学术文章等书面表达非常相似
✓ 完备性:完备的语法规则
✓ 普适性:适用于各学科领域及各种有限元问题
✓ 高效性:自动生成代码量十倍以上的高级语言源程序
✓ 超平台性:不依赖操作系统、不依赖于体系结构
FEtch 系统作为一款生成器,它将有限元语言的源代码进行解释后,即可生成完整的有限元计算程序。具体流程如下。
与通用软件的比较
软件开发角度
开发通用的有限元软件 | 使用 FEtch 系统生成程序 |
---|---|
程序代码量庞大 (几十万行) | 程序代码量精炼 (几万行) |
开发投资大,周期长 | 开发投资少,周期短 |
程序库技术,难维护 | 公式库技术,易维护 |
难集成 | 易集成 |
客户使用角度
使用通用的有限元软件 | 使用 FEtch 系统 |
---|---|
源代码不可见,难修改,灵活性差。 二次开发特性一般,很难嵌入其他系统。 对用户说来是黑箱,科研创新能力受限。 |
采用有限元语言编程,脚本代码可见,易修改。 灵活性好,方便嵌入分析设计系统和优化系统中。 创新与科研的最佳工具。 |
耦合问题处理能力较弱,算法难以定制 | 强耦合、弱耦合都可处理,算法可以按需设计 |
前后处理能力较强,学习时间较长, 用户界面和数据格式相对固定 |
可以自选熟悉的前后处理软件, 可自定义用户界面和数据格式 |
多为单机版,价格高昂 | 互联网软件,月租形式,按需选购,定价灵活 |
限学科、限领域 | 不限学科、不限领域 |
应用领域和客户对象
FEtch 系统适用于求解各种领域的各种工程与科学的有限元问题,突破了目前通用有限元程序只应用于特定领域和特定问题的限制,尤其适合于各类学科的科学研究。应用领域包括但不限于:机械制造、材料加工、航空航天、汽车、土木建筑、电子电器、国防军工、船舶、铁道、石化、能源、地矿、水利、医药等。FEtch系统是一款适合于用户创新的工具,包括科研上的进步,技术上的创新,产品上的改进,材料工艺上的革新。
FEtch 系统的客户对象面向高校、科研院所、企业研究院、设计所和 CAE 公司等,以推动核心科技产品研发及专业人才培养。同时还面向理工科专业的老师和学生,FEtch 系统非常适合于高校进行有限元教学,辅助提升有限元课程在高校和科研单位的相关专业的创新能力。
本章小结
通用的有限元软件是软件供应商开发并封装好的软件,适用于常规工程计算分析,科研创新能力弱,用户很难改进和优化。FEtch 系统提供了一种开放的有限元编程环境,适用于用户依据自己的理论方法定制自己的专业软件,科研创新能力强,是生成软件的软件(编译器/开发平台)。