MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_VerbosityLevel.cpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// MueLu: A package for multigrid based preconditioning
4
//
5
// Copyright 2012 NTESS and the MueLu contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#include "
MueLu_VerbosityLevel.hpp
"
11
#include "
MueLu_Exceptions.hpp
"
12
#include "MueLu_Utilities.hpp"
13
#include <string>
14
#include <locale>
15
16
namespace
MueLu
{
17
18
VerbLevel
toMueLuVerbLevel
(
const
Teuchos::EVerbosityLevel verbLevel) {
19
switch
(verbLevel) {
20
case
Teuchos::VERB_NONE:
21
return
None
;
22
case
Teuchos::VERB_DEFAULT:
23
return
Default
;
24
case
Teuchos::VERB_LOW:
25
return
Low
;
26
case
Teuchos::VERB_MEDIUM:
27
return
Medium
;
28
case
Teuchos::VERB_HIGH:
29
return
High
;
30
case
Teuchos::VERB_EXTREME:
31
return
Extreme
;
32
default
:
33
TEUCHOS_TEST_FOR_EXCEPTION(
true
,
Exceptions::RuntimeError
,
"Unknown enum value found."
);
34
}
35
}
36
37
std::string
38
lowerCase
(
const
std::string& s) {
39
typedef
std::string::value_type char_t;
40
typedef
std::ctype<char_t> facet_type;
41
const
facet_type& facet = std::use_facet<facet_type>(std::locale());
42
43
const
std::string::size_type len = s.size();
44
std::string s_lc(s);
45
for
(std::string::size_type k = 0; k < len; ++k) {
46
s_lc[k] = facet.tolower(s[k]);
47
}
48
49
return
s_lc;
50
}
51
52
MsgType
toVerbLevel
(
const
std::string& verbLevelStr) {
53
std::map<std::string, MsgType> verbMap;
54
// for developers
55
verbMap[
"errors"
] =
Errors
;
56
verbMap[
"warnings0"
] =
Warnings0
;
57
verbMap[
"warnings00"
] =
Warnings00
;
58
verbMap[
"warnings1"
] =
Warnings1
;
59
verbMap[
"perfWarnings"
] =
PerfWarnings
;
60
verbMap[
"runtime0"
] =
Runtime0
;
61
verbMap[
"runtime1"
] =
Runtime1
;
62
verbMap[
"runtimeTimings"
] =
RuntimeTimings
;
63
verbMap[
"noTimeReport"
] =
NoTimeReport
;
64
verbMap[
"parameters0"
] =
Parameters0
;
65
verbMap[
"parameters1"
] =
Parameters1
;
66
verbMap[
"statistics0"
] =
Statistics0
;
67
verbMap[
"statistics1"
] =
Statistics1
;
68
verbMap[
"timings0"
] =
Timings0
;
69
verbMap[
"timings1"
] =
Timings1
;
70
verbMap[
"timingsByLevel"
] =
TimingsByLevel
;
71
verbMap[
"external"
] =
External
;
72
verbMap[
"developer"
] =
Developer
;
73
verbMap[
"debug"
] =
Debug
;
74
verbMap[
"test"
] =
Test
;
75
76
verbMap[
"warnings"
] =
Warnings
;
77
verbMap[
"runtime"
] =
Runtime
;
78
verbMap[
"parameters"
] =
Parameters
;
79
verbMap[
"statistics"
] =
Statistics
;
80
verbMap[
"timings"
] =
Timings
;
81
verbMap[
"test"
] =
Test
;
82
verbMap[
"interfacetest"
] =
InterfaceTest
;
83
// for users and developers
84
verbMap[
"none"
] =
None
;
85
verbMap[
"low"
] =
Low
;
86
verbMap[
"medium"
] =
Medium
;
87
verbMap[
"high"
] =
High
;
88
verbMap[
"extreme"
] =
Extreme
;
89
90
std::string lcVerb =
lowerCase
(verbLevelStr);
91
if
(verbMap.find(lcVerb) != verbMap.end())
92
return
verbMap[lcVerb];
93
else
{
94
TEUCHOS_TEST_FOR_EXCEPTION(
true
,
Exceptions::RuntimeError
,
"MueLu::ParameterListInterpreter():: invalid verbosity level: "
<< verbLevelStr);
95
TEUCHOS_UNREACHABLE_RETURN(
Errors
);
96
}
97
}
98
99
}
// namespace MueLu
MueLu_Exceptions.hpp
MueLu_VerbosityLevel.hpp
MueLu::Exceptions::RuntimeError
Exception throws to report errors in the internal logical of the program.
Definition
MueLu_Exceptions.hpp:36
MueLu
Namespace for MueLu classes and methods.
Definition
MueLu_BrickAggregationFactory_decl.hpp:42
MueLu::VerbLevel
int VerbLevel
Definition
MueLu_VerbosityLevel.hpp:76
MueLu::MsgType
MsgType
Definition
MueLu_VerbosityLevel.hpp:17
MueLu::Warnings00
@ Warnings00
Important warning messages (more verbose).
Definition
MueLu_VerbosityLevel.hpp:21
MueLu::Timings1
@ Timings1
Detailed timing information (use Teuchos::TimeMonitor::summarize() to print).
Definition
MueLu_VerbosityLevel.hpp:38
MueLu::Warnings0
@ Warnings0
Important warning messages (one line).
Definition
MueLu_VerbosityLevel.hpp:20
MueLu::Low
@ Low
Definition
MueLu_VerbosityLevel.hpp:62
MueLu::RuntimeTimings
@ RuntimeTimings
Timers that are enabled (using Timings0/Timings1) will be printed during the execution.
Definition
MueLu_VerbosityLevel.hpp:27
MueLu::Developer
@ Developer
Print information primarily of interest to developers.
Definition
MueLu_VerbosityLevel.hpp:44
MueLu::Default
@ Default
Definition
MueLu_VerbosityLevel.hpp:70
MueLu::InterfaceTest
@ InterfaceTest
Definition
MueLu_VerbosityLevel.hpp:58
MueLu::Warnings
@ Warnings
Print all warning messages.
Definition
MueLu_VerbosityLevel.hpp:52
MueLu::Debug
@ Debug
Print additional debugging information.
Definition
MueLu_VerbosityLevel.hpp:42
MueLu::Errors
@ Errors
Errors.
Definition
MueLu_VerbosityLevel.hpp:18
MueLu::Statistics1
@ Statistics1
Print more statistics.
Definition
MueLu_VerbosityLevel.hpp:34
MueLu::External
@ External
Print external lib objects.
Definition
MueLu_VerbosityLevel.hpp:41
MueLu::Runtime
@ Runtime
Print description of what is going on.
Definition
MueLu_VerbosityLevel.hpp:53
MueLu::NoTimeReport
@ NoTimeReport
By default, enabled timers appears in the teuchos time monitor summary. Use this option if you do not...
Definition
MueLu_VerbosityLevel.hpp:28
MueLu::Medium
@ Medium
Definition
MueLu_VerbosityLevel.hpp:63
MueLu::Timings0
@ Timings0
High level timing information (use Teuchos::TimeMonitor::summarize() to print).
Definition
MueLu_VerbosityLevel.hpp:37
MueLu::None
@ None
Definition
MueLu_VerbosityLevel.hpp:61
MueLu::PerfWarnings
@ PerfWarnings
Performance warnings.
Definition
MueLu_VerbosityLevel.hpp:23
MueLu::Runtime0
@ Runtime0
One-liner description of what is happening.
Definition
MueLu_VerbosityLevel.hpp:25
MueLu::Runtime1
@ Runtime1
Description of what is happening (more verbose).
Definition
MueLu_VerbosityLevel.hpp:26
MueLu::Parameters
@ Parameters
Print parameters.
Definition
MueLu_VerbosityLevel.hpp:54
MueLu::Statistics
@ Statistics
Print all statistics.
Definition
MueLu_VerbosityLevel.hpp:55
MueLu::Extreme
@ Extreme
Definition
MueLu_VerbosityLevel.hpp:68
MueLu::High
@ High
Definition
MueLu_VerbosityLevel.hpp:64
MueLu::Test
@ Test
Definition
MueLu_VerbosityLevel.hpp:57
MueLu::TimingsByLevel
@ TimingsByLevel
Record timing information level by level. Must be used in combinaison with Timings0/Timings1.
Definition
MueLu_VerbosityLevel.hpp:39
MueLu::Warnings1
@ Warnings1
Additional warnings.
Definition
MueLu_VerbosityLevel.hpp:22
MueLu::Timings
@ Timings
Print all timing information.
Definition
MueLu_VerbosityLevel.hpp:56
MueLu::Parameters0
@ Parameters0
Print class parameters.
Definition
MueLu_VerbosityLevel.hpp:30
MueLu::Statistics0
@ Statistics0
Print statistics that do not involve significant additional computation.
Definition
MueLu_VerbosityLevel.hpp:33
MueLu::Parameters1
@ Parameters1
Print class parameters (more parameters, more verbose).
Definition
MueLu_VerbosityLevel.hpp:31
MueLu::lowerCase
std::string lowerCase(const std::string &s)
Definition
MueLu_VerbosityLevel.cpp:38
MueLu::toVerbLevel
MsgType toVerbLevel(const std::string &verbLevelStr)
Definition
MueLu_VerbosityLevel.cpp:52
MueLu::toMueLuVerbLevel
VerbLevel toMueLuVerbLevel(const Teuchos::EVerbosityLevel verbLevel)
Translate Teuchos verbosity level to MueLu verbosity level.
Definition
MueLu_VerbosityLevel.cpp:18
src
MueCentral
MueLu_VerbosityLevel.cpp
Generated by
1.17.0