https://mooseframework.inl.gov
ADVolumeJunction1PhaseUserObject.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 
16 
25 {
26 public:
28 
29  virtual void finalize() override;
30 
31  std::vector<ADReal> compute3DFlux(const ADNumericalFlux3EqnBase & numerical_flux,
32  const std::vector<ADReal> & Ui,
33  const RealVectorValue & ni) const;
34  std::vector<ADReal> computeResidual(const std::vector<ADReal> & flux_3d,
35  const std::vector<ADReal> & Ui,
36  const RealVectorValue & ni,
37  bool is_primary_connection) const;
38 
39 protected:
40  virtual void computeFluxesAndResiduals(const unsigned int & c) override;
41  virtual std::vector<const MooseVariableBase *> getFlowChannelVariables() const override;
42  virtual std::vector<const MooseVariableBase *> getJunctionVariables() const override;
43 
52 
54  const Real & _K;
56  const Real & _A_ref;
57 
60 
63 
65  std::vector<const ADNumericalFlux3EqnBase *> _numerical_flux_uo;
66 
67 public:
69 };
const ADVariableValue & _rhoA
rho*A of the connected flow channels
std::vector< ADReal > computeResidual(const std::vector< ADReal > &flux_3d, const std::vector< ADReal > &Ui, const RealVectorValue &ni, bool is_primary_connection) const
const SinglePhaseFluidProperties & _fp
Single-phase fluid properties user object.
virtual std::vector< const MooseVariableBase * > getFlowChannelVariables() const override
Gets the flow channel variables.
virtual void computeFluxesAndResiduals(const unsigned int &c) override
Computes and stores the fluxes, the scalar residuals, and their Jacobians.
std::vector< const ADNumericalFlux3EqnBase * > _numerical_flux_uo
Vector of numerical flux user objects for each connected flow channel.
ADVolumeJunction1PhaseUserObject(const InputParameters &params)
const ADVariableValue & _rhoEA
rho*E*A of the connected flow channels
Common class for single phase fluid properties.
std::vector< ADReal > compute3DFlux(const ADNumericalFlux3EqnBase &numerical_flux, const std::vector< ADReal > &Ui, const RealVectorValue &ni) const
Base class for computing numerical fluxes for FlowModelSinglePhase.
VariableValueTempl< true > ADVariableValue
Base class for computing and caching flux and residual vectors for a volume junction.
Computes and caches flux and residual vectors for a 1-phase volume junction.
const Real & _K
Form loss coefficient.
const ADVariableValue & _A
Cross-sectional area of connected flow channels.
virtual std::vector< const MooseVariableBase * > getJunctionVariables() const override
Gets the junction variables.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const bool _apply_velocity_scaling
Apply velocity scaling?
const ADVariableValue & _rhouA
rho*u*A of the connected flow channels