Code Error on Line 39 and 41
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
There is an error in my code in Line 39 and 41 in K_a2 and Mu_a2, respectively. Maybe a dot/period is missing.
% Approach 1
E_m = 70000; % Elastic modulus of matrix, MPa
v_m = .33; % Poisson ratio of matrix
E_i = 250000; % Elastic modulus of inclusion, MPa
v_i = .2; % Poisson ratio of inclusion
% Fiber volume fraction
f_i = 0:0.01:1;
% 0 is 0% fiber and 1 is 100% fiber content
% points to be plotted
K_m = (E_m)/(3*(1-2*(v_m))); % Bulk modulus of matrix, MPa
K_i = (E_i)/(3*(1-2*(v_i))); % Bulk modulus of inclusion, MPa
Mu_m = (E_m)/(2*(1+v_m));
Mu_i = (E_i)/(2*(1+v_i));
% Iteration 1
s1_a1 = (1+v_m)/(3*(1-v_m));
s2_a1 = (2*(4-5*v_m))/(15*(1-v_m));
K_a1 = K_m*((1+f_i*(K_m/(K_m-K_i)-s1_a1)^-1)).^-1;
Mu_a1 = Mu_m*((1+f_i*(Mu_m/(Mu_m-Mu_i)-s2_a1)^-1)).^-1;
% Iteration 2
v_a2 = (3*K_a1-2*Mu_a1)/(2*(3*K_a1+Mu_a1));
s1_a2 = (1+v_a2)/(3*(1-v_a2));
s2_a2 = (2*(4-5*v_a2))/(15*(1-v_a2));
K_a2 = K_m*(1+(f_i*((K_i/K_m)-1)*(1+((K_i/K_a1)-1)*s1_a2).^-1));
Mu_a2 = Mu_m*(1+(f_i*((Mu_i/K_m)-1)*(1+((Mu_i/Mu_a1)-1)*s1_a2).^-1));
% Reuss and Voigt
K_Reuss = (((1-f_i)/K_m) + (f_i/K_i)).^-1;
K_Voigt = (((1-f_i)*K_m) + (f_i*K_i));
% Plotting
figure(1)
plot(f_i,K_a1, 'Color', 'red', 'LineWidth', 2.5);
hold on;
plot(f_i,K_a2, 'Color', 'blue', 'LineWidth', 2.5);
hold off;
grid off;
legend('K_a1', 'K_a2','K_a3', 'K_a4', 'K_a5')
legend('Location','northwest','FontSize',12)
title('Comp1: Bulk Modulus vs. Inclusion Volume Fraction')
xlabel('Inclusion Volume Fraction, f_i')
ylabel('Bulk Modulus, K [MPa]')
0 Kommentare
Antworten (1)
Cris LaPierre
am 21 Mär. 2022
You are correct on how to fix it.
f_i and K_a1 are both 1x101 vectors. Use elementwise operators to preserve the vectors.
K_a2 = K_m*(1+(f_i*((K_i/K_m)-1).*(1+((K_i./K_a1)-1)*s1_a2).^-1));
Mu_a2 = Mu_m*(1+(f_i*((Mu_i/K_m)-1).*(1+((Mu_i./Mu_a1)-1)*s1_a2).^-1));
% add elementwise operators ^* ^*
% Approach 1
E_m = 70000; % Elastic modulus of matrix, MPa
v_m = .33; % Poisson ratio of matrix
E_i = 250000; % Elastic modulus of inclusion, MPa
v_i = .2; % Poisson ratio of inclusion
% Fiber volume fraction
f_i = 0:0.01:1;
% 0 is 0% fiber and 1 is 100% fiber content
% points to be plotted
K_m = (E_m)/(3*(1-2*(v_m))); % Bulk modulus of matrix, MPa
K_i = (E_i)/(3*(1-2*(v_i))); % Bulk modulus of inclusion, MPa
Mu_m = (E_m)/(2*(1+v_m));
Mu_i = (E_i)/(2*(1+v_i));
% Iteration 1
s1_a1 = (1+v_m)/(3*(1-v_m));
s2_a1 = (2*(4-5*v_m))/(15*(1-v_m));
K_a1 = K_m*((1+f_i*(K_m/(K_m-K_i)-s1_a1)^-1)).^-1;
Mu_a1 = Mu_m*((1+f_i*(Mu_m/(Mu_m-Mu_i)-s2_a1)^-1)).^-1;
% Iteration 2
v_a2 = (3*K_a1-2*Mu_a1)/(2*(3*K_a1+Mu_a1));
s1_a2 = (1+v_a2)/(3*(1-v_a2));
s2_a2 = (2*(4-5*v_a2))/(15*(1-v_a2));
K_a2 = K_m*(1+(f_i*((K_i/K_m)-1).*(1+((K_i./K_a1)-1)*s1_a2).^-1));
Mu_a2 = Mu_m*(1+(f_i*((Mu_i/K_m)-1).*(1+((Mu_i./Mu_a1)-1)*s1_a2).^-1));
% Reuss and Voigt
K_Reuss = (((1-f_i)/K_m) + (f_i/K_i)).^-1;
K_Voigt = (((1-f_i)*K_m) + (f_i*K_i));
% Plotting
figure(1)
plot(f_i,K_a1, 'Color', 'red', 'LineWidth', 2.5);
hold on;
plot(f_i,K_a2, 'Color', 'blue', 'LineWidth', 2.5);
hold off;
grid off;
legend('K_a1', 'K_a2')
legend('Location','northwest','FontSize',12)
title('Comp1: Bulk Modulus vs. Inclusion Volume Fraction')
xlabel('Inclusion Volume Fraction, f_i')
ylabel('Bulk Modulus, K [MPa]')
3 Kommentare
Cris LaPierre
am 22 Mär. 2022
Bearbeitet: Cris LaPierre
am 22 Mär. 2022
For the same reason you use a ".^" at the end of each expression.
A = 1:3;
% with the dot
3./A
% without the dot
3/A
Siehe auch
Kategorien
Mehr zu Thermal Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!