1.8 平面刚架程序设计
1.8.1 程序说明及总流程图
依据前述平面刚架矩阵位移法原理,本节使用 Visual C++ 6.0 编译器编制了平面刚架先
处理法计算程序 PFF,该程序未使用 C++面向对象的编程方法,而仍沿用兼容 C 的结构化
程序设计方法,以便和本科生先修课程 C 语言相容。本程序不建议使用 TC++3.0 及更低版
本的编译器编译。
一.PFF 的主要功能和特点
(1)输入单元编号、结点编号和结点位移分量统一编码,单元材料信息;
(2)先处理法形成结构刚度矩阵和综合结点荷载列阵;
(3)Gauss 消元法解线性代数方程组;
(4)计算并输出结点位移和单元杆端力;
二.PFF 的使用方法
(1)输入输出数据文件
PFF 从原始数据文件中读取结构的离散化信息,经计算后,将结果输出到结果数据文件
中。运行编译好的 PFF 可执行程序,会提示“Please input primary data file name!”,这时输
入事先准备好的原始数据文件名,回车后,提示“Please input calculation result file name!”,
输入一个文件名,PFF 会自动以该文件名生成结果数据文件。
原始数据文件最好同 PFF 可执行程序放置在同一文件夹中,结果数据文件不应是已有
的文件,而必须由 PFF 自动生成。两文件建议使用英文和数字命名。在输入文件名时,应
包含后缀。
C 语言以 0 为数组各维的开始下标,称为 0 基数组;而一般习惯是以 1 为数组各维的开
始下标,称为 1 基数组。PFF 源程序编制时,仍以 C 语言为标准,使用 0 基数组,即 PFF
程序内部处理机制是 0 基的。但是为方便读者,原始数据文件和输出数据文件则按一般习惯,
使用 1 基数组对结点、单元、结点位移分量、结点荷载和非结点荷载进行编号,即 PFF 程
序外部表现是 1 基的。
(2)原始数据文件的格式
下面依行序说明原始数据文件输入数据的含义:
①总体信息
ne,
nj,n,np,nf,e
ne——单元总数;nj——结点总数;n——结点位移未知量总数;np——结点荷载总数;
nf——非结点荷载总数;e——弹性模量
②结点坐标
(x[i],y[i])(i=0;i<nj;i++)
x[i]——结点 i+1 的 x 坐标;y[i]——结点 i+1 的 y 坐标。
依结点编号顺序,先 x 坐标,后 y 坐标,存储所有结点坐标。每个结点坐标占一行。
③单元信息
(ij[i][0],ij[i][1],a[i],zi[i])(i=0;i<ne;i++)
ij[i][0]——单元 i+1 的始结点码;ij[i][1]——单元 i+1 的末结点码;a[i]——单元 i+1 的
截面积;zi[i]——单元 i+1 的截面惯性矩。
依单元编号顺序,存储各单元的始末结点及截面积 A 和惯性矩 I。
④结点位移分量统一编码
(jn[i][j](j=0;j<3;j++))(i=0;i<nj;i++)
jn[i][j]——结点 i+1 的结点位移分量统一编码。