TransFlow  0.1.0
A transient pipeline flow simulation library
heattransferstate.hpp
1 #pragma once
2 
3 #include <optional>
4 #include <armadillo>
5 
14 {
19  explicit HeatTransferState(const double heatFlux = 0);
20 
26  explicit HeatTransferState(const double heatFlux, const arma::vec& temperature);
27 
35  const arma::vec& temperature() const { return m_temperature.value(); }
36 
43  bool hasTemperature() { return m_temperature.has_value(); }
44 
46  double heatFlux() const { return m_heatFlux; }
47 
49  void setTemperature(const arma::vec& temperature);
50 
51 private:
52  double m_heatFlux;
53  std::optional<arma::vec> m_temperature;
54 };
HeatTransferState::setTemperature
void setTemperature(const arma::vec &temperature)
Set the temperature. Needs a setter since temperature is std::optional.
HeatTransferState::temperature
const arma::vec & temperature() const
Temperature getter. This will throw an error if State::m_temperature is not set, since this is option...
Definition: heattransferstate.hpp:35
HeatTransferState::HeatTransferState
HeatTransferState(const double heatFlux=0)
Construct from only heat flux (skip optional temperature vector).
HeatTransferState::m_temperature
std::optional< arma::vec > m_temperature
Pipe wall temperature (optional) [K].
Definition: heattransferstate.hpp:53
HeatTransferState::m_heatFlux
double m_heatFlux
Heat flux [W/m2].
Definition: heattransferstate.hpp:52
HeatTransferState
Container for the state of a HeatTransferBase instance. All HeatTransferBase subclasses operate on in...
Definition: heattransferstate.hpp:13
HeatTransferState::hasTemperature
bool hasTemperature()
State::m_temperature is optional, so this getter returns true if State::m_temperature has been set pr...
Definition: heattransferstate.hpp:43
HeatTransferState::heatFlux
double heatFlux() const
Heat flux getter [W/m2].
Definition: heattransferstate.hpp:46