Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- TES Low Phase Specific Heat kJ kg K Conditional
-
Unit kJ/kg/K Default 2.11 Range At least 0
About this input
Positive effective specific heat from the lower endpoint to the phase-change temperature in combined mode.
- TES Latent Heat kJ kg Conditional
-
Unit kJ/kg Default 173 Range At least 0
About this input
Positive latent heat for one complete phase transition in latent or combined mode.
- TES Initial Temperature C Conditional
-
Unit deg C Default 17 Range At least -273.15
About this input
First endpoint temperature for sensible or combined storage; heating and cooling spans are both supported.
- TES Phase Change Temperature C Conditional
-
Unit deg C Default 46 Range At least -273.15
About this input
Representative phase-change temperature in combined mode; it must lie strictly between the two endpoint temperatures.
- TES Target Delivered Energy kWh Conditional
-
Unit kWh thermal Default 142 Range At least 0
About this input
Useful load-side energy target in sizing mode, after the entered discharge efficiency.
- TES Storage Mechanism
-
Default Combined sensible + latent Allowed Sensible heat, Latent heat, Combined sensible + latent
About this input
Use temperature change only, complete phase change only, or sensible segments on both sides of a complete phase change.
- TES Specific Heat kJ kg K Conditional
-
Unit kJ/kg/K Default 3.87 Range At least 0
About this input
Positive effective specific heat over the entered span in sensible-only mode.
- TES High Phase Specific Heat kJ kg K Conditional
-
Unit kJ/kg/K Default 2.43 Range At least 0
About this input
Positive effective specific heat from the phase-change temperature to the higher endpoint in combined mode.
- TES Charge Power kW
-
Unit kW thermal Default 117 Range At least 0
About this input
Constant source-side thermal power available before charge losses.
- TES Charge Efficiency
-
Unit fraction Default 0.91 Range 0 to 1
About this input
Fraction of source-side charge energy stored internally, from 0 to 1; the active calculation requires a positive value.
- TES Calculation Mode
-
Default Evaluate entered storage mass Allowed Evaluate entered storage mass, Size mass for delivered-energy target
About this input
Evaluate capacity from an entered mass or solve the required mass for an entered useful delivered-energy target.
- TES Discharge Efficiency
-
Unit fraction Default 0.86 Range 0 to 1
About this input
Fraction of internally stored energy delivered usefully to the load, from 0 to 1; the active calculation requires a positive value.
- TES Final Temperature C Conditional
-
Unit deg C Default 83 Range At least -273.15
About this input
Second endpoint temperature for sensible or combined storage; it must differ from the initial temperature.
- TES Entered Mass kg Conditional
-
Unit kg Default 1375 Range At least 0
About this input
Active storage-medium mass in evaluate mode. Zero is a definitional floor but cannot store energy.
- TES Discharge Power kW
-
Unit kW thermal Default 83 Range At least 0
About this input
Constant useful load-side thermal power after discharge losses.
Outputs
- TES Stored Energy Density Conditional
-
Unit kWh/kg
About this output
Ideal internal stored capacity divided by active storage-medium mass.
- Entered storage-medium mass Conditional
-
Unit kg
About this output
Entered mass in evaluation mode or required mass solved from the useful delivered-energy target in sizing mode.
- TES Sensible Stored Energy Conditional
-
Unit kWh thermal
About this output
Stored energy from the active temperature-change segment or segments.
- TES Usable Delivered Energy Conditional
-
Unit kWh thermal
About this output
Internal stored energy multiplied by discharge efficiency; equals the target in sizing mode.
- TES Total Stored Energy Conditional
-
Unit kWh thermal
About this output
Ideal internal sensible plus latent capacity before discharge losses.
- TES Temperature Direction Conditional
-
No unit declared
About this output
HEATING or COOLING according to the two endpoint temperatures; latent-only mode has no active endpoint temperatures.
- TES Discharge Duration Conditional
-
Unit hours
About this output
Useful delivered energy divided by the entered load-side discharge power.
- TES Charge Duration Conditional
-
Unit hours
About this output
Internal stored energy divided by source-side charge power times charge efficiency.
- Model Status
-
No unit declared
About this output
NOT VALID identifies unusable active properties, an invalid phase-temperature relation, zero power or efficiency, or a non-finite derived size; OK means the ideal energy balance is usable.
- TES Round Trip Efficiency Conditional
-
Unit fraction
About this output
Product of charge and discharge efficiencies; structurally bounded from zero to one.
- TES Required Charge Input Energy Conditional
-
Unit kWh thermal
About this output
Source-side energy required to establish the internal stored capacity at the entered charge efficiency.
- TES Latent Stored Energy Conditional
-
Unit kWh thermal
About this output
Stored energy from one complete phase transition.
What it is
The Thermal Energy Storage Capacity Calculator sizes an ideal thermal store, or evaluates the capacity of one you already have. It handles storage by temperature change alone, by phase change alone, or by both together, and it reports the sensible and latent components separately as well as the total.
Around that capacity it works out the source-side energy needed to charge the store at the charge efficiency you enter, the useful energy delivered to the load after discharge losses, the round-trip efficiency, the stored energy per kilogram of medium, and how long a charge and a discharge take at the constant powers you give it.
It runs in two directions. In evaluate mode you enter a mass and it returns the capacity. In sizing mode you enter the useful delivered energy you need and it solves for the mass of medium required.
It works in SI units: kilograms, degrees Celsius, kilojoules per kilogram per kelvin, kilojoules per kilogram, and kilowatts and kilowatt hours thermal.
The capacity it reports is ideal. There are no standby losses, no stratification and no containment, so treat the result as an upper bound for preliminary sizing rather than as the capacity a built store will deliver.
Methodology
Purpose and model boundary
This model evaluates an entered thermal-storage mass or sizes the mass required to deliver an entered energy target. It supports ideal sensible, latent, and combined sensible-plus-latent mechanisms, then applies charge/discharge efficiencies and constant powers to report ideal cycle energies and durations. It is not equipment, vessel, fire, materials-compatibility, or economic design.
Inputs and units
Inputs use kilograms, degrees Celsius, kilojoules per kilogram-kelvin, kilojoules per kilogram, kilowatts, kilowatt-hours, and fractional efficiencies. The calculation mode selects entered-mass evaluation or target-delivered-energy sizing. The storage-mechanism selector controls which specific-heat and latent-heat properties are active. Combined mode also uses a phase-change temperature between the initial and final temperatures.
Governing relationships
For sensible storage with effective specific heat c_p:
E_sensible = m c_p |T_f - T_i| / 3600
where division by 3600 converts kilojoules to kilowatt-hours. For latent storage:
E_latent = m L / 3600
For combined storage, the workbook adds the low-phase sensible segment, a complete latent transition, and the high-phase sensible segment:
E_total = m [c_p,low |T_pc - T_i| + L + c_p,high |T_f - T_pc|] / 3600
The exact segment directions follow the entered heating or cooling path. In evaluation mode m is the entered mass. In sizing mode the workbook solves:
m_required = E_target / (η_discharge × energy-per-unit-mass)
The energy boundaries are:
E_delivered = η_discharge × E_total
E_charge,input = E_total / η_charge
round-trip efficiency = η_charge × η_discharge
charge duration = E_charge,input / P_charge
discharge duration = E_delivered / P_discharge
Calculation sequence
- Validate mode/mechanism selections, active properties, temperatures, mass or target, powers, and efficiencies.
- Determine heating/cooling direction and the active sensible/latent segments.
- Calculate stored energy per unit mass.
- Use entered mass or solve required mass from the delivered-energy target.
- Calculate sensible, latent, total stored, delivered, and source-input energies plus both ideal durations.
- Evaluate workbook status and plot the sensible/latent contribution bars.
Outputs and interpretation
Headline outputs are total stored thermal energy and usable delivered energy. Supporting results expose mass used, energy density, sensible and latent components, temperature direction, charge input, round-trip efficiency, and ideal charge/discharge durations. The contribution chart is a decomposition of the workbook result, not a time-dependent state-of-charge curve.
Validation and status logic
| Condition | Returned status |
|---|---|
| Any active storage property, energy target or mass, power, or efficiency input is invalid | NOT VALID: correct active storage properties, energy target or mass, powers, and efficiencies |
| All active inputs satisfy the workbook model | OK |
This is the complete workbook TES_Model_Status logic. Invalid states return protected zero numeric outputs, which are placeholders rather than valid zero-capacity results.
Assumptions and limitations
- Specific heats and latent heat are constant user-entered effective properties.
- Combined mode represents a complete phase transition with the phase-change temperature strictly between the two endpoint temperatures.
- Charge power is source-side thermal power before charge losses; discharge power is useful load-side power after discharge losses.
- Power and efficiency remain constant through each idealized full cycle.
- Partial melt fraction, hysteresis, supercooling, stratification, standby loss, parasitic power, degradation, cycling limits, and rate-dependent capacity are not modeled.
- The workbook contains no material or vendor database and does not establish heat-exchanger approach temperatures or usable operating limits.
Restrictions and non-computing states
Active specific heat, latent heat, mass or target energy, and charge/discharge power must satisfy their allowed ranges; efficiencies must be positive and no greater than one. Combined mode requires a complete endpoint crossing of the phase-change temperature. Inputs that violate a bound or supply an undeclared mode are rejected before calculation.
Errors and warnings
NOT VALID means the selected storage path cannot be evaluated or sized. The workbook has no separate caution state: OK confirms only that the ideal energy arithmetic completed. A calculation-service or connection failure is not zero capacity and must be handled as an operational error.
References
The energy boundaries, mechanism visibility, sizing equation, duration relationships, named output formulas, and status logic were verified against the delivered workbook, its published input rules, tests, and reviewer packet. The workbook identifies these technical sources:
- NBSIR 79-1737: Testing of Pebble-Bed and Phase-Change Thermal Energy Storage Devices — Sensible-plus-latent capacity and ideal fill-time energy balance.
- NREL Methodology for Phase-Change Thermal Energy Storage — Sensible and latent capacity integrals and the phase-change enthalpy contribution.
- NIST Special Publication 811 — SI temperature conventions and the exact kilowatt-hour conversion.
Frequently asked questions
Why did my capacity barely change when I switched to combined mode?
Is the round-trip efficiency it reports a real efficiency?
Why did all my outputs come back as zero?
Can I model a phase change that happens over a temperature range?
Why is the charge duration shorter than I get in practice?
Does the energy density include the tank?
What does sizing mode do with the mass I entered?
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.