Name | Description |
---|---|
UsersGuide | User's Guide for Buildings.Fluid.SolarCollectors |
EN12975 | Model of a concentrating solar collector |
ASHRAE93 | Model of a flat plate solar thermal collector |
Controls | Package for solar thermal collector controllers |
Data | Data for solar thermal collectors |
Types | Package with type definitions used in solar collector data records |
Examples | Examples demonstrating the use of models in the SolarCollectors package |
BaseClasses | Package with base classes for Buildings.Fluid.SolarCollectors |
This component models a solar thermal collector according to the EN12975 test standard.
EnergyPlus 7.0.0 Engineering Reference, October 13, 2011.
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Integer | nSeg | 3 | Number of segments used to discretize the collector model |
Angle | lat | Latitude [rad] | |
Angle | azi | Surface azimuth [rad] | |
Angle | til | Surface tilt [rad] | |
Real | rho | Ground reflectance | |
HeatCapacity | C | 385*perPar.mDry | Heat capacity of solar collector without fluid (default: cp_copper*mDry*nPanels) [J/K] |
GenericSolarCollector | per | Performance data | |
Initialization | |||
MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] |
Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa] |
Shading | |||
Boolean | use_shaCoe_in | false | Enables an input connector for shaCoe |
Real | shaCoe | 0 | Shading coefficient. 0.0: no shading, 1.0: full shading |
Area declarations | |||
NumberSelection | nColType | Buildings.Fluid.SolarCollect... | Selection of area specification format |
Integer | nPanels | 0 | Desired number of panels in the simulation |
Area | totalArea | 0 | Total area of panels in the simulation [m2] |
Configuration declarations | |||
SystemConfiguration | sysConfig | Buildings.Fluid.SolarCollect... | Selection of system configuration |
Dynamics | |||
Equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance |
Dynamics | massDynamics | energyDynamics | Formulation of mass balance |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Flow resistance | |||
Boolean | computeFlowResistance | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Assumptions | |||
Boolean | allowFlowReversal | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | homotopyInitialization | true | = true, use homotopy method |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
input RealInput | shaCoe_in | Shading coefficient |
Bus | weaBus | Weather data bus |
model EN12975 "Model of a concentrating solar collector" extends Buildings.Fluid.SolarCollectors.BaseClasses.PartialSolarCollector(final perPar=per); parameter Buildings.Fluid.SolarCollectors.Data.GenericSolarCollector per "Performance data";BaseClasses.EN12975SolarGain solGai( final A_c=TotalArea_internal, final nSeg=nSeg, final y_intercept=per.y_intercept, final B0=per.B0, final B1=per.B1, final shaCoe=shaCoe, final iamDiff=per.IAMDiff, final use_shaCoe_in=use_shaCoe_in, redeclare package Medium = Medium) "Identifies heat gained from the sun using standard EN12975 calculations"; BaseClasses.EN12975HeatLoss heaLos( final A_c=TotalArea_internal, final nSeg=nSeg, final y_intercept=per.y_intercept, final C1=per.C1, final C2=per.C2, redeclare package Medium = Medium, final G_nominal=per.G_nominal, final dT_nominal=per.dT_nominal, final m_flow_nominal=per.mperA_flow_nominal*per.A) "Calculates the heat lost to the surroundings using the EN12975 standard calculations"; equation connect(shaCoe_internal, solGai.shaCoe_in);connect(weaBus.TDryBul, heaLos.TEnv); connect(HDirTil.inc, solGai.incAng); connect(HDifTilIso.H, solGai.HSkyDifTil); connect(HDirTil.H, solGai.HDirTil); connect(shaCoe_in, solGai.shaCoe_in); connect(heaLos.TFlu, temSen.T); connect(heaLos.QLos, QLos.Q_flow); connect(solGai.QSol_flow, heaGai.Q_flow); connect(temSen.T, solGai.TFlu); end EN12975;
This component models a solar thermal collector according to the ASHRAE93 test standard.
EnergyPlus 7.0.0 Engineering Reference, October 13, 2011.
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Integer | nSeg | 3 | Number of segments used to discretize the collector model |
Angle | lat | Latitude [rad] | |
Angle | azi | Surface azimuth [rad] | |
Angle | til | Surface tilt [rad] | |
Real | rho | Ground reflectance | |
HeatCapacity | C | 385*perPar.mDry | Heat capacity of solar collector without fluid (default: cp_copper*mDry*nPanels) [J/K] |
GenericSolarCollector | per | ||
Initialization | |||
MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] |
Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa] |
Shading | |||
Boolean | use_shaCoe_in | false | Enables an input connector for shaCoe |
Real | shaCoe | 0 | Shading coefficient. 0.0: no shading, 1.0: full shading |
Area declarations | |||
NumberSelection | nColType | Buildings.Fluid.SolarCollect... | Selection of area specification format |
Integer | nPanels | 0 | Desired number of panels in the simulation |
Area | totalArea | 0 | Total area of panels in the simulation [m2] |
Configuration declarations | |||
SystemConfiguration | sysConfig | Buildings.Fluid.SolarCollect... | Selection of system configuration |
Dynamics | |||
Equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance |
Dynamics | massDynamics | energyDynamics | Formulation of mass balance |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Flow resistance | |||
Boolean | computeFlowResistance | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Assumptions | |||
Boolean | allowFlowReversal | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | homotopyInitialization | true | = true, use homotopy method |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
input RealInput | shaCoe_in | Shading coefficient |
Bus | weaBus | Weather data bus |
model ASHRAE93 "Model of a flat plate solar thermal collector" extends Buildings.Fluid.SolarCollectors.BaseClasses.PartialSolarCollector(final perPar=per); parameter Buildings.Fluid.SolarCollectors.Data.GenericSolarCollector per;BaseClasses.ASHRAESolarGain solGai( final B0=per.B0, final B1=per.B1, final shaCoe=shaCoe, final til=til, final nSeg=nSeg, final y_intercept=per.y_intercept, final use_shaCoe_in=use_shaCoe_in, final A_c=TotalArea_internal, redeclare package Medium = Medium) "Identifies heat gained from the sun using standard ASHRAE93 calculations"; BaseClasses.ASHRAEHeatLoss heaLos( final nSeg=nSeg, final slope=per.slope, final y_intercept=per.y_intercept, redeclare package Medium = Medium, final G_nominal=per.G_nominal, dT_nominal=per.dT_nominal, final A_c=TotalArea_internal, m_flow_nominal=per.mperA_flow_nominal*per.A) "Calculates the heat lost to the surroundings using the ASHRAE93 standard calculations"; equationconnect(weaBus.TDryBul, heaLos.TEnv); connect(HDirTil.inc, solGai.incAng); connect(HDirTil.H, solGai.HDirTil); connect(HDifTilIso.HGroDifTil, solGai.HGroDifTil); connect(HDifTilIso.HSkyDifTil, solGai.HSkyDifTil); connect(shaCoe_in, solGai.shaCoe_in); connect(solGai.QSol_flow, heaGai.Q_flow); connect(temSen.T, heaLos.TFlu); connect(temSen.T, solGai.TFlu); connect(heaLos.QLos, QLos.Q_flow); end ASHRAE93;