振动力学源程序.docVIP

  • 97
  • 0
  • 约1.13万字
  • 约 10页
  • 2017-01-10 发布于天津
  • 举报
振动力学源程序 子程序名:CHOMO.FOR 5. 源程序: c program name:---------------------------chomo.for c compute:complex algebraic homogeneous equations c subroutines reqd.:(1)cinvs (2)csubn (3)cmply c subroutine chomo(a,x,n) complex *16 a(10,10),b(10,10),binvs(10,10),x(10),y(10) real *8 u,z data u,z/1.0,0.0/ x(n)=dcmplx(u,z) nm1=n-1 do 40 i=1,nm1 y(i)=-a(i,n) do 40 j=1,nm1 40 b(i,j)=a(i,j) if(nm1.eq.1) binvs(1,1)=1./b(1,1) if(nm1.eq.1) goto 10 call cinvs(b,binvs,nm1) 10 do 41 i=1,nm1 x(i)=dcmplx(z,z) do 41 j=1,nm1 41 x(i)=x(i)+binvs(i,j)*y(j) return end          . 1. 子程序名:CINVS.FOR 6.源程序: c program name:---------------------------cinvs.for c ***finds inverse(hinvs) of complex matrix h*** c subroutines reqd.:(1)csubn (2)cmply c subroutine cinvs(h,hinvs,n) complex *16 h(10,10),hinvs(10,10),a(10,10),b(10,10),sum call csubn(h,a,n) nm1=n-1 do 40 i=1,nm1 sum=0 do 41 k=1,n 41 sum=sum+a(k,k) sum=sum/i do 42 j=1,n 42 a(j,j)=a(j,j)-sum if(i.eq.nm1) call csubn(a,hinvs,n) call cmply(h,a,b,n) 40 call csubn(b,a,n) do 43 i=1,n do 43 j=1,n 43 hinvs(i,j)=hinvs(i,j)/a(1,1) return end 子程序名:CMODL.FOR 6.源程序: c program name:---------------------------cmodl.for c compute:modal matrix of positive definite systems with viscous c damping. c subroutines reqd.:*(1)coeef (2)chomo (3)croot (4)cinvs (5)cmply c (6)csubn (7)invs (8)mply (9)subn c subroutine cmodl(m,c,k,u,error,niter,n) real *8 c(10,10),error,h(10,10),h1(10,10),h2(10,10),k(10,10) real *8 m(10,10),minvs(10,10),unit(10,10),zero(10,10) complex *16 dum(10,10),root(2,5),u(10,10),x(10) data unit/100*0.0/ data zero/100*0.0/ nt2=n*2 do 40 i=1,n 40 unit(i,i)=1. call invs(m,minvs

文档评论(0)

1亿VIP精品文档

相关文档