3杆系静力分的析2.4.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3杆系静力分的析2.4

指针是一种“称号”,上述声明语句建立了“称号”,但并未“授予”某个变量这个称号,因此是指向“空”,并未占用内存 a = 3.0 p1 = a ! p1指向a ! 称号p1授予a,a的数据有两个名:固定名a和流动名p1; 既可用p1也可用a(p1 — 班长,a — 张三) a = 4.0 ! a的值变为4.0,p1也变为4.0 p1 = b ! 班长换人了 G = EDisp ! 先进集体有了得主 !EDisp(:)的长度就是G(:)的长度,用G和用EDisp同样效果 又如: real,target :: a,b real,pointer:: p,q a = 3.14 b = 2.0 p = a ! p = a = 3.14 q = b ! q = b = 2.0 q = p ! ( q指向的数据b ) = ( p指向的数据a ) !即: 所有 = 3.14 指针可以指向有名的数据区,也可以指向无名的数据区 real,pointer:: b(:,:) integer :: n read(*,*) n allocate (b(n,n)) !指针指向了一个刚开辟的数组 ! 以下可以当作常规数组用 b(1,1) = 1.1 b(1,2) = 1.2 ... deallocate (b) 有关 F90 语法 用指针建立动态数组 指针与allocatable数组的区别 具备allocatable数组的所有功能 还可以用在导出类型中,例如整体刚度矩阵的变带宽存储: type :: typ_Kcol !整体刚度矩阵K的列 real(8),pointer :: row(:) !该列的行元素 end type ... type (typ_Kcol),allocatable :: Kcol(:) … allocate (Kcol(NGlbDOF)) ! 分配了NGlbDOF列 ... allocate (Kcol(5)%row(3:5)) ! 第5列只用3至5行 (1) NElem,NJoint, NGlbDOF, NJLoad, NELoad 单元数 结点数 总自由度数 结点荷载数 单元荷载数 [Joint - 结点] …NJoint行 (2) Joint%X,Joint%Y, GDOF(1:3) X 坐标 Y坐标 结点位移码 [Elem - 单元] …NElem行 (3) JointNo1,JointNo2, EA,EI 起点号 终点号 刚度 [JLoad - 结点荷载] …NJLoad行 (4) JointNo, LodDOF, LodVal 作用点号 局部位移码 荷载值 [ELoad - 单元荷载] …NELoad行 (5) ElemNo, Indx, Pos, LodVal 单元号 类型号 位置 荷载值 Indx 类型 pos 1 均布 长度 2 集中 位置 3 ... 2) 某程序输入数据说明 3,5,7,1,1 0,0, 0,0,0 0,4, 1,2,3 4,4, 4,5,6 4,4, 4,5,7 4,0, 0,0,0 1,2, 1.0E9, 16 2,3, 1.0E9, 24 5,4, 1.0E9, 12 2,1,10.0E3 ! 结点2,自由度1,值为10E3 2,1,4,-4.0E3 !单元2,均布,长4米,值为-4E3 2-1) 数据文件例子: (2) (1) (3) 2 4 1 3 5 i = 6 i = 4 i = 3 10 kN 4 kN/m 4m 4m EA= 109 N (1) (2) 坐标 位移码 (3) (4) (5) 结点号 EA,EI read(5,*) NElem,NJoint,NGlbDOF,NJLoad,NELoad allocate (Joint(NJoint)) allocate (Elem(NElem)) allocate (JLoad(NJLoad)) allocate (ELoad(NELoad)) ... read(5,*) (Joint(i),i=1,NJoint) read(5,*) (Elem(ie)%JointNo,Elem(ie)%EA, ELem(ie)%EI,ie=1,NElem) if (NJLoad0) read(5,*) (JLoad(i),i=1,NJLoad) if (NELoad0) read(5,*) (ELoad(i),i=1,NELoad) 2-2) 程序读入计算所需数据: 2-3) 求始行码和分配带宽子程

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档