Ticket #70 (closed defect - convergence: fixed)
iso level solves do not agree with ionization balance solvers
| Reported by: | gary | Owned by: | nobody |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | ionization convergence | Version: | |
| Keywords: | iso solvers, ionizaiton balance | Cc: |
Description (last modified by gary) (diff)
inconsistent source/sink terms in iso level solvers and ionization balance solvers cause 1% - 2% differences in the solutions. Code at conv_base.cpp:892 detects this problem but forcing more iterations does not improve solution since error is due to incorrect terms. Change err_tol to below the current 3% (1% works nicely) to see problem.
following have major problems: blr_n09_p20_Z20 limit_conserve blr_hizqso
===========================
addendum - in rev 2131 - only check on this problem is now in conv_base. tests show that declaring sim not converged and continuing to work on it does not affect the error. it is a systematic error that does not converge away.
there is a fixit at conv_base:605 and option to have only a print statement if residual is too large, or set the flag saying not converged. the latter is a waste of time singe further iterations will not help.
tolerance on print is now high enough for test suite to run cleanly. The worst case is blr_hizqso which has relative errors of 0.4
