一个完整的前后处理有限元四边形mathematica程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个含有前后处理的完整四边形单元程序 一个含有前后处理的完整四边形单元的mathematica代码,并且附上两个算例,
并且结果与Ansys比较良好,参考了 Mathematica有限元分析与工程应用 ,
书中代码有很多错误,不太喜欢,也参考了 Mathematica与数值分析实验 ,此书不错。
欢迎各位大神来完善此代码。
湖南大学 1101级工程力学 小冯同学 FormGlobalStifMat : 模块FormGlobalStifMat形成整体刚度矩阵
Module
s3,JMat,BMat,DeriveN,SMat,DerN,xy,gaussxy,fileout1 , 局部变量
定义零矩阵
xy Table 0, i,nnode , j,ndofn ;
BMat Table 0, i,3 , j,ndof ;
totdof inode ndofn;
GlobalK Table 0, i,totdof , j,totdof ; 临时的整体刚度矩阵
GlobalKReal Table 0, i,totdof , j,totdof ; 整体刚度矩阵 fileout1 OpenWrite "stress.m",FormatType OutputForm ; 将数据写入文件 Do
localK Table 0, i,8 , j,8 ; 局部刚度矩阵
Clear ks,yt ; 此处注意清除变量
DerN D shapeN,ks ,D shapeN,yt ;
Do 高斯数值积分
Clear ks,yt ;
s3: 0.577350269; 采用两点积分公式
If ii 1,ks s3;yt s3 ;
If ii 2,ks s3;yt s3 ;
If ii 3,ks s3;yt s3 ;
If ii 4,ks s3;yt s3 ;
Do
k elem n,i ;
xy i,1 co k,1 ;xy i,2 co k,2 ;
, i,4
;JMat DerN.xy;
DeriveN Inverse JMat .DerN;
gaussxy shapeN.xy;
Do
BMat 1,2 j 1 DeriveN 1,j ;
BMat 3,2 j DeriveN 1,j ;
BMat 2,2 j DeriveN 2,j ;
BMat 3,2 j 1 DeriveN 2,j ;
, j,4
;SMat DMat.BMat;
Do 将数据写入文件
2final_job.nb
Write fileout1,FortranForm SMat i,1 ,"",
FortranForm SMat i,2 ,"",
FortranForm SMat i,3 ,"",
FortranForm SMat i,4 ,"",
FortranForm SMat i,5 ,"",
FortranForm SMat i,6 ,"",
FortranForm SMat i,7 ,"",
FortranForm SMat i,8 ,""
, i,3
;Write fileout1,FortranForm gaussxy 1 ,"",
FortranForm gaussxy 2 ,"" ;
localK
localK Transpose BMat .SMat Det JMat thick; 形成局部刚度矩阵
, ii,4
; 装配整体刚度矩阵
Do
k elem n,i ;
ii1 2 i 1;ii2 2 i;ki1 2 k 1;ki2 2 k;
Do
l elem n,j ;
jj1 2 j 1;jj2 2 j;lj1 2 l 1;lj2 2 l;
GlobalK ki1,lj1
GlobalK ki1,lj1 localK ii1,jj1 ;
GlobalK ki1,lj2
GlobalK ki1,lj2 localK ii1,jj2 ;
GlobalK ki2,lj1
GlobalK ki2,lj1 localK ii2,jj1 ;
GlobalK ki2,lj2
GlobalK ki2,lj2 localK ii2,jj2 ;
, j,4
;, i,4
;, n,ielem
;GlobalKReal GlobalK;
Clear ks,yt ;
Close fileout1 ;
ApplyLoadAnsys : 模块ApplyLoadAnsys施加载荷条件
Module
length,r1,r2,numloa,rat,list1,list2,huge,in , 局部变量
length Length load ;
list1 Take Transpose co ,1 ;
list2 Take Transpose load , 2 ;
huge Max Abs list2 ; 作图因子
rat Max list1 Min list1 15. huge ; 作图因子rat,可自定
numloa1 Table 0, i,length , j,7 , k,2 ;
;