Appendici A-7
A.3 Calcolo della larghezza equivalente
NOTA:
Tutte le grandezze sono assegnate in unità SI
% FUNZIONE DI TENTATIVO PER IL TUBO
function yinit = tentativo(x) global LEN R0 R1;
yinit = [ R1-(R1-R0)*x/LEN - (R1-R0)/LEN];
%FUNZIONE DI ANDAMENTO DEL TUBO
function dydx = tubo (x,y) global K R0 EL_T;
%Con y(1) si indica quindi r(x) con y(2) invece dr(x)/dx dydx = [ y(2)
EL_T/K*(y(1)/R0-1)^2*(1+y(2)^2)^0.5];
%CONDIZIONI AL CONTORNO PER IL TUBO
function res = bordo (ya,yb) global R0 R1;
%Le condizioni al bordo per il comando bvp4c devono essere scritte nella %forma bc(ya(1),yb(1))=0
res = [ ya(1)-R1 yb(1)-R0];
Appendici A-8 %CALCOLO LARGHEZZA EQUIVALENTE
clear all;
global LEN EL_T K R0 R1
%Definizione dei parametri geometrici e costitutivi LEN = 0.08; %Lunghezza del tratto simulato R0 = 0.015; %Raggio indeformato
R1 = 0.03; %Raggio deformato EL_T = 2e3; %Elasticità trasversale EL_L = 1.2e4; %Elasticità longitudinale K = 1.57; %Costante di equilibrio assiale
%Discretizzazione N = 200
xint = linspace(0, LEN, N);
%Integrazione for i = [1:30]
solinit = bvpinit(linspace(0, LEN, 10), @tentativo); sol = bvp4c(@tubo, @bordo, solinit);
rr_ = deval(sol, xint); K = EL_L*(sum(sqrt(1+rr_(2, 1:N-1).^2)-1+sqrt(1+rr_(2, 2:N).^2)-1)/... sum(sqrt(sqrt(1+rr_(2, 1:N-1).^2)./rr_(1, 1:N-1))+... sqrt(sqrt(1+rr_(2, 2:N).^2)./rr_(1, 2:N)))^2 end plot(xint, rr_(1, :)); axis equal;
%Calcolo della larghezza equivalente