FEPG详细

        什么是FEPG

        谁用FEPG

        系统结构

        功能特点

        前后处理

        演示厅

        公式库内容

        下载

        算例集锦

        常见问题

  FEPG产品系列

       FEPG(单机版)

       IFEPG(网络版)

       PFEPG(并行版)

       产品报价

 

 

 

公式库功能

用户点击菜单就可得到计算的全部Fortran源程序,傻瓜操作,简单易学
Workspace功能,列出有限元全部公式和源程序及其相关的操作命令
公式和由公式生成的源程序都可随意修改,生成用户所需的有限元程序
提供十种坐标系,用户可在任何一种坐标系下求解问题
用户可随时随地加入自已的公式库,扩充公式库的求解范围。

公式库内容

微分方程库

固体力学:一维,二维,三维弹性、弹塑性、粘弹性、大变形、刚塑性;
电磁场:一维,二维,三维静电场、静磁场、一维,二维时谐电磁场、瞬态电磁场;
结构力学:提供一维,二维,三维,杆单元,梁单元,板单元和组合结构计算单元,可以方便地生成膜单元、弯单元,提供处理斜约束的弹簧单元;
流体力学、岩石力学、热传导、渗流、数学物理。

形函数库

一维:2节点线单元,3节点线单元;
二维:4节点、8节点、9节点四边形单元,3节点、6节点三角形单元;
三维:8节点、20节点、27节点六面体单元,4节点、10节点四面体单元;

数值积分库

节点积分、任意多个高斯点积分;

算法库 

线性、非线性/瞬态、稳态问题的各种算法;非线性问题的修正牛顿法;抛物方程的Crank-Nicolson格式;波动方程的速度格式和Newmark格式。

代数方程组求解库

只用内存的对称和非对称变带宽求解器;用外存的对称和非对称变带宽求解器;高斯-塞德尔迭代法求解器;超松驰迭代法求解器;共轭梯度法求解器;不完全LU分解预条件子共轭梯度法求解器。

十种坐标系

一维:直线坐标、极轴坐标、球轴坐标;
二维:直角坐标、极坐标、柱轴对称坐标、球轴对称坐标;
三维:直角坐标、柱坐标、球坐标。

  一个有限元问题主要由两方面内容组成,一方面是物理模型,在数学上可归纳为微分方程表达式,另一方面是求解区域和边值条件,通称为几何建模。几何建模部分将由前后处理系统解决,此处仅研究偏微分方程表达式及其有限元解法。
    FEPG与现有的通用有限元程序系统不同,它的主要目标不是给出现有某些类型微分方程的求解库,而是提供一个有限元平台,用户利用这个平台,可由该问题的微分方程表达式及其求解算法得到他所需要的全部有限元计算程序,因此本系统也可叫做有限元生成器。下面将分别叙述如何书写微分方程表达式与算法表达式。

微分方程表达式

众所周知,有限元方法是基于变分原理或虚位移原理,本系统要求以虚位移原理的形式书写微分方程表达式。例如对于如下的Poisson方程

本系统的虚功方程表达式书写如下:
stif
dist=[u/x;u/x]+[u/y;u/y]+[u/z;u/z]

load=[u]*f(x,y)
第一段stif段落,书写Laplace算子表达式,其中[·;·]表示两个函数的内积,分号前的函数为未知函数或其导数(u/x表示u 对x的导数),分号后的函数表示未知函数或其导数的虚位移。
第二段load段落,书写方程的右端项。

作为有限元平台,应该对各种微分方程表达式,如对非线性的,时间依赖的,耦合的等各种微分方程表达式都可实现,到目前为止,尚未遇到不可用本系统表示的微分方程表达式。不仅如此,本系统还允许用户采用张量运算(即下标求和形式)和算子运算表达式来表示虚功方程。因此与有限元书刊所采用的书写形式完全一致,十分简练和清晰,(有兴趣的读者可参阅首页中FEPG各种领域算例)。

算法表达式

这里所说的算法是指求解偏微分方程的计算方法。它包括非线性微分方程如何线性化,时间依赖问题如何对时间离散,以及非线性问题迭代过程的步长(即松驰因子)和精度的控制等等。对于多物理场的耦合问题还要考虑各种场的先后迭代和耦合过程。
FEPG系统把算法分解为两部分,第一部分主要描述单物理场的算法,即求解一个偏微分方程组的算法。第二部分是描述多物理场耦合问题的算法。下面分别叙述这两种算法。

单物理场算法表达式:

对于单物理场的有限元离散,最核心的问题之一就是如何导出其相应的线性代数方程组(即方程组的系数矩阵及其右端项),下面以两个例子说明这些表达式的书写形式。
例1、用crank-Nicolson格式求解抛物型方程,其表达式为:
matrix=[S]*dt/2+[M]
forc=[F]*dt-[S]*[U1]*dt/2+[M]*[ C]

第一个表达式表示代数方程组的系数矩阵,第二个表达式表示代数方程组的右端项。其中[S]为刚度矩阵。[M]为质量矩阵,[F]为微分方程的右端项,它们均由微分方程表达式部分给出其计算结果。其中dt为时间步长,[U1]为解[U]的初值(即上一时间步的值)。

例2、用速度法求解波动方程,其表达式为:
matrix=[S]*(dt/2)**2+[C]*dt/2+[M]
forc=[F]*dt*dt/2+[M]*[ U1]+[M]*[V1]*dt+[C]
*[ U1]*dt/2-[S]*[ U1]*dt*dt/4
其中[S]表示刚度矩阵,[M]表示质量矩阵,[C]表示阻尼矩阵。[U1]表示上一时刻已求出的广义位移,[V1]表示上一时刻已求出的广义速度,[F]表示荷载向量,dt为时间步长。

多物理场算法表达式:

多场耦合问题,一般由多个微分方程组组成,且各未知场函数之间相互影响。对此类问题,除了每一个物理场需要有一组微分方程表达式与单物理场算法表达式之外,还需要有一个能表示不同未知场函数之间的影响,以及求解顺序的控制等多物理场算法。
本系统将通过一个以GCN为扩展名的脚本文件(以下称为GCN文件)来描述多场耦合算法。下面是一个典型的GCN文件。
defi
a ell b &
b ell

startsin b
startsin a
solvsin b
solvsin a

它由两个段落组成。第一段落以关键字defi开头,然后给出各个物理场采用的单物理场算法及不同物理场之间的相互影响关系。例如本例子有a与b两个物理场,defi后面的第一行表示a场采用单物理场ell算法(此处是线性静态算法,可通过算法库得到),b场将影响(即耦合到)a场的计算,b场的计算也采用ell算法,但a场不影响b场的结果。
注意计算每一个物理场所采用算法既可以采用算法库的单物理场常用算法,也可以采用用户给出的算法。

第二段落以空行开头,给出有限元计算程序的命令流,本算例共有4条命令,第一条命令与第二条命令分别给出场a与场b的初始化,第三与第四条命令分别对a、b场求解。此处把b场求解放在a场之前是因为a场的求解依赖于b场,而b场的求解与a场无关。另外这4条命令均有字符串sin,这里表示采用不存单刚的对称求解器。
读者若想了解更多的例子请参阅首页中FEPG各种领域的算例。

FEPG.GID采用西班牙CIMNE研究机构(International Center for Numerical Methods in Engineering)的GID作为FEPG前处理的模型建立、网格划分、条件施加,并用GID后处理功能作为FEPG计算结果的可视化。FEPG根据用户的问题类型生成相应的GID菜单和数据结构,并根据GID的后处理格式生成后处理文件。

FEPG与FEPG.GID之间可分可合,FEPG.GID可以生成FEPG分析计算所需的模型数据文件,FEPG计算后所生成的结果文件即为后处理文件,可由FEPG.GID读入后进行数据结果的图形显示和操作。两者之间的关系如下图所示:


FEPG.GID操作界面类似AutoCAD的使用风格,使用户可在很短的时间内掌握,如下图所示:

 

 

 

地址:北京市海淀区知春路56号中海实业大厦 邮编:100086 

Email: fem@fegensoft.com 总机:(010)82131600

传真:(010) 82136800 销售咨询:(010) 82121900