17 #include "FEProblem.h"
18 #include "MooseMesh.h"
20 #include "libmesh/string_to_enum.h"
21 #include "libmesh/fe.h"
31 params.addClassDescription(
"This class allows us to have a section of the input file like the "
32 "following which automatically adds initial conditions for all the "
33 "required nonlinear and auxiliary variables.");
34 params.addRequiredParam<Real>(
"initial_pressure",
35 "The initial pressure, assumed constant everywhere");
36 params.addRequiredParam<Real>(
"initial_temperature",
37 "The initial temperature, assumed constant everywhere");
38 params.addRequiredParam<RealVectorValue>(
"initial_velocity",
39 "The initial velocity, assumed constant everywhere");
40 params.addRequiredParam<UserObjectName>(
"fluid_properties",
41 "The name of the user object for fluid properties");
48 _initial_pressure(getParam<Real>(
"initial_pressure")),
49 _initial_temperature(getParam<Real>(
"initial_temperature")),
50 _initial_velocity(getParam<RealVectorValue>(
"initial_velocity")),
51 _fp_name(getParam<UserObjectName>(
"fluid_properties"))
71 for (
const auto &
name : names)
73 InputParameters params = _factory.getValidParams(
"NSInitialCondition");
74 params.set<VariableName>(
"variable") =
name;
78 params.set<UserObjectName>(
"fluid_properties") =
_fp_name;
79 _problem->addInitialCondition(
"NSInitialCondition",
name + std::string(
"_ic"), params);