| 查看: 1178 | 回复: 5 | |||
[交流]
Fortran平面桁架有限元程序
|
|||
|
program truss_2D use prep use solve implicit none integer :: i,j,m,n,nel,nne,nn,nodof,edof,gdof integer :: e2s(4) real :: L,FN real :: kl(4,4),kg(4,4),T(4,4) integer,allocatable :: elemNodes (:,:) ,nf(:,:) real ,allocatable :: Coords (:,:),prop(:,:), & KK(:,:),loads(:,:) real ,allocatable :: nodedisp(:,:),F(:) ,edg(:), & fg(:),fl(:),delta(:) open ( 10,file = 'data.txt' ) open ( 11,file = 'out.txt' ) read (10,*) nel ! Number of elements read (10,*) nne ! Number of nodes per element allocate ( elemNodes(nel,nne),prop(nel,nne) ) read (10,*) nn ! Number of nodes read (10,*) nodof ! Number of degrees of freedom per node edof = nodof * nne allocate ( Coords(nn,nodof),nf(nn,nodof), & loads(nn,nodof),nodedisp(nn,nodof),edg(edof), & fg(edof),fl(edof) ) read (10,*) ( (elemNodes(i,j), j=1,nne), i=1,nel ) read (10,*) ( (prop(i,j), j=1,nne), i=1,nel ) read (10,*) ( (Coords(i,j), j=1,nodof), i=1,nn ) read (10,*) ( (nf(i,j), j=1,nodof), i=1,nn ) read (10,*) ( (loads(i,j), j=1,nodof), i=1,nn ) gdof = 0 do i = 1,nn do j = 1,nodof if ( nf(i,j)/=0 ) then gdof = gdof + 1 nf(i,j) = gdof end if end do end do allocate ( KK(gdof, gdof), F(gdof),delta(gdof) ) F = 0. call truss_F( m,n,nn,nodof,nf,gdof,loads,F) e2s = 0 KK = 0. do i = 1,nel call truss_T(i,nel,nne,nn,nodof,elemNodes,Coords,L,T) call truss_kl (i,nel,nne,L,prop,kl) call truss_kg (T,kl,kg) call truss_e2s(i,j,nn,nel,nne,nodof,nf,elemNodes,e2s) call form_KK (m,n,edof,gdof,kg,e2s,KK) end do call fem_Solver(KK,F,gdof,delta) ! 求解 nodedisp = 0. forall ( i = 1:nn,j = 1:nodof,nf(i,j)/=0 ) nodedisp(i,j) = delta( nf(i,j) ) end forall do i = 1,nel call truss_T(i,nel,nne,nn,nodof,elemNodes,Coords,L,T) call truss_kl (i,nel,nne,L,prop,kl) call truss_kg (T,kl,kg) call truss_e2s(i,j,nn,nel,nne,nodof,nf,elemNodes,e2s) edg = 0. do j = 1,edof if ( e2s(j) /= 0 ) then edg(j) = delta( e2s(j) ) end if end do fg = matmul( kg,edg ) fl = matmul( T,fg ) FN = fl(3) write (11,100) i write (11,200) FN end do 100 format (/,T10,'单元',I2 ) 200 format (T10,'轴力=',F18.4) end program truss_2D |
» 猜你喜欢
今天系统多次维护,明天很可能放榜!
已经有5人回复
欢迎发来filecode的Mz6后的代码验证其规律
已经有74人回复
岩土工程学报什么时候才能终审完呐
已经有4人回复
时间戳又变了8-15
已经有25人回复
2027广东省杰青
已经有6人回复
快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。
已经有3人回复
哪位老哥知道今年的国自然具体哪一天放榜?
已经有9人回复
咱们一起用铁证分析2026国家社科基金中标与否
已经有26人回复
我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人
已经有16人回复
有时候,自然基金真的不能太认真 (我的申报经验)
已经有12人回复
» 抢金币啦!回帖就可以得到:
2026年财务管理、经济与信息技术国际会议 (FMEIT 2026)
+1/604
祝福!基金中中中!!!!
+1/396
上海同城
+1/115
中国科学院空天院精密干涉测量团队 精密机械结构工程师招聘启事
+1/83
北京信息科技大学机电工程学院硕士研究生招生线上宣讲会——8月16日
+1/81
中国科学院空天院精密干涉测量团队招聘光学/算法/机械方向博士后/特别研究助理
+1/80
中国科大-合肥国家实验室冷原子量子网络团队招聘启事
+2/40
广东医科大学博士后招聘-基础医学,生信等方向
+1/38
2026年生物学、大数据与信息工程国际会议 (BSBIE 2026)
+1/29
物理学报录用,散币感谢合作者和审稿人
+2/24
祈福
+1/15
祝福!祈福!!基金中中中!
+5/15
希望这篇论文能中
+2/12
关于Ghaffar-Parkins催化剂催化氰基水解为酰胺的问题
+1/6
中国科学院生态环境研究中心环境工程相关方向招收保送硕士和联合培养博士和硕士研究生
+1/4
中国科学院生物物理研究所田勇课题组招聘联合培养生
+1/3
华南理工,博士后
+1/3
中国科学技术大学环境学院招聘招生
+1/2
海南大学化学院-科研助理招聘 (可读博,可与华中科技大学,天津大学联培)+博后招聘
+1/2
空间多组学解码实体瘤 CAR-T 耐药:GPC3 靶向装甲型 CAR-T 治疗
+1/2
简单回复
dsctg2楼
2017-02-24 11:48
回复
springer_(金币+1): 谢谢参与
2017-02-24 14:30
回复
springer_(金币+1): 谢谢参与
是 发自小木虫IOS客户端
2017-11-10 23:54
回复
2018-01-11 19:19
回复
springer_(金币+1): 谢谢参与
是 发自小木虫Android客户端
2018-01-27 19:42
回复
springer_(金币+1): 谢谢参与
顶 发自小木虫IOS客户端










回复此楼