#include <PorousHeat.hpp>
|
| std::string | initialize (double area_m2, const std::vector< double > &fixed_depth_edges, const ThermalMaterial &, const std::vector< double > &moisture, const std::vector< double > &initial_celsius) |
| | Build a validated candidate physical heat column and publish it on success.
|
| |
| std::string | setMoisture (const std::vector< double > &) |
| | Recompute moisture-dependent heat capacity and conductivity without changing energy.
|
| |
| std::vector< ThermalStore > | stores () const |
| | Copy canonical layer capacity and energy into finite-network stores.
|
| |
| void | stores (std::vector< ThermalStore > &result) const |
| |
| std::vector< ThermalContact > | contacts () const |
| | Construct conductive contacts between consecutive fixed layers.
|
| |
| void | contacts (std::vector< ThermalContact > &result) const |
| |
◆ contacts() [1/2]
| std::vector< ThermalContact > openswmm::twoD::PorousHeatColumn::contacts |
( |
| ) |
const |
Construct conductive contacts between consecutive fixed layers.
- Returns
- Owned contacts joining j-1 to j, with W/K conductance equal to area divided by the sum of the two half-layer resistances. Prepared positive conductivity and valid increasing depth edges are required; energy.size() controls the layer count. No validation occurs; may allocate.
◆ contacts() [2/2]
| void openswmm::twoD::PorousHeatColumn::contacts |
( |
std::vector< ThermalContact > & | result | ) |
const |
◆ initialize()
| std::string openswmm::twoD::PorousHeatColumn::initialize |
( |
double | a, |
|
|
const std::vector< double > & | edges, |
|
|
const ThermalMaterial & | m, |
|
|
const std::vector< double > & | water, |
|
|
const std::vector< double > & | temperatures ) |
Build a validated candidate physical heat column and publish it on success.
- Declaration arguments
- area_m2 (in): Footprint in m2, finite and positive.
- fixed_depth_edges (in): Fixed depths in m, beginning at zero and strictly increasing, moisture.size()+1.
- unnamed material (in): Material with finite porosity in [0,1) and positive phase properties.
- moisture (in): Nonempty water fractions per layer, finite in [0,material porosity].
- initial_celsius (in): Finite degrees C per layer, with moisture.size() entries.
- Returns
- Empty on replacement success; diagnostic on validation refusal with this unchanged. Allocation errors propagate before publication.
- Parameters
-
| [in] | a | Footprint in m2, finite and positive. |
| [in] | edges | Fixed depths in m, beginning at zero and strictly increasing, water.size()+1. |
| [in] | m | Material with finite porosity in [0,1) and positive phase properties. |
| [in] | water | Nonempty water fractions per layer, finite in [0,m.porosity]. |
| [in] | temperatures | Finite degrees C per layer, with water.size() entries. |
- Returns
- Empty on replacement success; diagnostic on validation refusal with this unchanged. Allocation errors propagate before publication.
◆ setMoisture()
| std::string openswmm::twoD::PorousHeatColumn::setMoisture |
( |
const std::vector< double > & | water | ) |
|
Recompute moisture-dependent heat capacity and conductivity without changing energy.
- Declaration arguments
- unnamed moisture vector (in): Finite per-layer water fraction in [0,material.porosity], with one fewer entry than depth_edges. Geometry/material must already describe this column.
- Returns
- Empty on success; diagnostic for shape, bounds or invalid derived properties. Validation and temporary allocation precede field replacement; allocation errors propagate.
- Note
- Water receipts must carry their own heat before this call. Energy and initial_energy are untouched; changing capacity therefore changes the implied temperature.
- Parameters
-
| [in] | water | Finite per-layer water fraction in [0,material.porosity], with one fewer entry than depth_edges. Geometry/material must already describe this column. |
- Returns
- Empty on success; diagnostic for shape, bounds or invalid derived properties. Validation and temporary allocation precede field replacement; allocation errors propagate.
- Note
- Water receipts must carry their own heat before this call. Energy and initial_energy are untouched; changing capacity therefore changes the implied temperature.
◆ stores() [1/2]
| std::vector< ThermalStore > openswmm::twoD::PorousHeatColumn::stores |
( |
| ) |
const |
Copy canonical layer capacity and energy into finite-network stores.
- Returns
- Owned vector in layer order, capacity J/K and energy J. The prepared column must have capacity.size() >= energy.size(); no shape or property validation is performed. May allocate.
◆ stores() [2/2]
| void openswmm::twoD::PorousHeatColumn::stores |
( |
std::vector< ThermalStore > & | result | ) |
const |
◆ area
| double openswmm::twoD::PorousHeatColumn::area = 0 |
◆ capacity
| std::vector<double> openswmm::twoD::PorousHeatColumn::capacity |
◆ conductivity
| std::vector<double> openswmm::twoD::PorousHeatColumn::conductivity |
◆ depth_edges
| std::vector<double> openswmm::twoD::PorousHeatColumn::depth_edges |
◆ energy
| std::vector<double> openswmm::twoD::PorousHeatColumn::energy |
◆ initial_energy
| std::vector<double> openswmm::twoD::PorousHeatColumn::initial_energy |
◆ material
◆ theta
| std::vector<double> openswmm::twoD::PorousHeatColumn::theta |
The documentation for this struct was generated from the following files:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/2d/heat/PorousHeat.hpp
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/2d/heat/PorousHeat.cpp