Sand Battery Under a Slab: Storage, Losses and Floor Temperature

Model a year of heat conduction through an under-slab sand battery. Compare stored PV heat, ground and edge losses, January floor temperature, insulation and sand depth.

#axisymmetric conduction #finite volume #Kusuda–Achenbach #numerical convergence #sand battery #seasonal thermal storage #underfloor-heating

A sand battery below a concrete slab can absorb surplus electricity, but its heat capacity alone does not tell you how much summer energy will still be useful in January. This thermal storage under slab calculator follows heat through the sand, insulation, concrete and surrounding ground for the first year after charging begins. It is for engineers, students and homeowners comparing the scale of a seasonal heat storage idea.

Start with the slab area and sand bed depth, then enter the top insulation and the insulation around the base and edges. The footprint is represented by an equivalent circular slab of the same area. “Sand bed depth” means the thickness of sand directly below the top insulation, rather than additional burial beneath an independent soil cover. Adjust the material properties for the actual packing and moisture conditions. The defaults illustrate a low-temperature store in a cold climate; they are not measured Wisconsin site data.

Charging starts on 1 June. Enter the average daily PV surplus and the number of charging days. Resistive heat is distributed through a heater band between 60% and 80% of the sand depth. The daily average does not resolve individual sunny hours or element temperatures. The capacity temperature swing is used only for the sensible heat capacity result: it does not impose a thermostat or guarantee that temperature will be reached.

The annual charts show how the charge spreads and drains away. Use the play control to watch the temperature field through summer and winter. The insulation and sand-depth options compare three construction sizes with the same charge schedule. Put a promising option back into the main inputs and refine the mesh before relying on a close comparison.

Read the two room-heating results together. A neutral heat-direction verdict means the calculated watts are inside the reported numerical dead band. Net floor heat is positive when the floor heats the room and negative when the room heats the slab. The gain from PV charging is the difference from an otherwise identical unheated store. PV can reduce the room’s ground loss even while the floor remains cooler than the room. October–March heat gain excludes summer release; annual heat gain includes it. Heat crossing the insulation is counted as a net ground or edge transfer even if it remains temporarily in nearby soil.

This sand battery DIY calculation does not design a foundation, an electrical installation, waterproofing or a heating controller. It excludes groundwater flow, moisture migration, freezing and thawing, temperature-dependent properties and individual heater hot spots. The room temperature is imposed, so this is not a whole-building comfort or heating-demand simulation. Installation work belongs to a qualified person. Industrial sand batteries operate with different temperatures, containment and heat extraction; their published capacities are context, not a validation of an under-slab installation.

How it is calculated

The axisymmetric conduction equation is solved in the sand, concrete, insulation and surrounding soil:

cv∂T∂t=1r∂∂r(rk∂T∂r)+∂∂z(k∂T∂z)+qv.c_v\frac{\partial T}{\partial t}=\frac{1}{r}\frac{\partial}{\partial r}\left(rk\frac{\partial T}{\partial r}\right)+\frac{\partial}{\partial z}\left(k\frac{\partial T}{\partial z}\right)+q_v.

Cell-centred finite volumes use annular volumes and shared-face conductances formed from the two half-cell resistances. Every interface aligns with a grid face. Backward Euler advances the coupled system through a 365-day year. The default main grid has 306 cells: 17 radial by 18 vertical, including two concrete layers and one layer across each thin insulation region.

The exterior soil surface follows a single annual harmonic. Initial soil and far radial/bottom boundaries use the Kusuda–Achenbach damped, phase-lagged solution

Tg(z,d)=Tm−Aexp⁡(−z/δ)cos⁡[2π(d−dmin)/365−z/δ],δ=α P/π.T_g(z,d)=T_m-A\exp(-z/\delta)\cos[2\pi(d-d_{min})/365-z/\delta],\quad\delta=\sqrt{\alpha\,P/\pi}.

This follows Kusuda and Achenbach (1965), NBS Report 8972, PDF pp. 28–29, equations (2)–(5). The phase lag with depth is retained. The upper concrete boundary connects to the fixed room through the finish resistance and combined radiation/convection coefficient; the reported floor temperature is the room-facing finish surface.

Linearity allows an unheated baseline and the heater-induced temperature rise to be advanced separately with the same operator. Their sum gives actual temperatures. PV-attributable stored heat and boundary flows use the rise alone. Net base and edge fluxes are evaluated at the outer insulation faces, with the exposed insulation annulus counted as an edge loss. Implicit endpoint fluxes make heat input equal room transfer plus base transfer plus edge transfer plus the change in assembly energy. Soil outside the insulation is outside this accounting boundary.

January means span 1 January to 1 February; stored heat is read on 15 January. October–March spans 1 October to 1 April. The main time step is adjusted slightly, if necessary, to divide the year exactly. The two three-option sweeps repeat the same two-dimensional model on a coarser grid. Independent Q1 Galerkin finite-element / Crank–Nicolson solutions in SciPy verify two annual cases and a near-zero heat-flow regression; an NBS tabulated ground temperature checks the seasonal boundary.

Assumptions

  • Equivalent circular footprint with axisymmetry; no wall, footing or service penetration bridges.
  • Constant properties in each material and perfect thermal contact. Insulation volumetric heat capacity is an illustrative 0.06 MJ/(m³ K).
  • Fixed room temperature and a prescribed effective surface coefficient; no air-property correlation is used.
  • Sand and insulation initially share the entered initial temperature; concrete starts at room temperature. Surrounding soil starts at the June seasonal profile.
  • Constant daily-average surplus during the selected summer window; the heater is distributed uniformly across the footprint in the 60–80% depth band. No active winter extraction or charge-temperature control.
  • The heat-capacity result is mcpΔTm c_p\Delta T, independent of losses and of whether the charge actually reaches that swing.

Where it applies

Use for low-temperature conduction studies, with sand normally below 80 °C. Verify insulation, floor finishes, concrete, drainage and electrical controls for the proposed temperatures and loads. Element sheath temperatures and local hot spots are unresolved. Floor results are area means; the reported peak floor value is the maximum of that mean over the year.

Moisture, freezing/thawing and groundwater can change both storage and ground losses substantially. Fit the seasonal inputs to ground surface, including snow and shading effects, rather than directly to air temperature. The defaults are illustrative, not Wisconsin climate measurements. A circle has less perimeter than many real slabs, so elongated or irregular footprints need a three-dimensional or plan-specific model.

This is the first June-to-May cycle, not a repeatedly charged steady annual state. The room is a prescribed reservoir: positive incremental PV heat can mean avoided room-to-ground loss, not a floor warmer than the room. Annual room transfer includes unwanted summer release and must not be treated as annual useful heating or a commercial battery efficiency.

To keep the default evaluation near 3 s, the main solve uses 306 cells and daily steps; construction sweeps use 132 cells and the selected time step. Coarser sweep energies can differ by several percent: transfer an option to the main inputs and refine it. The daily default overpredicts January residual PV heat by about 5% against the independent fine FEM cases; floor means differ by less than 0.03 °C in those cases. Mesh and time-step checks quantify retained-energy convergence. Separate January heat-flow checks enforce absolute changes below 5 W on mesh refinement and 1 W on time-step refinement in the near-zero regression. The verification vector includes a fixed 1 MW normalization so the engine's relative convergence test imposes those exact watt limits; this is not a physical heat source. Short charge fluctuations and subdaily slab dynamics need a smaller time step; two concrete cells and one cell through each insulation region do not resolve rapid within-layer transients. Refine the outer soil extent as well as the grid when long-range diffusion matters.

The temperature picture uses 65 × 49 samples, PCHIP interpolation in radius and depth, and linear interpolation between approximately ten-day saved fields. This smooths the picture without adding solution accuracy. The view shows the near-ground region, while the solver extends to the entered far boundary. Installation design, structural checks and electrical protection are outside scope.

The heat-direction verdict is neutral when the magnitude of January net heat is inside the reported dead band. At the default or finer resolution, the band is ±0.35 W/m² times the slab area (±35 W for 100 m²). It is multiplied by max⁡[1,(7/n)2]\max[1,(7/n)^2] for a coarser sand/soil mesh and by max⁡[1,Δt/(24 h)]\max[1,\Delta t/(24\,h)] for a longer time step. This screening allowance covers the demonstrated 22.66 W discrepancy in the 100 m² near-zero regression against an 11,058-node independent FEM. It is not a rigorous error bound for every input combination and excludes material and boundary-condition uncertainty. Small refinement changes alone do not eliminate the bias from fixed thin-layer counts and the slab-edge corner. The signed watt result remains available when direction is unresolved; schematic arrows are suppressed inside the same band.

The supported main mesh is limited to 4–9 cells through the sand depth (at most 462 total cells), with 6–48 h time steps. Unsupported requests are rejected before allocating or marching the dense system. The largest supported mesh at a 6 h step completed in 12.3 s in the build verification, below the 30 s engine timeout; defaults remain near 3 s. Higher-resolution continuum work requires an external FEM or a different sparse solver. This ceiling limits how closely the thin layers and edge can be resolved; it does not change the conduction equation.

References

  • Kusuda, T. and Achenbach, P. R. (1965). Earth temperature and thermal diffusivity at selected stations in the United States. ASHRAE Transactions 71(1), 61–74; NBS Report 8972. https://doi.org/10.6028/NBS.RPT.8972
  • ASHRAE Handbook—Fundamentals, 2025 SI edition, Chapter 26: Heat, Air, and Moisture Control in Building Assemblies—Material Properties. General property and moisture guidance; no standard tables reproduced. https://handbook.ashrae.org/Handbooks/F25/SI/F25_Ch26/F25_Ch26_si.aspx
  • Polar Night Energy, Sand Battery technology and public descriptions (accessed 6 November 2026). Industrial context only. https://polarnightenergy.fi/sand-battery/
  • Australian Government, YourHome: Thermal mass. Concrete volumetric heat capacity background. https://www.yourhome.gov.au/passive-design/thermal-mass
  • FDOT / University of South Florida (2016), Optimizing the use of the thermal integrity system for evaluating auger-cast piles. Background dry sandy-soil properties (1600 kg/m³, 800 J/(kg K), 0.3 W/(m K), attributed there to Arya 2001). https://rosap.ntl.bts.gov/view/dot/30983
  • Independent numerical reference: SciPy 1.15.3 / SuperLU Q1 axisymmetric Galerkin FEM, consistent mass, 5005 nodes, 3 h Crank–Nicolson; attached benchmark settings and results, source s5.
  • Independent FEM review regression, SciPy 1.15.3 / SuperLU, 11058 Q1 nodes, 3 h Crank–Nicolson; settings and refinement results attached as source s7.

Inputs

InputSymbolUnitDefault
Slab areaA_floorm^2100
Sand bed depthH_sandm1.5
Concrete thicknesst_slabm0.15
Insulation below concretet_topm0.05
Base and edge insulationt_shellm0.2
Insulation conductivityk_insW/(m*K)0.04
Floor finish resistanceR_finishm^2*K/W0.05
Combined surface coefficient
Combined convection and radiation to the room.
h_roomW/(m^2*K)8
Room temperatureT_room°C20
Daily surplus electricityE_daykWh20
Charging duration from 1 June
Applies the daily average surplus from 1 June.
days_chargeday120
Electricity to sand efficiencyeta_heat0.98
Initial sand temperature
Sand and insulation start here; soil starts at the seasonal profile.
T_initial°C12
Capacity temperature swingdT_capacityK40
Sand bulk densityrho_sandkg/m^31600
Sand specific heatcp_sandJ/(kg*K)800
Sand conductivityk_sandW/(m*K)0.3
Concrete volumetric heat capacitycv_slabMJ/(m^3*K)2.06
Concrete conductivityk_slabW/(m*K)1.6
Soil volumetric heat capacitycv_soilMJ/(m^3*K)2
Soil conductivityk_soilW/(m*K)1.5
Mean ground surface temperatureT_mean°C9
Annual surface amplitudeT_ampK15
Coldest surface day of year
1 means 1 January; use a measured soil surface seasonal fit.
day_minday25
Outer soil extent
Soil extends this far beyond and below the insulated store.
marginm12
Time stepdt_hoursh24
Cells across sand depth
Refines sand and soil together; at most 462 cells.
mesh_n7
Day from 1 Juneday_viewday228

Results

With the default inputs above, the calc gives:

ResultValue
Sensible capacity for selected swing2,133.3 kWh
Heat added to sand2,352 kWh
January mean floor surface19.8 °C
January net floor heat to room-129 W
Heat-direction dead band (±)35 W
January heat gain from PV charge46 W
PV heat in sand on 15 January78.3 kWh
October–March heat gain from PV488.2 kWh
Annual room heat gain from PV1,254.4 kWh
Annual net PV heat through edges310.5 kWh
Annual net PV heat through base774.6 kWh
Peak sand cell temperature37.3 °C
Peak mean floor surface20.4 °C
January floor heat directionRoom heats the floor
PV heat remaining in assembly12.5 kWh

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

Annual store: independent finite elements

Source: Independent SciPy 1.15.3 Q1 axisymmetric FEM, 5005 nodes, consistent mass, 3 h Crank–Nicolson; source s5 Case 1. The daily finite-volume result is expected within 6% in residual heat and 0.04 °C in mean floor temperature. This verifies the numerical method, not a measured installation. Net January room heat is also compared with an absolute tolerance of 25 W; a sign is not resolved inside the reported numerical dead band.

Inputs: Outer soil extent = 8 m; the others as above.

ResultSourceThis calc
January mean floor surface19.816 ± 0.04 °C19.839 °C
PV heat in sand on 15 January74.344 ± 4.5 kWh78.014 kWh
January heat gain from PV charge43.569 ± 2.7 W45.499 W
January net floor heat to room-147.1 ± 25 W-129.2 W

Deeper insulated store: independent finite elements

Source: Independent SciPy 1.15.3 Q1 axisymmetric FEM, 5005 nodes, 3 h Crank–Nicolson; source s5 Case 2. Daily backward-Euler and finite spatial cells account for the stated comparison tolerance. Net January room heat is also compared with an absolute tolerance of 25 W; a sign is not resolved inside the reported numerical dead band.

Inputs: Sand bed depth = 2.5 m; Base and edge insulation = 0.4 m; Outer soil extent = 8 m; the others as above.

ResultSourceThis calc
January mean floor surface19.978 ± 0.04 °C19.996 °C
PV heat in sand on 15 January463.7 ± 18.6 kWh475.3 kWh
January heat gain from PV charge123.7 ± 6.2 W125.2 W
January net floor heat to room-17.635 ± 25 W-2.803 W

Kusuda–Achenbach published depth temperature

Source: Kusuda and Achenbach, NBS Report 8972 (1965), PDF p. 152, STA-22, Lexington: at 24 in and diffusivity 0.025 ft²/h, August calculated temperature 75.3 °F. A=58 °F, B0=22 °F, P0=0.75 rad. The table's August time coordinate is 8/12 of the annual period. Its 8766 h year is mapped to the 365-day calendar; the resulting <0.02 °C difference is below table rounding. This checks undisturbed ground, not the heated bed.

Inputs: Sand bed depth = 0.8192 m; Mean ground surface temperature = 14.444 °C; Annual surface amplitude = 12.222 K; Soil conductivity = 1.29 W/(m·K); Coldest surface day of year = 44.599 day; Day from 1 June = 92.5 day; the others as above.

ResultSourceThis calc
Undisturbed ground at sand mid-depth24.056 ± 0.03 °C24.046 °C

Near-zero floor heat: refined independent FEM

Source: Independent SciPy 1.15.3 Q1 FEM, 11058 nodes, consistent mass, 3 h Crank–Nicolson; source s7. The finite-volume +3.46 W differs from FEM by 22.66 W, so the 35 W direction dead band must give a neutral verdict. The signed power comparison has an absolute tolerance of 25 W.

Inputs: Sand bed depth = 2.5 m; Base and edge insulation = 0.4 m; Outer soil extent = 8 m; Daily surplus electricity = 21 kWh; the others as above.

ResultSourceThis calc
January net floor heat to room-19.199 ± 25 W3.457 W
Heat direction is numerically unresolved11

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...