Code covered by the BSD License

# Experimental Investigation on Solar Chimney for room ventilation

### Ashish Meshram (Meet) (view profile)

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

%---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

```