正如标题所说,我试图让我的代码包括对板表面的均匀压力/力以进行分析。
结构/元素建模
我正在建模一个 2D 9 节点 Mindlin 板,该板在一侧具有钳位边界条件。它是 0.2 [m] x 0.2 [m]。目前,我正在使用 6x6 元素。该板有 6 层,由上到下依次组成,
- 0.1 [mm] 厚的 0 度角压电层
- -45 度角的 0.25 [mm] 厚复合材料层
- 0.25 [mm] 厚的复合材料层,呈 45 度角
- 0.25 [mm] 厚的复合材料层,呈 45 度角
- -45 度角的 0.25 [mm] 厚复合材料层
- 0.1 [mm] 厚的 0 度角压电层
问题
至于计算电力负荷,我100%确定它是正确的。与计算板的不同方向的各种影响相同。当我只包括电气负载时,代码工作得很好,所以这不是问题。
经过一番修修补补和一些精明的评论,我意识到问题不在于力矩阵的构造,而在于我实现均匀负载的方式。我最初只是制作了一个力矩阵并将整个事物与我想要应用的负载相乘。这是一个根本性的缺陷。于是我再次开始研究,发现力矩阵必须按照图片所示计算。
因为在我的例子中,fz 是一个常数,我将九节点形状函数整合到该区域并得到以下结果:
H1 = (1/4) * (1 - xi) * (1 - eta) * xi * eta --> 1/9
H2 = -(1/4) * (1 + xi) * (1 - eta) * xi * eta --> 1/9
H3 = (1/4) * (1 + xi) * (1 + eta) * xi * eta --> 1/9
H4 = -(1/4) * (1 - xi) * (1 + eta) * xi * eta --> 1/9
H5 = -(1/2) * (1 - xi^2) * (1 - eta) * eta --> 4/9
H6 = (1/2) * (1 + xi) * (1 - eta^2) * xi --> 4/9
H7 = (1/2) * (1 - xi^2) * (1 + eta) * eta --> 4/9
H8 = -(1/2) * (1 - xi) * (1 - eta^2) * xi --> 4/9
H9 = (1 - xi^2) * (1 - eta^2) --> 16/9
我实现的代码
所以,不要用代码制作我的力向量:
fef = [ H1 H2 H3 H4 H5 H6 H7 H8 H9 ] * P;
for i = 1:length(nodes)
Fe(i,1) = 0;
Fe(i+num_node_ele,1) = 0;
Fe(i+num_node_ele*2,1) = 0;
Fe(i+num_node_ele*3,1) = 0;
Fe(i+(num_node_ele*4),1) = fef(i);
end
f = f + Fe * (detjacob);
我通过将 P 变成这样的矩阵来改变它:
a = 1/9;
b = 4/9;
c = 16/9;
dist_load = P * [ a a a a b b b b c ];
fef = H .* dist_load;
% the rest is identical
这样做会给我合理范围内的偏转,并且当我增加元素数量时,偏转会收敛。所以现在,我必须问,我这样做是否正确?有什么我错过的吗?
谢谢您的帮助!
