https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ShaftConnectedPump1Phase.h
Go to the documentation of this file.
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
13#include "ShaftConnectable.h"
14
19{
20public:
22
23 virtual void addVariables() override;
24 virtual void addMooseObjects() override;
25 virtual UserObjectName getShaftConnectedUserObjectName() const override
26 {
27 return _junction_uo_name;
28 }
29
30protected:
31 virtual void check() const override;
32 virtual void buildVolumeJunctionUserObject() override;
33
35 const BoundaryName & _inlet;
37 const BoundaryName & _outlet;
39 const Real & _omega_rated;
41 const Real & _volumetric_rated;
43 const Real & _head_rated;
45 const Real & _torque_rated;
47 const Real & _density_rated;
49 const Real & _speed_cr_fr;
51 const Real & _tau_fr_const;
53 const std::vector<Real> & _tau_fr_coeff;
55 const Real & _speed_cr_I;
57 const Real & _inertia_const;
59 const std::vector<Real> & _inertia_coeff;
61 const FunctionName & _head;
63 const FunctionName & _torque_hydraulic;
65 const VariableName _head_var_name;
67 const VariableName _hydraulic_torque_var_name;
69 const VariableName _friction_torque_var_name;
71 const VariableName _moi_var_name;
73 const Real & _transition_width;
74
75public:
77};
const std::string _junction_uo_name
Name of junction user object name, if any.
Interface class for components that connect to a shaft.
1-phase pump that must be connected to a Shaft component
static InputParameters validParams()
const BoundaryName & _outlet
Pump outlet.
const VariableName _hydraulic_torque_var_name
Name of pump hydraulic torque variable.
const Real & _density_rated
Rated pump density.
virtual void buildVolumeJunctionUserObject() override
Builds user object for computing and storing the fluxes.
const VariableName _moi_var_name
Name of pump inertia variable.
const std::vector< Real > & _tau_fr_coeff
Pump friction coefficients.
const VariableName _friction_torque_var_name
Name of pump friction torque variable.
const std::vector< Real > & _inertia_coeff
Pump inertia coefficients.
const Real & _speed_cr_fr
Pump speed threshold for friction.
const Real & _tau_fr_const
Pump friction constant.
const Real & _torque_rated
Rated pump torque.
const Real & _inertia_const
Pump inertia constant.
const Real & _transition_width
Transition width for the sign of the frictional torque when speed is 0.
virtual void check() const override
Check the component integrity.
const Real & _head_rated
Rated pump head.
const Real & _volumetric_rated
Rated pump volumetric flow rate.
const BoundaryName & _inlet
Pump inlet.
virtual void addMooseObjects() override
const Real & _speed_cr_I
Pump speed threshold for inertia.
const Real & _omega_rated
Rated pump speed.
const VariableName _head_var_name
Name of pump head variable.
virtual void addVariables() override
const FunctionName & _torque_hydraulic
Name of function to compute data for pump torque.
const FunctionName & _head
Name of function to compute data for pump head.
virtual UserObjectName getShaftConnectedUserObjectName() const override
Junction between 1-phase flow channels that has a non-zero volume.