User:BademiChetan: Difference between revisions
Jump to navigation
Jump to search
BademiChetan (talk | contribs) No edit summary |
BademiChetan (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
Name: Chetan Suresh Bademi | |||
I'm a | |||
University: [http://iitm.ac.in Indian Institute of Technology, Madras]. | |||
I'm applying for [http://ascendwiki.cheme.cmu.edu/Student_projects#Renewable_energy_system_modelling Renewable energy system modelling] | |||
I've written a simple model of a flat plate solar water heater. | |||
<source lang="a4c"> | |||
(* | |||
Assumptions: Wind transfer coefficient is 0. | |||
*) | |||
REQUIRE "atoms.a4l"; | |||
(* New Definition: for overall collector loss coefficient. *) | |||
ATOM heat_loss_coeff REFINES solver_var | |||
DIMENSION M/T^3/TMP | |||
DEFAULT 10{W/m^2/K}; | |||
lower_bound := 0{W/m^2/K}; | |||
upper_bound := 1e100 {W/m^2/K}; | |||
nominal := 1{W/m^2}; | |||
END heat_loss_coeff; | |||
ATOM heat_capacity REFINES solver_var | |||
DIMENSION L^2/T^2/TMP | |||
DEFAULT 4181.3{J/kg/K}; (* heat_capacity of water at 25 degree celcius *) | |||
lower_bound := -1e60{J/kg/K}; | |||
upper_bound := 1e60{J/kg/K}; | |||
nominal := 1{J/kg/K}; | |||
END heat_capacity; | |||
MODEL FlatPlate; | |||
N "number of plates" IS_A factor; | |||
beta "collector angle( in degree )" IS_A factor; | |||
C "A function of beta, for intermediate calculations." IS_A factor; | |||
E "A function of TempPlateMean. For calculations only" IS_A factor; | |||
TempAmbient "Ambient temperature" IS_A temperature; | |||
TempPlateMean "Mean plate temperature" IS_A temperature; | |||
TempFluidInlet "Fluid inlet temperature" IS_A temperature; | |||
TempFluidOutlet "Fluid outlet temperature" IS_A temperature; | |||
EmittanceGlass "Emittance of glass" IS_A factor; | |||
EmittancePlate "Emittance of plate" IS_A factor; | |||
HeatLossCoeffTop "Heat loss coefficient of the top surface" IS_A heat_loss_coeff; | |||
HeatLossCoeffSide "Heat loss coefficient of the side surface" IS_A heat_loss_coeff; | |||
HeatLossCoeffBack "Heat loss coefficient of the back surface" IS_A heat_loss_coeff; | |||
HeatLossCoeff "Overall heat loss coefficient of the collector" IS_A heat_loss_coeff; | |||
HeatUseful "Useful heat" IS_A energy_rate; | |||
MassRate "Rate of flow of mass" IS_A mass_rate; | |||
HeatCapacity "Amount of heat required to change temperature" IS_A heat_capacity; | |||
RemovalFactor "Heat removal factor" IS_A factor; | |||
CollectorArea "Area of the collector" IS_A area; | |||
BackConductivity "Conductivity of the back insulation" IS_A thermal_conductivity; | |||
SideConductivity "Conductivity of the side insulation" IS_A thermal_conductivity; | |||
CollectorLength "Length of the Collector" IS_A distance; | |||
CollectorWidth "Width of the Collector" IS_A distance; | |||
CollectorThickness "Thickness of the collector" IS_A distance; | |||
SideThickness "Thickness of the side insulator" IS_A distance; | |||
BackThickness "Thickness of the back insulator" IS_A distance; | |||
Efficiency "Efficiency of the collector" IS_A factor; | |||
SolarRadiation "Solar Radiation at the surface" IS_A irradiance; | |||
NetRadiation "Effective solar radiation" IS_A irradiance; | |||
TransmittanceNormal "Normal transmittance of the glass plate" IS_A factor; | |||
AbsorptanceNormal "Normal absorptance of the glass plate" IS_A factor; | |||
AngleModifier "Incidence angle modifier" IS_A factor; | |||
AngleModifierCoeff "Incidence angle modifier coefficient" IS_A factor; | |||
IncidenceAngle "Incidence angle" IS_A factor; | |||
(* EQUATIONS *) | |||
find_area_of_collector: | |||
CollectorArea = CollectorLength * CollectorWidth ; | |||
find_intermediate_const_C: | |||
C = 520 * ( 1 -0.00005 * beta * beta ) ; | |||
find_intermediate_const_E: | |||
E = 0.430 * ( 1 - 100 / TempPlateMean ) ; | |||
find_heat_removal_factor: | |||
RemovalFactor = MassRate * HeatCapacity * ( TempPlateMean - TempAmbient ) / CollectorArea / ( NetRadiation - HeatLossCoeff*( TempFluidInlet - TempAmbient) ) ; | |||
find_heat_loss_coeff_top: | |||
HeatLossCoeffTop = C / TempPlateMean / N * ( ( TempPlateMean - TempAmbient ) / ( 1.07886 * N + 1) )^E + 5.67E-8 * (TempPlateMean + TempAmbient) *(TempPlateMean^2 + TempAmbient^2)/( 1 / EmittancePlate - N + ( 2.07886 * N + 0.133 *EmittancePlate ) / EmittanceGlass) ; | |||
find_heat_loss_coeff_back: | |||
HeatLossCoeffBack = BackConductivity / BackThickness ; | |||
find_heat_loss_coeff_side: | |||
HeatLossCoeffSide = SideConductivity * 2 * ( CollectorLength + CollectorWidth ) * CollectorThickness / SideThickness / CollectorArea ; | |||
calc_incidence_angle_modifier: | |||
AngleModifier = 1 + AngleModifierCoeff * (1 / cos(IncidenceAngle * 1{PI} / 180 ) - 1 ) ; | |||
calc_net_radiation_at_collector: | |||
NetRadiation = SolarRadiation * TransmittanceNormal * AbsorptanceNormal * AngleModifier ; | |||
(* Calculate HeatLossCoefficient and TempPlateMean by solving equations 6.4.9 and 6.9.4 (Duffie and Beckman) *) | |||
find_overall_heat_loss_coeff: | |||
HeatLossCoeff = HeatLossCoeffTop + HeatLossCoeffBack + HeatLossCoeffSide ; | |||
find_mean_plate_temperature: | |||
TempPlateMean = TempFluidInlet + ( NetRadiation - HeatLossCoeff * ( TempFluidInlet - TempAmbient ) ) * ( 1 - RemovalFactor ) / HeatLossCoeff ; | |||
(* Calculating the amount of heat that can be used. *) | |||
calc_useful_heat: | |||
HeatUseful = CollectorArea * RemovalFactor * ( NetRadiation - HeatLossCoeff * ( TempFluidInlet - TempAmbient ) ) ; | |||
(* Calculate efficiency of the collector. *) | |||
calc_efficiency: | |||
Efficiency = HeatUseful / CollectorArea / SolarRadiation ; | |||
METHODS | |||
METHOD on_load; | |||
FIX N; | |||
N := 1 ; | |||
FIX beta; | |||
beta := 45 ; | |||
FIX TempAmbient; | |||
TempAmbient := 300{K}; | |||
(* Initial guess for the solver. *) | |||
TempPlateMean := TempAmbient + 10{K} ; | |||
FIX TempFluidInlet; | |||
TempFluidInlet := 310{K}; | |||
FIX TempFluidOutlet ; | |||
TempFluidOutlet := 350{K}; | |||
FIX EmittanceGlass; | |||
EmittanceGlass := 0.88 ; | |||
FIX EmittancePlate; | |||
EmittancePlate := 0.95 ; | |||
FIX MassRate; | |||
MassRate := 0.03{kg/s}; | |||
FIX HeatCapacity; | |||
HeatCapacity := 4181.3{J/kg/K}; | |||
FIX SolarRadiation; | |||
NetRadiation := 1400 {kg/s^3} ; | |||
FIX CollectorLength; | |||
CollectorLength := 2{m}; | |||
FIX CollectorWidth ; | |||
CollectorWidth := 1{m}; | |||
FIX CollectorThickness; | |||
CollectorThickness := 7.5{mm}; | |||
FIX SideThickness; | |||
SideThickness := 25{mm}; | |||
FIX BackThickness; | |||
BackThickness := 50{mm}; | |||
FIX BackConductivity; | |||
BackConductivity := 0.045 {kg*m/s^3/K}; | |||
FIX SideConductivity; | |||
SideConductivity := 0.045 {kg*m/s^3/K}; | |||
FIX AbsorptanceNormal; | |||
AbsorptanceNormal := 0.96; | |||
FIX TransmittanceNormal; | |||
TransmittanceNormal := 0.96; | |||
(* Enter the angle of incidence in degrees *) | |||
FIX IncidenceAngle; | |||
IncidenceAngle := 60; | |||
FIX AngleModifierCoeff; | |||
AngleModifierCoeff := -0.10; | |||
END on_load; | |||
END FlatPlate; | |||
</source> | |||
[[Image:IncidenceGraph.png|thumb|1100px|1500px|Incidence Graph generated by ASCEND for the model of simple solar water heater]] | |||
Revision as of 10:39, 6 April 2011
Name: Chetan Suresh Bademi
University: Indian Institute of Technology, Madras.
I'm applying for Renewable energy system modelling
I've written a simple model of a flat plate solar water heater.
(* Assumptions: Wind transfer coefficient is 0. *) REQUIRE "atoms.a4l"; (* New Definition: for overall collector loss coefficient. *) ATOM heat_loss_coeff REFINES solver_var DIMENSION M/T^3/TMP DEFAULT 10{W/m^2/K}; lower_bound := 0{W/m^2/K}; upper_bound := 1e100 {W/m^2/K}; nominal := 1{W/m^2}; END heat_loss_coeff; ATOM heat_capacity REFINES solver_var DIMENSION L^2/T^2/TMP DEFAULT 4181.3{J/kg/K}; (* heat_capacity of water at 25 degree celcius *) lower_bound := -1e60{J/kg/K}; upper_bound := 1e60{J/kg/K}; nominal := 1{J/kg/K}; END heat_capacity; MODEL FlatPlate; N "number of plates" IS_A factor; beta "collector angle( in degree )" IS_A factor; C "A function of beta, for intermediate calculations." IS_A factor; E "A function of TempPlateMean. For calculations only" IS_A factor; TempAmbient "Ambient temperature" IS_A temperature; TempPlateMean "Mean plate temperature" IS_A temperature; TempFluidInlet "Fluid inlet temperature" IS_A temperature; TempFluidOutlet "Fluid outlet temperature" IS_A temperature; EmittanceGlass "Emittance of glass" IS_A factor; EmittancePlate "Emittance of plate" IS_A factor; HeatLossCoeffTop "Heat loss coefficient of the top surface" IS_A heat_loss_coeff; HeatLossCoeffSide "Heat loss coefficient of the side surface" IS_A heat_loss_coeff; HeatLossCoeffBack "Heat loss coefficient of the back surface" IS_A heat_loss_coeff; HeatLossCoeff "Overall heat loss coefficient of the collector" IS_A heat_loss_coeff; HeatUseful "Useful heat" IS_A energy_rate; MassRate "Rate of flow of mass" IS_A mass_rate; HeatCapacity "Amount of heat required to change temperature" IS_A heat_capacity; RemovalFactor "Heat removal factor" IS_A factor; CollectorArea "Area of the collector" IS_A area; BackConductivity "Conductivity of the back insulation" IS_A thermal_conductivity; SideConductivity "Conductivity of the side insulation" IS_A thermal_conductivity; CollectorLength "Length of the Collector" IS_A distance; CollectorWidth "Width of the Collector" IS_A distance; CollectorThickness "Thickness of the collector" IS_A distance; SideThickness "Thickness of the side insulator" IS_A distance; BackThickness "Thickness of the back insulator" IS_A distance; Efficiency "Efficiency of the collector" IS_A factor; SolarRadiation "Solar Radiation at the surface" IS_A irradiance; NetRadiation "Effective solar radiation" IS_A irradiance; TransmittanceNormal "Normal transmittance of the glass plate" IS_A factor; AbsorptanceNormal "Normal absorptance of the glass plate" IS_A factor; AngleModifier "Incidence angle modifier" IS_A factor; AngleModifierCoeff "Incidence angle modifier coefficient" IS_A factor; IncidenceAngle "Incidence angle" IS_A factor; (* EQUATIONS *) find_area_of_collector: CollectorArea = CollectorLength * CollectorWidth ; find_intermediate_const_C: C = 520 * ( 1 -0.00005 * beta * beta ) ; find_intermediate_const_E: E = 0.430 * ( 1 - 100 / TempPlateMean ) ; find_heat_removal_factor: RemovalFactor = MassRate * HeatCapacity * ( TempPlateMean - TempAmbient ) / CollectorArea / ( NetRadiation - HeatLossCoeff*( TempFluidInlet - TempAmbient) ) ; find_heat_loss_coeff_top: HeatLossCoeffTop = C / TempPlateMean / N * ( ( TempPlateMean - TempAmbient ) / ( 1.07886 * N + 1) )^E + 5.67E-8 * (TempPlateMean + TempAmbient) *(TempPlateMean^2 + TempAmbient^2)/( 1 / EmittancePlate - N + ( 2.07886 * N + 0.133 *EmittancePlate ) / EmittanceGlass) ; find_heat_loss_coeff_back: HeatLossCoeffBack = BackConductivity / BackThickness ; find_heat_loss_coeff_side: HeatLossCoeffSide = SideConductivity * 2 * ( CollectorLength + CollectorWidth ) * CollectorThickness / SideThickness / CollectorArea ; calc_incidence_angle_modifier: AngleModifier = 1 + AngleModifierCoeff * (1 / cos(IncidenceAngle * 1{PI} / 180 ) - 1 ) ; calc_net_radiation_at_collector: NetRadiation = SolarRadiation * TransmittanceNormal * AbsorptanceNormal * AngleModifier ; (* Calculate HeatLossCoefficient and TempPlateMean by solving equations 6.4.9 and 6.9.4 (Duffie and Beckman) *) find_overall_heat_loss_coeff: HeatLossCoeff = HeatLossCoeffTop + HeatLossCoeffBack + HeatLossCoeffSide ; find_mean_plate_temperature: TempPlateMean = TempFluidInlet + ( NetRadiation - HeatLossCoeff * ( TempFluidInlet - TempAmbient ) ) * ( 1 - RemovalFactor ) / HeatLossCoeff ; (* Calculating the amount of heat that can be used. *) calc_useful_heat: HeatUseful = CollectorArea * RemovalFactor * ( NetRadiation - HeatLossCoeff * ( TempFluidInlet - TempAmbient ) ) ; (* Calculate efficiency of the collector. *) calc_efficiency: Efficiency = HeatUseful / CollectorArea / SolarRadiation ; METHODS METHOD on_load; FIX N; N := 1 ; FIX beta; beta := 45 ; FIX TempAmbient; TempAmbient := 300{K}; (* Initial guess for the solver. *) TempPlateMean := TempAmbient + 10{K} ; FIX TempFluidInlet; TempFluidInlet := 310{K}; FIX TempFluidOutlet ; TempFluidOutlet := 350{K}; FIX EmittanceGlass; EmittanceGlass := 0.88 ; FIX EmittancePlate; EmittancePlate := 0.95 ; FIX MassRate; MassRate := 0.03{kg/s}; FIX HeatCapacity; HeatCapacity := 4181.3{J/kg/K}; FIX SolarRadiation; NetRadiation := 1400 {kg/s^3} ; FIX CollectorLength; CollectorLength := 2{m}; FIX CollectorWidth ; CollectorWidth := 1{m}; FIX CollectorThickness; CollectorThickness := 7.5{mm}; FIX SideThickness; SideThickness := 25{mm}; FIX BackThickness; BackThickness := 50{mm}; FIX BackConductivity; BackConductivity := 0.045 {kg*m/s^3/K}; FIX SideConductivity; SideConductivity := 0.045 {kg*m/s^3/K}; FIX AbsorptanceNormal; AbsorptanceNormal := 0.96; FIX TransmittanceNormal; TransmittanceNormal := 0.96; (* Enter the angle of incidence in degrees *) FIX IncidenceAngle; IncidenceAngle := 60; FIX AngleModifierCoeff; AngleModifierCoeff := -0.10; END on_load; END FlatPlate;