编制计算平面静定桁架内力的通用程序。
一、 什么是桁架内力的计算。
桁架的内力计算,可假定节点为铰接。将荷载集中于各个节点上,按节点荷载求得各杆件的轴向力。节间荷载对上弦杆所引起的弯矩,在选择杆件截面时再行考虑。
求桁架杆件内力时,恒荷载(包括自重)按全跨分布。活荷载除按全跨分布外,尚应根据各种桁架的受力特点,分别按可能出现的不利分布情况进行组合。
二、 桁架内力的通用程序。
c program for the staticall determinate plane truss)
c version 1.2 2011.1.18
c program made by he right reserved
c 主程序读入并输出控制数据,分配动态数组地址,并通过调用各子程序来调用。
c 整个计算。
dimension w(80000),iw(80000),wt(80000)
double precision wt
integer iw
character idfn*12,outfn*12,title(5)*72
write(*,1)
1 format(1x,'请键入输入文档名称:')
read (*a12)')idfn
open (3,file=idfn,status='old')
write(*,2)
2 format(1x,'请键入输出文档名称:')
read (*a12)')outfn
open (4,file=outfn,status='new')
write(4,3)idfn
3 format(1x,'输入文档:',1x,a12)
write(4,4)outfn
4 format(1x,'输出文档:',1x,a12)
read (3,'(a72)')title(m),m=1,5)
write(4,5)(title(m),m=1,5)
5 format(1x,a72)
write(4,6)
6 format(/19x,'原始数据'//19x,'基础信息'
2x,'弹性模量',5x,'杆件数',4x,'节点数',3x,'支承条件数',5x,'荷载情况数')
read (3,*)e,nm,nj,ns,nlc
write(4,7) e,nm,nj,ns,nlc
7 format(1x,1pe10.3,i7,4x,i7,4x,i7,7x,i7)
write(4,8)
8 format(/19x,'杆件信息'
$//1x,'杆件',6x,'始端',2x,'末端',4x,'截面面积',7x,'截面二次矩')
l1=1l2=l1+nm
l3=1l4=l3+nm
l11=l4+nm
l12=l11+nj
l21=l2+nm
l22=l12+nj
l31=l21+ns
l32=l31+3*nj
l41=l32+6*nm
call iomjs(nm,nj,ns,iw(l1),iw(l2),w(l3),w(l4),w(l11),w(l12),$iw(l21),w(l22))
call idun(nj,n,iw(l31),w(l11),w(l12))
call lcvct(nm,iw(l1),iw(l2),iw(l32),nj,iw(l31))
call lcdia(nm,n,iw(l32),iw(l41),iw(l41),iw(l41),maxbdw,na)
l51=1l52=l51+36
l53=l52+na
l54=l53
l61=l41+n
call forma(e,nm,nj,n,na,iw(l1),iw(l2),w(l3),w(l4),w(l11),w(l12),$iw(l32),wt(l51),iw(l41),wt(l52))
call as(ns,nj,n,na,iw(l21),iw(l31),iw(l41),wt(l52))
call ldlt(n,na,iw(l41),wt(l52),wt(l53))
do 100 lc=1,nlc
read(3,*)nlj
l62=l22+ns
l63=l62+nlj
l64=l63+nlj
l71=l54+n
l81=l61+nlj
call b0(lc,n,nlj,wt(l54))
if( ioljb(n,nj,nlj,iw(l31),iw(l61),w(l62),w(l63),$w(l64),wt(l54))
read(3,*)nlm
l82=l81+nlm
l83=l64+nlj
l84=l83+nlm
call f0(nlm,nm,wt(l71))
if( iolmfb(nm,nj,n,nlm,iw(l81),iw(l82),w(l83),w(l84),$iw(l1),iw(l2),w(l11),w(l12),iw(l32),wt(l71),wt(l54))
call bs(ns,nj,n,iw(l21),w(l22),iw(l31),wt(l54))
call slveq(n,na,maxbdw,iw(l41),wt(l52),wt(l54))
call cotf(e,nm,nj,n,iw(l1),iw(l2),w(l3),w(l4),w(l11),w(l12),$iw(l32),wt(l54),wt(l71))
100 continue
print*,'hwm'
enc 子程序iomjs 读入并输出杆件,结点及支承条件的数据。
subroutine iomjs (nm,nj,ns,ist,ien,ar,ri,x,y,is,vs)
dimension ist(nm),ien(nm),ar(nm),ri(nm), x(nj),y(nj),is(ns),vs(ns)
c 子程序ke 计算整体坐标单刚。
subroutine ke (m,e,nm,nj,ist,ien,ar,ri,x,y,ae)
dimension ist(nm),ien(nm),ar(nm),ri(nm),x(nj),y(nj)
double precision ae(4,4),c,s,e1,a1,a2,a3
call kebar(m,e,nm,nj,ist,ien,ar,ri,x,y,c,s,e1)
a1=e1*c*c
a2=e1*c*s
a3=e1*s*s
ae(1,1)=a1
ae(2,1)=a2
ae(2,2)=a3
ae(3,1)=-a1
ae(3,2)=-a2
ae(3,3)=a1
ae(4,1)=-a2
ae(4,2)=-a3
ae(4,3)=a2
ae(4,4)=a3
return
endc 子程序forma 形成总刚a
subroutine forma (e,nm,nj,n,na,ist,ien,ar,ri,x,y,lv,ae,ld,a)
dimension ist(nm),ien(nm),ar(nm),ri(nm),x(nj),y(nj),lv(4,nm),ld(n)
double precision a(na),ae(4,4)
do 300 m=1,nm
call ke(m,e,nm,nj,ist,ien,ar,ri,x,y,ae)
do 200 i=1,4
do 100 j=1,i
if (lv(i,m).
a(ld(lv(i,m))-lv(i,m)+lv(j,m))=
$a(ld(lv(i,m))-lv(i,m)+lv(j,m))+ae(i,j)
elsea(ld(lv(j,m))-lv(j,m)+lv(i,m))=
$a(ld(lv(j,m))-lv(j,m)+lv(i,m))+ae(i,j)
endif100 continue
200 continue
300 continue
return
end c 子程序as 总刚a引入支承条件
subroutine as (ns,nj,n,na,is,iu,ld,a)
dimension is(ns),iu(3,nj),ld(n)
double precision a(na)
do 100 m=1,ns
j=is(m)/10
i=mod(is(m),10)
k=iu(i,j)
a(ld(k))=1d22
100 continue
return
end c子程序ldlt 解方程组之一总刚分解。
subroutine ldlt(n,na,ld,a,t)
dimension ld(n)
double precision a(na),t(n),sum
do 300 i=2,n
ldi=ld(i)
i1=i-ldi+ld(i-1)+1
do 200 j=i1,i-1
ldj=ld(j)
if( goto 50
j1=j-ldj+ld(j-1)+1
50 continue
if( j1=i1
sum=0.0d0
do 100 k=j1,j-1
sum=sum+t(k)*a(ldj-j+k)
100 continue
t(j)=a(ldi-i+j)-sum
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...