-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathShaftConnectedPump1Phase.h
More file actions
78 lines (71 loc) · 2.4 KB
/
Copy pathShaftConnectedPump1Phase.h
File metadata and controls
78 lines (71 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//* This file is part of the MOOSE framework
//* https://mooseframework.inl.gov
//*
//* All rights reserved, see COPYRIGHT for full restrictions
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
//*
//* Licensed under LGPL 2.1, please see LICENSE for details
//* https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
#include "VolumeJunction1Phase.h"
#include "ShaftConnectable.h"
/**
* 1-phase pump that must be connected to a Shaft component
*/
class ShaftConnectedPump1Phase : public VolumeJunction1Phase, public ShaftConnectable
{
public:
ShaftConnectedPump1Phase(const InputParameters & params);
virtual void addVariables() override;
virtual void addMooseObjects() override;
virtual UserObjectName getShaftConnectedUserObjectName() const override
{
return _junction_uo_name;
}
protected:
virtual void check() const override;
virtual bool supportsPassiveTransport() const override { return false; }
virtual void buildVolumeJunctionUserObject() override;
/// Pump inlet
const BoundaryName & _inlet;
/// Pump outlet
const BoundaryName & _outlet;
/// Rated pump speed
const Real & _omega_rated;
/// Rated pump volumetric flow rate
const Real & _volumetric_rated;
/// Rated pump head
const Real & _head_rated;
/// Rated pump torque
const Real & _torque_rated;
/// Rated pump density
const Real & _density_rated;
/// Pump speed threshold for friction
const Real & _speed_cr_fr;
/// Pump friction constant
const Real & _tau_fr_const;
/// Pump friction coefficients
const std::vector<Real> & _tau_fr_coeff;
/// Pump speed threshold for inertia
const Real & _speed_cr_I;
/// Pump inertia constant
const Real & _inertia_const;
/// Pump inertia coefficients
const std::vector<Real> & _inertia_coeff;
/// Name of function to compute data for pump head
const FunctionName & _head;
/// Name of function to compute data for pump torque
const FunctionName & _torque_hydraulic;
/// Name of pump head variable
const VariableName _head_var_name;
/// Name of pump hydraulic torque variable
const VariableName _hydraulic_torque_var_name;
/// Name of pump friction torque variable
const VariableName _friction_torque_var_name;
/// Name of pump inertia variable
const VariableName _moi_var_name;
/// Transition width for the sign of the frictional torque when speed is 0
const Real & _transition_width;
public:
static InputParameters validParams();
};