summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-06-12 21:42:28 +0000
committerKarl Berry <karl@freefriends.org>2017-06-12 21:42:28 +0000
commite05cdf7cbf967b2e104e95aa261dd541ec58ce66 (patch)
treedd2624b54f8ad70c97391968d14948187cdaca7a
parent7364d0810e90707eaf61f5269d552abee65ac909 (diff)
pst-ode (12jun17)
git-svn-id: svn://tug.org/texlive/trunk@44575 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/ChangeLog5
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdfbin127443 -> 128179 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex10
-rw-r--r--Master/texmf-dist/dvips/pst-ode/pst-ode.pro18
-rw-r--r--Master/texmf-dist/tex/generic/pst-ode/pst-ode.tex8
5 files changed, 31 insertions, 10 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-ode/ChangeLog b/Master/texmf-dist/doc/generic/pst-ode/ChangeLog
index 7f060cb7c05..1431890c0b5 100644
--- a/Master/texmf-dist/doc/generic/pst-ode/ChangeLog
+++ b/Master/texmf-dist/doc/generic/pst-ode/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-12
+ * version 0.8
+ * fix: Integration step size underflow doesn't lead to ps2pdf crashing
+ anymore. Integration of the ODE(s) just stops prematurely.
+
2014-10-20
* fix: typo in the documentation
diff --git a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf
index eaf07bf7baf..d42bad1bb95 100644
--- a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex
index 047adfb3d4e..be4749a9968 100644
--- a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex
@@ -2,7 +2,10 @@
headexclude,footexclude,oneside,dvips]{pst-doc}
\usepackage[UKenglish]{babel}
\usepackage[T1]{fontenc}
-\usepackage{lmodern}
+%\usepackage{lmodern}
+ \usepackage[tt=false]{libertine} %override beramono (doesn't look like tt font)
+ \usepackage[libertine]{newtxmath}
+ %\usepackage[scaled=0.83]{luximono} %override beramono (doesn't look like tt font)
\usepackage{attachfile2}
\attachfilesetup{date={},color=1 0 0}
\usepackage[latin1]{inputenc}
@@ -144,7 +147,10 @@ Option \Lkeyword{algebraicAll} is equivalent to setting all of \Lkeyword{algebra
Option \Lkeyword{silent} suppresses the terminal output of stepping information.
-The tolerance for the automatic integration step size calculation can be set with \Lkeyword{varsteptol} \Lkeyword{=}\Larg{value}. The default value is \Lkeyword{1e-6}. It may be necessary to enlarge it using this option in cases that fail with `\Lkeyword{error: step size underflow in ODEINT}'.\\[1ex]
+The tolerance for the automatic integration step size calculation can be set with \Lkeyword{varsteptol} \Lkeyword{=}\Larg{value}. The default value is \Lkeyword{1e-6}.
+
+In the case of integration step size underflow, which is indicated by writing `\Lkeyword{!}' to the terminal during PS to PDF conversion, the computation stops prematurely before reaching $t_\mathrm{e}$. This may happen for stiff ODEs at some point along the integration interval.\\[1ex]
+%It may be necessary to enlarge it using this option in cases that fail with `\Lkeyword{error: step size underflow in ODEINT}'.\\[1ex]
\begin{BDef}
\Lcs{pstODEsaveState}\Largb{state}
diff --git a/Master/texmf-dist/dvips/pst-ode/pst-ode.pro b/Master/texmf-dist/dvips/pst-ode/pst-ode.pro
index f89123fce99..848ac7d728c 100644
--- a/Master/texmf-dist/dvips/pst-ode/pst-ode.pro
+++ b/Master/texmf-dist/dvips/pst-ode/pst-ode.pro
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% PostScript prologue for pst-ode.tex.
-% Version 0.7, 2014/10/20
+% Version 0.8, 2017/06/12
%
% Alexander Grahn (C) 2012--today
%
@@ -135,10 +135,20 @@ end
%failed step -> reduce step size
ode@dict
exch pop pshrink exp 0.1 max sfty mul ddt mul /ddt exch def
- (-) odeprint ode@dict tcur ddt add tcur end eq {
- (error: step size underflow in ODEINT) print quit
- } if
+ ode@dict tcur ddt add tcur end eq {
+ % error: step size underflow in ODEINT
+ (!) odeprint
+ true
+ }{
+ (-) odeprint
+ false
+ } ifelse
end
+ % on step size underflow ...
+ {
+ pop % remove previous state vector and
+ exit % leave loop over output steps (pst-ode.tex)
+ } if
ODEINT %repeat step with new ddt
}{
%success
diff --git a/Master/texmf-dist/tex/generic/pst-ode/pst-ode.tex b/Master/texmf-dist/tex/generic/pst-ode/pst-ode.tex
index b34dd5a8de9..18fe40e9045 100644
--- a/Master/texmf-dist/tex/generic/pst-ode/pst-ode.tex
+++ b/Master/texmf-dist/tex/generic/pst-ode/pst-ode.tex
@@ -11,8 +11,8 @@
%% ODEs using the Runge-Kutta-Fehlberg (RKF45) method with automatic
%% step size adjustment
%%
-\def\fileversion{0.7}
-\def\filedate{2014/10/20}
+\def\fileversion{0.8}
+\def\filedate{2017/06/12}
\csname PSTODELoaded\endcsname
\let\PSTODELoaded\endinput
@@ -162,8 +162,8 @@
} bind def
\else /formatoutput {[#2] assembleresult} def \fi%
%perform ode integration
- (\string\n pstODEsolve RKF45 method; '-' failed step, '+' successful step, %
- 'o' output step : \string\n) odeprint
+ (\string\n pstODEsolve (RKF45),\string\n) odeprint
+ (-/+ failed/successful step; "o" output step; "!" step size underflow (stop):\string\n) odeprint
ode@dict
/tcur tStart def % current parameter t value
/tout tStart dt add def % next output t