-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Iterative MNA solver #268
base: master
Are you sure you want to change the base?
Iterative MNA solver #268
Conversation
SonarCloud Quality Gate failed. 1 Bug 0.0% Coverage The version of Java (11.0.14.1) you have used to run this analysis is deprecated and we will stop accepting it soon. Please update to at least Java 17. Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
ad08d4a
to
7c8e2d7
Compare
Quality Gate failedFailed conditions See analysis details on SonarCloud Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
1 similar comment
Quality Gate failedFailed conditions See analysis details on SonarCloud Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
+ add .h and .cpp for "IterativeMNASolverDirect " class, add .cpp to "dpsim/src/CMakeLists.txt" + add .h for new "MNANonlinearVariableCompInterface" class * make "IterativeMNASolverDirect" usable through pybind by adding "ITERATIVEMNA" as value to solver type enum * modify "Solver" class to support new "ITERATIVEMNA" solver type * modify "Simulation" class to be able to create solvers of new type Signed-off-by: Marvin Tollnitsch <[email protected]>
+ add .h and .cpp for new nonlinear "Diode" class which uses and inherits from the new "MNANonlinearVariableCompInterface" * modify "Components.h" to include .h of new diode model * modify "dpsim/dpsim-models/CMakeLists.txt" to include .cpp of new diode model * modify "EMTComponents.cpp" to make new diode model usable through pybind Signed-off-by: Marvin Tollnitsch <[email protected]>
+ add .cpp and python notebook for first diode example circuit + add python pybind notebook for second diode example circuit * modify "dpsim/examples/cxx/CMakeLists.cpp" to include .cpp of first diode example circuit Signed-off-by: Marvin Tollnitsch <[email protected]>
0e40212
to
b15c933
Compare
Signed-off-by: Marvin Tollnitsch <[email protected]>
Quality Gate failedFailed conditions See analysis details on SonarCloud Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
This branch implements a solver capable of solving nonlinear circuit equation systems. The implemented solver class "IterativeMNASolverDirect" inherits from "MNASolverDirect" and adds a solving method which uses the Newton-Raphson iteration algorithm. To be usable by this solver, for all nonlinear component models an interface class is provided which expects the nonlinear component models to implement a method returning the model's Jacobian of its system matrix stamp for each time step to be used by the solver.
Since the Jacobian of a linear component's system matrix stamp is the stamp itself, linear component models such as the Resistive Companion implementations of components are usable with the new solver, also in combination with new nonlinear component models using the new interface.