예제 #1
0
AuxScalarKernel::AuxScalarKernel(const std::string & name, InputParameters parameters) :
    MooseObject(name, parameters),
    ScalarCoupleable(parameters),
    SetupInterface(parameters),
    FunctionInterface(parameters),
    UserObjectInterface(parameters),
    PostprocessorInterface(parameters),
    DependencyResolverInterface(),
    TransientInterface(parameters, "scalar_aux_kernels"),
    ZeroInterface(parameters),
    MeshChangedInterface(parameters),
    _subproblem(*parameters.get<SubProblem *>("_subproblem")),
    _sys(*parameters.get<SystemBase *>("_sys")),
    _tid(parameters.get<THREAD_ID>("_tid")),
    _assembly(_subproblem.assembly(_tid)),
    _var(_sys.getScalarVariable(_tid, parameters.get<AuxVariableName>("variable"))),
    _mesh(_subproblem.mesh()),
    _u(_var.sln()),
    _u_old(_var.slnOld())
{
  _supplied_vars.insert(parameters.get<AuxVariableName>("variable"));

  const std::vector<MooseVariableScalar *> & coupled_vars = getCoupledMooseScalarVars();
  for (std::vector<MooseVariableScalar *>::const_iterator it = coupled_vars.begin(); it != coupled_vars.end(); ++it)
    _depend_vars.insert((*it)->name());
}
예제 #2
0
ScalarInitialCondition::ScalarInitialCondition(const InputParameters & parameters) :
    MooseObject(parameters),
    ScalarCoupleable(this),
    FunctionInterface(this),
    DependencyResolverInterface(),
    _fe_problem(*parameters.getCheckedPointerParam<FEProblem *>("_fe_problem")),
    _sys(*parameters.getCheckedPointerParam<SystemBase *>("_sys")),
    _tid(parameters.get<THREAD_ID>("_tid")),
    _assembly(_fe_problem.assembly(_tid)),
    _t(_fe_problem.time()),
    _var(_sys.getScalarVariable(_tid, getParam<VariableName>("variable")))
{
  _supplied_vars.insert(getParam<VariableName>("variable"));

  const std::vector<MooseVariableScalar *> & coupled_vars = getCoupledMooseScalarVars();
  for (std::vector<MooseVariableScalar *>::const_iterator it = coupled_vars.begin(); it != coupled_vars.end(); ++it)
    _depend_vars.insert((*it)->name());
}