https://mooseframework.inl.gov
TransientInterface.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "TransientInterface.h"
11 #include "FEProblem.h"
12 
15 {
16 
18  params.addParam<bool>(
19  "implicit",
20  true,
21  "Determines whether this object is calculated using an implicit or explicit form");
22 
23  params.addParamNamesToGroup("implicit", "Advanced");
24  return params;
25 }
26 
28  : _ti_params(moose_object->parameters()),
29  _ti_feproblem(*_ti_params.getCheckedPointerParam<FEProblemBase *>("_fe_problem_base")),
30  _is_implicit(_ti_params.have_parameter<bool>("implicit") ? _ti_params.get<bool>("implicit")
31  : true),
32  _t(_is_implicit ? _ti_feproblem.time() : _ti_feproblem.timeOld()),
33  _t_old(_ti_feproblem.timeOld()),
34  _t_step(_ti_feproblem.timeStep()),
35  _dt(_ti_feproblem.dt()),
36  _dt_old(_ti_feproblem.dtOld()),
37  _is_transient(_ti_feproblem.isTransient()),
38  _ti_name(moose_object->name())
39 {
40 }
41 
42 #ifdef MOOSE_KOKKOS_ENABLED
45  : _ti_params(object._ti_params),
46  _ti_feproblem(object._ti_feproblem),
47  _is_implicit(object._is_implicit),
48  _t(object._t),
49  _t_old(object._t_old),
50  _t_step(object._t_step),
51  _dt(object._dt),
52  _dt_old(object._dt_old),
53  _is_transient(object._is_transient),
54  _ti_name(object._ti_name)
55 {
56 }
57 #endif
58 
std::string name(const ElemQuality q)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
static InputParameters validParams()
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
InputParameters emptyInputParameters()
Interface for objects that needs transient capabilities.
TransientInterface(const MooseObject *moose_object)
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:28
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...
const Elem & get(const ElemType type_in)
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
This method takes a space delimited list of parameter names and adds them to the specified group name...