24 "Calculates the total power of the subchannel assembly $[W]$ via the " 25 "thermal-hydraulic enthalpy flow rate balance between inlet and outlet.");
46 mooseError(
"SCMTHPowerPostprocessor can only be used within a subchannel 1phase problem.");
51 for (
unsigned int i_ch = 0; i_ch < n_channels; i_ch++)
56 const Real mdot_in = mdot_soln(node_in);
57 const Real h_in = h_soln(node_in);
58 const Real mdot_out = mdot_soln(node_out);
59 const Real h_out = h_soln(node_out);
61 power_in += mdot_in * h_in;
62 power_out += mdot_out * h_out;
65 _value = power_out - power_in;
virtual const unsigned int & getNumOfChannels() const =0
Return the number of channels per layer.
Real _value
value we want to calculate
SCMTHPowerPostprocessor(const InputParameters ¶ms)
Provide a simple RAII interface for linear lagrange solution variables.
static InputParameters validParams()
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
virtual Node * getChannelNode(unsigned int i_chan, unsigned iz) const =0
Get the subchannel mesh node for a given channel index and elevation index.
static InputParameters validParams()
virtual Real getValue() const override
const T & getConstMesh(const MooseMesh &mesh)
function to cast const mesh
const SubChannelMesh & _mesh
geometric information
Base class for the 1-phase steady-state/transient subchannel solver.
virtual const unsigned int & getNumOfAxialCells() const
Return the number of axial cells.
registerMooseObject("SubChannelApp", SCMTHPowerPostprocessor)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FEProblemBase & _fe_problem
Calculates the total power of the subchannel assembly $[W]$ considering the thermal-hydraulic balance...
void mooseError(Args &&... args) const
Base class for subchannel meshes.
virtual void execute() override