This shows you the differences between two versions of the page.
| — |
gnucap:user:programingdetails [2015/12/11 15:39] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | === Programming Details === | ||
| + | |||
| + | Topmost level solver computations are concentrated in s__solve.cc file in | ||
| + | <code c++> SIM::solve(...) </code> | ||
| + | inside it main important steps: | ||
| + | <code c++> do { </code> | ||
| + | assume we have some value of unknowns: X_c | ||
| + | calculate model parameters | ||
| + | <code c++> evaluate models; </code> | ||
| + | load matrices (Jacobian J and vector FG) | ||
| + | |||
| + | note, that dumping is implemented duing matrix & vector loading process. | ||
| + | <code c++> load_marix(); </code> | ||
| + | solve equations and obtan new poin X_n | ||
| + | <code c++> solve_equations(); </code> | ||
| + | until equations will converge or iteration limit will not be acieved | ||
| + | <code c++> } while ( ! converged && ! _sim-> exceeds_iteration_limit(it1));</code> | ||