DPsim
MNASolverDynInterface.h
1 /* Copyright 2017-2021 Institute for Automation of Complex Power Systems,
2  * EONERC, RWTH Aachen University
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7  *********************************************************************************/
8 
9 #ifndef _MNA_SOLVER_DYN_INTERFACE_H_
10 #define _MNA_SOLVER_DYN_INTERFACE_H_
11 
13  double *values; //size: nnz
14  int *rowIndex; //size: nnz
15  int *colIndex; //size: row_numer+1
16  int row_number; //number of rows of the matrix
17  int nnz; //number of non-zero elements in matrix
18 };
19 
21  void (*log)(const char *);
22  int (*init)(struct dpsim_csr_matrix *);
23  int (*lu_decomp)(struct dpsim_csr_matrix *);
24  int (*solve)(double *, double *);
25  void (*cleanup)(void);
26 };
27 
28 extern struct dpsim_mna_plugin *get_mna_plugin(const char *name);
29 
30 #endif