如何在 FEM 中对层压板施加均匀载荷

计算科学 有限元 matlab
2021-12-28 02:47:58

正如标题所说,我试图让我的代码包括对板表面的均匀压力/力以进行分析。

结构/元素建模

我正在建模一个 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

这样做会给我合理范围内的偏转,并且当我增加元素数量时,偏转会收敛。所以现在,我必须问,我这样做是否正确?有什么我错过的吗?

谢谢您的帮助!

1个回答

对于位于 xy 平面上的板单元,对应于面上压力载荷的一致节点载荷由下式给出

F一世=一种eñ一世(X,是的)dXd是的

在哪里ñ一世是第 i 个节点的形状函数,并且是压力。当然,如果是恒定的,就像您的情况一样,它可以移到积分之外,因此节点载荷只是形状函数乘以压力的积分

F一世=一种eñ一世dXd是的

唯一剩下的步骤是将这些元素载荷分量相加到全局载荷向量中的适当位置。

这里的所有都是它的。