37 virtual void execute()
override;
45 const std::vector<ADReal> &
getFlux(
const unsigned int & connection_index)
const override;
82 unsigned int i = 0)
const;
118 std::vector<std::vector<ADReal>>
_flux;
std::vector< std::vector< ADReal > > _flux
Cached flux vector for each connection.
std::vector< std::vector< dof_id_type > > _flow_channel_dofs
Degrees of freedom for flow channel variables, for each connection.
static InputParameters validParams()
virtual void computeFluxesAndResiduals(const unsigned int &c)=0
Computes and stores the fluxes, the scalar residuals, and their Jacobians.
std::vector< ADReal > _cached_junction_var_values
std::vector< std::string > _scalar_variable_names
Vector of coupled variable names for each scalar variable.
unsigned int _n_scalar_eq
Number of scalar residual components.
unsigned int _n_flux_eq
Number of flow channel flux components.
virtual void execute() override
ADVolumeJunctionBaseUserObject(const InputParameters ¶ms)
Constructor.
virtual void initialize() override
const std::vector< UserObjectName > & _numerical_flux_names
Names of numerical flux user objects for each connected flow channel.
std::vector< ADReal > _residual
Cached scalar residual vector.
const subdomain_id_type _junction_subdomain_id
Junction subdomain ID.
const Real & _volume
Volume of the junction.
virtual std::vector< const MooseVariableBase * > getJunctionVariables() const
Gets the junction variables.
std::vector< const ADVariableValue * > _junction_var_values
std::vector< unsigned int > _connection_indices
Connection indices for this thread.
std::vector< std::string > _flow_variable_names
Vector of coupled variable names for each flow variable.
const std::vector< ADReal > & getResidual() const
Returns the residual vector for the scalar variables.
virtual void threadJoin(const UserObject &uo) override
const std::vector< ADReal > & getFlux(const unsigned int &connection_index) const override
Gets the flux vector for a connection.
virtual void storeConnectionData()
Stores data (connection index, face shape functions, DoFs associated with flow channel variables) rel...
VariableValueTempl< true > ADVariableValue
virtual void initialSetup() override
Base class for computing and caching flux and residual vectors for a volume junction.
Provides common interfaces for flow junction user objects.
std::vector< dof_id_type > _scalar_dofs
Degrees of freedom for scalar variables.
const bool _use_scalar_variables
True if the junction variables are scalar variables.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual std::vector< const MooseVariableBase * > getFlowChannelVariables() const
Gets the flow channel variables.
const ADVariableValue & coupledJunctionValue(const std::string &var_name, unsigned int i=0) const
Gets an AD junction variable value.
const MooseVariableBase * getJunctionVar(const std::string &var_name, unsigned int i=0) const
Gets a junction variable.