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

Local thermal equilibrium in porous ground layers. More...

#include <string>
#include <vector>
Include dependency graph for PorousHeat.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::twoD::ThermalMaterial
 
struct  openswmm::twoD::ThermalStore
 
struct  openswmm::twoD::ThermalContact
 
struct  openswmm::twoD::ThermalBoundary
 
struct  openswmm::twoD::ThermalSolution
 
struct  openswmm::twoD::ThermalContactScratch
 
struct  openswmm::twoD::ThermalMidpointScratch
 
struct  openswmm::twoD::PorousHeatColumn
 
struct  openswmm::twoD::ThermalAdvection
 

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 

Functions

ThermalSolution & openswmm::twoD::solveThermalContacts (const std::vector< ThermalStore > &stores, const std::vector< ThermalContact > &contacts, const std::vector< ThermalBoundary > &boundaries, double dt, ThermalContactScratch &scratch)
 
ThermalSolution & openswmm::twoD::solveThermalContactsRk2 (const std::vector< ThermalStore > &stores, const std::vector< ThermalContact > &contacts, const std::vector< ThermalBoundary > &boundaries, double dt, ThermalMidpointScratch &scratch)
 
ThermalSolution openswmm::twoD::solveThermalContacts (const std::vector< ThermalStore > &stores, const std::vector< ThermalContact > &contacts, const std::vector< ThermalBoundary > &boundaries, double dt)
 Solve reciprocal heat contacts by backward Euler and diagonal-preconditioned CG.
 
ThermalSolution openswmm::twoD::solveThermalContactsRk2 (const std::vector< ThermalStore > &stores, const std::vector< ThermalContact > &contacts, const std::vector< ThermalBoundary > &boundaries, double dt)
 Solve reciprocal heat contacts by bounded implicit-midpoint subdivisions.
 
ThermalAdvection openswmm::twoD::advectPorousColumn (PorousHeatColumn &column, const std::vector< double > &moisture, const std::vector< double > &external_water, const std::vector< double > &external_j, const std::vector< double > &withdrawal)
 Reconstruct conservative layer water fluxes and apply implicit upwind heat advection.
 
ThermalAdvection openswmm::twoD::advectPorousColumnEuler (PorousHeatColumn &column, const std::vector< double > &moisture, const std::vector< double > &change, const std::vector< double > &external_water, const std::vector< double > &external_j, const std::vector< double > &withdrawal, const std::vector< double > &temperature)
 Apply a conservative explicit heat-advection tangent for one shared RK stage.
 
std::string openswmm::twoD::projectGroundWaterIncrement (const PorousHeatColumn &column, double length, double delta_length, const std::vector< double > &old_water, const std::vector< double > &delta_water, std::vector< double > &output)
 Project a moving hydraulic-layer water tangent onto the fixed thermal grid.
 
std::string openswmm::twoD::projectGroundMoisture (const SubsurfaceState &s, int i, double hg, const std::vector< double > &edges, std::vector< double > &output, std::vector< double > *saturated_water)
 Project accepted hydraulic moisture into a fixed physical thermal depth grid.
 

Detailed Description

Local thermal equilibrium in porous ground layers.

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