Code covered by the BSD License  

Highlights from
Experimental Investigation on Solar Chimney for room ventilation

image thumbnail

Experimental Investigation on Solar Chimney for room ventilation

by

 

14 May 2013 (Updated )

This project implements experimental Investigation on Solar chimney for room ventilation

EISCRV(H,T,Ta,Ls,W,z,d,Vr,maxiter,maxerr)
function [T,M,V,ACH,effi,iter] = EISCRV(H,T,Ta,Ls,W,z,d,Vr,maxiter,maxerr)
% This function implements the calculation of temperature for the paper
% entitled as Experimental investigations on solar chimney for room ventilation
% Jyotirmay Mathur, N K Bansal, Sanjay Mathur, Meenakshi Jain, Anupma.
% http://www.sciencedirect.com/science/article/pii/S0038092X05003014
%
% INPUT:   
%           H = Solar intensity (Watt/m^2)
%           T = Temperature column vector [Tg Tf Tw]'
%           Ta = Ambient Temperature (K)
%           Ls = Stack Length (m)
%           W = width of the Chimney (m)
%           d = Gap between Glass and Wall (m)
%           z = Opening height of Chimney (m)
%           Vr = Room Volume (m^3)
%           maxiter = Maximum number of iteration
%           maxerr = Maximum error to be incorporated
%
% OUTPUT:   T = Temperature column vector [Tg Tf Tw]',
%           where
%               Tg = mean glass temperature (K)
%               Tf = mean temperature of air in channel (K)
%               Tw = mean temperature of vertical wall (K)
%           M = Mass flow rate (kg/s)
%           V = Ventilation rate (m^3/s)
%           ACH = Number of air changes per hour
%           effi = Instantaneous efficiency
%           iter = Number of iteraton

% Implemented by ASHISH MESHRAM
% meetashish85@gmail.com,http://www.facebook.com/ashishmeet

%---Checking input arguments
if nargin<10,maxerr = 0.0001;end
if nargin<9,maxiter = 1000;end
if nargin<8,Vr = 57767;end
if nargin<7,d = 0.145;end
if nargin<6,z = 0.145;end
if nargin<5,W = 0.1724;end
if nargin<4,Ls = 1.9275;end
if nargin<3,Ta = 301;end
if nargin<2,T = [315;318;343];end
if nargin<1,H = 400;end


%-------------------Calculation of temperature----------------------------%
iter = 0;
while iter <= maxiter
    %---Initializing Temperature
    Tg = T(1,1);
    Tf = T(2,1);
    Tw = T(3,1);
    %---Previous temperature
    Tprev = T;
    
    %---Get Properties based on temperature
    [c,f,g,w] = Property(Tg,Tf,Tw,Ta,Ls,W,H);
    %---Get matrix based on properties
    [Temp_Coeff, RH,~, M] = MatCrea(c,f,w,Tf,Ta,Ls,z,W,d);
    %---Calculate current temperature
    Tcurr = GaussSeidelSOR(Temp_Coeff,RH);
    %---Get error between previous and current temperature
    error = abs(Tcurr - Tprev);
    if max(error)<=maxerr
        break
    else
        iter = iter+1;
        T = Tcurr;
    end
end


V = M/w.Rof;    %---ventilation rate (m^3/s)
ACH = (V*3600)/Vr;   %---Number of air changes per hour
Tfo = (Tf - 0.25*Ta)/0.75;
Tfi = Ta;
effi = ((M*g.Cf*(Tfo - Tfi))/(W*Ls*H))*100; %---Instantaneous efficiency


Contact us