欢迎来到天天文库
浏览记录
ID:43209217
大小:331.50 KB
页数:74页
时间:2019-10-03
《单元子程序自动生成》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单元子程序自动生成----PDE文件的填写首先我们还是以热传导问题为例来说明如何填写PDE文件。热传导实例一个正方形物体长为1,导热系数是0.044。上下绝热,左边温度维持在0,右边维持在100,求温度分布。绝热0100该问题的偏微分方程如下其中ek=0.044(热传导系数);q=0(内热源密度)求解过程启动FEPG,利用AppWizard(或gcn系统)生成有限元计算程序运行GetPre,修改Pre文件运行PreProc,用Fepg.Gid建模,划分网格运行批处理文件(bat文件),进行计算运行PostProc,图形化显示结果我们采用GC
2、N系统生成程序PDE(VDE)、FBCNFEGCN、GIO--描叙微分方程--描叙算法,系统提供大量供选择的算法--描叙耦合关系Gcn系统包括虚功形式参数ek,eq对应于区域积分PDE文件dispu,给出未知函数名Ucoorx,y,给出总体坐标系下的坐标变量X,Y。shapq4给出单元的形状和节点个数,q表示四边形,4表示四节点单元gaus2给出每个方向上积分点的个数mateekeq4.4e-2;0.0;ek,eq为材料参数名,后面为相应缺省值Ell.pdestif信息段stif给出刚度矩阵dist=+[u/x;u/x]*ek+[u/y;u
3、/y]*ek第一个u/x表示第二个u/x表示[;]表示积分,对应于load信息段load=+[u]*eq给出载荷向量,对应于end结束符Le.gcndefiaell&STARTsinaSOLVsinaLe.gioell#elemtypeq42dxy如何生成有限元程序GIOGCN文件名PDE目的:利用填写的PDE类型的文件,系统自动生成计算单元刚度矩阵、单元质量矩阵、单元阻尼矩阵和单元荷载向量的子程序。特点:对广义位移个数、节点个数、空间坐标维数、方程阶数(四阶以内)不限制,形函数、坐标变换、任意阶虚功方程、对称非对称均可;全部符号由用户定义
4、、易于修改和阅读;适应科学计算各种形式的变化。需填写的文件:PDE文件FBC文件需填写的文件的说明:利用有限元方法求解偏微分方程问题,要将这个方程变成其虚功方程的弱形式。PDE类型文件的填写就是基于这个弱形式。PDE文件是用来处理弱形式的体积分项。FBC文件是用来处理弱形式的边界积分项。FBC文件的填写方式与PDE文件的基本相同,只是坐标变量要比PDE文件少一维。PDE文件的结构DEFI段FUNC段STIF段MASS段DAMP段LOAD段可放入DEFI段中defi信息段的填写disp未知函数名coor坐标变量名coef系数变量名func自定
5、义函数名mate材料参数名材料参数缺省值shap单元形状类型符节点个数gaus单元形状类型符或每个方向积分点个数mass单元形状类型符单元质量密度damp单元形状类型符单元阻尼系数load表达式关于单元类型符的说明q四边形单元;4,8,9节点t三角形单元;3,6节点c六面体单元;8,20,27节点w四面体或三棱柱单元;4,10四面体6,18三棱柱l线单元;2,3节点关于defi信息段的说明coef——对应于微分方程中的一个变系数,对非线性问题和耦合问题需填,和算法文件对应;func——用户定义的函数,作用是进行函数替换,使虚功方程表达式简化
6、;func信息段的填写给出用户自定义函数的具体表达式(它们往往是未知函数及其导数的线性组合),其作用是使stif、mass、load段的填写变得简洁。填写格式:自定义函数名=±[未知函数或其导数]*表达式导数定义[u/x];[u/x,x];{un/x};表达式:任何fortran表达式,fortran函数,也可以是已知函数的导数。关于func信息段的说明可以多行,但每行开头必须是+[]或-[];每个自定义的函数之间必须空一行;不能使用自定义函数的导数。stif信息段的填写连同后面的mass、damp和load信息段,共同反应了微分方程表达式
7、。Stif信息段的目的给出计算刚度矩阵的虚功方程表达式填写方式:dist=±[未知函数或其导数;未知函数或其导数]*表达式关于stif信息段的说明dist表示分布矩阵,刚度矩阵只允许采用分布矩阵;未知函数可以是disp中定义的函数,也可以是func中定义的函数,但后者不能用导数方式;导数是对原坐标系坐标变量的导数;[*;*]表示内积,用“;”分隔,“;”前表示虚功方程中的未知函数或其导数,“;”后表示虚位移或虚应变。“;”前后变换未知不相等。表达式可以是任何fortran表达式,fortran函数,也可以是已知函数的导数。load信息段的填
8、写load信息段给出单元荷载即方程右端项的表达式。填写方式:load=±[未知函数或其导数]*表达式说明:规定与stif信息段完全相同,可以多行填写,但换行后必须以+[]或-[]
此文档下载收益归作者所有