Line data Source code
1 : //* This file is part of the MOOSE framework 2 : //* https://mooseframework.inl.gov 3 : //* 4 : //* All rights reserved, see COPYRIGHT for full restrictions 5 : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT 6 : //* 7 : //* Licensed under LGPL 2.1, please see LICENSE for details 8 : //* https://www.gnu.org/licenses/lgpl-2.1.html 9 : 10 : #pragma once 11 : 12 : #include "TwoPhaseFluidProperties.h" 13 : 14 : #pragma GCC diagnostic push 15 : #pragma GCC diagnostic ignored "-Woverloaded-virtual" 16 : 17 : /** 18 : * 2-phase fluid properties for 2 independent single-phase fluid properties. 19 : * 20 : * By default, this class throws errors if any 2-phase interfaces are called. 21 : */ 22 : class TwoPhaseFluidPropertiesIndependent : public TwoPhaseFluidProperties 23 : { 24 : public: 25 : static InputParameters validParams(); 26 : 27 : TwoPhaseFluidPropertiesIndependent(const InputParameters & parameters); 28 : 29 : virtual Real p_critical() const override; 30 : virtual Real T_triple() const override; 31 : virtual Real T_sat(Real p) const override; 32 : virtual ADReal T_sat(const ADReal & p) const override; 33 : virtual Real p_sat(Real T) const override; 34 : virtual ADReal p_sat(const ADReal & T) const override; 35 : virtual Real dT_sat_dp(Real p) const override; 36 : virtual Real L_fusion() const override; 37 : virtual Real sigma_from_T(Real T) const override; 38 : virtual ADReal sigma_from_T(const ADReal & T) const override; 39 : virtual Real dsigma_dT_from_T(Real T) const override; 40 : 41 0 : virtual bool supportsPhaseChange() const override { return false; } 42 : 43 : protected: 44 : /** 45 : * Returns a dummy zero value or throws a \c mooseError. 46 : */ 47 : Real getTwoPhaseInterfaceDummyValue() const; 48 : 49 : /// If true, throw an error when a 2-phase interface is called. Else, return a zero value. 50 : const bool _error_on_unimplemented; 51 : }; 52 : 53 : #pragma GCC diagnostic pop