a 2D version
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.
 
 

18 lines
642 B

function [fixeddofs2, freedofs2, F] = FEA_init_nonregular(nodes, fixeddofs, loadnid,vF)
nodeNum = size(nodes, 1);
% after remove, all dofs in orignal idx representation
alldofs1 = [2 * nodes(:, 3) - 1, 2 * nodes(:, 3)];
[~, r1] = intersect(alldofs1(:, 1), fixeddofs);
[~, r2] = intersect(alldofs1(:, 2), fixeddofs);
fixeddofs2 = [2 * r1 - 1; 2 * r2];
alldofs2 = nodeNum * 2;
freedofs2 = setdiff(1:alldofs2, fixeddofs2);
[~, r1] = intersect(alldofs1(:, 1), loadnid);
[~, r2] = intersect(alldofs1(:, 2), loadnid);
loadnid2 = [2 * r1 - 1; 2 * r2];
F = sparse(loadnid2, 1, vF, alldofs2, 1);
end