www.mooseframework.org
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
PhysicsBasedPreconditioner Class Reference

Implements a segregated solve preconditioner. More...

#include <PhysicsBasedPreconditioner.h>

Inheritance diagram for PhysicsBasedPreconditioner:
[legend]

Public Member Functions

 PhysicsBasedPreconditioner (const InputParameters &params)
 
virtual ~PhysicsBasedPreconditioner ()
 
void addSystem (unsigned int var, std::vector< unsigned int > off_diag, PreconditionerType type=AMG_PRECOND)
 Add a diagonal system + possibly off-diagonals ones as well, also specifying type of preconditioning. More...
 
virtual void apply (const NumericVector< Number > &x, NumericVector< Number > &y)
 Computes the preconditioned vector "y" based on input "x". More...
 
virtual void clear ()
 Release all memory and clear data structures. More...
 
virtual void init ()
 Initialize data structures if not done so already. More...
 
virtual void setup ()
 This is called every time the "operator might have changed". More...
 
const std::string & type () const
 Get the type of this object. More...
 
virtual const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParamTempl (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args) const
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 

Static Public Member Functions

static InputParameters validParams ()
 Constructor. More...
 
static void copyVarValues (MeshBase &mesh, const unsigned int from_system, const unsigned int from_var, const NumericVector< Number > &from_vector, const unsigned int to_system, const unsigned int to_var, NumericVector< Number > &to_vector)
 Helper function for copying values associated with variables in vectors from two different systems. More...
 

Public Attributes

const ConsoleStream _console
 An instance of helper class to write streams to the Console objects. More...
 

Protected Member Functions

template<typename T >
T & declareRestartableDataTempl (const std::string &data_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataTempl (const std::string &data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithContext (const std::string &data_name, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithContext (const std::string &data_name, const T &init_value, void *context)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithPrefixOverrideAndContext (const std::string &data_name, const std::string &prefix, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRecoverableData (const std::string &data_name)
 Declare a piece of data as "recoverable". More...
 
template<typename T >
T & declareRecoverableData (const std::string &data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context)
 Declare a piece of data as "restartable". More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level)
 Call to register a named section for timing. More...
 

Protected Attributes

NonlinearSystemBase_nl
 The nonlinear system this PBP is associated with (convenience reference) More...
 
std::vector< LinearImplicitSystem * > _systems
 List of linear system that build up the preconditioner. More...
 
std::vector< std::unique_ptr< Preconditioner< Number > > > _preconditioners
 Holds one Preconditioner object per small system to solve. More...
 
std::vector< unsigned int > _solve_order
 Holds the order the blocks are solved for. More...
 
std::vector< PreconditionerType > _pre_type
 Which preconditioner to use for each solve. More...
 
std::vector< std::vector< unsigned int > > _off_diag
 Holds which off diagonal blocks to compute. More...
 
std::vector< std::vector< SparseMatrix< Number > * > > _off_diag_mats
 Holds pointers to the off-diagonal matrices. More...
 
PerfID _init_timer
 Timers. More...
 
PerfID _apply_timer
 
FEProblemBase_fe_problem
 Subproblem this preconditioner is part of. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const std::string & _type
 The type of this object (the Class name) More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
const InputParameters_pg_params
 Params. More...
 
PerfGraph_perf_graph
 The performance graph to add to. More...
 
std::string _prefix
 A prefix to use for all sections. More...
 

Private Member Functions

template<typename... Args>
std::string paramErrorMsg (const std::string &param, Args... args) const
 
RestartableDataValueregisterRestartableDataOnApp (const std::string &name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid)
 Helper function for actually registering the restartable data. More...
 
void registerRestartableNameWithFilterOnApp (const std::string &name, Moose::RESTARTABLE_FILTER filter)
 Helper function for actually registering the restartable data. More...
 

Private Attributes

MooseApp_restartable_app
 Reference to the application. More...
 
std::string _restartable_name
 The name of the object. More...
 
std::string _restartable_system_name
 The system name this object is in. More...
 
THREAD_ID _restartable_tid
 The thread ID for this object. More...
 

Detailed Description

Implements a segregated solve preconditioner.

Definition at line 33 of file PhysicsBasedPreconditioner.h.

Constructor & Destructor Documentation

◆ PhysicsBasedPreconditioner()

PhysicsBasedPreconditioner::PhysicsBasedPreconditioner ( const InputParameters params)

Definition at line 59 of file PhysicsBasedPreconditioner.C.

60  : MoosePreconditioner(params),
61  Preconditioner<Number>(MoosePreconditioner::_communicator),
65 {
66  unsigned int num_systems = _nl.system().n_vars();
67  _systems.resize(num_systems);
68  _preconditioners.resize(num_systems);
69  _off_diag.resize(num_systems);
70  _off_diag_mats.resize(num_systems);
71  _pre_type.resize(num_systems);
72 
73  { // Setup the Coupling Matrix so MOOSE knows what we're doing
75  unsigned int n_vars = nl.nVariables();
76 
77  // The coupling matrix is held and released by FEProblemBase, so it is not released in this
78  // object
79  std::unique_ptr<CouplingMatrix> cm = libmesh_make_unique<CouplingMatrix>(n_vars);
80 
81  bool full = false; // getParam<bool>("full"); // TODO: add a FULL option for PBP
82 
83  if (!full)
84  {
85  // put 1s on diagonal
86  for (unsigned int i = 0; i < n_vars; i++)
87  (*cm)(i, i) = 1;
88 
89  // off-diagonal entries
90  std::vector<std::vector<unsigned int>> off_diag(n_vars);
91  for (unsigned int i = 0; i < getParam<std::vector<std::string>>("off_diag_row").size(); i++)
92  {
93  unsigned int row =
94  nl.getVariable(0, getParam<std::vector<std::string>>("off_diag_row")[i]).number();
95  unsigned int column =
96  nl.getVariable(0, getParam<std::vector<std::string>>("off_diag_column")[i]).number();
97  (*cm)(row, column) = 1;
98  }
99 
100  // TODO: handle coupling entries between NL-vars and SCALAR-vars
101  }
102  else
103  {
104  for (unsigned int i = 0; i < n_vars; i++)
105  for (unsigned int j = 0; j < n_vars; j++)
106  (*cm)(i, j) = 1;
107  }
108 
109  _fe_problem.setCouplingMatrix(std::move(cm));
110  }
111 
112  // PC types
113  const std::vector<std::string> & pc_types = getParam<std::vector<std::string>>("preconditioner");
114  for (unsigned int i = 0; i < num_systems; i++)
115  _pre_type[i] = Utility::string_to_enum<PreconditionerType>(pc_types[i]);
116 
117  // solve order
118  const std::vector<std::string> & solve_order = getParam<std::vector<std::string>>("solve_order");
119  _solve_order.resize(solve_order.size());
120  for (unsigned int i = 0; i < solve_order.size(); i++)
121  _solve_order[i] = _nl.system().variable_number(solve_order[i]);
122 
123  // diag and off-diag systems
124  unsigned int n_vars = _nl.system().n_vars();
125 
126  // off-diagonal entries
127  const std::vector<std::string> & odr = getParam<std::vector<std::string>>("off_diag_row");
128  const std::vector<std::string> & odc = getParam<std::vector<std::string>>("off_diag_column");
129  std::vector<std::vector<unsigned int>> off_diag(n_vars);
130  for (unsigned int i = 0; i < odr.size(); i++)
131  {
132  unsigned int row = _nl.system().variable_number(odr[i]);
133  unsigned int column = _nl.system().variable_number(odc[i]);
134  off_diag[row].push_back(column);
135  }
136  // Add all of the preconditioning systems
137  for (unsigned int var = 0; var < n_vars; var++)
138  addSystem(var, off_diag[var], _pre_type[var]);
139 
140  _nl.nonlinearSolver()->attach_preconditioner(this);
141 
143  mooseError("PBP must be used with JFNK solve type");
144 }

◆ ~PhysicsBasedPreconditioner()

PhysicsBasedPreconditioner::~PhysicsBasedPreconditioner ( )
virtual

Definition at line 146 of file PhysicsBasedPreconditioner.C.

146 { this->clear(); }

Member Function Documentation

◆ addSystem()

void PhysicsBasedPreconditioner::addSystem ( unsigned int  var,
std::vector< unsigned int >  off_diag,
PreconditionerType  type = AMG_PRECOND 
)

Add a diagonal system + possibly off-diagonals ones as well, also specifying type of preconditioning.

Definition at line 149 of file PhysicsBasedPreconditioner.C.

152 {
153  std::string var_name = _nl.system().variable_name(var);
154 
155  LinearImplicitSystem & precond_system =
156  _fe_problem.es().add_system<LinearImplicitSystem>(var_name + "_system");
157  precond_system.assemble_before_solve = false;
158 
159  const std::set<SubdomainID> * active_subdomains = _nl.getVariableBlocks(var);
160  precond_system.add_variable(
161  var_name + "_prec", _nl.system().variable(var).type(), active_subdomains);
162 
163  _systems[var] = &precond_system;
164  _pre_type[var] = type;
165 
166  _off_diag_mats[var].resize(off_diag.size());
167  for (unsigned int i = 0; i < off_diag.size(); i++)
168  {
169  // Add the matrix to hold the off-diagonal piece
170  _off_diag_mats[var][i] = &precond_system.add_matrix(_nl.system().variable_name(off_diag[i]));
171  }
172 
173  _off_diag[var] = off_diag;
174 }

Referenced by PhysicsBasedPreconditioner().

◆ apply()

void PhysicsBasedPreconditioner::apply ( const NumericVector< Number > &  x,
NumericVector< Number > &  y 
)
virtual

Computes the preconditioned vector "y" based on input "x".

Usually by solving Py=x to get the action of P^-1 x.

Definition at line 249 of file PhysicsBasedPreconditioner.C.

250 {
251  TIME_SECTION(_apply_timer);
252 
253  const unsigned int num_systems = _systems.size();
254 
255  MooseMesh & mesh = _fe_problem.mesh();
256 
257  // Zero out the solution vectors
258  for (unsigned int sys = 0; sys < num_systems; sys++)
259  _systems[sys]->solution->zero();
260 
261  // Loop over solve order
262  for (unsigned int i = 0; i < _solve_order.size(); i++)
263  {
264  unsigned int system_var = _solve_order[i];
265 
266  LinearImplicitSystem & u_system = *_systems[system_var];
267 
268  // Copy rhs from the big system into the small one
270  mesh, _nl.system().number(), system_var, x, u_system.number(), 0, *u_system.rhs);
271 
272  // Modify the RHS by subtracting off the matvecs of the solutions for the other preconditioning
273  // systems with the off diagonal blocks in this system.
274  for (unsigned int diag = 0; diag < _off_diag[system_var].size(); diag++)
275  {
276  unsigned int coupled_var = _off_diag[system_var][diag];
277  LinearImplicitSystem & coupled_system = *_systems[coupled_var];
278  SparseMatrix<Number> & off_diag = *_off_diag_mats[system_var][diag];
279  NumericVector<Number> & rhs = *u_system.rhs;
280 
281  // This next bit computes rhs -= A*coupled_solution
282  // It does what it does because there is no vector_mult_sub()
283  rhs.close();
284  rhs.scale(-1.0);
285  rhs.close();
286  off_diag.vector_mult_add(rhs, *coupled_system.solution);
287  rhs.close();
288  rhs.scale(-1.0);
289  rhs.close();
290  }
291 
292  // Apply the preconditioner to the small system
293  _preconditioners[system_var]->apply(*u_system.rhs, *u_system.solution);
294 
295  // Copy solution from small system into the big one
296  // copyVarValues(mesh,system,0,*u_system.solution,0,system_var,y);
297  }
298 
299  // Copy the solutions out
300  for (unsigned int system_var = 0; system_var < num_systems; system_var++)
301  {
302  LinearImplicitSystem & u_system = *_systems[system_var];
303 
305  mesh, u_system.number(), 0, *u_system.solution, _nl.system().number(), system_var, y);
306  }
307 
308  y.close();
309 }

◆ clear()

void PhysicsBasedPreconditioner::clear ( )
virtual

Release all memory and clear data structures.

Definition at line 312 of file PhysicsBasedPreconditioner.C.

313 {
314 }

Referenced by ~PhysicsBasedPreconditioner().

◆ copyVarValues()

void MoosePreconditioner::copyVarValues ( MeshBase &  mesh,
const unsigned int  from_system,
const unsigned int  from_var,
const NumericVector< Number > &  from_vector,
const unsigned int  to_system,
const unsigned int  to_var,
NumericVector< Number > &  to_vector 
)
staticinherited

Helper function for copying values associated with variables in vectors from two different systems.

Definition at line 52 of file MoosePreconditioner.C.

59 {
60  for (auto & node : mesh.local_node_ptr_range())
61  {
62  unsigned int n_comp = node->n_comp(from_system, from_var);
63 
64  mooseAssert(node->n_comp(from_system, from_var) == node->n_comp(to_system, to_var),
65  "Number of components does not match in each system");
66 
67  for (unsigned int i = 0; i < n_comp; i++)
68  {
69  dof_id_type from_dof = node->dof_number(from_system, from_var, i);
70  dof_id_type to_dof = node->dof_number(to_system, to_var, i);
71 
72  to_vector.set(to_dof, from_vector(from_dof));
73  }
74  }
75 
76  for (auto & elem : as_range(mesh.local_elements_begin(), mesh.local_elements_end()))
77  {
78  unsigned int n_comp = elem->n_comp(from_system, from_var);
79 
80  mooseAssert(elem->n_comp(from_system, from_var) == elem->n_comp(to_system, to_var),
81  "Number of components does not match in each system");
82 
83  for (unsigned int i = 0; i < n_comp; i++)
84  {
85  dof_id_type from_dof = elem->dof_number(from_system, from_var, i);
86  dof_id_type to_dof = elem->dof_number(to_system, to_var, i);
87 
88  to_vector.set(to_dof, from_vector(from_dof));
89  }
90  }
91 }

Referenced by apply().

◆ declareRecoverableData() [1/2]

template<typename T >
T & Restartable::declareRecoverableData ( const std::string &  data_name)
protectedinherited

Declare a piece of data as "recoverable".

This means that in the event of a recovery this piece of data will be restored back to its previous value.

Note - this data will NOT be restored on Restart!

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 295 of file Restartable.h.

296 {
297  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
298 
300 
301  return declareRestartableDataWithContext<T>(data_name, nullptr);
302 }

◆ declareRecoverableData() [2/2]

template<typename T >
T & Restartable::declareRecoverableData ( const std::string &  data_name,
const T &  init_value 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

Note - this data will NOT be restored on Restart!

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data

Definition at line 306 of file Restartable.h.

307 {
308  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
309 
311 
312  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
313 }

◆ declareRestartableDataTempl() [1/2]

template<typename T >
T & Restartable::declareRestartableDataTempl ( const std::string &  data_name)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 222 of file Restartable.h.

223 {
224  return declareRestartableDataWithContext<T>(data_name, nullptr);
225 }

◆ declareRestartableDataTempl() [2/2]

template<typename T >
T & Restartable::declareRestartableDataTempl ( const std::string &  data_name,
const T &  init_value 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data

Definition at line 229 of file Restartable.h.

230 {
231  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
232 }

◆ declareRestartableDataWithContext() [1/2]

template<typename T >
T & Restartable::declareRestartableDataWithContext ( const std::string &  data_name,
const T &  init_value,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data
contextContext pointer that will be passed to the load and store functions

Definition at line 250 of file Restartable.h.

253 {
254  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
255 
256  // Here we will create the RestartableData even though we may not use this instance.
257  // If it's already in use, the App will return a reference to the existing instance and we'll
258  // return that one instead. We might refactor this to have the app create the RestartableData
259  // at a later date.
260  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
261  auto & restartable_data_ref = static_cast<RestartableData<T> &>(
262  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid));
263 
264  restartable_data_ref.set() = init_value;
265  return restartable_data_ref.get();
266 }

◆ declareRestartableDataWithContext() [2/2]

template<typename T >
T & Restartable::declareRestartableDataWithContext ( const std::string &  data_name,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
contextContext pointer that will be passed to the load and store functions

Definition at line 236 of file Restartable.h.

237 {
238  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
239  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
240 
241  // See comment in overloaded version of this function with "init_value"
242  auto & restartable_data_ref = static_cast<RestartableData<T> &>(
243  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid));
244 
245  return restartable_data_ref.get();
246 }

◆ declareRestartableDataWithObjectName()

template<typename T >
T & Restartable::declareRestartableDataWithObjectName ( const std::string &  data_name,
const std::string &  object_name 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.

Definition at line 270 of file Restartable.h.

272 {
273  return declareRestartableDataWithObjectNameWithContext<T>(data_name, object_name, nullptr);
274 }

◆ declareRestartableDataWithObjectNameWithContext()

template<typename T >
T & Restartable::declareRestartableDataWithObjectNameWithContext ( const std::string &  data_name,
const std::string &  object_name,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.
contextContext pointer that will be passed to the load and store functions

Definition at line 278 of file Restartable.h.

281 {
282  std::string old_name = _restartable_name;
283 
284  _restartable_name = object_name;
285 
286  T & value = declareRestartableDataWithContext<T>(data_name, context);
287 
288  _restartable_name = old_name;
289 
290  return value;
291 }

◆ declareRestartableDataWithPrefixOverrideAndContext()

template<typename T >
T& Restartable::declareRestartableDataWithPrefixOverrideAndContext ( const std::string &  data_name,
const std::string &  prefix,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
prefixThe prefix to prepend to the data_name, to retrieve data from another object.
contextContext pointer that will be passed to the load and store functions

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 110 of file MooseObject.h.

110 { return _enabled; }

Referenced by EigenKernel::enabled().

◆ getCheckedPointerParam()

template<typename T >
T MooseObject::getCheckedPointerParam ( const std::string &  name,
const std::string &  error_string = "" 
) const
inlineinherited

Verifies that the requested parameter exists and is not NULL and returns it to the caller.

The template parameter must be a pointer or an error will be thrown.

Definition at line 91 of file MooseObject.h.

92  {
93  return parameters().getCheckedPointerParam<T>(name, error_string);
94  }

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 105 of file MooseObject.h.

105 { return _app; }

Referenced by MortarData::createMortarInterface(), Executioner::Executioner(), and ConsoleUtils::outputMeshInformation().

◆ getParamTempl()

template<typename T >
const T & MooseObject::getParamTempl ( const std::string &  name) const
inherited

◆ init()

void PhysicsBasedPreconditioner::init ( )
virtual

Initialize data structures if not done so already.

Definition at line 177 of file PhysicsBasedPreconditioner.C.

178 {
179  TIME_SECTION(_init_timer);
180 
181  // Tell libMesh that this is initialized!
182  _is_initialized = true;
183 
184  const unsigned int num_systems = _systems.size();
185 
186  // If no order was specified, just solve them in increasing order
187  if (_solve_order.size() == 0)
188  {
189  _solve_order.resize(num_systems);
190  for (unsigned int i = 0; i < num_systems; i++)
191  _solve_order[i] = i;
192  }
193 
194  // Loop over variables
195  for (unsigned int system_var = 0; system_var < num_systems; system_var++)
196  {
197  LinearImplicitSystem & u_system = *_systems[system_var];
198 
199  if (!_preconditioners[system_var])
200  _preconditioners[system_var] =
201  Preconditioner<Number>::build_preconditioner(MoosePreconditioner::_communicator);
202 
203  // we have to explicitly set the matrix in the preconditioner, because h-adaptivity could have
204  // changed it and we have to work with the current one
205  Preconditioner<Number> * preconditioner = _preconditioners[system_var].get();
206  preconditioner->set_matrix(*u_system.matrix);
207  preconditioner->set_type(_pre_type[system_var]);
208 
209  preconditioner->init();
210  }
211 }

◆ isParamValid()

bool MooseObject::isParamValid ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 100 of file MooseObject.h.

100 { return _pars.isParamValid(name); }

Referenced by AdvancedOutput::AdvancedOutput(), BicubicSplineFunction::BicubicSplineFunction(), GeneratedMesh::buildMesh(), DistributedGeneratedMesh::buildMesh(), CartesianMeshGenerator::CartesianMeshGenerator(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), CSVReader::CSVReader(), DGKernelBase::DGKernelBase(), MultiAppNearestNodeTransfer::execute(), Executioner::Executioner(), Exodus::Exodus(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), ExtraNodesetGenerator::generate(), RenameBoundaryGenerator::generate(), RenameBlockGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementSubdomainIDGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshSideSetGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MultiAppNearestNodeTransfer::getLocalEntities(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMesh(), MultiAppNearestNodeTransfer::getNearestNode(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionScalarAux::initialSetup(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), MatDiffusionBase< Real >::MatDiffusionBase(), MeshGeneratorMesh::MeshGeneratorMesh(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), LowerDBlockFromSideset::modify(), AssignElementSubdomainID::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), SubdomainBoundingBox::modify(), MooseMesh::MooseMesh(), EigenExecutionerBase::normalizeSolution(), Output::Output(), PetscOutput::PetscOutput(), PiecewiseBase::PiecewiseBase(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

◆ mooseDeprecated()

template<typename... Args>
void MooseObject::mooseDeprecated ( Args &&...  args) const
inlineinherited

Definition at line 156 of file MooseObject.h.

157  {
158  moose::internal::mooseDeprecatedStream(_console, false, std::forward<Args>(args)...);
159  }

Referenced by FEProblemBase::addArrayVariable(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::addScalarVariable(), FEProblemBase::addVariable(), ADFunctionPresetBC< compute_stage >::ADFunctionPresetBC(), ADPresetBC< compute_stage >::ADPresetBC(), ADPresetNodalBC< compute_stage >::ADPresetNodalBC(), FEProblemBase::advanceMultiApps(), MultiApp::appProblem(), MooseMesh::buildSideList(), ChangeOverTimestepPostprocessor::ChangeOverTimestepPostprocessor(), FEProblemBase::computeResidual(), MaterialBase::declarePropertyOlderTempl(), MaterialBase::declarePropertyOldTempl(), MooseMesh::elem(), MultiAppTransfer::execFlags(), UserForcingFunction::f(), FaceFaceConstraint< compute_stage >::FaceFaceConstraint(), FunctionDT::FunctionDT(), FunctionPresetBC::FunctionPresetBC(), RandomICBase::generateRandom(), Control::getExecuteOptions(), FEProblemBase::getNonlinearSystem(), Sampler::getSamples(), FEProblemBase::getUserObjects(), FEProblemBase::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValueOld(), MatDiffusionBase< Real >::MatDiffusionBase(), NodalScalarKernel::NodalScalarKernel(), MooseMesh::node(), PercentChangePostprocessor::PercentChangePostprocessor(), PresetBC::PresetBC(), PresetNodalBC::PresetNodalBC(), Sampler::rand(), ReferenceResidualProblem::ReferenceResidualProblem(), MooseMesh::setBoundaryToNormalMap(), Exodus::setOutputDimension(), and UserForcingFunction::UserForcingFunction().

◆ mooseError()

template<typename... Args>
void MooseObject::mooseError ( Args &&...  args) const
inlineinherited

Definition at line 141 of file MooseObject.h.

142  {
143  std::ostringstream oss;
144  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
145  std::string msg = oss.str();
146  callMooseErrorRaw(msg, &_app);
147  }

Referenced by GridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), FEProblemBase::addConstraint(), ADDGKernel< compute_stage >::ADDGKernel(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), FEProblemBase::addOutput(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), MultiAppConservativeTransfer::adjustTransferedSolution(), MultiAppConservativeTransfer::adjustTransferedSolutionNearestPoint(), ADKernelTempl< T, compute_stage >::ADKernelTempl(), ADPiecewiseLinearInterpolationMaterial< compute_stage >::ADPiecewiseLinearInterpolationMaterial(), Output::advancedExecuteOn(), MooseVariableBase::allDofIndices(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayConstantIC::ArrayConstantIC(), ArrayDGKernel::ArrayDGKernel(), ArrayDiffusion::ArrayDiffusion(), ArrayFunctionIC::ArrayFunctionIC(), ArrayReaction::ArrayReaction(), ArrayTimeDerivative::ArrayTimeDerivative(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), PiecewiseBase::buildFromFile(), PiecewiseBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), TiledMesh::buildMesh(), FileMesh::buildMesh(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildMeshBaseObject(), MooseMesh::buildRefinementMap(), MooseMesh::buildSideList(), CartesianMeshGenerator::CartesianMeshGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), SubProblem::checkBoundaryMatProps(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), MaterialBase::checkExecutionStage(), BreakMeshByBlockBase::checkInputParameter(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), ExplicitTimeIntegrator::checkLinearConvergence(), FEProblemBase::checkProblemIntegrity(), MaterialBase::checkStatefulSanity(), FEProblemBase::checkUserObjects(), MultiAppTransfer::checkVariable(), LibmeshPartitioner::clone(), MooseMesh::clone(), ComparisonPostprocessor::comparisonIsTrue(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), KernelBase::computeADOffDiagJacobian(), BlockWeightedPartitioner::computeElementWeight(), ArrayDGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighResidual(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), HistogramVectorPostprocessor::computeHistogram(), ArrayKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), ArrayIntegratedBC::computeJacobianBlock(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), MaterialBase::computeProperties(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), KernelValue::computeQpResidual(), ArrayKernel::computeResidual(), ArrayIntegratedBC::computeResidual(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualType(), StatisticsVectorPostprocessor::computeStatValue(), MaterialBase::computeSubdomainProperties(), ActuallyExplicitEuler::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), CoupledForce::CoupledForce(), CoupledForceNodalKernel::CoupledForceNodalKernel(), SidesetInfoVectorPostprocessor::dataHelper(), DebugResidualAux::DebugResidualAux(), FunctorRelationshipManager::delete_remote_elements(), BicubicSplineFunction::derivative(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), FunctorRelationshipManager::dofmap_reinit(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementIntegerAux::ElementIntegerAux(), ElementQualityAux::ElementQualityAux(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), ElementQualityChecker::execute(), NodalValueSampler::execute(), GreaterThanLessThanPostprocessor::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), InterfaceQpValueUserObject::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), TimeExtremeValue::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFit::execute(), LeastSquaresFitHistory::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), ExplicitSSPRungeKutta::ExplicitSSPRungeKutta(), FileOutput::FileOutput(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), NearestPointIntegralVariablePostprocessor::finalize(), Transfer::find_sys(), BreakMeshByBlockBase::findFreeBoundaryId(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase::FunctionMaterialBase(), ParsedMaterialHelper::functionParse(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), WorkBalance::gather(), ExtraNodesetGenerator::generate(), RenameBoundaryGenerator::generate(), RenameBlockGenerator::generate(), ElementSubdomainIDGenerator::generate(), GeneratedMeshGenerator::generate(), CombinerGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), MeshExtruderGenerator::generate(), StackGenerator::generate(), SpiralAnnularMeshGenerator::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), RandomICBase::generateRandom(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), DisplacedProblem::getArrayVariable(), FEProblemBase::getArrayVariable(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), Control::getControllableParameterByName(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), GhostingUserObject::getElementalValue(), ElementGenerator::getElemType(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), DistributedGeneratedMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), AnnularMesh::getMinInDimension(), DistributedGeneratedMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMesh::GetPixelInfo(), ImageMeshGenerator::GetPixelInfo(), InterfaceQpValueUserObject::getQpValue(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObjectBase(), FEProblemBase::getUserObjectTempl(), NumRelationshipManagers::getValue(), PerformanceData::getValue(), Residual::getValue(), PerfGraphData::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), SubProblem::getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), GhostingAux::GhostingAux(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Transient::init(), MooseMesh::init(), Sampler::init(), FEProblemBase::init(), NumPicardIterations::initialize(), PiecewiseLinearBase::initialSetup(), FullSolveMultiApp::initialSetup(), ReferenceResidualProblem::initialSetup(), MultiAppConservativeTransfer::initialSetup(), SolutionScalarAux::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InterfaceTimeKernel::InterfaceTimeKernel(), AugmentSparsityOnInterface::internalInit(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), LayeredSideIntegral::LayeredSideIntegral(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), LowerBoundNodalKernel::LowerBoundNodalKernel(), PNGOutput::makePNG(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), SubProblem::meshChanged(), MeshExtruder::MeshExtruder(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshSideSetGenerator::MeshSideSetGenerator(), SideSetsFromNormals::modify(), SideSetsFromPoints::modify(), AddExtraNodeset::modify(), BreakMeshByBlockBase::modify(), MeshExtruder::modify(), AssignElementSubdomainID::modify(), SmoothMesh::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), OrientedSubdomainBoundingBox::modify(), BoundingBoxNodeSet::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), MooseGhostPointNeighbors::MooseGhostPointNeighbors(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), RenameBlockGenerator::newBlockID(), RenameBlock::newBlockID(), RenameBlockGenerator::newBlockName(), RenameBlock::newBlockName(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), NodalScalarKernel::NodalScalarKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), XDA::output(), SolutionHistory::output(), Exodus::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::paramError(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), PhysicsBasedPreconditioner(), PiecewiseBase::PiecewiseBase(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), Eigenvalue::postSolve(), Predictor::Predictor(), Transient::preExecute(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), DerivativeParsedMaterialHelper::recurseDerivative(), FunctorRelationshipManager::redistribute(), ReferenceResidualProblem::ReferenceResidualProblem(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), PiecewiseBase::setData(), EigenProblem::setEigenproblemType(), FEProblemSolve::setInnerSolve(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Exodus::setOutputDimensionInExodusWriter(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPoints::SideSetsFromPoints(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), PicardSolve::solve(), FullSolveMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), NearestPointIntegralVariablePostprocessor::spatialValue(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), MaterialBase::subdomainSetup(), Console::systemInfoFlags(), TagMatrixAux::TagMatrixAux(), TagVectorAux::TagVectorAux(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), TiledMeshGenerator::TiledMeshGenerator(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppFieldTransfer::transfer(), MultiAppMeshFunctionTransfer::transferVariable(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), FEProblemBase::uDotDotOldRequested(), MooseVariableScalar::uDotOld(), FEProblemBase::uDotOldRequested(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), UpperBoundNodalKernel::UpperBoundNodalKernel(), NearestPointIntegralVariablePostprocessor::userObjectValue(), BoundingBoxIC::value(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorNodalBC::VectorNodalBC(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), VolumeHistogram::VolumeHistogram(), VTKOutput::VTKOutput(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

◆ mooseInfo()

template<typename... Args>
void MooseObject::mooseInfo ( Args &&...  args) const
inlineinherited

◆ mooseWarning()

template<typename... Args>
void MooseObject::mooseWarning ( Args &&...  args) const
inlineinherited

◆ name()

virtual const std::string& MooseObject::name ( ) const
inlinevirtualinherited

Get the name of the object.

Returns
The name of the object TODO:MooseVariableToMooseObject (see #10601)

Reimplemented in MooseVariableBase.

Definition at line 70 of file MooseObject.h.

70 { return _name; }

Referenced by GridPartitioner::_do_partition(), FEProblemBase::addADJacobianInterfaceMaterial(), FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADKernel(), FEProblemBase::addADResidualInterfaceMaterial(), FEProblemBase::addADResidualMaterial(), Executioner::addAttributeReporter(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), ADDGKernel< compute_stage >::ADDGKernel(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), ADKernelTempl< T, compute_stage >::ADKernelTempl(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), DerivativeParsedMaterialHelper::assembleDerivatives(), AStableDirk4::AStableDirk4(), Function::average(), MultiApp::backup(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), MaterialBase::checkStatefulSanity(), CoarsenedPiecewiseLinear::CoarsenedPiecewiseLinear(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), MaterialBase::computeSubdomainProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MultiApp::createApp(), MeshGenerator::declareMeshProperty(), FEProblemBase::declareVectorPostprocessorVector(), DOFMapOutput::demangle(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DumpObjectsProblem::dumpObjectHelper(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), StatisticsVectorPostprocessor::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), PointValue::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppNearestNodeTransfer::execute(), HistogramVectorPostprocessor::execute(), MultiAppProjectionTransfer::execute(), Exodus::Exodus(), FancyExtruderGenerator::FancyExtruderGenerator(), MultiApp::fillPositions(), PointSamplerBase::finalize(), FunctionDT::FunctionDT(), FunctionPresetBC::FunctionPresetBC(), GeneralUserObject::GeneralUserObject(), LowerDBlockFromSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), StitchedMeshGenerator::generate(), Material::getADMaterialPropertyTempl(), MultiApp::getBoundingBox(), MooseObject::getCheckedPointerParam(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), FEProblemBase::getInterfaceMaterial(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), FEProblemBase::getMaterial(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), Material::getMaterialPropertyOlderTempl(), InterfaceMaterial::getMaterialPropertyOlderTempl(), NodalPatchRecovery::getMaterialPropertyOlderTempl(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOlderTempl(), Material::getMaterialPropertyOldTempl(), InterfaceMaterial::getMaterialPropertyOldTempl(), NodalPatchRecovery::getMaterialPropertyOldTempl(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOldTempl(), Material::getMaterialPropertyTempl(), InterfaceMaterial::getMaterialPropertyTempl(), NodalPatchRecovery::getMaterialPropertyTempl(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyTempl(), MeshGenerator::getMesh(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), InterfaceMaterial::getNeighborMaterialPropertyTempl(), OutputWarehouse::getOutput(), MooseObject::getParamTempl(), GeneralUserObject::getPostprocessorValue(), FEProblemBase::getPostprocessorValue(), GeneralUserObject::getPostprocessorValueByName(), FEProblemBase::getPostprocessorValueOld(), FEProblemBase::getPostprocessorValueOlder(), FEProblemBase::getSampler(), FEProblemBase::getScatterVectorPostprocessorValue(), FEProblemBase::getScatterVectorPostprocessorValueOld(), Transient::getTimeStepperName(), InitialConditionBase::getUserObjectBase(), FEProblemBase::getUserObjectBase(), InitialConditionBase::getUserObjectByNameTempl(), InitialConditionBase::getUserObjectTempl(), FEProblemBase::getUserObjectTempl(), GeneralUserObject::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValue(), GeneralUserObject::getVectorPostprocessorValueByName(), FEProblemBase::getVectorPostprocessorValueOld(), FEProblemBase::hasFunction(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasUserObject(), FEProblemBase::hasVectorPostprocessor(), FEProblemBase::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), CSVReader::initialize(), StatisticsVectorPostprocessor::initialize(), HistogramVectorPostprocessor::initialize(), SolutionScalarAux::initialSetup(), MultiAppProjectionTransfer::initialSetup(), DerivativeFunctionMaterialBase::initialSetup(), MultiApp::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPostprocessorData(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), FEProblemBase::initVectorPostprocessorData(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), Registry::isADObj(), MooseObject::isParamValid(), Registry::isRegisteredObj(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MatDiffusionBase< Real >::MatDiffusionBase(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), MaterialOutputAction::materialOutputHelper(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshSideSetGenerator::MeshSideSetGenerator(), ElementDeleterBase::modify(), MooseVariableInterface< Real >::MooseVariableInterface(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), Registry::objData(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), OversampleOutput::outputStep(), Output::outputStep(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), MultiAppConservativeTransfer::postExecute(), PresetBC::PresetBC(), PresetNodalBC::PresetNodalBC(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialValue(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), SubProblem::storeSubdomainZeroMatProp(), MaterialBase::subdomainSetup(), TaggingInterface::TaggingInterface(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), Function::timeDerivative(), VectorPostprocessorVisualizationAux::timestepSetup(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), and AdvancedOutput::wantOutput().

◆ paramError()

template<typename... Args>
void MooseObject::paramError ( const std::string &  param,
Args...  args 
) const
inherited

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 215 of file MooseObject.h.

216 {
217  Moose::show_trace = false;
218  mooseError(paramErrorMsg(param, std::forward<Args>(args)...));
219  Moose::show_trace = true;
220 }

Referenced by ADDGKernel< compute_stage >::ADDGKernel(), ADIntegratedBCTempl< T, compute_stage >::ADIntegratedBCTempl(), ADKernelTempl< T, compute_stage >::ADKernelTempl(), ADVectorFunctionDirichletBC< compute_stage >::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayDGKernel::ArrayDGKernel(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), BlockWeightedPartitioner::BlockWeightedPartitioner(), checkComponent(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), CombinerGenerator::CombinerGenerator(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), Coupleable::Coupleable(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), Eigenvalue::Eigenvalue(), ElementValueSampler::ElementValueSampler(), Executioner::Executioner(), FancyExtruderGenerator::FancyExtruderGenerator(), RenameBoundaryGenerator::generate(), MeshCollectionGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), CombinerGenerator::generate(), Sampler::getGlobalSamples(), Sampler::getLocalSamples(), Sampler::getNextLocalRow(), MultiApp::init(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), IntegratedBC::IntegratedBC(), InversePowerMethod::InversePowerMethod(), Kernel::Kernel(), PNGOutput::makeMeshFunc(), MeshCollectionGenerator::MeshCollectionGenerator(), MultiAppConservativeTransfer::MultiAppConservativeTransfer(), MultiAppInterpolationTransfer::MultiAppInterpolationTransfer(), MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorToAuxScalarTransfer::MultiAppPostprocessorToAuxScalarTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppProjectionTransfer::MultiAppProjectionTransfer(), MultiAppScalarToAuxScalarTransfer::MultiAppScalarToAuxScalarTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiAppVectorPostprocessorTransfer::MultiAppVectorPostprocessorTransfer(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), PatchMeshGenerator::PatchMeshGenerator(), PatternedMeshGenerator::PatternedMeshGenerator(), PiecewiseFunctionTabulate::PiecewiseFunctionTabulate(), PlaneDeletionGenerator::PlaneDeletionGenerator(), RandomIC::RandomIC(), MooseMesh::setPartitioner(), MultiAppFieldTransfer::transfer(), Transfer::Transfer(), TransientMultiApp::TransientMultiApp(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), and VectorFunctionIC::VectorFunctionIC().

◆ paramErrorMsg()

template<typename... Args>
std::string MooseObject::paramErrorMsg ( const std::string &  param,
Args...  args 
) const
inlineprivateinherited

Definition at line 185 of file MooseObject.h.

186  {
187  auto prefix = paramErrorPrefix(_pars, param);
188  std::ostringstream oss;
189  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
190  std::string msg = oss.str();
191 
192  // Wrap error message to a separate line from prefix if it is about to
193  // blow past 100 chars. But only wrap if the prefix is long enough (12
194  // chars) for the wrap to buy us much extra length.
195  if ((prefix.size() > 12 && msg.size() + prefix.size() > 99) ||
196  msg.find("\n") != std::string::npos)
197  {
198  if (prefix.size() > 0 && prefix[prefix.size() - 1] != ':')
199  prefix += ":";
200  return prefix + "\n " + MooseUtils::replaceAll(msg, "\n", "\n ");
201  }
202  return prefix + " " + msg;
203  }

Referenced by MooseObject::paramError(), MooseObject::paramInfo(), and MooseObject::paramWarning().

◆ parameters()

const InputParameters& MooseObject::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 76 of file MooseObject.h.

76 { return _pars; }

Referenced by FEProblemBase::addADJacobianInterfaceMaterial(), FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADKernel(), FEProblemBase::addADResidualInterfaceMaterial(), FEProblemBase::addADResidualMaterial(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial< compute_stage >::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), ADVectorFunctionDirichletBC< compute_stage >::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), assemble_l2(), Moose::assemble_matrix(), AuxKernelTempl< ComputeValueType >::AuxKernelTempl(), AuxScalarKernel::AuxScalarKernel(), BoundsAux::BoundsAux(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), Console::Console(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Exodus::Exodus(), FEProblem::FEProblem(), GapValueAux::GapValueAux(), MooseObject::getCheckedPointerParam(), GhostingUserObject::GhostingUserObject(), MooseMesh::init(), BlockRestrictable::initializeBlockRestrictable(), FEProblemBase::initNullSpaceVectors(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), isValid(), LayeredSideIntegral::LayeredSideIntegral(), MooseVariableInterface< Real >::MooseVariableInterface(), NodeFaceConstraint::NodeFaceConstraint(), PatchMeshGenerator::PatchMeshGenerator(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), MultiAppProjectionTransfer::projectSolution(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), EigenProblem::scaleEigenvector(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), DumpObjectsProblem::stringifyParameters(), Transient::Transient(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), and VectorFunctionIC::VectorFunctionIC().

◆ paramInfo()

template<typename... Args>
void MooseObject::paramInfo ( const std::string &  param,
Args...  args 
) const
inherited

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 231 of file MooseObject.h.

232 {
233  mooseInfo(paramErrorMsg(param, std::forward<Args>(args)...));
234 }

Referenced by TransientMultiApp::TransientMultiApp().

◆ paramWarning()

template<typename... Args>
void MooseObject::paramWarning ( const std::string &  param,
Args...  args 
) const
inherited

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 224 of file MooseObject.h.

225 {
226  mooseWarning(paramErrorMsg(param, std::forward<Args>(args)...));
227 }

Referenced by Executioner::Executioner().

◆ registerRestartableDataOnApp()

RestartableDataValue & Restartable::registerRestartableDataOnApp ( const std::string &  name,
std::unique_ptr< RestartableDataValue data,
THREAD_ID  tid 
)
privateinherited

Helper function for actually registering the restartable data.

Definition at line 48 of file Restartable.C.

51 {
52  return _restartable_app.registerRestartableData(name, std::move(data), tid, false, false);
53 }

Referenced by Restartable::declareRestartableDataWithContext().

◆ registerRestartableNameWithFilterOnApp()

void Restartable::registerRestartableNameWithFilterOnApp ( const std::string &  name,
Moose::RESTARTABLE_FILTER  filter 
)
privateinherited

Helper function for actually registering the restartable data.

Definition at line 56 of file Restartable.C.

58 {
60 }

Referenced by Restartable::declareRecoverableData().

◆ registerTimedSection()

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
)
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
Returns
The ID of the section - use when starting timing

Definition at line 51 of file PerfGraphInterface.C.

52 {
53  if (_prefix != "")
54  return _perf_graph.registerSection(_prefix + "::" + section_name, level);
55  else
56  return _perf_graph.registerSection(section_name, level);
57 }

◆ setup()

void PhysicsBasedPreconditioner::setup ( )
virtual

This is called every time the "operator might have changed".

This is essentially where you need to fill in your preconditioning matrix.

Definition at line 214 of file PhysicsBasedPreconditioner.C.

215 {
216  const unsigned int num_systems = _systems.size();
217 
218  std::vector<JacobianBlock *> blocks;
219 
220  // Loop over variables
221  for (unsigned int system_var = 0; system_var < num_systems; system_var++)
222  {
223  LinearImplicitSystem & u_system = *_systems[system_var];
224 
225  {
226  JacobianBlock * block = new JacobianBlock(u_system, *u_system.matrix, system_var, system_var);
227  blocks.push_back(block);
228  }
229 
230  for (unsigned int diag = 0; diag < _off_diag[system_var].size(); diag++)
231  {
232  unsigned int coupled_var = _off_diag[system_var][diag];
233  std::string coupled_name = _nl.system().variable_name(coupled_var);
234 
235  JacobianBlock * block =
236  new JacobianBlock(u_system, *_off_diag_mats[system_var][diag], system_var, coupled_var);
237  blocks.push_back(block);
238  }
239  }
240 
242 
243  // cleanup
244  for (auto & block : blocks)
245  delete block;
246 }

◆ type()

const std::string& MooseObject::type ( ) const
inlineinherited

Get the type of this object.

Returns
the name of the type of this object

Definition at line 63 of file MooseObject.h.

63 { return _type; }

Referenced by FEProblemBase::addArrayVariable(), FEProblemBase::addAuxArrayVariable(), DumpObjectsProblem::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), DumpObjectsProblem::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), DumpObjectsProblem::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), DumpObjectsProblem::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), DumpObjectsProblem::addKernel(), DumpObjectsProblem::addMaterial(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarVariable(), addSystem(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addVariable(), FEProblemBase::advanceMultiApps(), FEProblemBase::backupMultiApps(), MooseMesh::buildRefinementAndCoarseningMaps(), FEProblemBase::computeAuxiliaryKernels(), DGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), FEProblemBase::computeMultiAppsDT(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), DGConvection::computeQpJacobian(), ArrayDGDiffusion::computeQpJacobian(), InterfaceReaction::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), DGConvection::computeQpResidual(), ArrayDGDiffusion::computeQpResidual(), InterfaceReaction::computeQpResidual(), TiedValueConstraint::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), EqualValueEmbeddedConstraint::computeQpResidual(), FEProblemBase::computeUserObjectByName(), FEProblemBase::computeUserObjects(), FEProblemBase::computeUserObjectsInternal(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finishMultiAppStep(), ElementSubdomainIDGenerator::generate(), ElementGenerator::getElemType(), FEProblemBase::getInterfaceMaterial(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), FEProblemBase::getTransfers(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), AssignElementSubdomainID::modify(), ControlOutput::output(), Gnuplot::output(), CSV::output(), Exodus::output(), Console::output(), Nemesis::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), FEProblemBase::restoreMultiApps(), FEProblemBase::setCoupling(), PerfGraphOutput::shouldOutput(), FileOutput::shouldOutput(), Output::shouldOutput(), AdvancedOutput::shouldOutput(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), and AdvancedOutput::wantOutput().

◆ validParams()

InputParameters PhysicsBasedPreconditioner::validParams ( )
static

Constructor.

Initializes PhysicsBasedPreconditioner data structures

Definition at line 36 of file PhysicsBasedPreconditioner.C.

37 {
39 
40  params.addRequiredParam<std::vector<std::string>>(
41  "solve_order",
42  "The order the block rows will be solved in. Put the name of variables here "
43  "to stand for solving that variable's block row. A variable may appear more "
44  "than once (to create cylces if you like).");
45  params.addRequiredParam<std::vector<std::string>>("preconditioner", "TODO: docstring");
46 
47  params.addParam<std::vector<std::string>>(
48  "off_diag_row",
49  "The off diagonal row you want to add into the matrix, it will be associated "
50  "with an off diagonal column from the same position in off_diag_colum.");
51  params.addParam<std::vector<std::string>>("off_diag_column",
52  "The off diagonal column you want to add into the "
53  "matrix, it will be associated with an off diagonal "
54  "row from the same position in off_diag_row.");
55 
56  return params;
57 }

Member Data Documentation

◆ _app

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 172 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), FEProblemBase::addOutput(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), MooseMesh::buildMeshBaseObject(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), MeshGenerator::declareMeshProperty(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), NonlinearEigen::execute(), InversePowerMethod::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MeshGenerator::getMesh(), MeshGenerator::getMeshByName(), MooseObject::getMooseApp(), NumRelationshipManagers::getValue(), GhostingUserObject::GhostingUserObject(), NonlinearEigen::init(), InversePowerMethod::init(), Transient::init(), Steady::init(), MooseMesh::init(), NumPicardIterations::initialize(), TimePeriod::initialSetup(), Console::initialSetup(), MultiApp::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutput(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), ElementSideNeighborLayers::internalInit(), MeshGeneratorMesh::MeshGeneratorMesh(), MooseObject::mooseError(), EigenExecutionerBase::normalizeSolution(), AugmentSparsityOnInterface::operator()(), PerfGraphOutput::output(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), Eigenvalue::postSolve(), Transient::preExecute(), FEProblemBase::projectSolution(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

◆ _apply_timer

PerfID PhysicsBasedPreconditioner::_apply_timer
protected

Definition at line 101 of file PhysicsBasedPreconditioner.h.

Referenced by apply().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 31 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), SimplePredictor::apply(), MultiApp::backup(), FEProblemBase::backupMultiApps(), ReferenceResidualProblem::checkNonlinearConvergence(), FEProblemBase::checkProblemIntegrity(), CoarsenedPiecewiseLinear::CoarsenedPiecewiseLinear(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), NonlinearSystem::computeScaling(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), Steady::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), PerfGraphOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), MultiAppConservativeTransfer::postExecute(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), AutomaticMortarGeneration::projectMasterNodesSinglePair(), AutomaticMortarGeneration::projectSlaveNodesSinglePair(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), PicardSolve::solve(), NonlinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), PicardSolve::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Transient::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.

Definition at line 181 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _fe_problem

FEProblemBase& MoosePreconditioner::_fe_problem
protectedinherited

◆ _init_timer

PerfID PhysicsBasedPreconditioner::_init_timer
protected

Timers.

Definition at line 100 of file PhysicsBasedPreconditioner.h.

Referenced by init().

◆ _name

const std::string& MooseObject::_name
protectedinherited

◆ _nl

NonlinearSystemBase& PhysicsBasedPreconditioner::_nl
protected

The nonlinear system this PBP is associated with (convenience reference)

Definition at line 78 of file PhysicsBasedPreconditioner.h.

Referenced by addSystem(), apply(), PhysicsBasedPreconditioner(), and setup().

◆ _off_diag

std::vector<std::vector<unsigned int> > PhysicsBasedPreconditioner::_off_diag
protected

Holds which off diagonal blocks to compute.

Definition at line 88 of file PhysicsBasedPreconditioner.h.

Referenced by addSystem(), apply(), PhysicsBasedPreconditioner(), and setup().

◆ _off_diag_mats

std::vector<std::vector<SparseMatrix<Number> *> > PhysicsBasedPreconditioner::_off_diag_mats
protected

Holds pointers to the off-diagonal matrices.

This is in the same order as _off_diag.

This is really just for convenience so we don't have to keep looking this thing up through it's name.

Definition at line 97 of file PhysicsBasedPreconditioner.h.

Referenced by addSystem(), apply(), PhysicsBasedPreconditioner(), and setup().

◆ _pars

const InputParameters& MooseObject::_pars
protectedinherited

◆ _perf_graph

PerfGraph& PerfGraphInterface::_perf_graph
protectedinherited

The performance graph to add to.

Definition at line 67 of file PerfGraphInterface.h.

Referenced by PerfGraphData::getValue(), and PerfGraphInterface::registerTimedSection().

◆ _pg_params

const InputParameters* PerfGraphInterface::_pg_params
protectedinherited

Params.

Definition at line 64 of file PerfGraphInterface.h.

◆ _pre_type

std::vector<PreconditionerType> PhysicsBasedPreconditioner::_pre_type
protected

Which preconditioner to use for each solve.

Definition at line 86 of file PhysicsBasedPreconditioner.h.

Referenced by addSystem(), init(), and PhysicsBasedPreconditioner().

◆ _preconditioners

std::vector<std::unique_ptr<Preconditioner<Number> > > PhysicsBasedPreconditioner::_preconditioners
protected

Holds one Preconditioner object per small system to solve.

Definition at line 82 of file PhysicsBasedPreconditioner.h.

Referenced by apply(), init(), and PhysicsBasedPreconditioner().

◆ _prefix

std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 70 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::registerTimedSection().

◆ _restartable_app

MooseApp& Restartable::_restartable_app
privateinherited

Reference to the application.

Definition at line 208 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp(), and Restartable::registerRestartableNameWithFilterOnApp().

◆ _restartable_name

std::string Restartable::_restartable_name
privateinherited

◆ _restartable_system_name

std::string Restartable::_restartable_system_name
privateinherited

The system name this object is in.

Definition at line 214 of file Restartable.h.

Referenced by Restartable::declareRecoverableData(), and Restartable::declareRestartableDataWithContext().

◆ _restartable_tid

THREAD_ID Restartable::_restartable_tid
privateinherited

The thread ID for this object.

Definition at line 217 of file Restartable.h.

Referenced by Restartable::declareRestartableDataWithContext().

◆ _solve_order

std::vector<unsigned int> PhysicsBasedPreconditioner::_solve_order
protected

Holds the order the blocks are solved for.

Definition at line 84 of file PhysicsBasedPreconditioner.h.

Referenced by apply(), init(), and PhysicsBasedPreconditioner().

◆ _systems

std::vector<LinearImplicitSystem *> PhysicsBasedPreconditioner::_systems
protected

List of linear system that build up the preconditioner.

Definition at line 80 of file PhysicsBasedPreconditioner.h.

Referenced by addSystem(), apply(), init(), PhysicsBasedPreconditioner(), and setup().

◆ _type

const std::string& MooseObject::_type
protectedinherited

The type of this object (the Class name)

Definition at line 175 of file MooseObject.h.

Referenced by FEProblemBase::init(), and MooseObject::type().


The documentation for this class was generated from the following files:
InputParameters::getParamHelper
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
Definition: InputParameters.h:1517
PerfGraphInterface::_perf_graph
PerfGraph & _perf_graph
The performance graph to add to.
Definition: PerfGraphInterface.h:67
MooseObject::mooseInfo
void mooseInfo(Args &&... args) const
Definition: MooseObject.h:162
SystemBase::getVariable
MooseVariableFEBase & getVariable(THREAD_ID tid, const std::string &var_name)
Gets a reference to a variable of with specified name.
Definition: SystemBase.C:109
MoosePreconditioner::validParams
static InputParameters validParams()
Definition: MoosePreconditioner.C:21
moose::internal::mooseStreamAll
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:88
PhysicsBasedPreconditioner::_systems
std::vector< LinearImplicitSystem * > _systems
List of linear system that build up the preconditioner.
Definition: PhysicsBasedPreconditioner.h:80
MooseObject::mooseError
void mooseError(Args &&... args) const
Definition: MooseObject.h:141
PhysicsBasedPreconditioner::_off_diag
std::vector< std::vector< unsigned int > > _off_diag
Holds which off diagonal blocks to compute.
Definition: PhysicsBasedPreconditioner.h:88
PhysicsBasedPreconditioner::_solve_order
std::vector< unsigned int > _solve_order
Holds the order the blocks are solved for.
Definition: PhysicsBasedPreconditioner.h:84
MooseObject::_type
const std::string & _type
The type of this object (the Class name)
Definition: MooseObject.h:175
Restartable::_restartable_name
std::string _restartable_name
The name of the object.
Definition: Restartable.h:211
MoosePreconditioner::_fe_problem
FEProblemBase & _fe_problem
Subproblem this preconditioner is part of.
Definition: MoosePreconditioner.h:56
MoosePreconditioner::copyVarValues
static void copyVarValues(MeshBase &mesh, const unsigned int from_system, const unsigned int from_var, const NumericVector< Number > &from_vector, const unsigned int to_system, const unsigned int to_var, NumericVector< Number > &to_vector)
Helper function for copying values associated with variables in vectors from two different systems.
Definition: MoosePreconditioner.C:52
nl
NonlinearSystemBase * nl
Definition: PetscDMMoose.C:1267
MooseObject::type
const std::string & type() const
Get the type of this object.
Definition: MooseObject.h:63
PhysicsBasedPreconditioner::_pre_type
std::vector< PreconditionerType > _pre_type
Which preconditioner to use for each solve.
Definition: PhysicsBasedPreconditioner.h:86
PhysicsBasedPreconditioner::_nl
NonlinearSystemBase & _nl
The nonlinear system this PBP is associated with (convenience reference)
Definition: PhysicsBasedPreconditioner.h:78
Restartable::registerRestartableDataOnApp
RestartableDataValue & registerRestartableDataOnApp(const std::string &name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid)
Helper function for actually registering the restartable data.
Definition: Restartable.C:48
InputParameters::addParam
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object.
Definition: InputParameters.h:1198
PerfGraph::registerSection
PerfID registerSection(const std::string &section_name, unsigned int level)
Registers a named section of code.
Definition: PerfGraph.C:45
MooseObject::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:76
SystemBase::nVariables
virtual unsigned int nVariables() const
Get the number of variables in this system.
Definition: SystemBase.C:734
MooseObject::_enabled
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:181
RestartableData::set
T & set()
Definition: RestartableData.h:97
moose::internal::mooseInfoStream
void mooseInfoStream(S &oss, Args &&... args)
Definition: MooseError.h:165
PhysicsBasedPreconditioner::_init_timer
PerfID _init_timer
Timers.
Definition: PhysicsBasedPreconditioner.h:100
ConsoleStreamInterface::_console
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
Definition: ConsoleStreamInterface.h:31
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
MoosePreconditioner::MoosePreconditioner
MoosePreconditioner(const InputParameters &params)
Definition: MoosePreconditioner.C:40
moose::internal::mooseDeprecatedStream
void mooseDeprecatedStream(S &oss, bool expired, Args &&... args)
Definition: MooseError.h:177
x
static PetscErrorCode Vec x
Definition: PetscDMMoose.C:1263
PerfGraphInterface::_prefix
std::string _prefix
A prefix to use for all sections.
Definition: PerfGraphInterface.h:70
paramErrorPrefix
std::string paramErrorPrefix(const InputParameters &params, const std::string &param)
Generates a canonical paramError prefix for param-related error/warning/info messages.
Definition: MooseObject.C:24
PerfGraphInterface::registerTimedSection
PerfID registerTimedSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
Definition: PerfGraphInterface.C:51
PhysicsBasedPreconditioner::addSystem
void addSystem(unsigned int var, std::vector< unsigned int > off_diag, PreconditionerType type=AMG_PRECOND)
Add a diagonal system + possibly off-diagonals ones as well, also specifying type of preconditioning.
Definition: PhysicsBasedPreconditioner.C:149
FEProblemBase::computeJacobianBlocks
virtual void computeJacobianBlocks(std::vector< JacobianBlock * > &blocks)
Computes several Jacobian blocks simultaneously, summing their contributions into smaller preconditio...
Definition: FEProblemBase.C:5276
InputParameters::isParamValid
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another,...
Definition: InputParameters.C:257
PhysicsBasedPreconditioner::_off_diag_mats
std::vector< std::vector< SparseMatrix< Number > * > > _off_diag_mats
Holds pointers to the off-diagonal matrices.
Definition: PhysicsBasedPreconditioner.h:97
MooseApp::registerRestartableData
RestartableDataValue & registerRestartableData(const std::string &name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool mesh_meta_data, bool read_only)
Definition: MooseApp.C:1156
callMooseErrorRaw
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:70
PhysicsBasedPreconditioner::_apply_timer
PerfID _apply_timer
Definition: PhysicsBasedPreconditioner.h:101
NonlinearSystemBase::system
virtual System & system() override
Get the reference to the libMesh system.
Definition: NonlinearSystemBase.h:618
PhysicsBasedPreconditioner::clear
virtual void clear()
Release all memory and clear data structures.
Definition: PhysicsBasedPreconditioner.C:312
FEProblemBase::solverParams
SolverParams & solverParams()
Get the solver parameters.
Definition: FEProblemBase.C:6313
PhysicsBasedPreconditioner::_preconditioners
std::vector< std::unique_ptr< Preconditioner< Number > > > _preconditioners
Holds one Preconditioner object per small system to solve.
Definition: PhysicsBasedPreconditioner.h:82
MooseUtils::replaceAll
std::string replaceAll(std::string str, const std::string &from, const std::string &to)
Replaces all occurences of from in str with to and returns the result.
Definition: MooseUtils.C:45
InputParameters::getCheckedPointerParam
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller.
Definition: InputParameters.h:1162
SystemBase::getVariableBlocks
virtual const std::set< SubdomainID > * getVariableBlocks(unsigned int var_number)
Get the block where a variable of this system is defined.
Definition: SystemBase.C:161
JacobianBlock
Helper class for holding the preconditioning blocks to fill.
Definition: ComputeJacobianBlocksThread.h:20
Moose::ST_JFNK
Jacobian-Free Newton Krylov.
Definition: MooseTypes.h:727
MooseMesh
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
Restartable::_restartable_app
MooseApp & _restartable_app
Reference to the application.
Definition: Restartable.h:208
Restartable::_restartable_tid
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:217
FEProblemBase::getNonlinearSystemBase
NonlinearSystemBase & getNonlinearSystemBase()
Definition: FEProblemBase.h:560
FEProblemBase::es
virtual EquationSystems & es() override
Definition: FEProblemBase.h:147
Moose::show_trace
bool show_trace
Set to true (the default) to print the stack trace with error and warning messages - false to omit it...
Definition: Moose.C:572
Moose::RESTARTABLE_FILTER::RECOVERABLE
FEProblemBase::setCouplingMatrix
void setCouplingMatrix(std::unique_ptr< CouplingMatrix > cm)
Set custom coupling matrix.
Definition: FEProblemBase.C:4462
MooseApp::registerRestartableNameWithFilter
void registerRestartableNameWithFilter(const std::string &name, Moose::RESTARTABLE_FILTER filter)
NOTE: This is an internal function meant for MOOSE use only!
Definition: MooseApp.C:972
MooseObject::_name
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:178
MooseObject::_pars
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:169
moose::internal::mooseWarningStream
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:136
NonlinearSystemBase::nonlinearSolver
virtual NonlinearSolver< Number > * nonlinearSolver()=0
NonlinearSystemBase
Nonlinear system to be solved.
Definition: NonlinearSystemBase.h:61
RestartableData
Concrete definition of a parameter value for a specified type.
Definition: RestartableData.h:76
InputParameters::addRequiredParam
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
Definition: InputParameters.h:1176
MooseObject::_app
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:172
Restartable::_restartable_system_name
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:214
FEProblemBase::mesh
virtual MooseMesh & mesh() override
Definition: FEProblemBase.h:148
MooseObject::mooseWarning
void mooseWarning(Args &&... args) const
Definition: MooseObject.h:150
MooseObject::paramErrorMsg
std::string paramErrorMsg(const std::string &param, Args... args) const
Definition: MooseObject.h:185
MooseObject::name
virtual const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:70
RestartableData::get
T & get()
Definition: RestartableData.h:92
Restartable::registerRestartableNameWithFilterOnApp
void registerRestartableNameWithFilterOnApp(const std::string &name, Moose::RESTARTABLE_FILTER filter)
Helper function for actually registering the restartable data.
Definition: Restartable.C:56
SolverParams::_type
Moose::SolveType _type
Definition: SolverParams.h:19
MooseVariableBase::number
unsigned int number() const
Get variable number coming from libMesh.
Definition: MooseVariableBase.h:48