|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
One-dimensional heat conduction through a wall or roof slab. More...
#include <AMReX_REAL.H>#include <AMReX_GpuQualifiers.H>

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 |
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.