C0 = 0.3;        
Cw = 0.0;        
kw = 1;          
Q  = 1;          
D  = 0.02;       
L = linspace(0.1,20,50);        
R = 0.8;         
ax = Q/(pi*R^2); 
C_target = 0.1;     
Vs0      = 20;      
ms       = 1.4;
mc       = 100;
N = 50;        
Nr = N;        
Nz = N;        
tolerance = 1.0e-4;
C = zeros( Nz, Nr, N );
for ii = 1: N       
    
deltar = R / ( Nr - 1 );
deltaz = L(ii) / ( Nz - 1 );       
Cold(:,:,ii)    = C(:,:,ii);       
error   = 1.0e+8;                  
nite    = 0;                       
nitemax = 1e+5;                    
    
    while ( error > tolerance ) && ( nite < nitemax )
    
    nite = nite + 1;
    
        for i = 1 : Nz
            for j = 1 : Nr
            
            
            r = deltar * ( j - 1 );
            z = deltaz * ( i - 1 );
            
            
            
 
            
                if     i ==  1 
                C( i, j, ii ) = C0;
                        
                elseif i == Nz 
                C( i, j , ii ) =  Cold( i-1, j ); 
                        
                elseif j ==  1 
                C( i, j, ii ) =  Cold( i, j+1 );
                            
                        
                elseif j == Nr 
                C( i, j, ii ) = ( Cold( i, j-1, ii ) + ( kw  * deltar / D ) * Cw  ) / ...
                            ( 1              + ( kw  * deltar / D ) );
                else 
                
                Cleft   = -(D/(2*r*deltar)) - (D/(deltar^2));
                Cright  =  (D/(2*R*deltar)) - (D/(deltar^2));
                Cbottom = -(ax/(2*deltaz))  - (D/(deltaz^2));
                Ctop    =  (ax/(2*deltaz))  - (D/(deltaz^2));
                Ccenter =  Cbottom + Ctop +  Cleft  + Cright;
                
                
                C( i, j, ii ) = ( Cleft   * Cold( i  , j-1, ii ) + ...
                              Cright  * Cold( i  , j+1, ii ) + ...
                              Cbottom * Cold( i-1, j, ii   ) + ...
                              Ctop    * Cold( i+1, j, ii   ) + ...
                              0 ) / Ccenter;
                          
                end
            end
        
        end
    
        
        error = norm( C(:,:,ii) - Cold(:,:,ii) );
    
        
        
        
        Cold(:,:,ii) = C(:,:,ii);
   end
end
C_TOP = C(N,:,:);
syms r
C_avg = zeros(50,1);
for i = 1:length(C_TOP)
    C_avg(i) = ((1/(pi*R^2))*int(2*pi*r,r,0,R))*sum(C_TOP(:,:,i))/N;
end
C_avg