OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
SurfaceExchange.cpp File Reference

Phase H2 body — latent/sensible surface exchange. More...

#include "SurfaceExchange.hpp"
#include <algorithm>
#include <cmath>
#include "../../../core/SimulationContext.hpp"
Include dependency graph for SurfaceExchange.cpp:

Namespaces

namespace  openswmm
 
namespace  openswmm::transport
 
namespace  openswmm::transport::heat
 

Functions

double openswmm::transport::heat::airTempCelsius (const SimulationContext &ctx) noexcept
 
double openswmm::transport::heat::relaxT (double j0, double j1, double h, double area_m2, double vol_m3, double dt, double rho, double cp) noexcept
 One element's temperature change, integrated SEMI-IMPLICITLY [°C].
 
double openswmm::transport::heat::equilibriumT (double t0_c, double j0, double j1, double h) noexcept
 
double openswmm::transport::heat::saturationVapourPressure (double t_c) noexcept
 Saturation vapour pressure over water at t_c degrees Celsius [kPa].
 
double openswmm::transport::heat::latentHeatOfVaporization (double t_c) noexcept
 
double openswmm::transport::heat::windFunction (double wind_ms, double a, double b) noexcept
 Mass-transfer wind function a + b·w, w in m/s [m/s/kPa].
 
double openswmm::transport::heat::evaporationRate (double t_water_c, double t_air_c, double humidity_pct, double wind_ms, double a, double b) noexcept
 Evaporative mass-transfer rate [m/s]. Negative under condensation.
 
double openswmm::transport::heat::latentFlux (double t_water_c, double t_air_c, double humidity_pct, double wind_ms, double a, double b, double water_density) noexcept
 Latent heat flux [W/m²], POSITIVE out of the water.
 
double openswmm::transport::heat::bowenRatio (double t_water_c, double t_air_c, double humidity_pct, double pressure_ratio) noexcept
 
double openswmm::transport::heat::sensibleFlux (double latent_flux, double bowen_ratio) noexcept
 Sensible heat flux [W/m²], POSITIVE out of the water.
 
double openswmm::transport::heat::surfaceFluxOut (const SimulationContext &ctx, const HeatElement &elem, double t_w) noexcept
 This module's contribution to the net outward flux at t_w [W/m²].
 

Detailed Description

Phase H2 body — latent/sensible surface exchange.

D-H5e moved the node and link BINDING out of this file into HeatFluxes.cpp. What remains is the formulation plus one evaluator, surfaceFluxOut, which is this module's contribution to a single net flux. Owning a binding of its own is what let this module and RadiativeExchange each relax separately toward their own equilibrium.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0