《程序结构力学大作业》.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序结构力学大作业 结81孙玉进 该程序可计算任意平面结构任意阶频率(包括重频) ,以及任意阶振型(包括重频对应 正交振型)。计算时,振型不包括不包括单元固端型振型。 !**************************** module NumKind !*************** implicit none integer (kind(1)),parameter :: ikind = kind(1), rkind = kind(0.D0) real (rkind),parameter :: Zero = 0._rkind, One = 1._rkind, Two = 2._rkind, Three= 3._rkind, Four = 4._rkind, Five = 5._rkind, Six = 6._rkind, Seven= 7._rkind, Eight = 8._rkind, Nine = 9._rkind, Ten =10._rkind, Twelve=12._rkind end module NumKind !************** module TypeDef !************** use NumKind implicit none type :: typ_Joint real (rkind) :: x,y integer (ikind) :: GDOF(3) end type typ_Joint type :: typ_Element integer (ikind) :: JointNo(2),GlbDOF(6) real (rkind) :: Length,CosA,SinA,EI,EA,mass end type typ_Element type :: typ_JointLoad integer (ikind) :: JointNo,LodDOF real (rkind) :: LodVal end type typ_JointLoad type :: typ_ElemLoad integer (ikind) ::ElemNo,Indx real (rkind) :: Pos,LodVal end type typ_ElemLoad contains !=================================== subroutine SetElemProp (Elem, Joint) !=================================== type (typ_Element),intent(in out) :: Elem(:) type (typ_Joint),intent(in) :: Joint(:) integer(ikind)::ie,NElem real(rkind)::x1,x2,y1,y2 NElem=size(Elem,dim=1) do ie=1,NElem x1=Joint(Elem(ie)%JointNo(1))%x y1=Joint(Elem(ie)%JointNo(1))%y x2=Joint(Elem(ie)%JointNo(2))%x y2=Joint(Elem(ie)%JointNo(2))%y Elem(ie)%Length=sqrt((x1-x2)**2+(y1-y2)**2) Elem(ie)%CosA=(x2-x1)/Elem(ie)%Length Elem(ie)%SinA=(y2-y1)/Elem(ie)%Length Elem(ie)%GlbDOF(1:3)=Joint(Elem(ie)%JointNo(1))%GDOF(:) Elem(ie)%GlbDOF(4:6)=Joint(Elem(ie)%JointNo(2))%GDOF(:) end do return end subroutine SetElemProp !====================================== subroutine TransMatrix (ET, CosA,SinA) !====================================== real(rkind),intent(out) :: ET(:,:) real(rkind),intent(in) :: CosA,SinA ! ET could be 2x2, 3x3 or 6x6 depending size(ET) ET = Zero ET(1,1:2) = (/ CosA, SinA /) ET(2,1:2) = (/-SinA, CosA /) if (size(ET,1) 2) ET(3,3) = One if (siz

文档评论(0)

107****0911 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档