23 std::runtime_error(problem) {
26 std::cout << problem <<
"\n";
27 std::cout <<
" External library failure \n";
28 std::cout <<
" Returned error code = " << ifail <<
"\n\n";
36 std::cout <<
"----------------------------------------------------\n";
37 std::cout <<
" Error: A CppNoddy routine has had an EXTERNAL \n";
38 std::cout <<
" library problem! \n";
39 std::cout <<
"----------------------------------------------------\n";
49 ExceptionGeom(
const std::string &problem,
const std::size_t &size1,
const std::size_t &size2) :
50 std::runtime_error(problem) {
53 std::cout << problem <<
"\n";
54 std::cout <<
" One dimensional container problem \n";
55 std::cout <<
" Container 1 size is " << size1 <<
"\n";
56 std::cout <<
" Container 2 size is " << size2 <<
"\n\n";
61 ExceptionGeom(
const std::string &problem,
const std::size_t &size1,
const std::size_t &size2,
62 const std::size_t &size3,
const std::size_t &size4) :
63 std::runtime_error(problem) {
66 std::cout << problem <<
"\n";
67 std::cout <<
" Two dimensional container problem \n";
68 std::cout <<
" Container 1 size 1 is " << size1 <<
"\n";
69 std::cout <<
" Container 1 size 2 is " << size2 <<
"\n";
70 std::cout <<
" Container 2 size 1 is " << size3 <<
"\n";
71 std::cout <<
" Container 2 size 2 is " << size4 <<
"\n\n";
79 std::cout <<
"----------------------------------------------------\n";
80 std::cout <<
" Error: A CppNoddy routine has had a GEOMETRY error!\n";
81 std::cout <<
"----------------------------------------------------\n";
92 ExceptionItn(
const std::string &problem,
const unsigned &itns,
const double &max_resid) :
93 std::runtime_error(problem) {
96 std::cout << problem <<
"\n";
97 std::cout <<
" The number of iterations taken so far = " << itns <<
"\n";
98 std::cout <<
" The maximum residual at this point is = " << max_resid <<
"\n\n";
105 void error_header() {
106 std::cout <<
"----------------------------------------------------\n";
107 std::cout <<
" Error: A CppNoddy routine has had an ITERATION error\n";
108 std::cout <<
"----------------------------------------------------\n";
120 ExceptionRange(
const std::string &problem,
const std::size_t &size1,
const std::size_t &index1) :
121 std::runtime_error(problem) {
124 std::cout << problem <<
"\n";
125 std::cout <<
" Range error for one-dimensional container.\n";
126 std::cout <<
" Size 1 of container = " << size1 <<
"\n";
127 std::cout <<
" Index 1 being accessed = " << index1 <<
"\n\n";
132 ExceptionRange(
const std::string &problem,
const std::size_t &size1,
const std::size_t &index1,
133 const std::size_t &size2,
const std::size_t &index2) :
134 std::runtime_error(problem) {
137 std::cout << problem <<
"\n";
138 std::cout <<
" Range error for two-dimensional container.\n";
139 std::cout <<
" Size 1 of container = " << size1 <<
"\n";
140 std::cout <<
" Size 2 of container = " << size2 <<
"\n";
141 std::cout <<
" Index 1 being accessed = " << index1 <<
"\n";
142 std::cout <<
" Index 2 being accessed = " << index2 <<
"\n\n";
148 void error_header() {
149 std::cout <<
"----------------------------------------------------\n";
150 std::cout <<
" Error: A CppNoddy routine has had a RANGE error! \n";
151 std::cout <<
"----------------------------------------------------\n";
163 std::cout << problem <<
"\n";
170 void error_header() {
171 std::cout <<
"----------------------------------------------------\n";
172 std::cout <<
" Error: A CppNoddy routine has had a RUNTIME problem! \n";
173 std::cout <<
"----------------------------------------------------\n";
183 std::cout << problem <<
"\n";
ExceptionBifurcation(const std::string &problem)
An exception to indicate that an error has been detected in an external (LAPACK) routine.
ExceptionExternal(const std::string &problem, const int &ifail=0)
An exception class to be thrown when a container of incorrect geometry used in any class/method.
ExceptionGeom(const std::string &problem, const std::size_t &size1, const std::size_t &size2, const std::size_t &size3, const std::size_t &size4)
ExceptionGeom(const std::string &problem, const std::size_t &size1, const std::size_t &size2)
An exception class that is thrown if too many Newton steps are taken in either the scalar or vector N...
ExceptionItn(const std::string &problem, const unsigned &itns, const double &max_resid)
An exception to indicate that a CppNoddy container has been accessed with index/indices outside the m...
ExceptionRange(const std::string &problem, const std::size_t &size1, const std::size_t &index1, const std::size_t &size2, const std::size_t &index2)
ExceptionRange(const std::string &problem, const std::size_t &size1, const std::size_t &index1)
A generic runtime exception.
ExceptionRuntime(const std::string &problem)
A collection of OO numerical routines aimed at simple (typical) applied problems in continuum mechani...