function Fe = FEMReCalc(Fe); % Some stupid forcing this succer. % recalculating the fiber directions according to recent movement. Fe = FEMFields(Fe); for k=1:length(Fe.fiberdir), di = Fe.fiberdir{k}; ix = Fe.fiberindx{k}; ix =ix(:); din = zeros(size(di)); din(:,1) = Fe.F(ix,1).*di(:,1)+Fe.F(ix,4).*di(:,2)+Fe.F(ix,7).*di(:,3); din(:,2) = Fe.F(ix,2).*di(:,1)+Fe.F(ix,5).*di(:,2)+Fe.F(ix,8).*di(:,3); din(:,3) = Fe.F(ix,3).*di(:,1)+Fe.F(ix,6).*di(:,2)+Fe.F(ix,9).*di(:,3); Fe.fiberdir{k}=din; end; Fe.xyz=Fe.xyz+Fe.U; Fe.U = zeros(Fe.nnodes,3); Fe = FEMMatrices(Fe); Fe.Mass = Fe.Nktrans*Fe.Nk; Fe = FEMFields(Fe); return;