flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
ewsb_solver.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 EWSB_SOLVER_H
20#define EWSB_SOLVER_H
21
22#include <string>
23#include <Eigen/Core>
24
25namespace flexiblesusy {
26
32public:
33 enum Status : int { SUCCESS = 0, FAIL = 1 };
34
35 virtual ~EWSB_solver() = default;
36 virtual std::string name() const = 0;
37 virtual int solve(const Eigen::VectorXd&) = 0;
38 virtual Eigen::VectorXd get_solution() const = 0;
39};
40
41} // namespace flexiblesusy
42
43#endif
interface for numeric EWSB solvers
Definition: ewsb_solver.hpp:31
virtual ~EWSB_solver()=default
virtual int solve(const Eigen::VectorXd &)=0
virtual Eigen::VectorXd get_solution() const =0
virtual std::string name() const =0