167
APPENDICE B: FILES MATLAB®
Mappa_E1_E2.m clear all; % Inserimento DATI p= [0.774013 0.796191 0.814435 0.829705 0.842674 0.751509 0.774013 0.7928 0.808724 0.822394 0.732494 0.754993 0.774013 0.790308 0.804427 0.716206 0.738496 0.757543 0.774013 0.7884 0.702091 0.724047 0.742983 0.75949 0.774013 ]; esponente=-(1-p); E1=0; E2=0; for t=1:5, E1(t)=(t-1)*20000+100000; end for t=1:5, E2(t)=E1(t); end %E2=E2' F=230; ni1=0.3; ni2=0.3; R1=1; R2=1.5;
% Creazione della matrice delle costanti k j=length(E1); j2=length(E2); for i= 1:j, for k= 1:j2, rstar=1/(1/R1+1/R2); estar(i,k)=1/(((1-ni1^2)/E1(i))+((1-ni2^2)/E2(k))); nistar=1/(1/ni1+1/ni2); b(i,k)=((2*4*F*rstar)/(pi*estar(i,k)))^0.5; k1=0.924893; k2(i,k)=(1+(E1(i)-E2(k))/(10*E1(i))); k3=(1-(ni1-0.3)); ks(i,k)=(k1*k2(i,k)*k3*(F/b(i,k))*(1/(b(i,k)*(1-nistar)))^(esponente(i,k))); end end % Rappresentazione grafica % for i=1:j, % for k=1:i, % E1s(i,k)=E1(k)
168 % end % end % for i=1:j, % for k=1:i % E2s(i,k)=E2(k) % end % end figure plot3(E1,E2,ks','o')
title('Variazione di K - Moduli di Young') xlabel('Modulo di Young del cilindro superiore') ylabel('Modulo di Young del cilindro inferiore') zlabel('Costante risultante') grid on figure mesh(E1,E2,ks') figure surf(E1,E2,ks') shading interp
title('Variazione di K - Moduli di Young') xlabel('Modulo di Young del cilindro superiore') ylabel('Modulo di Young del cilindro inferiore') zlabel('Costante risultante') mappa_F.m clear all; % Inserimento DATI p= [0.774013]; esponente=1-p; R1=1; R2=1.5; F=[0.1:1:1500]; E1=210000; E2=210000; ni1=0.3; ni2=0.3;
% Creazione della matrice delle costanti k j=length(F); for i= 1:j, rstar=1/(1/R1+1/R2); estar=1/(((1-ni1^2)/E1)+((1-ni2^2)/E2)); nistar=1/(1/ni1+1/ni2); b(i)=((2*4*F(i)*rstar)/(pi*estar))^0.5; k1=0.924893; k2=(1+(E1-E2)/(10*E1));
169 k3=(1-(ni1-0.3));
ks(i)=(k1*k2*k3*(F(i)/b(i))*(1/(b(i)*(1-nistar)))^(-esponente)); end
kstar=[ 3.1567e+003 2.0213e+003 4.1673e+003 5.1228e+003 5.9836e+003]; Fstar=[512.96 247.89 806.98 1130 1456];
figure
plot(ks',F,'b',kstar,Fstar,'r*')
title('Variazione di K - Carico applicato per unità di lunghezza') xlabel('Carico applicato per unità di lunghezza')
ylabel('Costante risultante') grid on mappa_NI1_NI2.m clear all; % Inserimento DATI p= [0.774013 0.776499 0.781614 0.789659 0.801152 0.771523 0.774013 0.779137 0.787203 0.798733 0.766375 0.768872 0.774013 0.782115 0.793714 0.758205 0.760709 0.765868 0.774013 0.785705 0.746385 0.748888 0.754055 0.762232 0.774013 ]; esponente=-(1-p); ni1=0; ni2=0; for t=1:5, ni1(t)=(t-1)*0.1+0.05; end for t=1:5, ni2(t)=ni1(t); end %E2=E2' F=230; E1=210000; E2=210000; R1=1; R2=1.5;
% Creazione della matrice delle costanti k j=length(ni1); j2=length(ni2); for i= 1:j, for k= 1:j2, rstar=1/(1/R1+1/R2); estar(i,k)=1/(((1-ni1(i)^2)/E1)+((1-ni2(k)^2)/E2)); nistar(i,k)=1/(1/ni1(i)+1/ni2(k)); b(i,k)=((2*4*F*rstar)/(pi*estar(i,k)))^0.5; k1=0.924893;
170 k2=(1+(E1-E2)/(10*E1)); k3(i)=(1-(ni1(i)-0.3)); ks(i,k)=(k1*k2*k3(i)*(F/b(i,k))*(1/(b(i,k)*(1-nistar(i))))^(esponente(i,k))); end end % Rappresentazione grafica % for i=1:j, % for k=1:i, % E1s(i,k)=E1(k) % end % end % for i=1:j, % for k=1:i % E2s(i,k)=E2(k) % end % end figure plot3(ni1,ni2,ks','o')
title('Variazione di K - Moduli di Poisson') xlabel('Modulo di Poisson del cilindro superiore') ylabel('Modulo di Poisson del cilindro inferiore') zlabel('Costante risultante')
grid on figure
mesh(ni1,ni2,ks')
title('Variazione di K - Moduli di Poisson') xlabel('Modulo di Poisson del cilindro superiore') ylabel('Modulo di Poisson del cilindro inferiore') zlabel('Costante risultante')
figure
surf(ni1,ni2,ks') shading interp
title('Variazione di K - Moduli di Poisson') xlabel('Modulo di Poisson del cilindro superiore') ylabel('Modulo di Poisson del cilindro inferiore') zlabel('Costante risultante') mappa_R1_R2.m clear all; % Inserimento DATI p= [0.774013]; esponente=-(1-p); R1=[0.01:0.01:2]; R2=[0.01:0.01:2];
171 F=230; E1=210000; E2=210000; ni1=0.3; ni2=0.3;
% Creazione della matrice delle costanti k j=length(R1); j2=length(R2); for i= 1:j, for k= 1:j2, rstar(i,k)=1/(1/R1(i)+1/R2(k)); estar=1/(((1-ni1^2)/E1)+((1-ni2^2)/E2)); nistar=1/(1/ni1+1/ni2); b(i,k)=((2*4*F*rstar(i,k))/(pi*estar))^0.5; k1=0.924893; k2=(1+(E1-E2)/(10*E1)); k3=(1-(ni1-0.3)); ks(i,k)=(k1*k2*k3*(F/b(i,k))*(1/(b(i,k)*(1-nistar)))^(esponente)); end end % Rappresentazione grafica % for i=1:j, % for k=1:i, % E1s(i,k)=E1(k) % end % end % for i=1:j, % for k=1:i % E2s(i,k)=E2(k) % end % end figure plot3(R1,R2,ks','o')
title('Variazione di K - Raggi di Curvatura') xlabel('Raggio di curvatura del cilindro superiore') ylabel('Raggio di curvatura del cilindro inferiore') zlabel('Costante risultante')
grid on figure
mesh(R1,R2,ks')
title('Variazione di K - Raggi di Curvatura') xlabel('Raggio di curvatura del cilindro superiore') ylabel('Raggio di curvatura del cilindro inferiore') zlabel('Costante risultante')
figure
172 surf(log(R1),log(R2),ks');
shading interp; colormap(jet);
title('Variazione di K - Raggi di Curvatura')
xlabel('Raggio di curvatura del cilindro superiore [Log]') ylabel('Raggio di curvatura del cilindro inferiore [Log]') zlabel('Costante risultante')
ESEMPIO DI CALCOLO DELL’ESPONENTE DI DUNDURS8
d01_01.m close all; format long g; gamma=pi/2; ni1=0.1; e1=210000; ni2=0.1; e2=210000; g1=e1/(2*(1+ni1)); g2=e2/(2*(1+ni2)); alfa=((1-ni2)/g2-(1-ni1)/g1)/((1-ni2)/g2+(1-ni1)/g1); s=[0:0.001:1]; d=(1+alfa).*cos(s.*pi).*(s.^2.*sin(gamma).*sin(gamma)- sin(gamma.*s).*sin(gamma.*s))-1/2.*(1-alfa).*sin(s.*pi).*(s.*sin(2.*gamma)+sin(2.*s.*gamma)); %s=solve('(1+alfa)*cos(s*pi)*(s^2*sin(gamma)*sin(gamma)- sin(gamma*s)*sin(gamma*s))-1/2*(1-alfa)*sin(s*pi)*(s*sin(2*gamma)+sin(2*s*gamma))=0') % [1+alfa]*cos[s*pi]*[s^2*sin[gamma]*sin[gamma]-sin[gamma*s]*sin[gamma*s]]-1/2*[1-alfa]*sin[s*pi]*[s*sin[2*gamma]+sin[2*s*gamma]] figure plot(s,d) grid on % s=0.774
173
Figura A: metodo di risoluzione grafica dell’equazione trascendente di Dundurs P001.m close all; esponente=-(1-0.7843); E1=210000; E2=210000; NI1=0.1; NI2=0.3; nistar=1/(1/NI1+1/NI2); r1=1; r2=1.5*r1; rstar=1/(1/r1+1/r2); estar=1/(((1-NI1^2)/E1)+((1-NI2^2)/E2)); %a=1000/estar; M=load('SY_Assiale3_001.lis'); j=length(M);
p=-M(j,2); %nota: è il valore della pressione massima hertziana calcolata con il modello migliore che si riesce ad ottenere per la zona centrale in plane strain, quella lontanissimo dal bordo K=load('S_Integr3_001.LIS'); j2=length(K); F=-K(j2,2); a=((2*4*F*rstar)/(pi*estar))^0.5; b=a;
174 %b=1.1; k2=(1+(E1-E2)/(10*E1)); k3=(1-(NI1-0.3)); k1=0.924893*k2*k3; l=k1; % sstar=M(:,1)./b; % presstar=M(:,2)./(-p); % s=M(:,1)./b; % k=((2^0.5*pi*5/(2*l*(1-nistar)))^esponente); % %k2=3/4 % pres=k*s.^(esponente); % sstar=M(:,1); % presstar=M(:,2)*(-1); % s=M(:,1); % k=((2^0.5*pi*5/(b*2*l*(1-nistar)))^esponente); % %k2=3/4 % pres=p*k*s.^(esponente); sstar=M(:,1); presstar=M(:,2)*(-1); s=M(:,1); %k=; %pres=((4*F/(pi*b))*(k1)^(-0.226)*(1/(b*(1-nistar)))^(esponente))*s.^(esponente); pres=((F*k1/(b))*(1/(b*(1-nistar)))^(esponente))*s.^(esponente); figure semilogx(s,pres,'b',sstar,presstar,'r') legend('Dundurs & Lee','Ansys',0) title('Pressione - Distanza dal Bordo')
xlabel('Distanza dal Bordo / semimpronta [Log]') ylabel('Pressione di Contatto / pres hertziana massima') grid on
err=abs((pres-presstar)./pres*100); figure
semilogx(s,err,'b')
legend('Errore Percentuale (valore assoluto)',0) title('Errore % - Distanza dal Bordo')
xlabel('Distanza dal Bordo / semimpronta')
ylabel('Var. % Pressione D & L - Pressione Ansys') grid on
figure
loglog(s,pres,'b',sstar,presstar,'r') legend('Dundurs & Lee','Ansys',0) title('Pressione - Distanza dal Bordo')
xlabel('Distanza dal Bordo / semimpronta [Log]') ylabel('Pressione di Contatto / pres hertziana massima') grid on
175 figure
plot(s,pres,'b',sstar,presstar,'r') legend('Dundurs & Lee','Ansys',0) title('Pressione - Distanza dal Bordo')
xlabel('Distanza dal Bordo / semimpronta [Log]') ylabel('Pressione di Contatto / pres hertziana massima') grid on