TransFlow  0.1.0
A transient pipeline flow simulation library
heattransfer.hpp
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 
6 class HeatTransferBase;
8 class Pipeline;
9 
16 {
17 public:
19  virtual ~HeatTransfer();
20 
27  HeatTransfer(const Pipeline& pipeline, const std::string& type);
28 
37  void evaluate(const std::vector<HeatTransferState>& state, const double timeStep, Pipeline& pipeline) const;
38 
40  const HeatTransferBase& at(std::size_t pos) const { return *m_heat->at(pos); }
41 
43  auto size() const { return m_heat->size(); }
44 
45 private:
47  std::unique_ptr<std::vector<std::unique_ptr<HeatTransferBase>>> m_heat;
48 };
HeatTransfer::at
const HeatTransferBase & at(std::size_t pos) const
std::vector-like at(i) getter
Definition: heattransfer.hpp:40
HeatTransfer::size
auto size() const
std::vector-like size() operator
Definition: heattransfer.hpp:43
HeatTransfer::evaluate
void evaluate(const std::vector< HeatTransferState > &state, const double timeStep, Pipeline &pipeline) const
This is a wrapper around HeatTransferBase::evaluate() that calls that function for each grid point....
HeatTransfer::HeatTransfer
HeatTransfer(const Pipeline &pipeline, const std::string &type)
Construct from pipeline and string to determine the type of heat transfer.
HeatTransfer
The EquationOfState class is a wrapper around HeatTransferBase that has one heat transfer instance pe...
Definition: heattransfer.hpp:15
HeatTransfer::~HeatTransfer
virtual ~HeatTransfer()
Declared to avoid the inline compiler-generated default destructor.
Pipeline
Definition: pipeline.hpp:16
HeatTransfer::m_heat
std::unique_ptr< std::vector< std::unique_ptr< HeatTransferBase > > > m_heat
Vector of HeatTransferBase instances, one for each grid point.
Definition: heattransfer.hpp:47
HeatTransferBase
The HeatTransferBase class is an abstract class, the base class for all heat transfer implementations...
Definition: heattransferbase.hpp:12
HeatTransferState
Container for the state of a HeatTransferBase instance. All HeatTransferBase subclasses operate on in...
Definition: heattransferstate.hpp:13