由于C++没有封装矩阵类,所以还是用到了《计算机常用数值算法与程序》(C++)一书中的头文件“Matrix.h”。对《有限单元法》书中的例题进行了编程验算,编程水平太菜。程序冗杂得不行了...
题目:给出了一个勾三股四的单元三角形,弹性模量E和泊松比v已知,单元厚度t=1。求单元的刚度矩阵;
思路:按照书本中的步骤,基本是单刚矩阵Ke=B'*D*B*t*A;其中,B为单元应变矩阵,DB=S为单元应力矩阵。一步一步进行求解,程序如下:
#include<iostream> #include<cmath> #include"Matrix.h" //#include"Comm.h" using namespace std; void main(void) { double aijm(double x2,double x3,double y2,double y3); double bijm(double y2,double y3); double cijm(double x2,double x3); //求解参数ai,bj,am...的函数声明 double xi,xj,xm,yi,yj,ym; //i,j,m点逆时针排列 double ai,aj,am,bi,bj,bm,ci,cj,cm; //读取三角单元的三个顶点坐标 cout<<"xi,yi="; cin>>xi>>yi; cout<<"xj,yj="; cin>>xj>>yj; cout<<"xm,ym="; cin>>xm>>ym; //求解