👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
文献来源:
摘要:本文提供了快速傅立叶变换均匀化的Matlab实现,用于分别求解二维和三维的电导率和传热。标准解和使用共轭梯度的解是为了易于阅读和调整而实现的。
关键词:快速傅里叶变换,均匀化,电导率,Matlab
为处理导电或热传导的异质材料实施基于快速傅里叶变换的均质化。它采用代表材料的周期性晶胞的规则网格处的电导率值,并产生局部场的分布,例如电场和电流或温度梯度或热通量。还产生了有效的电导率基质。该算法适用于二维和三维情况。
原文摘要:
Abstract
A short Matlab implementation for Fast Fourier Transform Homogenization is provided to solve electric con-ductivity and heat transfer respectively in both 2 and 3 dimensions. The standard solution and solution using Conjugate gradients are implemented with the intention to be easily readable and adjustable.
Keywords: Fast Fourier Transform, Homogenization, conductivity, Matlab
📚2 运行结果
部分代码:
%% inicialization
topo = zeros(N);
switch topology_type
case 0 %file
topology_file = {'JV_circle_5.png'}%{'JV_circle_15.png'};%,'circle_0.2.png','circle_0.3.png','circle_0.4.png','circle_0.5.png','circle_0.6.png','circle_0.7.png'}
topo = double(imread(topology_file{1}));
N = size(topo);
case 1 %circle
r2 = 0.25/pi;
for i=1:d
ZN{i} = (fix(.5-N(i)/2):fix(N(i)/2))/N(i);
end
dist=repmat(ZN{1},N(1),1).^2+repmat(ZN{2}',1,N(2)).^2;
topo = dist <= r2(1);
case 2 %square
n = floor(N/4);
topo(n(1)+1:3*n(1),n(2)+1:3*n(2)) = 1;
case 3 %rectangle
h = sqrt(2)/4; b = round(h*N);
a(1) = round((N(1)-b(1))/2);
a(2) = round((N(2)-2*b(2))/2);
topo(a(1)+1:a(1)+b(1),a(2)+1:a(2)+2*b(2)) = 1;
case 4 %laminate
n = round(0.25*N(1));
topo(1:n,:) = 1;
end
imagesc(topo)
axis square
c = sum(topo(:))/prod(N)
L = cell(d);
for i = 1:d
for j = i:d
L{i,j} = L1(i,j)*ones(N)+topo.*(L2(i,j)-L1(i,j));% conductivity field
end
end
save data_2d L Y par
% switch topology_type
% case 0 %file
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。