Cardinal
Loading...
Searching...
No Matches
CardinalProblem.h
Go to the documentation of this file.
1/********************************************************************/
2/* SOFTWARE COPYRIGHT NOTIFICATION */
3/* Cardinal */
4/* */
5/* (c) 2021 UChicago Argonne, LLC */
6/* ALL RIGHTS RESERVED */
7/* */
8/* Prepared by UChicago Argonne, LLC */
9/* Under Contract No. DE-AC02-06CH11357 */
10/* With the U. S. Department of Energy */
11/* */
12/* Prepared by Battelle Energy Alliance, LLC */
13/* Under Contract No. DE-AC07-05ID14517 */
14/* With the U. S. Department of Energy */
15/* */
16/* See LICENSE for full restrictions */
17/********************************************************************/
18
19#pragma once
20
21#include "ExternalProblem.h"
22
26class CardinalProblem : public ExternalProblem
27{
28public:
29 CardinalProblem(const InputParameters & params);
30
31 static InputParameters validParams();
32
38 template <typename T>
39 void checkDuplicateEntries(const std::vector<T> & var, const std::string & name) const
40 {
41 std::set<T> set_var;
42 for (const auto & v : var)
43 {
44 if (set_var.count(v))
45 mooseError("Entries cannot be repeated in '" + name + "'!");
46 set_var.insert(v);
47 }
48 }
49
56 void checkDuplicateVariableName(const std::string & name, const std::string & system) const;
57
64 bool stringHasEnding(std::string const & full, std::string const & ending) const;
65};
Definition CardinalProblem.h:27
void checkDuplicateVariableName(const std::string &name, const std::string &system) const
Definition CardinalProblem.C:53
bool stringHasEnding(std::string const &full, std::string const &ending) const
Definition CardinalProblem.C:81
static InputParameters validParams()
Definition CardinalProblem.C:23
void checkDuplicateEntries(const std::vector< T > &var, const std::string &name) const
Definition CardinalProblem.h:39