OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::twoD::ThermalMaterial Struct Reference

#include <PorousHeat.hpp>

Collaboration diagram for openswmm::twoD::ThermalMaterial:

Public Member Functions

std::string validate () const
 Check finite porosity and positive phase thermal properties.
 
double volumetricCapacity (double theta) const
 Compute local-equilibrium bulk heat capacity without an air heat-capacity term.
 
double conductivity (double theta) const
 Mix solid, water and air conductivities for a prescribed water fraction.
 

Public Attributes

double porosity = .4
 
double grain_density = 2650
 
double grain_specific_heat = 880
 
double grain_conductivity = 2
 
double water_conductivity = .606
 
double air_conductivity = .025
 
double water_heat_capacity = 4184000
 
bool geometric = false
 

Member Function Documentation

◆ conductivity()

double openswmm::twoD::ThermalMaterial::conductivity ( double theta) const

Mix solid, water and air conductivities for a prescribed water fraction.

Parameters
[in]thetaWater volume per bulk volume, normally within [0,porosity].
Returns
Effective conductivity in W/(m K), using the geometric mean when geometric is true and otherwise the volume-weighted arithmetic mean. Valid positive phase properties are required; no validation, moisture clipping or numerical fallback occurs here.

◆ validate()

std::string openswmm::twoD::ThermalMaterial::validate ( ) const

Check finite porosity and positive phase thermal properties.

Returns
Empty string when porosity is in [0,1) and each phase density, heat capacity and conductivity is finite and positive; otherwise the first diagnostic. No fields are changed.
Here is the caller graph for this function:

◆ volumetricCapacity()

double openswmm::twoD::ThermalMaterial::volumetricCapacity ( double theta) const

Compute local-equilibrium bulk heat capacity without an air heat-capacity term.

Parameters
[in]thetaWater volume per bulk volume, normally finite and within [0,porosity].
Returns
(1-porosity)*grain_density*grain_specific_heat + theta*water_heat_capacity in J/(m3 K). No validation or clipping occurs; validate() and moisture bounds belong to the caller.

Member Data Documentation

◆ air_conductivity

double openswmm::twoD::ThermalMaterial::air_conductivity = .025

◆ geometric

bool openswmm::twoD::ThermalMaterial::geometric = false

◆ grain_conductivity

double openswmm::twoD::ThermalMaterial::grain_conductivity = 2

◆ grain_density

double openswmm::twoD::ThermalMaterial::grain_density = 2650

◆ grain_specific_heat

double openswmm::twoD::ThermalMaterial::grain_specific_heat = 880

◆ porosity

double openswmm::twoD::ThermalMaterial::porosity = .4

◆ water_conductivity

double openswmm::twoD::ThermalMaterial::water_conductivity = .606

◆ water_heat_capacity

double openswmm::twoD::ThermalMaterial::water_heat_capacity = 4184000

The documentation for this struct was generated from the following files: