https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
26public:
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
39protected:
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
67public:
69};
Base class for computing numerical fluxes for FlowModelSinglePhase.
Computes and caches flux and residual vectors for a 1-phase volume junction.
virtual std::vector< const MooseVariableBase * > getFlowChannelVariables() const override
Gets the flow channel variables.
const SinglePhaseFluidProperties & _fp
Single-phase fluid properties user object.
const ADVariableValue & _rhoEA
rho*E*A of the connected flow channels
std::vector< const ADNumericalFlux3EqnBase * > _numerical_flux_uo
Vector of numerical flux user objects for each connected flow channel.
std::vector< ADReal > computeResidual(const std::vector< ADReal > &flux_3d, const std::vector< ADReal > &Ui, const RealVectorValue &ni, bool is_primary_connection) const
virtual void computeFluxesAndResiduals(const unsigned int &c) override
Computes and stores the fluxes, the scalar residuals, and their Jacobians.
const bool _apply_velocity_scaling
Apply velocity scaling?
const ADVariableValue & _rhouA
rho*u*A of the connected flow channels
virtual std::vector< const MooseVariableBase * > getJunctionVariables() const override
Gets the junction variables.
const ADVariableValue & _rhoA
rho*A of the connected flow channels
std::vector< ADReal > compute3DFlux(const ADNumericalFlux3EqnBase &numerical_flux, const std::vector< ADReal > &Ui, const RealVectorValue &ni) const
const ADVariableValue & _A
Cross-sectional area of connected flow channels.
Base class for computing and caching flux and residual vectors for a volume junction.
Common class for single phase fluid properties.
VariableValueTempl< true > ADVariableValue