拓扑优化在F - 2和1是什么意思(2,1)?(79行代码)

80(30天)
这是一个标准的拓扑优化面交梁图。力被定义在左上角。设计域descretized成有限元素,说9元素在x方向上和3在y方向上的元素。两个节点和元素号码列智慧从左到右编号。我印象中,节点上的力是应用。在这种情况下,节点1号。但F(2, 1)是什么意思?
% % % % 99线拓扑优化代码通过OLE西格蒙德,2000% % % % % % % 1月代码修改速度的增加,2002年9月,通过OLE西格蒙德·% % %
函数volfrac top_mbb (nelx ne,刑法,rmin);
%初始化
x(1:不,1:nelx) = volfrac;
循环= 0;
改变= 1。;
%开始迭代
改变> 0.01
循环=循环+ 1;
xold = x;
%有限元分析
[你]= FE (nelx ne, x,刑法);
%目标函数和敏感性分析
[可]=路;
c = 0。
伊利= 1:不
elx = 1: nelx
n1 =(不+ 1)* (elx-1) +伊利;
n2 =(不+ 1)* elx +伊利;
问题= U ([2 * n1-1; 2 * n1;2 * n2-1; 2 * n2;2 * n2 + 1; 2 * n2 + 2;2 * n1 + 1; 2 * n1 + 2], 1);
c = c + x (ely elx) ^刑法*问题’*柯*问题;
直流(ely elx) =刑法* x (ely elx) ^ (penal-1) *问题”*柯*问题;
结束
结束
%的过滤敏感
(直流)=检查(nelx、ne rmin, x, dc);
%设计最优标准更新的方法
[x] = OC (nelx, ne, x, volfrac特区);
%打印结果
改变= max (max (abs (x-xold)));
disp ([”它。:“sprintf (' % 4我、循环)Obj。:“sprintf (' % 10.4 f 'c)
“卷。”sprintf (' % 6.3 f '总和(sum (x)) / (nelx * ne))
“ch。”sprintf (' % 6.3 f '、变更)))
%绘制密度
colormap(灰色);显示亮度图像(- x);轴平等的;轴;轴暂停(1 e-6);
结束
% % % % % % % % % %最优标准更新% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
函数[xnew] = OC (nelx, ne, x, volfrac特区)
l1 = 0;l2 = 100000;= 0.2;
(l2-l1 > 1的军医)
lmid = 0.5 * (l2 + l1);
xnew = max(0.001,马克斯(x-move min(1,最小值(x +移动,x。* sqrt (-dc. / lmid)))));
如果总和(sum (xnew)) - volfrac * nelx * ne > 0;
l1 = lmid;
其他的
l2 = lmid;
结束
结束
% % % % % % % % % % MESH-INDEPENDENCY过滤器% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
函数(宽带)=检查(ne, nelx rmin, x, dc)
宽带= 0 (ne、nelx);
我= 1:nelx
j = 1:不
金额= 0.0;
k = max (i-floor (rmin), 1): min (i +地板(rmin) nelx)
l = max (j-floor (rmin), 1): min (j +地板(rmin)、ne)
fac = rmin-sqrt ((i (k) ^ 2 + (j-l) ^ 2);
和=和+马克斯(0,fac);
宽带(j,我)=宽带(j,我)+马克斯(0,fac) * x的(l, k) * dc的(l, k);
结束
结束
宽带(j,我)=宽带(j,我)/ (x (j,我)*总和);
结束
结束
% % % % % % % % % %有限元分析% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
函数(U) = FE (nelx ne, x,刑法)
[可]=路;
K =稀疏(2 * (nelx + 1) *(不+ 1),2 * (nelx + 1) *(不+ 1));
F =稀疏(2 *(不+ 1)* (nelx + 1), 1);U = 0(2 *(不+ 1)* (nelx + 1), 1);
elx = 1: nelx
伊利= 1:不
n1 =(不+ 1)* (elx-1) +伊利;
n2 =(不+ 1)* elx +伊利;
edof = (2 * n1-1;2 * n1;2 * n2-1;2 * n2;2 * n2 + 1;2 * n2 + 2;2 * n1 + 1;2 * n1 + 2];
K (edof edof) = K (edof edof) + x (ely elx) ^刑法*客;
结束
结束
%定义载荷和支持(MBB-BEAM一半万博1manbetx)
F (2, 1) = 1;
fixeddofs =联盟(1:2:2 *(不+ 1),(2 * (nelx + 1) *(不+ 1)]);
alldofs =[1:2 *(不+ 1)* (nelx + 1)];
freedofs = setdiff (alldofs fixeddofs);
%的解决
U (freedofs:) = K (freedofs freedofs) \ F (freedofs:);
U (fixeddofs:) = 0;
% % % % % % % % % %元素刚度矩阵% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
函数[可]=路
E = 210。
ν= 0.3;
k = [1/2-nu / 6 1/8 +ν/ 8 1/4-nu -1/8 / 12 + 3 *ν/ 8
1/4 +ν/ 12 1/8-nu / 8ν/ 6 1/8-3 *ν/ 8);
克= E / (1-nu ^ 2) * (k (1) k (2) k (3) k (4) k (5) k (6) k (7) k (8)
k (2) k (1) k (8) k (7) k (6) k (5) k (4) k (3)
k (3) k (8) k (1) k (6) k (7) k (4) k (5) k (2)
k (4) k (7) k (6) k (1) k (8) k (3) k (2) k (5)
k (5) k (6) k (7) k (8) k (1) k (2) k (3) k (4)
k (6) k (5) k (4) k (3) k (2) k (1) k (8) k (7)
k (7) k (4) k (5) k (2) k (3) k (8) k (1) k (6)
k (8) k (3) k (2) k (5) k (4) k (7) k (6) k (1)];
任何帮助将不胜感激。
谢谢你!

接受的答案

安德森佩雷拉
安德森佩雷拉 2019年12月6日
亲爱的帕蒂尔,
每个节点有两个自由度(自由度),一个在x方向上和其他在y方向上。自由度是贴上
方向:(2·nn) 1
y方向:(2·nn)
在神经网络的节点数。
随着负载的应用在y方向上的节点1,记者景深是2 * 1 = 2。所以,回答你的问题,79行代码:F(2, 1) = 1;,是一种力量的应用在y方向上的节点1。
最好的,
安德森
13个评论
安德森佩雷拉
安德森佩雷拉 2022年3月3日
嗨,安娜,
一些评论咆哮:
问1:为什么这样的自由度定义为?
他们被定义为避免显式地存储它们。
问2:由于每个节点有两个自由度,例如节点5会发生什么呢?后你比在x方向上写道,意味着会有9自由度。显然我误解的东西…
你理解正确,节点5自由度9和10,x和y方向,分别。
问# 3:另外,我觉得只有两个输入为F,我们没有足够的信息来充分力模型。如果第一个输入是景深,第二个节点,我们怎么知道第一个输入是景深x或y方向的?
答:F是一个向量和尺寸2 *(节点数)x(列向量)。每一个“我”的“F”对应于一个规定的负载。如果节点的负载应用于x 5我们需要使用以下:
F(9) =负载。
问# 4:我有真正的麻烦了解的方式编写这段代码,我不知道这些都是我不知道约定或如果它是作者的选择…
答:许多基于matlab有限元代码使用相同的想法。
最好的,
安德森

登录置评。

更多的答案(2)

安德森佩雷拉
安德森佩雷拉 2021年2月2日
嗨Sagar,
有限元模型采用独立于inplane维度落下的石块,单元厚度。此外,各向同性材料的弹性模量E和泊松比ν被认为是。
最好的,
安德森
3评论

登录置评。


Piyali戴伊
Piyali戴伊 2022年1月15日
你好,我一直在研究一个项目获得的拓扑结构的机制。你能帮我改变目的最大位移。

类别

找到更多的在数值类型帮助中心文件交换

社区寻宝

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

开始狩猎!