Files
matlab-python/ATD/CalcoloBiax_TLH.m

32 lines
964 B
Matlab
Executable File

function [Y_TLH,Z_TLH,asseY_TLH,asseZ_TLH,AlfaX_TLH,AlfaY_TLH] = CalcoloBiax_TLH(...
SpeTLH,PsTLH,ii,jj,ax,ay,asseY_TLH,asseZ_TLH,Y_TLH,Z_TLH,...
elab_option,AlfaX_TLH,AlfaY_TLH)
% calcolo il coseno dell'angolo di inclinazione
cosBeta = (1 - ax(ii,jj).^2).^0.5;
Yi = -1*(SpeTLH(ii)-abs(SpeTLH(ii)*cosBeta));
% Spostamento lungo l'asse Z registrato dal nodo i
if elab_option == -1 % Arco Rovescio
Zi = SpeTLH(ii)*ax(ii,jj);
elseif elab_option == 1 % Calotta
Zi = -1*SpeTLH(ii)*ax(ii,jj);
end
% Rollio
AlfaX_TLH(ii,jj) = asind(ay(ii,jj));
AlfaY_TLH(ii,jj) = asind(ax(ii,jj));
% Matrici singoli spostamenti
asseY_TLH(ii,jj) = Yi;
asseZ_TLH(ii,jj) = Zi;
if ii==1
Y_TLH (ii,jj) = PsTLH(ii,1) + asseY_TLH(ii,jj);
Z_TLH (ii,jj) = asseZ_TLH(ii,jj);
else
Y_TLH(ii,jj) = PsTLH(ii,1) + asseY_TLH(ii,jj) + Y_TLH(ii-1,jj) - PsTLH(ii-1,1);
Z_TLH(ii,jj) = Z_TLH(ii-1,jj) + asseZ_TLH(ii,jj);
end
end