⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d3_beam.m

📁 FEM tools for caculation of nonlinear problems
💻 M
字号:
function [M,K] = D3_BEAM (x1, y1, z1, x2, y2, z2, E, G, b, h, rho) 

% returns a 3D fixed-fixed beam element stiffness matrix in global coordinates

L = sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2);
A = b*h;
Ax= b*L;      
Ay= b*h;
Az= h*b;
Ix= b*L^3/12; 
Iy= h*b^3/12;
Iz= b*h^3/12;
Jx= Iy+Iz;
if Ix== 0 J=Jx; else J=Ix; end;
phiy = 12*E*Iz/(G*Az*L^2);
phiz = 12*E*Iy/(G*Ay*L^2);
az = 12*E*Iz/(L^3*(1+phiy));
ay = 12*E*Iy/(L^3*(1+phiz));
bz = -12*E*Iz/(L^3*(1+phiy));
by = -12*E*Iy/(L^3*(1+phiz));
cz = 6*E*Iz/(L^2*(1+phiy));
cy = 6*E*Iy/(L^2*(1+phiz));
dz = -6*E*Iz/(L^2*(1+phiy));
dy = -6*E*Iy/(L^2*(1+phiz));
ez = (4+phiy)*E*Iz/(L*(1+phiy));
ey = (4+phiz)*E*Iy/(L*(1+phiz));
fz = (2-phiy)*E*Iz/(L*(1+phiy));
fy = (2-phiz)*E*Iy/(L*(1+phiz));

ry = sqrt(Iy/A);
rz = sqrt(Iz/A);
A_z = ( 13/35+7/10*phiy+1/3*phiy^2+6/5*(rz/L)^2 )/( 1+phiy )^2;
A_y = ( 13/35+7/10*phiz+1/3*phiz^2+6/5*(ry/L)^2 )/( 1+phiz )^2;
B_z = ( 9/70+3/10*phiy+1/6*phiy^2-6/5*(rz/L)^2  )/( 1+phiy )^2;
B_y = ( 9/70+3/10*phiz+1/6*phiz^2-6/5*(ry/L)^2  )/( 1+phiz )^2;
C_z = ( 11/210+11/120*phiy+1/24*phiy^2+(1/10-1/2*phiy)*(rz/L)^2  )*L/( 1+phiy )^2;
C_y = ( 11/210+11/120*phiz+1/24*phiz^2+(1/10-1/2*phiz)*(ry/L)^2  )*L/( 1+phiz )^2;
D_z = ( 13/420+3/40*phiy+1/24*phiy^2-(1/10-1/2*phiy)*(rz/L)^2  )*L/( 1+phiy )^2;
D_y = ( 13/420+3/40*phiz+1/24*phiz^2-(1/10-1/2*phiz)*(ry/L)^2  )*L/( 1+phiz )^2;
E_z = ( 1/105+1/60*phiy+1/120*phiy^2+(2/15+1/6*phiy+1/3*phiy^2)*(rz/L)^2  )*L^2/( 1+phiy )^2;
E_y = ( 1/105+1/60*phiz+1/120*phiz^2+(2/15+1/6*phiz+1/3*phiz^2)*(ry/L)^2  )*L^2/( 1+phiz )^2;
F_z = -1*( 1/140+1/60*phiy+1/120*phiy^2+(1/30+1/6*phiy-1/6*phiy^2)*(rz/L)^2  )*L^2/( 1+phiy )^2;
F_y = -1*( 1/140+1/60*phiz+1/120*phiz^2+(1/30+1/6*phiz-1/6*phiz^2)*(ry/L)^2  )*L^2/( 1+phiz )^2;

Ko= [A*E/L  0   0    0      0   0 -A*E/L  0    0    0     0    0;
     0      az  0    0      0   cz  0     bz   0    0     0   cz;
     0      0   ay   0     dy   0   0     0    by   0    dy    0;
     0      0   0  G*J/L    0   0   0     0    0  -G*J/L  0    0;
     0      0   dy   0     ey   0   0     0    cy   0    fy    0;
     0      cz  0    0      0   ez  0    dz    0    0     0   fz;
    -A*E/L  0   0    0      0   0  A*E/L  0    0    0     0    0;
     0      bz  0    0      0   dz  0    az    0    0     0   dy;
     0      0   by   0     cy   0   0     0    ay   0    cz    0;
     0      0   0  -G*J/L   0   0   0     0    0  G*J/L   0    0;
     0      0   dy   0     fy   0   0     0    cz   0    ey    0;
     0      cz  0    0      0   fz  0    dy    0    0     0   ez];

Me_=rho*A/2*[1   0    0    0    0    0    0    0    0    0    0    0;
             0   1    0    0    0    0    0    0    0    0    0    0;
             0   0    1    0    0    0    0    0    0    0    0    0;
             0   0    0    0    0    0    0    0    0    0    0    0;
             0   0    0    0    0    0    0    0    0    0    0    0;
             0   0    0    0    0    0    0    0    0    0    0    0;
             0   0    0    0    0    0    1    0    0    0    0    0;
             0   0    0    0    0    0    0    1    0    0    0    0;
             0   0    0    0    0    0    0    0    1    0    0    0;
             0   0    0    0    0    0    0    0    0    0    0    0;
             0   0    0    0    0    0    0    0    0    0    0    0;
             0   0    0    0    0    0    0    0    0    0    0    0];

Me= rho*A*  [1/3 0      0        0      0    0  1/6    0    0    0      0    0;
             0   A_z    0        0      0  C_z    0  B_z    0    0      0 -D_z;
             0   0    A_y        0   -C_y    0    0    0  B_y    0    D_y    0;
             0   0      0    Jx/(3*A)   0    0    0    0    0 Jx/(6*A)  0    0;
             0   0   -C_y        0    E_y    0    0    0 -D_y    0    F_y    0;
             0  C_z     0        0      0  E_z    0  D_z    0    0      0  F_z;
             1/6 0      0        0      0    0    1/3  0    0    0      0    0;
             0  B_z     0        0      0  D_z    0   A_z   0    0      0 -C_z;
             0   0    B_y        0   -D_y    0    0    0  A_y    0    C_y    0;
             0   0      0    Jx/(6*A)   0    0    0    0    0 Jx/(3*A)  0    0;
             0   0    D_y        0    F_y    0    0    0  C_y    0    E_y    0;
             0 -D_z     0        0      0  F_z    0  -C_z   0    0      0    E_z];
  
Lxy = sqrt((x2-x1)^2 + (y2-y1)^2);
d = 0.0001*L;
thau = 0;
if Lxy>d S1=(y2-y1)/Lxy; end;
if Lxy<d S1=0; end;
S2 = (z2-z1)/L;
S3 = sin(thau);
if Lxy>d C1=(x2-x1)/Lxy; end;
if Lxy<d C1=1; end;
C2 = Lxy/L;
C3 = cos(thau);

T = [C1*C2                S1*C2                S2;
   (-C1*S2*S3-S1*C3)   (-S1*S2*S3+C1*C3)    S3*C2;
   (-C1*S2*C3+S1*S3)   (-S1*S2*C3-C1*S3)    C3*C2];
T0 = zeros(3,3);
Tr = [T   T0   T0   T0;
      T0  T    T0   T0;
      T0  T0   T    T0;
      T0  T0   T0   T];
      
K = Tr'*Ko*Tr;
M = Tr'*Me*Tr;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -