37 virtual void execute()
override;
45 const std::vector<ADReal> &
getFlux(
const unsigned int & connection_index)
const override;
77 unsigned int i = 0)
const;
113 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...
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
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.