From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19619 invoked by alias); 2 Nov 2008 17:35:56 -0000 Received: (qmail 19514 invoked by uid 22791); 2 Nov 2008 17:35:55 -0000 X-Spam-Check-By: sourceware.org Received: from smtp4.pp.htv.fi (HELO smtp4.pp.htv.fi) (213.243.153.38) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 02 Nov 2008 17:34:57 +0000 Received: from [10.0.0.133] (cs78194074.pp.htv.fi [62.78.194.74]) by smtp4.pp.htv.fi (Postfix) with ESMTP id 236675BC085 for ; Sun, 2 Nov 2008 19:34:54 +0200 (EET) Message-ID: <490DE4BD.7070907@iki.fi> Date: Sun, 02 Nov 2008 17:35:00 -0000 From: Tuomo Keskitalo User-Agent: Icedove 1.5.0.14eol (X11/20080724) MIME-Version: 1.0 To: GSL Discuss Mailing List Subject: Re: ode-initval implicit solvers and development References: <48E25CA9.6080306@iki.fi> In-Reply-To: <48E25CA9.6080306@iki.fi> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org X-SW-Source: 2008-q4/txt/msg00018.txt.bz2 Hello, while waiting for a reference book on multistep methods to arrive, I've made some more modifications to current ode-initval, which I hope are now close to being ready to be included into GSL. The .git directory that should include the changes can be found at http://iki.fi/tuomo.keskitalo/gsl/ode-initval-additions/.git The changes to current GSL git repository include: - New implicit solvers: imprk4 (replaces imprk42 in previous test package), imprk2 (replaces imprk21 in previous test package) and impeuler, which use modified Newton iteration to solve the implicit equations. I decided to dump imprk42 and imprk21 because I was unsure how to calculate the error estimates for them. I think that these new implicit methods could be used instead of rk4imp, rk2imp, gear2 and gear1, which use functional iteration (which is inefficient for stiff problems.) However, even these new solvers can not be used efficiently for truly nasty stiff problems, and better solvers are still needed. - modnewton1.c: a modified Newton solver for solution of non-linear equations of implicit solvers. Jacobian evaluation has been moved from modnewton1 to imprk2, imprk4 and impeuler. - evolve.c: modification to decrease step size if stepper fails, instead of giving up immediately. - evolve.c: A bug fix: Exit with GSL_FAILURE if step size reaches machine precision instead of continuing with old step size. - test.c: added Robertson stiff test - test.c: embedded test_oregonator to test_compare_stiff_probelms to test several stiff problems. Note: the tested integration interval is rather short due to inefficiency of solvers other than bsimp in these problems. - test.c: modified test_compare_vanderpol and test_compare_stiff_problems to check against results from first ode-solver. Changed rk4 or bsimp to first place. - test.c: modified stepfn and stepfn2 and expanded these to be tested with all explicit solvers - test.c: removed stepfn3 and added test_broken and test_stepsize_fail to check that evolve decreases step size below machine precision and exits with a failure code in the end if user functions fail continuously. Changes in ode-initval.texi: - Removed untrue sentence concerning stepping functions: "The step-size @var{h} will be set to the step-size which caused the error." - Changed gsl_odeiv_system variable name from dydt to sys for clarity. - Added "explicit" or "implicit" to stepper introductions for clarity. - Reformulated description of evolve_apply and step_apply and made changes to reflect the modifications to the code. - Clarified the point on integrating over discontinuities. It is best to integrate in sequences. - Removed the text suggesting the user to force a step size to integrate over the edge of a discontinuity. The applicability of this kind of a numerical tweak depends on the case, and should in my opinion not be included in a reference book. - Added literature references. Please feel free to comment on the proposed changes. Regards, Tuomo -- Tuomo.Keskitalo@iki.fi http://iki.fi/tuomo.keskitalo