Ticket #70 (closed defect - convergence: fixed)

Opened 4 years ago

Last modified 7 months ago

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

Change History

Changed 4 years ago by gary

  • description modified (diff)

Changed 3 years ago by anonymous

  • milestone deleted

Milestone C09 deleted

Changed 7 months ago by rporter

  • status changed from new to closed
  • resolution set to fixed

No problems with current trunk. This is not surprising; the underlying issues were addressed long ago.

Note: See TracTickets for help on using tickets.