GetFEM ++ 是一个基于协作开发的开源库。它旨在提供一个框架,用有限元方法解决线性和非线性偏微分方程的潜在耦合系统。GetFEM ++接口是用一些脚本语言(Python和的Scilab和Matlab),因此,几乎所有的功能只需要写脚本就都可以使用。它在任意维度工作,并允许耦合一维、二维和三维的问题。GetFEM++的优点可以总结如下:
- 一种通用汇编语言(在操作符方面),允许快速翻译相当随意的弱公式。一种符号推导,允许自动获得非线性问题的切线系统。将汇编项汇编成优化的基本指令。
- 收集问题的变量、数据和术语以及表示经典模型的一些预定义的传统模型描述:小和大变形中的弹性,亥姆霍兹问题,标量椭圆问题,狄利克雷,接触和诺曼边界条件,不可压缩约束,...
- 在几何变换、有限元法、积分法和偏微分项描述之间的完全分离,这允许很容易地从一种方法切换到另一种方法。
- 一组预定义方法:等参数元素,任意度和维度的单位的Pk,平行六面体上的Qk,具有气泡函数的P1,P2,Hermite元素,Argyris元素,HCT和FVS,具有分层基础的元素(例如多重网格方法),,不连续的Pk和Qk,向量元素(RT0,Nedelec)...
- 一大套预定义的集成方法。
- 结构力学术语(弹性,与摩擦接触,可塑性...)
- 水平集和有限元削减一个或几个水平集(Xfem)
- 用任意变换计算网格之间的项:这是通用装配的非常强大的工具,其允许使用参数化变换。考虑相对于关于变量的电位依赖性的变换的导数。可能使用:接触问题,流体 - 结构相互作用,特殊边界条件...
- 直接使用Scilab或Matlab界面或导出vtk或pos文件进行后处理。许多插入任意量的可能性,使切片,投影...
GetFEM++ 可以被用来构造非常通用有限元程序,有限元方法、集成方法和维度的问题都是可以很容易更改的参数。这允许广泛的实验。官方提供了许多示例和演示。
GetFEM++只有一个实验啮合过程(并产生常规目)。因此经常需要导入网格。目前支持的格式是GID,GMSH和EMC2。