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")))
39 if (!dynamic_cast<const ImplicitEuler *>(&_sys.getTimeIntegrator(
_var.
number())))
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};
InputParameters validParams()
registerMooseObject("NavierStokesApp", INSADDisplaceBoundaryBC)
const Moose::Functor< ADRealVectorValue > & _velocity
The velocity.
Increments the boundary displacement by the product of the surface velocity and the change in time th...
void mooseError(Args &&... args)
unsigned int number() const
const Moose::ADType< T >::type & _u
virtual ADReal computeQpResidual() override
DualNumber< Real, DNDerivativeType, true > ADReal
SubdomainID getSubdomainID(const SubdomainName &subdomain_name, const MeshBase &mesh)
const Real & _u_old
The previous timestep value of the displacement.
MooseVariableFE< T > & _var
const Node *const & _current_node
const SubdomainID _sub_id
The subdomain ID along which the boundary nodeset, that this object is acting on, is associated with...
INSADDisplaceBoundaryBC(const InputParameters ¶meters)
const unsigned short _component
What component of velocity/displacement this object is acting on.
static InputParameters validParams()