Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
Standard_functions.h
Go to the documentation of this file.
1#ifndef _STANDARD_FUNCTIONS_H_
2#define _STANDARD_FUNCTIONS_H_
3
12#include "../../Constants.h"
13
15extern const double mu_0;
17extern const double epsilon_0;
19extern const double gamma_num;
20
26extern int sgn(int v);
27
33extern MatrixXcd vectorToMatrix(const vector<vector<complex<double>>>& vec);
34
40extern MatrixXd vectorToMatrix(const vector<vector<double>>& vec);
41
47extern vector<vector<complex<double>>> matrixToVector(const MatrixXcd& mat);
48
54extern vector<vector<double>> matrixToVector(const MatrixXd& mat);
55
64extern MatrixXcd stack_u_4x_3xN(const MatrixXcd& u1, const MatrixXcd& u2, const MatrixXcd& u3, const MatrixXcd& u4);
65
72extern vector<vector<complex<double>>> mat_mul(const vector<vector<complex<double>>>& A, const vector<vector<complex<double>>>& B);
73
80extern vector<vector<complex<double>>> mul_scalar(const vector<vector<complex<double>>>& A, const complex<double>& scalar);
81
88extern vector<vector<complex<double>>> mat_add(const vector<vector<complex<double>>>& A, const vector<vector<complex<double>>>& B);
89
96extern vector<vector<complex<double>>> mat_sub(const vector<vector<complex<double>>>& A, const vector<vector<complex<double>>>& B);
97
103extern vector<vector<complex<double>>> mat_transpose(const vector<vector<complex<double>>>& A);
104
114extern vector<vector<complex<double>>> get_block(const vector<vector<complex<double>>>& Y, int r_off, int c_off, int r_num, int c_num);
115
116
117#endif // _STANDARD_FUNCTIONS_H_
vector< vector< complex< double > > > matrixToVector(const MatrixXcd &mat)
Converts an Eigen MatrixXcd to a nested complex vector.
Definition Standard_functions.cpp:80
vector< vector< complex< double > > > mat_add(const vector< vector< complex< double > > > &A, const vector< vector< complex< double > > > &B)
Element-wise addition of two complex matrices.
Definition Standard_functions.cpp:196
vector< vector< complex< double > > > mul_scalar(const vector< vector< complex< double > > > &A, const complex< double > &scalar)
Scales every entry of a complex matrix by a scalar.
Definition Standard_functions.cpp:180
vector< vector< complex< double > > > mat_mul(const vector< vector< complex< double > > > &A, const vector< vector< complex< double > > > &B)
Complex matrix multiplication using nested vectors.
Definition Standard_functions.cpp:141
MatrixXcd vectorToMatrix(const vector< vector< complex< double > > > &vec)
Converts a nested complex vector to an Eigen MatrixXcd.
Definition Standard_functions.cpp:27
const double mu_0
Vacuum permeability (H/m).
Definition Standard_functions.cpp:8
int sgn(int v)
Returns the sign of an integer.
Definition Standard_functions.cpp:17
vector< vector< complex< double > > > mat_sub(const vector< vector< complex< double > > > &A, const vector< vector< complex< double > > > &B)
Element-wise subtraction of two complex matrices.
Definition Standard_functions.cpp:212
const double epsilon_0
Vacuum permittivity (F/m).
Definition Standard_functions.cpp:9
vector< vector< complex< double > > > mat_transpose(const vector< vector< complex< double > > > &A)
Transposes a complex matrix stored as nested vectors.
Definition Standard_functions.cpp:227
MatrixXcd stack_u_4x_3xN(const MatrixXcd &u1, const MatrixXcd &u2, const MatrixXcd &u3, const MatrixXcd &u4)
Stacks four input matrices into a single block column.
Definition Standard_functions.cpp:113
vector< vector< complex< double > > > get_block(const vector< vector< complex< double > > > &Y, int r_off, int c_off, int r_num, int c_num)
Extracts a rectangular sub-block from a complex matrix.
Definition Standard_functions.cpp:246
const double gamma_num
Euler–Mascheroni constant.
Definition Standard_functions.cpp:10