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.
31 lines
849 B
31 lines
849 B
3 years ago
|
%--------------------------
|
||
|
% @Author: Jingqiao Hu
|
||
|
% @Date: 2020-10-29 15:04:18
|
||
|
% @LastEditTime: 2021-03-13 16:52:53
|
||
|
%--------------------------
|
||
|
% F(x) of every point x is 2*2:
|
||
|
% [duxdx, duxdy
|
||
|
% duydx, duydy];
|
||
|
% For one macro-ele & one gauss point:
|
||
|
% F(x) is sum of 4 nodes
|
||
|
% [ux1, 2, 3, 4 * [dN1dx, dN1dy
|
||
|
% uy1, 2, 3, 4] dN2dx, dN2dy
|
||
|
% dN3dx, dN3dy
|
||
|
% dN4dx, dN4dy]
|
||
|
function F = deform_grad_1scale(edofMat, U, gradN)
|
||
|
eleNum = size(edofMat, 1);
|
||
|
F = cell(4, 1);
|
||
|
for gp = 1:4
|
||
|
B = gradN{gp};
|
||
|
Fm = zeros(4, eleNum);
|
||
|
|
||
|
for ele = 1:eleNum
|
||
|
edof = edofMat(ele, :);
|
||
|
ue = reshape(U(edof), 2, []);
|
||
|
|
||
|
Fe = eye(2) + ue * B'; % NOTE: + 1
|
||
|
Fm(:, ele) = Fe(:);
|
||
|
end
|
||
|
F{gp, 1} = Fm;
|
||
|
end
|
||
|
end
|