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 "GeneralPostprocessor.h" 13 : 14 : class ADVolumeJunction1PhaseUserObject; 15 : class ADNumericalFlux3EqnBase; 16 : class SinglePhaseFluidProperties; 17 : 18 : /** 19 : * Computes a mass or energy flux for VolumeJunctionCoupledFlux1Phase. 20 : */ 21 : class VolumeJunctionCoupledFlux1PhasePostprocessor : public GeneralPostprocessor 22 : { 23 : public: 24 : static InputParameters validParams(); 25 : 26 : VolumeJunctionCoupledFlux1PhasePostprocessor(const InputParameters & parameters); 27 : 28 142 : virtual void initialize() override {} 29 142 : virtual void execute() override {} 30 : virtual void finalize() override; 31 : virtual PostprocessorValue getValue() const override; 32 : 33 : protected: 34 : /// Equation for which to get flux 35 : const MooseEnum _equation; 36 : 37 : /// Pressure 38 : const PostprocessorValue & _p; 39 : /// Temperature 40 : const PostprocessorValue & _T; 41 : 42 : /// Coupled area between junction and other application 43 : const Real _A_coupled; 44 : 45 : /// Normal vector from the junction to the other application 46 : const RealVectorValue & _normal_from_junction; 47 : /// Normal vector to the junction from the other application 48 : const RealVectorValue _normal_to_junction; 49 : 50 : /// Volume junction user object 51 : const ADVolumeJunction1PhaseUserObject & _volume_junction_uo; 52 : 53 : /// Numerical flux user object 54 : const ADNumericalFlux3EqnBase & _numerical_flux_uo; 55 : 56 : /// Fluid properties 57 : const SinglePhaseFluidProperties & _fp; 58 : 59 : /// Value of this PP 60 : Real _value; 61 : };