12#ifndef OPENSWMM_LAYER_TRANSPORT_HPP
13#define OPENSWMM_LAYER_TRANSPORT_HPP
37 const std::vector<double>& capacity,
const std::vector<double>& rhs,
39 bool signed_species =
false);
41 const std::vector<double>& capacity,
const std::vector<double>& initial,
42 const std::vector<double>& rhs,
const std::vector<LayerTransportMove>& moves,
44 const std::vector<double>* donor_available =
nullptr);
68 const std::vector<double>& rhs,
69 const std::vector<LayerTransportMove>& moves,
70 bool signed_species =
false);
98 const std::vector<double>& capacity,
const std::vector<double>& initial,
99 const std::vector<double>& rhs,
const std::vector<LayerTransportMove>& moves,
100 bool signed_species =
false,
const std::vector<double>* donor_available =
nullptr);
Definition ExchangeLaw.hpp:60
LayerTransportResult advanceLayerTransportEuler(const std::vector< double > &capacity, const std::vector< double > &initial, const std::vector< double > &rhs, const std::vector< LayerTransportMove > &moves, bool signed_species, const std::vector< double > *donor_available)
Forward-Euler stage evaluated from beginning inventories/storage. All outgoing moves from a donor sha...
Definition LayerTransport.cpp:108
LayerTransportResult solveLayerTransport(const std::vector< double > &capacity, const std::vector< double > &rhs, const std::vector< LayerTransportMove > &moves, bool signed_species)
Conservative, positivity-preserving implicit donor transport on a column chain. rhs holds mass after ...
Definition LayerTransport.cpp:17
Definition LayerTransport.hpp:21
int to
Definition LayerTransport.hpp:22
int from
Definition LayerTransport.hpp:22
double capacity
Definition LayerTransport.hpp:23
Definition LayerTransport.hpp:25
std::vector< double > concentration
Definition LayerTransport.hpp:26
std::vector< double > mass
Definition LayerTransport.hpp:26
std::string error
Definition LayerTransport.hpp:27
std::vector< double > transferred
Definition LayerTransport.hpp:26
Definition LayerTransport.hpp:32
std::vector< double > upper
Definition LayerTransport.hpp:34
std::vector< double > remaining
Definition LayerTransport.hpp:34
std::vector< double > dry
Definition LayerTransport.hpp:34
std::vector< double > requested
Definition LayerTransport.hpp:34
std::vector< double > diagonal
Definition LayerTransport.hpp:34
std::vector< double > lower
Definition LayerTransport.hpp:34
LayerTransportResult result
Definition LayerTransport.hpp:33
std::vector< double > b
Definition LayerTransport.hpp:34
std::vector< double > scale
Definition LayerTransport.hpp:34