计算刚度矩阵8-node六面体的元素。

65(30天)
你好,我是试图解决标准hexaheral僵硬矩阵元素(100 x100x100),我所做的一切都像在文学,但最终结果从我解决不匹配结果的程序(Midas NFX)。相比值节点力 量化宽松政策 。你能帮我找到这个错误吗?
清晰的
信谊r s t% (r, s、t -地方坐标
E = 210000;%模量
v = 0.28;%泊松
G = E / (2 * (1 + v));%剪切模量
coor_glob = [0 0 100
100 0 100
0 100 100
100 100 100
0 0 0
100 0 0
0 100 0
100 100 0];%全局坐标
x1 = coor_glob (1,1);日元= coor_glob (1、2);z1 = coor_glob (1、3);
x2 = coor_glob (2, 1);y2 = coor_glob (2, 2);z2 = coor_glob (2、3);
x3 = coor_glob (3,1);y3 = coor_glob (3,2);z3 = coor_glob (3,3);
x4 = coor_glob (4,1);y4 = coor_glob (4,2);z4 = coor_glob (4,3);
5 x5 = coor_glob (1);日元= coor_glob (5,2);z5 = coor_glob (5,3);
x6 = coor_glob (6,1);日元= coor_glob (2);z6 = coor_glob (6,3);
x7 = coor_glob (7, 1);日元= coor_glob (7,2);z7 = coor_glob (7,3);
1×8 = coor_glob(8日);2日元= coor_glob(8日);z8等车型后= coor_glob亨里克·菲克斯(8,3);
S = [1 / E - v / E - v / E 0 0 0;
1 / E - v - v / E / E 0 0 0;
E - v / E - v / 1 / E 0 0 0;
0 0 0 1 / (G) 0 0;
0 0 0 0 0 1 / (G);
0 0 0 0 0 1 / (G)];
D =发票(年代);%的弹性矩阵
N1 = 1/8 *((第一轮)* (1)* (1 + t));
N2 = 1/8 * ((1 + r) * (1) * (1 + t));
N3 = 1/8 *((第一轮)* (1 + s) * (1 + t));
陶瓷= 1/8 * ((1 + r) * (1 + s) * (1 + t));
它们被= 1/8 *((第一轮)* (1)* (1 - t));
N6 = 1/8 * ((1 + r) * (1) * (1 - t));
N7 = 1/8 *((第一轮)* (1 + s) * (1 - t));
N8 = 1/8 * ((1 + r) * (1 + s) * (1 - t));%的形状函数
x = N1 * x1 + N2 * x2 + N3 * x3 +陶瓷* x4 +它们* x5 + N6 * x6 + N7 * x7 + N8 *的混合体;%插入coord。
y = * y1 N1 + N2 * y2 + N3 * y3 +陶瓷* y4 +它们*日元+ N6 *日元+ N7 * + N8 *收于日元;
z = z2 + N3 * * z1 N1 + N2 * z3 +陶瓷* z4 z5 + N6 * z6 +它们* + N7 * z7 + N8 * z8等车型后,亨里克·菲克斯
J = [diff (x, r) diff (y, r) diff (z, r);
diff (x, s) diff (y, s) diff (z,年代);
diff (x, t) diff (y, t) diff (z, t)];%雅可比矩阵
d_N1 =发票(J) * (diff (N1, r); diff (N1, s); diff (N1, t)];
d_N2 =发票(J) * (diff (N2, r); diff (N2, s); diff (N2, t)];
d_N3 =发票(J) * (diff (N3, r); diff (N3, s); diff (N3, t)];
d_N4 =发票(J) * (diff(陶瓷,r); diff(陶瓷,s); diff(陶瓷,t)];
d_N5 =发票(J) * (diff(它们,r); diff(它们的);diff(它们,t)];
d_N6 =发票(J) * (diff (N6, r); diff (N6 s); diff (N6 t)];
d_N7 =发票(J) * (diff (N7, r); diff (N7 s); diff (N7 t)];
d_N8 =发票(J) * (diff (N8, r); diff (N8, s); diff (N8, t)];%差异
B1 = [d_N1 (1) 0 0
0 d_N1 (2) 0
0 0 d_N1 (3)
d_N1 (2) d_N1 (1) 0
0 d_N1 (3) d_N1 (2)
d_N1 (3) 0 d_N1 (1)];%应变矩阵节点1
B2 = [d_N2 (1) 0 0
0 d_N2 (2) 0
0 0 d_N2 (3)
d_N2 (2) d_N2 (1) 0
0 d_N2 (3) d_N2 (2)
d_N2 (3) 0 d_N2 (1)];%应变矩阵节点2
B3 = [d_N3 (1) 0 0
0 d_N3 (2) 0
0 0 d_N3 (3)
d_N3 (2) d_N3 (1) 0
0 d_N3 (3) d_N3 (2)
d_N3 (3) 0 d_N3 (1)];%应变矩阵节点3
B4 = [d_N4 (1) 0 0
0 d_N4 (2) 0
0 0 d_N4 (3)
d_N4 (2) d_N4 (1) 0
0 d_N4 (3) d_N4 (2)
d_N4 (3) 0 d_N4 (1)];%应变矩阵节点4
B5 = [d_N5 (1) 0 0
0 d_N5 (2) 0
0 0 d_N5 (3)
d_N5 (2) d_N5 (1) 0
0 d_N5 (3) d_N5 (2)
d_N5 (3) 0 d_N5 (1)];%应变矩阵节点5
B6 = [d_N6 (1) 0 0
0 d_N6 (2) 0
0 0 d_N6 (3)
d_N6 (2) d_N6 (1) 0
0 d_N6 (3) d_N6 (2)
d_N6 (3) 0 d_N6 (1)];%应变矩阵节点6
B7 = [d_N7 (1) 0 0
0 d_N7 (2) 0
0 0 d_N7 (3)
d_N7 (2) d_N7 (1) 0
0 d_N7 (3) d_N7 (2)
d_N7 (3) 0 d_N7 (1)];%应变矩阵节点7
B8 = [d_N8 (1) 0 0
0 d_N8 (2) 0
0 0 d_N8 (3)
d_N8 (2) d_N8 (1) 0
0 d_N8 (3) d_N8 (2)
d_N8 (3) 0 d_N8 (1)];% 8应变矩阵节点
B = (B1 B2 B3 B4 B5 B6 B7 B8);%主要撑为六面体的矩阵
f (r、s、t) = B * D * B *侦破(J);%功能集成
N = [-√(1/3) sqrt (1/3)];% Gauss-Legendre正交分fot N = 2
w = [1];% Gauss-Legendre正交权重fot N = 2
维琪= [w (1) * w w (1) * (2);
w w (1) (2) * * w (2);
w (1) * w w (2) * (2);
w (2) * w w (2) * (2);
w (1) * w w (2) * (2);
w w w (1) (2) * * (1);
w (1) * w w (2) * (1);
w (2) * w w (2) * (1)];%为未来multiplikation矩阵的权重
% % Gauss-Legendre集成:
k = f (N (1), (1) N(2)) *维琪(1)+ f (N (2), (1) N(2)) *维琪(2)+ f (N (1), (2)、N(2)) *维琪(3)+ f (N (2), (2)、N(2)) *维琪(4)+ f (N (1), (1) N(1)) *维琪(5)+ f (N (2), (1) N(1)) *维琪(6)+ f (N (1), (2)、N(1)) *维琪(7)+ f (N (2), (2)、N(1)) *维琪(8);
K = eval (K);% elemennt stiffnes矩阵
u = [0 0 0 0 0 0 0 0 0 -2.9665 7.7690 7.7690 e - 003 e - 004 e - 004 0 0 0 0 0 0 0 0 0 0 0 0) ';%的翻译从有限元程序
量化宽松政策= K * u%节点力
% %节点从有限元程序
Qe_fem = [4279.5049 2764.0085 -241.1585 -2782.678 -869.3088 -1551.515 4012.6929 1291.8174 1291.8174 -10000 0 0 3283.1487 675.8129 675.8129 -289.4951 -2069.6565 -2069.6565 4279.5049 -241.1585 2764.0085 -2782.678 -1551.515 -869.3088) ';

答案(1)

鲍里斯Kotsyubuk
鲍里斯Kotsyubuk 2022年3月15日
似乎你的第四行应变矩阵(B1, B2,等等)是不正确的。我相信第四行应该是你最后一行矩阵,而第五和第六行向上移动一行。我认为B1的应变矩阵应该是这样的:
B1 = [d_N1 (1), 0, 0;
0 0,d_N1 (2);
0 0 d_N1 (3);
0,d_N1 (3), d_N1 (2);
d_N1 (3) 0 d_N1 (1);
d_N1 d_N1 (2) (1), 0);
希望这可以帮助!
1评论
Alehegn Tesfaye
Alehegn Tesfaye 2022年5月16日
我做B矩阵八度就像你但它仍然不工作,任何帮助。
%的坐标参数
N = 32;
x1 = 0;日元= 2;z1 = 0;
x2 = 0;y2 = 0;z2 = 0;
x3 = 2;y3 = 0;z3 = 0;
x4 = 2;y4 = 2;z4 = 0;
x5 = 0;日元= 2;z5 = 2;
x6 = 0;日元= 0;z6 = 2;
x7 = 2;日元= 0;z7 = 2;
×8 = 2;日元= 2;z8等车型后= 2亨里克·菲克斯;
%元件参数
E = (170 + N);
u = 0.3;
%平面应力或应变参数
D = (E / ((1 + u) + (1 - (2 * u)))) * (1 u u u 0 0 0; u 1 u 0 0 0; u u 1 u 0 0 0, 0 0 0 (1 - (2 * u)) / 2 0 0, 0 0 0 0 (1 - (2 * u)) / 2 0;0 0 0 0 0 (1 - (2 * u)) / 2);
%负荷参数
%形状函数
信谊s t w真实;
N1 = (1) * (1 - t) * (1 w) / 8;
N2 = (1 + s) * (1 - t) * (1 w) / 8;
N3 = (1 + s) * (1 + t) * (1 w) / 8;
陶瓷= (1)* (1 + t) * (1 w) / 8;
它们被= (1)* (1 - t) * (1 + w) / 8;
N6 = (1 + s) * (1 - t) * (1 + w) / 8;
N7 = (1 + s) * (1 + t) * (1 + w) / 8;
N8 = (1) * (1 + t) * (1 + w) / 8;
%协调映射
x =简化(N1 * x1 + N2 * x2 + N3 * x3 +陶瓷* x4 +它们* x5 + N6 * x6 + N7 * x7 + N8 *×8);
y =简化(N1 * y1 + N2 * y2 + N3 * y3 +陶瓷* y4 +它们*日元+ N6 *日元+ N7 *日元+ N8 *日元);
z =简化(* z1 N1 + N2 * z2 + N3 * z3 +陶瓷* z4 z5 + N6 * z6 +它们* + N7 * z7 + N8 * z8等车型后)亨里克·菲克斯;
% N矩阵
%雅可比矩阵
信谊J J₀真实;
dxd = diff (x, s);
dxdt = diff (x, t);
dxdw = diff (x, w);
dyds = diff (y, s);
dydt = diff (y, t);
dydw = diff (y, w);
dzds = diff (z, s);
dzdt = diff (z, t);
dzdw = diff (z, w);
J = [dxd dyds dzds; dxdt dydt dzdt; dxdw dydw dzdw);
Jdet =简化(侦破(J));
Jinv =简化(发票(J));
% B矩阵
信谊B真实;
d_N1 = Jinv * (diff (N1, s); diff (N1, t); diff (N1, w)];
d_N2 = Jinv * (diff (N2, s); diff (N2, t); diff (N2, w)];
d_N3 = Jinv * (diff (N3, s); diff (N3, t); diff (N3, w)];
d_N4 = Jinv * (diff(陶瓷,s); diff(陶瓷,t); diff(陶瓷,w)];
d_N5 = Jinv * (diff(它们的);diff(它们被t); diff(它们,w)];
d_N6 = Jinv * (diff (N6 s); diff (N6 t); diff (N6、w)];
d_N7 = Jinv * (diff (N7 s); diff (N7 t); diff (N7 w)];
d_N8 = Jinv * (diff (N8, s); diff (N8, t); diff (N8, w)];
B1 = [d_N1 (1) 0 0
0 d_N1 (2) 0
0 0 d_N1 (3)
0 d_N1 (3) d_N1 (2)
0 d_N1 d_N1 (3) (1)
d_N1 (2) d_N1 (1) 0);
B2 = [d_N2 (1) 0 0
0 d_N2 (2) 0
0 0 d_N2 (3)
0 d_N2 (3) d_N2 (2)
0 d_N2 d_N2 (3) (1)
d_N2 (2) d_N2 (1) 0);
B3 = [d_N3 (1) 0 0
0 d_N3 (2) 0
0 0 d_N3 (3)
0 d_N3 (3) d_N3 (2)
0 d_N3 d_N3 (3) (1)
d_N3 (2) d_N3 (1) 0);
B4 = [d_N4 (1) 0 0
0 d_N4 (2) 0
0 0 d_N4 (3)
0 d_N4 (3) d_N4 (2)
0 d_N4 d_N4 (3) (1)
d_N4 (2) d_N4 (1) 0);
B5 = [d_N5 (1) 0 0
0 d_N5 (2) 0
0 0 d_N5 (3)
0 d_N5 (3) d_N5 (2)
0 d_N5 d_N5 (3) (1)
d_N5 (2) d_N5 (1) 0);
B6 = [d_N6 (1) 0 0
0 d_N6 (2) 0
0 0 d_N6 (3)
0 d_N6 (3) d_N6 (2)
0 d_N6 d_N6 (3) (1)
d_N6 (2) d_N6 (1) 0);
B7 = [d_N7 (1) 0 0
0 d_N7 (2) 0
0 0 d_N7 (3)
0 d_N7 (3) d_N7 (2)
0 d_N7 d_N7 (3) (1)
d_N7 (2) d_N7 (1) 0);
B8 = [d_N8 (1) 0 0
0 d_N8 (2) 0
0 0 d_N8 (3)
0 d_N8 (3) d_N8 (2)
0 d_N8 d_N8 (3) (1)
d_N8 (2) d_N8 (1) 0);
B =简化([B1 B2 B3 B4 B5 B6 B7 B8]);
BT = B”;
%的集成功能
信谊F真实;
F = BT * D * B * Jdet;
%刚度矩阵
p = 1 /√3));
o = function_handle (F,“var”, [s t w]);
K = (o (- p, p, p) + o (p - p - p) + o (p, p, p) + o (- p, p, p) + (- p, p, p) + o (p, p, p) + o (p, p, p) + o (- p, p, p))

登录置评。

类别

找到更多的在应力和应变帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的