18 MooseEnum rtype(
"instantaneous=0 cosine=1",
"instantaneous");
19 MooseEnum comp(
"x=0 y=1 z=2");
21 InputParameters params = validParams<Function>();
22 params.addClassDescription(
23 "A function for creating vortex velocity fields for level set equation benchmark problems.");
24 params.addParam<MooseEnum>(
25 "reverse_type", rtype,
"The time of reversal to enforce (instantaneous or cosine).");
26 params.addParam<Real>(
"reverse_time", 2,
"Total time for complete vortex reversal.");
27 params.addRequiredParam<MooseEnum>(
"component", comp,
"The component of velocity to return.");
33 : Function(parameters),
34 _reverse_time(getParam<Real>(
"reverse_time")),
35 _reverse_type(getParam<MooseEnum>(
"reverse_type")),
36 _component(getParam<MooseEnum>(
"component")),
51 RealVectorValue output;
52 output(0) = std::sin(
_pi * p(0)) * std::sin(
_pi * p(0)) * std::sin(2 *
_pi * p(1));
53 output(1) = -std::sin(
_pi * p(1)) * std::sin(
_pi * p(1)) * std::sin(2 *
_pi * p(0));
56 Real reverse_coefficient = 1.0;
58 reverse_coefficient = -1.0;
61 return reverse_coefficient * output;