You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

29 lines
791 B

%--------------------------
% @Author: Jingqiao Hu
% @Date: 2020-10-29 15:04:15
% @LastEditTime: 2021-01-10 10:17:57
%--------------------------
function [usol] = micro_FEA_KUBC(nelx, nely, iK, jK, inner, outer, ufixed, xPhys, KE0, KE1)
sK = zeros(64, nelx*nely);
for ele = 1:nelx*nely
if xPhys(ele)==1
sK(:, ele) = KE1(:);
else
sK(:, ele) = KE0(:);
end
end
sK = sK(:);
% sK = reshape(KE(:) * (Emin + xPhys(:)' * (E0 - Emin)), 64 * nelx * nely, 1);
K = sparse(iK, jK, sK);
K = (K + K') / 2;
umicro = zeros(size(ufixed));
% uouter = ufixed';
% uouter = uouter(:);
Fr = -K(inner, outer) * ufixed(outer, :);
umicro(inner, :) = K(inner,inner) \ Fr;
usol = umicro + ufixed;
end