76 lines
2.1 KiB
Matlab
76 lines
2.1 KiB
Matlab
%% parameters setting
|
|
% System Redundancy (SR)
|
|
lambdaB_SR = 11.76e-6;% hours^(-1)
|
|
lambdaR_SR = 16.6e-6;
|
|
muB_SR = 0.5;% hours^(-1)
|
|
muR_SR = muB_SR;
|
|
|
|
% % Component Redundancy (CR)
|
|
% lambdaB_CR = 17*lambdaB_SR;
|
|
% lambdaR_CR = 17*lambdaR_SR;
|
|
muB_CR = 0.5;% hours^(-1)
|
|
muR_CR = muR_SR;
|
|
|
|
|
|
ModulePower = 10;% kW
|
|
Load = 40 + 6*20;% kW, typical values from 50 to 100 kW
|
|
|
|
min = 1;
|
|
step = 1;
|
|
max = 20;
|
|
|
|
%% start evaluation
|
|
MTTF_perc_impr = zeros(max,1);
|
|
MTBF_perc_impr = zeros(max,1);
|
|
MTBF_SR = zeros(max,1);
|
|
MTBF_CR = zeros(max,1);
|
|
Energy_perc_impr = zeros(max,1);
|
|
for i = min : step : max
|
|
|
|
% Component Redundancy (CR)
|
|
lambdaB_CR = i*lambdaB_SR;
|
|
lambdaR_CR = i*lambdaR_SR;
|
|
|
|
n = ceil(Load/ModulePower);
|
|
nm = n+3;% nm is n+m
|
|
|
|
PotTransformerMonolite=0.04*2*Load;
|
|
PotTransformerModular=0.04*Load;
|
|
|
|
Energy_perc_impr(i) = 100; % estimate based only on transformers' consumption
|
|
|
|
[A_SR,MTTF_SR,MTBF_SR_value] = evaluate_SR(nm,n,lambdaB_SR,lambdaR_SR,muB_SR,muR_SR);
|
|
[A_CR,MTTF_CR,MTBF_CR_value] = evaluate_CR(nm,n,lambdaB_CR,lambdaR_CR,muB_CR,muR_CR);
|
|
|
|
MTBF_SR(i) = MTBF_SR_value;
|
|
MTBF_CR(i) = MTBF_CR_value;
|
|
|
|
A_perc_impr = 100*(A_CR-A_SR)/A_SR;
|
|
MTTF_perc_impr(i) = 100*(MTTF_CR-MTTF_SR)/MTTF_SR;
|
|
MTBF_perc_impr(i) = 100*(MTBF_CR_value-MTBF_SR_value)/MTBF_SR_value;
|
|
|
|
end
|
|
|
|
%% Plot
|
|
x = min : step : (min+(max-1)*step);
|
|
zeroline=zeros(1,length(x));
|
|
positive=find(MTBF_perc_impr>0);
|
|
negative=find(MTBF_perc_impr<=0);
|
|
|
|
figure(1);
|
|
semilogy(x(positive),MTBF_perc_impr(positive),'Color',[0,0,0],'LineWidth',2);
|
|
hold on;
|
|
% semilogy(x(negative),MTBF_perc_impr(negative),'Color',[0,0,0],'LineWidth',2);
|
|
semilogy(x(negative),10.^(-log10(-MTBF_perc_impr(negative))),'Color',[0,0,0],'LineWidth',2)
|
|
% semilogy(x,zeroline,'Color',[0.4,0.4,0.4]);
|
|
title(strcat('Percentage of improvement, load=', num2str(Load),' kW'));
|
|
xlabel('r');
|
|
|
|
figure(2);
|
|
semilogy(x,MTBF_SR,"--",'Color',[0.5,0,0.5],'LineWidth',2);
|
|
hold on;
|
|
semilogy(x,MTBF_CR,"-.",'Color',[0,0.7,0],'LineWidth',2);
|
|
title(strcat('Mean Time Between two Failures (MTBF), load=', num2str(Load),' kW'));
|
|
xlabel('r');
|
|
ylabel('MTBF [hours]');
|
|
legend('SR','CR'); |