https://mooseframework.inl.gov
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
INSADDisplaceBoundaryBC Class Reference

Increments the boundary displacement by the product of the surface velocity and the change in time through an implicit Euler disretization. More...

#include <INSADDisplaceBoundaryBC.h>

Inheritance diagram for INSADDisplaceBoundaryBC:
[legend]

Public Member Functions

 INSADDisplaceBoundaryBC (const InputParameters &parameters)
 
const MooseVariableFE< T > & variable () const override
 
bool shouldSetComp (unsigned short i) const
 
MooseVariableBasemooseVariableBase () const
 
MooseVariableField< T > & mooseVariableField ()
 
MooseVariableFE< T > * mooseVariable () const
 
MooseVariableFV< T > * mooseVariableFV () const
 
MooseLinearVariableFV< T > * mooseLinearVariableFV () const
 

Static Public Member Functions

static InputParameters validParams ()
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Protected Member Functions

virtual ADReal computeQpResidual () override
 
std::string deduceFunctorName (const std::string &name) const
 
virtual const OutputTools< T >::VariableValuevalue ()
 
virtual const OutputTools< T >::VariableValuevalueOld ()
 
virtual const OutputTools< T >::VariableValuevalueOlder ()
 
virtual const OutputTools< T >::VariableValuedot ()
 
virtual const OutputTools< T >::VariableValuedotDot ()
 
virtual const OutputTools< T >::VariableValuedotOld ()
 
virtual const OutputTools< T >::VariableValuedotDotOld ()
 
virtual const VariableValuedotDu ()
 
virtual const VariableValuedotDotDu ()
 
virtual const OutputTools< T >::VariableGradientgradient ()
 
virtual const OutputTools< T >::VariableGradientgradientOld ()
 
virtual const OutputTools< T >::VariableGradientgradientOlder ()
 
virtual const OutputTools< T >::VariableSecondsecond ()
 
virtual const OutputTools< T >::VariableSecondsecondOld ()
 
virtual const OutputTools< T >::VariableSecondsecondOlder ()
 
virtual const OutputTools< T >::VariableTestSecondsecondTest ()
 
virtual const OutputTools< T >::VariableTestSecondsecondTestFace ()
 
virtual const OutputTools< T >::VariablePhiSecondsecondPhi ()
 
virtual const OutputTools< T >::VariablePhiSecondsecondPhiFace ()
 
const Moose::Functor< T > & getFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctor (const std::string &name, THREAD_ID tid)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
bool isFunctor (const std::string &name) const
 
bool isFunctor (const std::string &name, const SubProblem &subproblem) const
 
Moose::ElemArg makeElemArg (const Elem *elem, bool correct_skewnewss=false) const
 
void checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration)
 

Protected Attributes

const Moose::Functor< ADRealVectorValue > & _velocity
 The velocity. More...
 
const Real_u_old
 The previous timestep value of the displacement. More...
 
const unsigned short _component
 What component of velocity/displacement this object is acting on. More...
 
const SubdomainID _sub_id
 The subdomain ID along which the boundary nodeset, that this object is acting on, is associated with. More...
 
MooseVariableFE< T > & _var
 
const Node *const & _current_node
 
const unsigned int _qp
 
const Moose::ADType< T >::type & _u
 
const std::array< bool, 3 > _set_components
 
bool _nodal
 
MooseVariableFE< T > * _variable
 
MooseVariableFV< T > * _fv_variable
 
MooseLinearVariableFV< T > * _linear_fv_variable
 
MooseVariableField< T > * _field_variable
 
Assembly_mvi_assembly
 

Detailed Description

Increments the boundary displacement by the product of the surface velocity and the change in time through an implicit Euler disretization.

Definition at line 18 of file INSADDisplaceBoundaryBC.h.

Constructor & Destructor Documentation

◆ INSADDisplaceBoundaryBC()

INSADDisplaceBoundaryBC::INSADDisplaceBoundaryBC ( const InputParameters parameters)

Definition at line 32 of file INSADDisplaceBoundaryBC.C.

33  : ADNodalBC(parameters),
34  _velocity(getFunctor<ADRealVectorValue>("velocity")),
36  _component(getParam<unsigned short>("component")),
37  _sub_id(_mesh.getSubdomainID(getParam<SubdomainName>("associated_subdomain")))
38 {
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.");
43 }
const T & nodalValueOld() const
const Moose::Functor< ADRealVectorValue > & _velocity
The velocity.
void mooseError(Args &&... args)
unsigned int number() const
const Real & _u_old
The previous timestep value of the displacement.
MooseVariableFE< T > & _var
const SubdomainID _sub_id
The subdomain ID along which the boundary nodeset, that this object is acting on, is associated with...
const unsigned short _component
What component of velocity/displacement this object is acting on.

Member Function Documentation

◆ computeQpResidual()

ADReal INSADDisplaceBoundaryBC::computeQpResidual ( )
overrideprotectedvirtual

Implements ADNodalBCTempl< T, Base >.

Definition at line 46 of file INSADDisplaceBoundaryBC.C.

47 {
48  const std::set<SubdomainID> sub_id_set = {_sub_id};
49  const Moose::NodeArg nd{_current_node, &sub_id_set};
50  return _u - (_u_old + this->_dt * _velocity(nd, determineState())(_component));
51 }
const Moose::Functor< ADRealVectorValue > & _velocity
The velocity.
const Moose::ADType< T >::type & _u
const Real & _u_old
The previous timestep value of the displacement.
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...
const unsigned short _component
What component of velocity/displacement this object is acting on.

◆ validParams()

InputParameters INSADDisplaceBoundaryBC::validParams ( )
static

Definition at line 17 of file INSADDisplaceBoundaryBC.C.

18 {
20  params.addClassDescription("Boundary condition for displacing a boundary");
21  params.addRequiredParam<MooseFunctorName>("velocity", "The velocity at which to displace");
22  params.addRequiredParam<unsigned short>(
23  "component", "What component of velocity/displacement this object is acting on.");
24  params.addRequiredParam<SubdomainName>(
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");
29  return params;
30 }
InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _component

const unsigned short INSADDisplaceBoundaryBC::_component
protected

What component of velocity/displacement this object is acting on.

Definition at line 35 of file INSADDisplaceBoundaryBC.h.

Referenced by computeQpResidual().

◆ _sub_id

const SubdomainID INSADDisplaceBoundaryBC::_sub_id
protected

The subdomain ID along which the boundary nodeset, that this object is acting on, is associated with.

Definition at line 39 of file INSADDisplaceBoundaryBC.h.

Referenced by computeQpResidual().

◆ _u_old

const Real& INSADDisplaceBoundaryBC::_u_old
protected

The previous timestep value of the displacement.

Definition at line 32 of file INSADDisplaceBoundaryBC.h.

Referenced by computeQpResidual().

◆ _velocity

const Moose::Functor<ADRealVectorValue>& INSADDisplaceBoundaryBC::_velocity
protected

The velocity.

Definition at line 29 of file INSADDisplaceBoundaryBC.h.

Referenced by computeQpResidual().


The documentation for this class was generated from the following files: