how can i code energy balance eq in matlab
17 views (last 30 days)
Show older comments
vishnuvardhan naidu tanga
on 29 Oct 2019
Commented: vishnuvardhan naidu tanga
on 30 Oct 2019
i need to model these two eqns of heat exchanger
dT_Co/dt = ((M_C*(T_Ci-T_Co))/(rho_C*V_C))+(UA_i*(T_Ho-T_Co)/(rho_C*V_C*C_Pmc))
dT_Ho/dt = ((M_H*(T_Hi-T_Ho))/(rho_H*V_H))+(UA_i*(T_Co-T_Ho)/(rho_H*V_H*C_Pmh))
where all the inputs are known to me except T_Co and T_Ho in both the equations. the resultant T_Co and T_Ho will be the inputs for finding the differential eqns. can some one please help me with this. Thanks in advance.
1 Comment
Accepted Answer
Stephan
on 29 Oct 2019
Edited: Stephan
on 29 Oct 2019
syms T_Co(t) T_Ho(t) M_C M_H T_Ci T_Hi rho_C rho_H V_C V_H UA_i C_Pmc C_Pmh
eq(1) = diff(T_Co,t) == ((M_C*(T_Ci-T_Co))/(rho_C*V_C))+(UA_i*(T_Ho-T_Co)/(rho_C*V_C*C_Pmc));
eq(2) = diff(T_Ho,t) == ((M_H*(T_Hi-T_Ho))/(rho_H*V_H))+(UA_i*(T_Co-T_Ho)/(rho_H*V_H*C_Pmh));
sol = dsolve(eq)
sol_T_Ho = sol.T_Ho
sol_T_Co = sol.T_Co
Read the link to see how you can use initial conditions with this.
If you want to explore this system numerical use:
syms T_Co(t) T_Ho(t) M_C M_H T_Ci T_Hi rho_C rho_H V_C V_H UA_i C_Pmc C_Pmh
eq(1) = diff(T_Co,t) == ((M_C*(T_Ci-T_Co))/(rho_C*V_C))+(UA_i*(T_Ho-T_Co)/(rho_C*V_C*C_Pmc));
eq(2) = diff(T_Ho,t) == ((M_H*(T_Hi-T_Ho))/(rho_H*V_H))+(UA_i*(T_Co-T_Ho)/(rho_H*V_H*C_Pmh));
% create a function handle from the symbolic system
[eqs,vars] = odeToVectorField(eq);
fun = matlabFunction(eqs,'vars',{'t','Y','M_C', 'M_H', 'T_Ci', 'T_Hi', 'rho_C', 'rho_H',...
'V_C', 'V_H', 'UA_i', 'C_Pmc', 'C_Pmh'})
% Making some fantasy values for numeric calculation
M_C_num = 3;
M_H_num = 2;
T_Ci_num = 1;
T_Hi_num = 7;
rho_C_num = 2;
rho_H_num = 9;
V_C_num = 2;
V_H_num = 5;
UA_i_num = 4;
C_Pmc_num = 3;
C_Pmh_num = 2;
y0 = [100 0];
tspan = [0 200];
% solve the system
[t,res] = ode45(@(t,Y)fun(t,Y,M_C_num,M_H_num,T_Ci_num,T_Hi_num,rho_C_num,rho_H_num,V_C_num,...
V_H_num,UA_i_num,C_Pmc_num,C_Pmh_num),tspan,y0);
% plot results
figure(1)
plot(t,res)
figure(2)
plot3(res(:,1),res(:,2),t,'-r','LineWidth',2)
grid on
xlabel('THo')
ylabel('TCo')
zlabel('Time')
which results in:
and:
4 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!