21 params.addClassDescription(
22 "Prescribe the displacement on a given boundary in a given direction.");
24 params.addParam<Real>(
"scale_factor", 1,
"Scale factor if function is given.");
25 params.addParam<FunctionName>(
"function",
"1",
"Function describing the displacement.");
26 params.addRequiredCoupledVar(
"velocity",
"The velocity variable.");
27 params.addRequiredCoupledVar(
"acceleration",
"The acceleration variable.");
28 params.addRequiredParam<Real>(
"beta",
"beta parameter for Newmark time integration.");
31 params.set<
bool>(
"preset") =
true;
32 params.suppressParameter<
bool>(
"preset");
38 : DirichletBCBase(parameters),
40 _scale_factor(parameters.get<Real>(
"scale_factor")),
41 _function(getFunction(
"function")),
42 _vel_old(coupledValueOld(
"velocity")),
43 _accel_old(coupledValueOld(
"acceleration")),
44 _beta(getParam<Real>(
"beta"))
52 Real vel =
_function.timeDerivative(_t, p);
53 Real vel_old =
_function.timeDerivative(_t - _dt, p);
54 Real accel = (vel - vel_old) / _dt;