https://mooseframework.inl.gov
ConvergenceIterationTypes.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 #include "MooseUtils.h"
12 
13 namespace moose
14 {
15 namespace internal
16 {
17 
18 ConvergenceIterationTypeRegistry &
20 {
21  static ConvergenceIterationTypeRegistry conv_iter_type_registry;
22  return conv_iter_type_registry;
23 }
24 
27 {
28  const auto name_upper = MooseUtils::toUpper(name);
29 
30  const auto type_iter = _types.find(name_upper);
31  if (type_iter != _types.items().end())
32  {
33  // Assume that this is not a duplicate name, but a "double registration" due
34  // to the dynamic load functionality.
35  return *type_iter;
36  }
37  else
38  return _types.addConvergenceIterationType(name_upper);
39 }
40 
41 } // internal
42 } // moose
43 
45 {
47 registerType(const std::string & it_type)
48 {
50 }
51 }
std::string name(const ElemQuality q)
ConvergenceIterationTypeEnum _types
The registered types.
const std::set< MooseEnumItem > & items() const
Return the complete set of available flags.
Definition: MooseEnumBase.h:93
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
static ConvergenceIterationTypeRegistry & getRegistry()
Return Singleton instance.
const MooseEnumItem & addConvergenceIterationType(const std::string &raw_name)
Add a new Convergence iteration type.
Class for containing MooseEnum item information.
Definition: MooseEnumItem.h:18
const Convergence::IterationType & registerType(const std::string &name)
Registers a Convergence iteration type.
Registry for Convergence iteration types.
const Convergence::IterationType & registerType(const std::string &it_type)
Registers a Convergence iteration type to the registry.
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const
Locate an item.