flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
spectrum_generator_problems.hpp
Go to the documentation of this file.
1// ====================================================================
2// This file is part of FlexibleSUSY.
3//
4// FlexibleSUSY is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published
6// by the Free Software Foundation, either version 3 of the License,
7// or (at your option) any later version.
8//
9// FlexibleSUSY is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with FlexibleSUSY. If not, see
16// <http://www.gnu.org/licenses/>.
17// ====================================================================
18
19#ifndef SPECTRUM_GENERATOR_PROBLEMS_H
20#define SPECTRUM_GENERATOR_PROBLEMS_H
21
22#include "problems.hpp"
24
25namespace flexiblesusy {
26
28public:
30 explicit Spectrum_generator_problems(const std::vector<Problems>&);
31 explicit Spectrum_generator_problems(std::vector<Problems>&&);
32 explicit Spectrum_generator_problems(const std::vector<BVP_solver_problems>&);
33 explicit Spectrum_generator_problems(std::vector<BVP_solver_problems>&&);
34
35 void clear();
36 bool have_problem() const;
37 bool have_warning() const;
38 std::vector<std::string> get_problem_strings() const;
39 std::vector<std::string> get_warning_strings() const;
40 std::string get_problem_string(const std::string& sep = "\n") const;
41 std::string get_warning_string(const std::string& sep = "\n") const;
42 void print_problems() const;
43 void print_problems(std::ostream&) const;
44 void print_warnings() const;
45 void print_warnings(std::ostream&) const;
46
47 void set_model_problems(const std::vector<Problems>&);
48 void set_model_problems(std::vector<Problems>&&);
49 const std::vector<Problems>& get_model_problems() const;
50 std::vector<Problems>& get_model_problems();
51 int get_number_of_models() const { return problems.size(); }
52
53 void set_bvp_solver_problems(const std::vector<BVP_solver_problems>&);
54 void set_bvp_solver_problems(std::vector<BVP_solver_problems>&&);
55 const std::vector<BVP_solver_problems>& get_bvp_solver_problems() const;
56 std::vector<BVP_solver_problems>& get_bvp_solver_problems();
57 int get_number_of_bvp_solvers() const { return solver_problems.size(); }
58
61 bool no_convergence() const;
62
63private:
64 std::vector<Problems> problems;
65 std::vector<BVP_solver_problems> solver_problems;
66};
67
68std::ostream& operator<<(std::ostream&, const Spectrum_generator_problems&);
69
70} // namespace flexiblesusy
71
72#endif
std::vector< std::string > get_problem_strings() const
bool have_problem() const
problems which yield invalid spectrum
void set_model_problems(const std::vector< Problems > &)
(re)set all model problems
const std::vector< BVP_solver_problems > & get_bvp_solver_problems() const
std::vector< BVP_solver_problems > solver_problems
BVP solver problems.
const std::vector< Problems > & get_model_problems() const
std::string get_warning_string(const std::string &sep="\n") const
void set_bvp_solver_problems(const std::vector< BVP_solver_problems > &)
(re)set all BVP solver problems
std::string get_problem_string(const std::string &sep="\n") const
std::vector< Problems > problems
model problems
std::vector< std::string > get_warning_strings() const
std::ostream & operator<<(std::ostream &ostr, const Dynamic_array_view< ElementType > &av)
Definition: array_view.hpp:143