https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADVolumeJunction1PhaseBC.C
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
12#include "THMIndicesVACE.h"
13
15
18{
20
21 params.addRequiredParam<unsigned int>("connection_index", "Index of the connected flow channel");
22 params.addRequiredParam<UserObjectName>("volume_junction_uo", "Volume junction user object name");
23
24 params.addRequiredCoupledVar("rhoA", "Flow channel variable: rho*A");
25 params.addRequiredCoupledVar("rhouA", "Flow channel variable: rho*u*A");
26 params.addRequiredCoupledVar("rhoEA", "Flow channel variable: rho*E*A");
27
29 "Adds boundary fluxes for flow channels connected to a 1-phase volume junction");
30
31 return params;
32}
33
35 : ADOneDIntegratedBC(params),
36
37 _connection_index(getParam<unsigned int>("connection_index")),
38 _volume_junction_uo(getUserObject<ADVolumeJunction1PhaseUserObject>("volume_junction_uo")),
39
40 _rhoA_jvar(coupled("rhoA")),
41 _rhouA_jvar(coupled("rhouA")),
42 _rhoEA_jvar(coupled("rhoEA")),
43
44 _flow_channel_jvar_map(getFlowChannelIndexMapping()),
45 _equation_index(_flow_channel_jvar_map.at(_var.number()))
46{
47}
48
56
57std::map<unsigned int, unsigned int>
59{
60 std::map<unsigned int, unsigned int> jvar_map;
61 jvar_map.insert(std::pair<unsigned int, unsigned int>(_rhoA_jvar, THMVACE1D::MASS));
62 jvar_map.insert(std::pair<unsigned int, unsigned int>(_rhouA_jvar, THMVACE1D::MOMENTUM));
63 jvar_map.insert(std::pair<unsigned int, unsigned int>(_rhoEA_jvar, THMVACE1D::ENERGY));
64
65 return jvar_map;
66}
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("ThermalHydraulicsApp", ADVolumeJunction1PhaseBC)
void ErrorVector unsigned int
const ADTemplateVariableTestValue< T > & _test
Base class for integrated boundary conditions for 1D problems in 3D space.
const Real _normal
Component of outward normals along 1-D direction.
static InputParameters validParams()
Adds boundary fluxes for flow channels connected to a 1-phase volume junction.
virtual ADReal computeQpResidual() override
const unsigned int _rhoEA_jvar
Flow channel rho*E*A coupled variable index.
static InputParameters validParams()
const unsigned int _rhoA_jvar
Flow channel rho*A coupled variable index.
std::map< unsigned int, unsigned int > getFlowChannelIndexMapping() const
Creates the mapping of coupled variable index to local equation system index for flow channel variabl...
const unsigned int _equation_index
Index within local system of the equation upon which this object acts.
const unsigned int _rhouA_jvar
Flow channel rho*u*A coupled variable index.
const ADVolumeJunction1PhaseUserObject & _volume_junction_uo
1-phase volume junction user object
const unsigned int _connection_index
Index of the connected flow channel.
ADVolumeJunction1PhaseBC(const InputParameters &params)
Computes and caches flux and residual vectors for a 1-phase volume junction.
const std::vector< ADReal > & getFlux(const unsigned int &connection_index) const override
Gets the flux vector for a connection.
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
unsigned int _qp