ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_IBSEBSlab.H File Reference

One-dimensional heat conduction through a wall or roof slab. More...

#include <AMReX_REAL.H>
#include <AMReX_GpuQualifiers.H>
Include dependency graph for ERF_IBSEBSlab.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 ibseb
 

Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real ibseb::advance_slab_dirichlet (amrex::Real *T, amrex::Real T_skin, amrex::Real T_int, amrex::Real k, amrex::Real rho_cp, amrex::Real dz, amrex::Real dt, int N)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ibseb::slab_skin_response (const amrex::Real *T, amrex::Real T_int, amrex::Real k, amrex::Real rho_cp, amrex::Real dz, amrex::Real dt, int N, amrex::Real &a, amrex::Real &b)
 

Variables

constexpr int ibseb::SLAB_MAX_LAYERS = 32
 

Detailed Description

One-dimensional heat conduction through a wall or roof slab.

Adapted from the ERF-SLUCM branch's ERF_UCMSlabConduction.H (implicit Euler, Thomas algorithm, all-plus tridiagonal convention). The one change is the top boundary: the SLUCM solver takes a flux at the top, this one takes the skin temperature, which is what the face balance holds, and returns the conduction into the slab that results. The bottom boundary is the interior temperature of the building.

Layers are uniform, dz = L / N, with layer centres at (l + 1/2) dz below the skin; the skin sits half a layer above the first centre and the interior half a layer below the last, so both boundary fluxes use the half-layer spacing 2 k / dz.