1 / 33

FEPG 中级培训 之 算法描述

FEPG 中级培训 之 算法描述. 讲师:. 本讲内容. 有限元语言回顾 描述算法的语言 NFE 库介绍 GIO GCN 文件. 有限元语言简述. 描述偏微分方程表达式 用一个文件描述 微分方程的虚功方程 描述有限元算法 如何把一个非线性的偏微分线性化 把依赖时间问题对时间离散 多物理场耦合的描述 计算流程和迭代的控制. 偏微分方程分类. 椭圆型方程 描述已经达到稳定状态或平衡状态的物理过程,即定常的物理过程 抛物型方程 像热的扩散这样的非定常物理过程,这种过程会朝着一个稳定的状态发展 双曲型方程

herb
Download Presentation

FEPG 中级培训 之 算法描述

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FEPG中级培训 之 算法描述 讲师:

  2. 本讲内容 • 有限元语言回顾 • 描述算法的语言 • NFE库介绍 • GIO GCN文件

  3. 有限元语言简述 • 描述偏微分方程表达式 • 用一个文件描述微分方程的虚功方程 • 描述有限元算法 • 如何把一个非线性的偏微分线性化 • 把依赖时间问题对时间离散 • 多物理场耦合的描述 • 计算流程和迭代的控制

  4. 偏微分方程分类 • 椭圆型方程 • 描述已经达到稳定状态或平衡状态的物理过程,即定常的物理过程 • 抛物型方程 • 像热的扩散这样的非定常物理过程,这种过程会朝着一个稳定的状态发展 • 双曲型方程 • 描述了非定常的物理过程,如波的运动,但这种物理过程不会朝着稳定的状态发展

  5. 各种问题的形式 • 椭圆方程 • 抛物方程 • 波动方程

  6. 什么是算法? • 有限元离散 • 弱形式的推导 • 单元划分 • 形函数、数值积分 • 其它算法 • 非定常问题的时间离散 • 非线性问题处理 • 数据耦合关系 • 计算流程等

  7. 非线性问题的种类 • 材料非线性 • 非线性本构关系 • 某些材料参数的非线性 • 几何非线性 • 大变形 • 边界非线性 • 接触和碰撞

  8. 非线性问题的求解

  9. 新建FEPG项目需要的文件 • 方程表达式文件 • PDE/VDE文件 • FBC 文件(可选) • 算法文件 • NFE 文件 • GIO 文件 • GCN 文件

  10. 算法文件 — NFE文件 • 有限元方法最终求解的是离散后的线性代数方程组,用户必须给出代数方程组的左端矩阵和右端向量的表达式,然后得到要求解的线性代数方程组,这些表达式的结构通过算法文件 NFE文件来 给出 • 一般说来,代数方程组左边的矩阵是刚度矩阵、质量矩阵、阻尼矩阵的线性组合。右端向量则是这些矩阵和向量的乘积或与其他向量的线性组合

  11. NFE文件举例

  12. NFE库文件简介 ELL.NFE求解线性椭圆型方程的算法程序。 PAR.NFE 求解线性抛物型方程的算法程序,时间离散采用Crank-Nicolson格式。 PARB.NFE求解线性抛物型方程的算法程序,时间离散采用向后差分格式。 WAVE.NFE求解线性波动方程的算法程序,时间离散采用Wave速度法格式。 NEWMARK.NFE求解线性波动方程的算法程序,时间离散采用Newmark格式。 NELL.NFE求解非线性椭圆型方程的算法程序。 NPAR.NFE求解非线性抛物型方程的算法程序,时间离散采用Crank-Nicolson格式。 NPARB.NFE求解非线性抛物型方程的算法程序,时间离散采用向后差分格式。 NWAVE.NFE求解非线性波动方程的算法程序,时间离散采用Wave速度法格式。 NNW.NFE求解非线性波动方程的算法程序,时间离散采用Newmark格式。 STR.NFE已知位移场求应力场的算法程序,采用最小二乘法。 ell——椭圆,elliptic par——抛物, parabolic wave——波动(采用只求位移和速度的一种算法) newmark——波动(采用newmark算法,同时求解位移、速度和加速度) 以上算法前面加符号n表示非线性。

  13. 算法文件如何使用?

  14. 新建FEPG项目需要的文件 • 方程表达式文件 • PDE/VDE文件 • FBC 文件(可选) • 算法文件 • NFE 文件 • GIO 文件 • GCN 文件

  15. GIO文件 • GIO文件给出计算场与PDE(VDE)文件之间的对应关系,以及采用的单元类型、单元积分方式和总体坐标系统。由两段内容组成(PDE对应段、总体信息段)。每一段以空行表示结束。

  16. GIO文件-方程输入段 给出各场对应的PDE(或VDE)文件名,以及与PDE(VDE)有关的附加的fortran文件。 PDE(VDE)文件名[#OBJ fortran文件名[ … fortran文件名]] PDE(VDE)文件名[ #OBJ fortran文件名[… fortran文件名]] PDE(VDE)文件名[#OBJ fortran文件名[ … fortran文件名]] … … 1.PDE(VDE)文件名不带后缀名,FBC与之同名不需填写,系统自动进行同名查找。 2.#OBJ为关键字,在其后给出PDE(VDE)文件中使用的fortran子程序文件名(在PDE或VDE中调用且不在PDE、VDE中),各fortran文件名之间以空格隔开,如果一行写不下,可以在行末采用续行符“\”,然后在下一行接着写。 (此#OBJ功能与PDE中附加fortran源程序的方法中的第二种方法对应)

  17. GIO文件-有限元信息段 给出采用的单元类型、单元积分方式和总体坐标系统。 #ELEMTYPE单元类型以及积分方式 坐标系 单元类型和积分方式必须为以下其一 一维: l2, l3, l2g2, l3g2, l3g3 二维: t3, t6, q4, q8, q9, q4g2, q8g3, q9g3 三维: w4, w10, c8, c20, c27, c8g2, c20g3, c27g3 第一个英文字母为单元几何形状类型符,其后的整数为单元的节点数,第二个字母“g”表示采用单元高斯点积分,其后整数为高斯积分阶次。如果没有字母“g”及其后整数,则表示采用单元顶点积分。

  18. GIO文件-有限元信息段 PDE(VDE)中的参数对应关系 %1取单元类型积分方式的第一个英文字母,%2取单元的节点数,%3取高斯积分阶次,如果没有高斯积分阶次(没有字母“g”),%3取第一个英文字母(表示顶点积分)。 例如: 对于c27对应: 对于c27g3对应: shap %1 %2 shap c 27 shap c 27 gaus %3 gaus c gaus 3

  19. FEPG提供的单元类型 • l :线单元,l2, 线性; l3, 二次 • t: 三角单元, t3, 线性; t6, 二次 • q: 四边形单元, q4, q8,q9 • w: 四面体单元 w4,w10 三棱柱单元 w6, w18 • c: 六面体单元 c8,c20,c27

  20. GIO文件 — 有限元信息段 系统提供的坐标系有: 一维: 1dx(直角坐标系), 1dr(极坐标系), 1ds(球坐标系) 二维: 2dxy(直角坐标系), 2dro(极坐标系), 2drz(柱坐标系), 2drs(球坐标系),2dso(球面坐标), 2doz(柱面坐标) 三维: 3dxyz(直角坐标系), 3droz(柱坐标系), 3drso(球坐标系) 根据这里给定的坐标系确定PDE(VDE)中COOR行对应坐标分量的具体含义,因此在PDE(VDE)中写成: coor x y x和y不应该狭义地理解为直角坐标系下的坐标分量,它们只是符号,有可能是柱坐标系下的坐标分量,也可能是球坐标下的坐标分量,具体意义由GIO文件决定。

  21. 物理场别名 • FEPG中对GIO文件中规定的PDE文件,都会赋予一个别名,也称物理场名,场名 • 命名方法是,按照顺序分别是A,B,C……

  22. 新建FEPG项目需要的文件 • 方程表达式文件 • PDE/VDE文件 • FBC 文件(可选) • 算法文件 • NFE 文件 • GIO 文件 • GCN 文件

  23. GCN文件 A NELL STARTC A IF EXIST END DEL END :1 SOLVC A IF NOT EXIST END GOTO 1

  24. GCN文件-算法段 • GCN文件给出计算场与算法NFE文件之间的对应关系,以及场与场之间的耦合关系,和计算的求解流程。由两段内容组成(DEFI、求解命令流)。每一段以空行表示结束。 • 给出各场对应的算法文件名,以及场与场之间的耦合关系。 defi a a场NFE文件名 场标识符 … 场标识符 b b场NFE文件名 场标识符 … 场标识符 c c场NFE文件名 场标识符 … 场标识符 … …

  25. GCN文件-算法段 • 从第二行起,每一行的第一个字符串为场标识符,场标识符按英文字母的顺序a、b、c、… 表示。即第一个场场标识符为a、第二个场场标识符为b、…、顺序对应,a、b、c、… 的顺序不能打乱,是固定不变的。 • 场的概念:在FEPG中一个待解方程就是一个场,或者由已知量求梯度等也作为一个场。求解场得到节点分布的结果。 • NFE文件名不加后缀。 • 每个场后面所跟场标识符表明本场与其它场之间的耦合方式,也就是求解本场要用到其它哪些场的结果。如果没有耦合关系则不填。

  26. GCN文件-算法段 • 各场不能和自身场耦合。 • FEPG系统算法库中提供的算法文件都是单场算法,用户如果采用算法库中的算法,系统会根据GCN书写的耦合方式自动产生对应耦合场的耦合算法文件,如果用户自己书写NFE文件,那么就有两种情况实现耦合关系:一是在NFE文件中通过COEF信息段表明耦合关系,这时在GCN中就不必书写耦合关系;其二是NFE写成单场算法,那么在GCN中就需要给出耦合关系,二者均可实现。 • 系统编译时,根据GCN中书写的NFE文件名,首先在工作目录下寻找该NFE文件,如果当前目录下没有然后到系统算法库中找,如果算法库中也找不到则翻译中断、提示出错,所以用户定义的NFE文件名可以和算法库中的NFE文件同名,但以工作目录下的NFE文件优先。

  27. GCN文件-命令流段 • 给出问题求解的计算流程。由DOS命令和FEPG系统命令组成。 STARTc if exist stop del stop :1 BFT if exist end del end :2 SOLVc if not exist end goto 2 POST if not exist stop goto 1

  28. GCN文件-命令流段 例如在一个热固耦合的算例中,要求解瞬态温度场、位移场.位移场与温度场耦合。a场为温度场,b场为位移场。 求解流程设计为:按时间参数循环计算,在某一时间下,先求温度场,再求位移场。相应命令流段为: startsin a 初始化a场 startc b 初始化b场 if exist stop del stop 控制时间循环 :1 行号 bft更新时间参数 solvsin a 求解a场,用直接法求解器 solvc b 求解b场,用迭代法求解器 post a 按时间步输出结果 if not exist stop goto 1 判断时间是否结束,实现对时间循环

  29. GCN文件-命令流段 较常用于命令流段的FEPG系统命令有: startc用存单刚的方式初始化 startnin用不存单刚的方式初始化,求解器采用非对称的直接法 startsin用不存单刚的方式初始化,求解器采用对称的直接法 startsor用不存单刚的方式初始化,求解器采用SOR迭代法 startilu用不存单刚的方式初始化,求解器采用ILU做预条件子的共轭梯度法 bft计算随时间变化的场的边值 solvc用存单刚的方式求解,求解器采用非对称的直接法。初始化要用startc solvnin用不存单刚的方式求解,求解器采用非对称的直接法。初始化要用startnin solvsin用不存单刚的方式求解,求解器采用对称的直接法。初始化要用startsin solvsor用不存单刚的方式求解,求解器采用SOR迭代法。初始化要用startsor solvilu用不存单刚的方式求解,求解器采用ILU做预条件子的共轭梯度法。初始化要用startilu stress用最小二乘法解某个场 order对节点重新排序,在用直接法求解器时,在初始化之前使用它,可减少存储量 post 按时间存储不同时刻下的计算结果

  30. GCN文件-命令流段 2.系统默认用stop(文件名)作为时间控制计算是否结束的标识,用end(文件名)作为非线性迭代是否结束的标识。 3.对FEPG系统命令,除bft和post命令外,每个命令后空一格要填上相应的场名以表示对该场使用该命令。 4.bft命令计算随时间变化的边值,命令后空一格填写边值随时间变化的所有场标识符,各场标识符之间用空格隔开。如果所有场的边值都不随时间变化,则bft后不加任何场标识符。 5.典型计算流程及相应命令流段 非线性稳态问题 STARTc if exist end del end :2 SOLVc if not exist end goto 2 线性稳态问题 STARTc SOLVc

  31. GCN文件-命令流段 非线性瞬态问题 STARTc if exist stop del stop :1 BFT if exist end del end :2 SOLVc if not exist end goto 2 POST if not exist stop goto 1 线性瞬态问题 STARTc if exist stop del stop :1 BFT SOLVc POST if not exist stop goto 1

  32. 新建FEPG项目需要的文件 • 方程表达式文件 • PDE/VDE文件 • FBC 文件(可选) • 算法文件 • NFE 文件 • GIO 文件 • GCN 文件

  33. 热固耦合问题举例

More Related