找回密码
 注册
Simdroid-非首页
查看: 42|回复: 0

有限元语言生成器介绍

[复制链接]
发表于 2016-3-17 14:02:25 | 显示全部楼层 |阅读模式 来自 上海
有限元语言生成器的任务就是把有限元语言书写的程序转换成某种高级语言程序(有限元语言转换为FORTRAN语言程序)。元计算的有限元语言对于微分方程表达式,由生成器产生全部的单元子程序。对于算法程序则只产生一部分的高级语言代码程序,大部分代码是事先写好的,与有限元语言书写的算法程序无关,这一部分的代码约占到整个程序的代码量的三分之二以上,这样做的目的是为了减少生成程序的代码量和增加软件的灵活性。
  生成器采用了以下的三项软件技术:
  自动生成技术:由微分方程表达式和算法产生高级语言程序。
  组件化技术:又称构件化,中间件技术,近十年由IBM、微软等大公司倡导的新的软件开发模式。由于采用了自动生成技术,组件程序可根据微分方程表达式和算法的不同自动改变,因此所需的组件程序非常少。
  公式库技术:把各种微分方程表达式和算法,以及形函数等常用公式存入库中,有限元语言可直接调用这些公式。这是采用模型语言与程序自动生成技术所特有的软件技术,类似高级语言的程序库技术。
  有限元语言采用这三项软件技术带来了以下的好处:系统程序大为减少,约十万行代码。维护简单,人人都能参与,可持续发展性强。由有限元语言书写的程序不仅大大减少了代码量,大大提高了编程效率,更重要的是程序可读性强,再用性强。有限元语言是一种超平台的语言,既不依赖于硬件也不依赖于操作系统,适用于各种计算机环境,包括单CPU与基于OPENMP和MPI的多CPU计算机。
附:FELAC 2.0软件简介
  FELAC 2.0采用自定义的有限元语言作为脚本代码语言,它可以使用户以一种类似于数学公式书写和推导的方式,非常自然和简单的表达待解问题的微分方程表达式和算法表达式,并由生成器解释产生完整的并行有限元计算C程序。
  FELAC 2.0的目标是通过输入微分方程表达式和算法之后,就可以得到所有有限元计算的程序代码,包含串行程序和并行程序。该系统采用一种语言(有限元语言)和四种技术(对象技术、组件技术、公式库技术生成器技术)开发而成。并且基于FELAC 1.0的用户界面,新版本扩充了工作目录中右键编译功能、命令终端输入功能,并且丰富了文本编辑功能,改善了用户的视觉体验,方便用户快速便捷的对脚本或程序进行编辑、编译与调试。其中并行版在前后处理上进行了相应的改进。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 17:23 , Processed in 0.025068 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表