14 MDFluidEnergyDirichletBC,
24 "Imposes a Dirichlet condition on temperature at inlets. Is not applied at outlets");
29 params.
addParam<FunctionName>(
"v_fn",
"Velocity function with time at the boundary");
31 params.
addParam<
Real>(
"T_scale", 1.0,
"Coefficient to multiply the temperature with");
32 params.
addParam<FunctionName>(
"T_fn",
"A function that describes the temperature");
33 params.
addCoupledVar(
"T_scalar",
"A scalar value is multiplied by the temperature");
42 _out_norm(getParam<VectorValue<
Real>>(
"out_norm")),
43 _u_vel(coupledValueOld(
"u")),
44 _v_vel(_mesh.dimension() >= 2 ? coupledValueOld(
"v") : _zero),
45 _w_vel(_mesh.dimension() == 3 ? coupledValueOld(
"w") : _zero),
46 _T_scale(getParam<
Real>(
"T_scale")),
47 _T_scalar(isParamValid(
"T_scalar") ? coupledScalarValue(
"T_scalar") : _zero),
48 _has_vbc(isParamValid(
"v_fn")),
49 _velocity_fn(_has_vbc ? &getFunction(
"v_fn") : NULL),
50 _T_fn(isParamValid(
"T_fn") ? &getFunction(
"T_fn") : NULL)
53 mooseError(
"Please provide one and only one of 'T_scalar' and 'T_fn'");
bool shouldApply() const override
const VariableValue & _T_scalar
const VariableValue & _u_vel
const VariableValue & _v_vel
const Node *const & _current_node
registerMooseObject("NavierStokesApp", INSFEFluidEnergyDirichletBC)
registerMooseObjectRenamed("NavierStokesApp", MDFluidEnergyDirichletBC, "02/01/2024 00:00", INSFEFluidEnergyDirichletBC)
virtual Real computeQpResidual() override
virtual Real computeQpJacobian() override
bool isParamValid(const std::string &name) const
const VariableValue & _w_vel
INSFEFluidEnergyDirichletBC(const InputParameters ¶meters)
const Function * _velocity_fn
A conditional Dirichlet BC for the energy (temperature) equation.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
void mooseError(Args &&... args) const
virtual Real value(Real t, const Point &p) const
static InputParameters validParams()
RealVectorValue _out_norm