fast-nuclear-sim/src/coolant/condenser_secondary.hpp

41 lines
1.3 KiB
C++
Raw Normal View History

#pragma once
#include "fluid_holder.hpp"
2024-02-07 16:04:22 +11:00
#include "evaporator.hpp"
#include "condenser.hpp"
namespace sim::coolant
{
class condenser_secondary : public fluid_holder
{
condenser* const primary;
2024-02-07 16:04:22 +11:00
evaporator* const source;
public:
condenser_secondary(condenser* primary, evaporator* source, double volume);
2024-02-07 16:04:22 +11:00
virtual double add_heat(double m, double t) { return source->add_heat(m, t); }
virtual void add_steam(double amount, double t) { return source->add_steam(amount, t); }
virtual double extract_fluid(double amount) { return source->extract_fluid(amount); }
virtual double add_fluid(double amount, double heat);
2024-02-07 16:04:22 +11:00
virtual double get_volume() const { return source->get_volume(); }
virtual double get_level() const { return source->get_level(); }
virtual double get_heat() const { return source->get_heat(); } // celsius
virtual double get_steam() const { return source->get_steam(); } // grams
virtual double get_steam_volume() const { return source->get_steam_volume(); } // litres
virtual double get_mass() const { return source->get_mass(); } // grams
virtual double get_thermal_mass() const { return source->get_thermal_mass(); } // grams
virtual double get_pressure() const { return source->get_pressure(); } // pascals
virtual double get_steam_density() const { return source->get_steam_density(); } // g/L
void update(double dt);
};
};