deltaFlow
GaussSeidel.H
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Saud Zahir
3 *
4 * This file is part of deltaFlow.
5 *
6 * deltaFlow is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public
8 * License as published by the Free Software Foundation; either
9 * version 3 of the License, or (at your option) any later version.
10 *
11 * deltaFlow is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public
17 * License along with deltaFlow. If not, see
18 * <https://www.gnu.org/licenses/>.
19 */
20
72#ifndef GAUSS_SEIDEL_H
73#define GAUSS_SEIDEL_H
74
75#include <Eigen/Dense>
76#include <utility>
77#include <vector>
78
98bool GaussSeidel(
99 const Eigen::MatrixXcd& Y,
100 Eigen::VectorXd& V,
101 Eigen::VectorXd& delta,
102 const Eigen::VectorXi& type_bus,
103 const Eigen::VectorXd& P,
104 const Eigen::VectorXd& Q,
105 int N,
106 int maxIter = 1024,
107 double tolerance = 1E-8,
108 double omega = 1.0,
109 std::vector<std::pair<int, double>>* iterHistory = nullptr
110);
111
112#endif
@ GaussSeidel
Gauss-Seidel iterative method.