21 params.
addRequiredParam<MooseFunctorName>(
"velocity",
"The velocity at which to displace");
23 "component",
"What component of velocity/displacement this object is acting on.");
25 "associated_subdomain",
26 "The subdomain that the boundary nodeset is associated with. This will be passed to the "
27 "coupled functor for unambigious evaluation (e.g. at the edge of the node-patch where we "
28 "might run into the intersection of subdomains");
35 _u_old(_var.nodalValueOld()),
36 _component(getParam<unsigned short>(
"component")),
37 _sub_id(_mesh.getSubdomainID(getParam<SubdomainName>(
"associated_subdomain")))
40 mooseError(
"This boundary condition hard-codes a displacement update with the form of an "
41 "implicit Euler discretization. Consequently please use the default time "
42 "integrator, ImplicitEuler.");
48 const std::set<SubdomainID> sub_id_set = {
_sub_id};
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("NavierStokesApp", INSADDisplaceBoundaryBC)
void mooseError(Args &&... args)
InputParameters validParams()
const Moose::ADType< T >::type & _u
MooseVariableFE< T > & _var
const Node *const & _current_node
Increments the boundary displacement by the product of the surface velocity and the change in time th...
static InputParameters validParams()
const SubdomainID _sub_id
The subdomain ID along which the boundary nodeset, that this object is acting on, is associated with.
virtual ADReal computeQpResidual() override
INSADDisplaceBoundaryBC(const InputParameters ¶meters)
const unsigned short _component
What component of velocity/displacement this object is acting on.
const Moose::Functor< ADRealVectorValue > & _velocity
The velocity.
const Real & _u_old
The previous timestep value of the displacement.
unsigned int number() const