资源描述:
《三角形常应变单元及四节点等参元子程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CCCC三角形常应变单元及四节点等参元子程序三角形常应变单元及四节点等参元子程序清华人学土木工程系,陆新征moduleElem_Triangle3!常应变三角元useJointimplicitnonetype::typ_Triangle3type(typ_Joint)::EJoint⑶real(rkind)::EK(6,6),B(3,6),D(3J3)!单元刚度矩阵,几何矩阵,本构矩阵real(rkind)::A,E,u,t!面积,模量,泊松比,厚度real(rkind)::Stress(3)!应力endtypetyp_Triangle3containssubro
2、utineTriangle3_GetProp(Triangle3)I计算单元刚度矩阵type(typ_Triangle3),intent(inout)::Triangle3(:)integer(ikind)::i,jreal(rkind)::b(3),c(3),Temp(3,3)doi=1,size(Triangle3)b(1)=Triangle3(i)%EJoint(2)%y・Triangle3(i)%EJoint(3)%yb(2)=Triangle3(i)%EJoint(3)%y-Triangle3(i)%EJoint(1)%yb(3)=Triangle3(i
3、)%EJoint(1)%y-Triangle3(i)%EJoint(2)%yc(1)=Triangle3(i)%EJoint(3)%x-Triangle3(i)%EJoint(2)%xc(2)=Triangle3(i)%EJointW%x-Triangle3(i)%EJoint3%xc(3)=Triangle3(i)%EJoint(2)%x-Triangle3(i)%EJoint(1)%xTriangle3(i)%D(1,1)=1D0;Triangle3(i)%D(2,2)=1dOTriangle3(i)%D(1,2)=Triangle3(i)%u;Triangl
4、e3(i)%D(2,1)=Triangle3(i)%uTriangle3(i)%D(3,1:2)=0d0;Triangle3(i)%D(1:2,3)=0d0Triangle3(i)%D(3,3)=(1-Triangle3(i)%u)/2;Triangle3(i)%D=(Triangle3(i)%E/(1-Triangle3(i)%u*Triangle3(i)%u))*&Triangle3(i)%D;Temp(:,1)=1D0Temp(1,2)=Triangle3(i)%EJoint(1)%xTemp(2,2)=Triangle3(i)%EJoint(2)%xTem
5、p(3,2)=Triangle3(i)%EJoint3%xTemp(1,3)=Triangle3(i)%EJoint(1)%yTemp(2,3)=Triangle3(i)%EJoint(2)%yTemp(3,3)=Triangle3(i)%EJoint^%yTriangle3(i)%A=abs(0.5D0*matdet(Temp))doj=1,3Triangle3(i)%B(1,2*j-1)=b(j);Triangle3(i)%B(1,2*j)=0D0Triangle3(i)%B(2,2*j-1)=0D0;Triangle3(i)%B(2,2*j)=c(j)Tri
6、angle3(i)%B(3,2*j-1)=cG);Triangle3(i)%B(3,2*j)=bG)enddoTriangle3(i)%B=Triangle3(i)%B/(2*Triangle3(i)%A)Triangle3(i)%EK=matmul(matmul(transpose(&Triangle3(i)%B),Triangle3(i)%D),Triangle3(i)%B)&*Triangle3(i)%t*Triangle3(i)%AenddoreturnendsubroutineTriangle3_GetPropsubroutineTriangle3_Ge
7、tStress(GDisp,Triangle3)!计算单元应力real(rkind),intent(in)::GDisp(:)type(typ_Triangle3)Jntent(inout)::Triangle3(:)integer(ikind)::i,jreal(rkind)::EDisp(6)doi=1,size(Triangle3)doj=1,3EDisp(2*j-1)=GDisp(Triangle3(i)%EJoint(j)%GDOF(1))EDisp(2*j)=GDisp(Triangle3(i)%EJointO)%GDOF(2))enddoTriang
8、le3(i