www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PresetAcceleration Class Reference

This class prescribes the acceleration on a given boundary in a given direction. More...

#include <PresetAcceleration.h>

Inheritance diagram for PresetAcceleration:
[legend]

Public Member Functions

 PresetAcceleration (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual Real computeQpValue ()
 

Protected Attributes

const VariableValue & _u_old
 
const Real _scale_factor
 
const Function & _function
 
const VariableValue & _vel_old
 
const VariableValue & _accel_old
 
const Real _beta
 

Detailed Description

This class prescribes the acceleration on a given boundary in a given direction.

The acceleration is integrated using newmark time integration scheme and the resulting displacement is applied on the boundary.

Definition at line 20 of file PresetAcceleration.h.

Constructor & Destructor Documentation

◆ PresetAcceleration()

PresetAcceleration::PresetAcceleration ( const InputParameters &  parameters)

Definition at line 36 of file PresetAcceleration.C.

37  : DirichletBCBase(parameters),
38  _u_old(valueOld()),
39  _scale_factor(parameters.get<Real>("scale_factor")),
40  _function(getFunction("function")),
41  _vel_old(coupledValueOld("velocity")),
42  _accel_old(coupledValueOld("acceleration")),
43  _beta(getParam<Real>("beta"))
44 {
45 }

Member Function Documentation

◆ computeQpValue()

Real PresetAcceleration::computeQpValue ( )
protectedvirtual

Definition at line 48 of file PresetAcceleration.C.

49 {
50  Real accel = _function.value(_t, *_current_node);
51 
52  // Integrate acceleration using Newmark time integration to get displacement
53  return _u_old[_qp] + _dt * _vel_old[_qp] +
54  ((0.5 - _beta) * _accel_old[_qp] + _beta * accel) * _dt * _dt;
55 }

◆ validParams()

InputParameters PresetAcceleration::validParams ( )
static

Definition at line 18 of file PresetAcceleration.C.

19 {
20  InputParameters params = DirichletBCBase::validParams();
21  params.addClassDescription("Prescribe acceleration on a given boundary in a given direction");
22 
23  params.addParam<Real>("scale_factor", 1, "Scale factor if function is given.");
24  params.addParam<FunctionName>("function", "1", "Function describing the velocity.");
25  params.addRequiredCoupledVar("velocity", "The velocity variable.");
26  params.addRequiredCoupledVar("acceleration", "The acceleration variable.");
27  params.addRequiredParam<Real>("beta", "beta parameter for Newmark time integration.");
28 
29  // Forcefully preset the BC
30  params.set<bool>("preset") = true;
31  params.suppressParameter<bool>("preset");
32 
33  return params;
34 }

Member Data Documentation

◆ _accel_old

const VariableValue& PresetAcceleration::_accel_old
protected

Definition at line 34 of file PresetAcceleration.h.

Referenced by computeQpValue().

◆ _beta

const Real PresetAcceleration::_beta
protected

Definition at line 35 of file PresetAcceleration.h.

Referenced by computeQpValue().

◆ _function

const Function& PresetAcceleration::_function
protected

Definition at line 32 of file PresetAcceleration.h.

Referenced by computeQpValue().

◆ _scale_factor

const Real PresetAcceleration::_scale_factor
protected

Definition at line 31 of file PresetAcceleration.h.

◆ _u_old

const VariableValue& PresetAcceleration::_u_old
protected

Definition at line 30 of file PresetAcceleration.h.

Referenced by computeQpValue().

◆ _vel_old

const VariableValue& PresetAcceleration::_vel_old
protected

Definition at line 33 of file PresetAcceleration.h.

Referenced by computeQpValue().


The documentation for this class was generated from the following files:
PresetAcceleration::_function
const Function & _function
Definition: PresetAcceleration.h:32
PresetAcceleration::_scale_factor
const Real _scale_factor
Definition: PresetAcceleration.h:31
validParams
InputParameters validParams()
PresetAcceleration::_u_old
const VariableValue & _u_old
Definition: PresetAcceleration.h:30
PresetAcceleration::_accel_old
const VariableValue & _accel_old
Definition: PresetAcceleration.h:34
PresetAcceleration::_vel_old
const VariableValue & _vel_old
Definition: PresetAcceleration.h:33
PresetAcceleration::_beta
const Real _beta
Definition: PresetAcceleration.h:35