元计算felac有限元在高校科研方面的应用
元计算吧
全部回复
仅看楼主
level 2
1、在超导上的应用
德国慕尼黑技术大学应用数学研究所采用“有限元程序自动生成系统”对高温超导过程进行数值模拟,弄清楚了在物体内部超导发生和发展的全过程,进一步揭示了超导的物理机制,它的研究成果在国外向物理学家报告后引起轰动,受到物理学家的好评。
2、在系统科学上(有限元理论研究中)的应用
中科院系统科学所林群院士领导的小组主要从事外推、校正等有限元新算法的研究。它们每研究出一种新算法,就要进行数值试验。如果都用人力来编制程序,则要花费大量的时间和精力。它们找到了梁国平的生成系统这一理想的工具。它们用有限元进行二阶偏微分方程的计算,当二阶项的系数充分小时,出现了方程变形等特殊问题,用国外的最新程序系统(美国的BANK,德国的GMD)都无法进行计算,因为这些程序都是“黑箱”,使用者无法作任何修改,只有用梁国平的系统计算取得了成功。他们说:“梁国平的系统最能发挥科学家和工程师的创造性,是一个最便于科研的软件”。
3、在地球科学研究上的应用
北京大学地质系采用“自动生成系统”生成三维球坐标系下速度、压力和温度耦合场的牛顿流体的有限元程序,模拟三维球壳地幔流动与地质构造运动过程,求解了板块构造理论中海沟后退对地幔对流影响问题,在国际上首次确定了动压力对大洋中脊和岛弧后火山形成的作用以及海沟后退的影响,受到IVGG大会的好评。
2015年12月23日 06点12分 1
level 8
[顶]
2016年01月13日 08点01分 2
level 8
CAE行业:有限元语言编译器(简称:FELAC)
有限元语言及其编译器是元计算公司开发的将“有限元语言”翻译为“C++语言”直至可执行程序的软件,其主要工作流程:有限元语言(FEL source code)→ 有限元语言及其编译器(FELAC)→ C++语言代码(C++ source code)→ C++编译器(C++ compiler)→ 目标代码(object code)→ 可执行程序(executables)。
2016年02月22日 01点02分 3
level 8
【更正一下,现在元计算公司的FEPG已经正式更名为FELAC(有限元语言及其编译器)】
一个完整的有限元程序系统,通常由单元子程序和算法程序组成,前者取决于模型的控制方程(组),因此一个系统内有多少控制方程,就有多少单元子程序,编写单元子程序是有限元系统的主要工作量。有限元程序编制在过去是靠程序员一句一句写下来的。一个有限元程序往往达到数千句,出错误实在难免,查错误也不易。使用FEPG系统,可以高效地编程,查错纠错也方便。主要原因在于,利用FEPG编程,不必一句一句地写FORTRAN程序,只要按照要求填写一个大约20行~30行的文件(名为GES文件,立即生成单元子程序文件),就可由计算机生成大约200句~300句的FORTRAN程序,完成单元子程序的编写工作。很显然,阅读、修改一个20行~30行的文件要比直接操作一个200句~300句的文件容易得多。这是FEPG系统高效率工作的原因。
上面提到的按照要求填写文件GES,所填写的内容就是编写有限元程序的必要信息,如子程序名、待求(位移)函数名、整体坐标、局部坐标、单元节点个数、形函数表达式、坐标插值公式、高斯积分点的坐标及权系数、由待求函数或其导数组成的单元刚度矩阵、变换单元质量矩阵、单元阻尼矩阵、单元载荷等。对形函数可按公式替代。对高斯点信息,可由FEPG系统按照单元维数、单元每一条边的积分点数、局部坐标是0到1还是-1到1这三个要求进一步生成。最后生成的FORTRAN源程序绝对值符合编程者的要求,因此只要检查自己填写的GES文件就行了。
任何有限元程序,无论是线性的还是非线性的,在单元子程序计算及总体刚度矩阵、总体载荷向量形成之后,都就成求解一个代数方程组的问题。在这里编程者要在非线性算法NFE文件中输入方程的产生公式及其求解的方法和步骤,系统会产生代数方程组对应的矩阵和右端项,以及一个批命令来完成计算。系统提供了求解代数方程组的6个源程序。这6个求解程序可以实现对数组空间的实际内存分配,而不会浪费内存,这6个求解程序分别是:1)对称内存求解程序;2)非对称内存求解程序;3)对称外存求解程序;4)非对称外存求解程序;5)共轭梯度求解程序;6)Gauss-Seidel迭代方法求解程序。
从上面的介绍可以看出,拥有FEPG系统,就相当于拥有了所有的有限程序,不仅如此,为了方便人们使用有限元程序解决问题,FEPG系统还配有前处理程序自动生成器(多重表格输入法MTI),实现有限元网格自动剖分和边界约束条件输入;配有MSGF宏命令绘图系统,帮助人们很快给出网格和计算结果的等值线图、填色图。
2016年03月16日 06点03分 4
1