!
!求解位移
!
program qiujieweiyi
implicit none
real(kind = 8) :: e,a,i,l,b
!e:弹性模量,a:单元面积,i:惯性矩值,l:单元长度,b:整体坐标系到局部坐标系的夹
角
real,parameter :: pi = 3.1415926
real(kind = 8) :: s1,s2,s3,s4,s5,s6,cosb,sinb,lt
!S1,S2,S3,S4,S5,S6,cosb:cos(b),sinb:sin(b),lt:1/l
!准备读取文件
character(len = 20) :: filename1 = "data.txt",filename2 = "cellmatrix.txt"
integer,parameter ::fileid1 = 10,fileid2 = 20
logical :: alive
character(len = 20) :: title
real(kind = 8) :: count
integer :: z,j !循环参数
integer :: error
logical :: notdata = .true. !条件判断参数
integer :: m,n,q,w,g !循环参数
integer :: bec,bej !bec:杆元数目,bej:杆元非固支节点数目
real(kind = 8),allocatable :: zk(:,:),ck(:,:,:),t(:,:,:),f(:),wy(:),d(:,:),fc(:,:)
!zk(6,6,:):整体刚度矩阵,ck(6,6,:)单元刚度矩阵,t(6,6):坐标转换矩阵,f(:):结点受
力参数&
!wy(:):位移值,d(:,:):单元结点位移,fc(:,:):单元结点内力
integer,allocatable :: x(:,:) !x(6,:):单元节点标号
real(kind = 8) :: h = 0.0 !h,g:数值转换中间量
!判断文件是否存在,不存在结束程序
inquire(file = filename1,exist = alive)
if(.not. alive)then
write(*,*)trim(filename1),"doesn't exist."
stop
end if
!读取文件,设置参量
open(unit = fileid1,file = filename1)
do m = 1,6
read(fileid1,"(A8,1X,F)",iostat = error)title,count
if(error /= 0)then
write(*,*)"文件出错 1"
notdata = .false.