----------------------------------------------------------------------- -- package pc_1_interface, interface to Predictor_Corrector coefficients -- Copyright (C) 2008-2009 Jonathan S. Parker. -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- You should have received a copy of the GNU General Public License -- along with this program. If not, see http://www.gnu.org/licenses/ -- -- As a special exception, if other files instantiate generics from -- this unit, or you link this unit with other files to produce an -- executable, this unit does not by itself cause the resulting -- executable to be covered by the GNU General Public License. This -- exception does not however invalidate any other reasons why the -- executable file might be covered by the GNU Public License. ----------------------------------------------------------------------- -- -- PACKAGE pc_1_interface -- -- The 17th order coefficients are almost always the best choice. -- -- The Predictor-Corrector method uses least-squares to fit a 17th -- order polynomial to the 33 previous values of F in dY/dt = F(t,Y). -- The least-squares-fit polynomial is used to predict the next -- values of F and Y. with pc_1_coeff_16; with pc_1_coeff_17; with pc_1_coeff_18; package pc_1_interface is -- predictor_Coeff_16 (16th order) gives bit better stability. -- predictor_Coeff_17 (17th order) is usually best for numerical -- accuracy, and best choice for general use. -- predictor_Coeff_18 (18th order) gives a bit better numerical -- accuracy when larger stepsizes are used (and when -- desired accuracy is well below machine's ultimate). --generic package Predictor_Corrector_Rules renames pc_1_coeff_16; generic package Predictor_Corrector_Rules renames pc_1_coeff_17; --use this --generic package Predictor_Corrector_Rules renames pc_1_coeff_18; end pc_1_interface;