Source code for pyH2A.Plugins.Solar_Thermal_Plugin

from pyH2A.Utilities.Energy_Conversion import Energy, kWh, eV
from pyH2A.Utilities.input_modification import insert, process_table

[docs]class Solar_Thermal_Plugin: '''Simulation of hydrogen production using solar thermal water splitting. Parameters ---------- Technical Operating Parameters and Specifications > Design Output per Day > Value : float Design output of hydrogen production plant per day in kg. Solar-to-Hydrogen Efficiency > STH (%) > Value : float Solar-to-Hydrogen Efficiency of thermal water splitting process. Percentage of value between 0 and 1. Solar Input > Mean solar input (kWh/m2/day) > Value : float Mean solar input in kWh/m2/day. Non-Depreciable Capital Costs > Additional Land Area (%) > Value : float Additional land area required. Percentage or value > 0. Calculated as: (1 + Addtional Land Area) * solar collection area. Returns ------- Non-Depreciable Capital Costs > Land required (acres) > Value : float Total land requirement in acres. ''' def __init__(therm, dcf, print_info): process_table(dcf.inp, 'Technical Operating Parameters and Specifications', 'Value') process_table(dcf.inp, 'Solar-to-Hydrogen Efficiency', 'Value') process_table(dcf.inp, 'Solar Input', 'Value') process_table(dcf.inp, 'Non-Depreciable Capital Costs', 'Value') therm.calculate_land_area(dcf) insert(dcf, 'Non-Depreciable Capital Costs', 'Land required (acres)', 'Value', therm.area_acres, __name__, print_info = print_info)
[docs] def calculate_land_area(therm, dcf): '''Calculation of required land area based on solar input, solar-to-hydrogen efficiency and addtional land are requirements. ''' insolation_per_m2_per_day = Energy(dcf.inp['Solar Input']['Mean solar input (kWh/m2/day)']['Value'], kWh) mol_H2_per_m2_per_day = (insolation_per_m2_per_day.J * dcf.inp['Solar-to-Hydrogen Efficiency']['STH (%)']['Value']) / Energy(2*1.229, eV).Jmol kg_H2_per_m2_per_day = (2 * mol_H2_per_m2_per_day)/1000. required_area_m2 = dcf.inp['Technical Operating Parameters and Specifications']['Design Output per Day']['Value'] / kg_H2_per_m2_per_day therm.area_m2 = required_area_m2 * (1. + dcf.inp['Non-Depreciable Capital Costs']['Additional Land Area (%)']['Value']) therm.area_acres = therm.area_m2 * 0.000247105