Skip to content

Commit cd53d2b

Browse files
committed
started ascher DAE doc writeup
1 parent de55bd1 commit cd53d2b

File tree

3 files changed

+134
-6
lines changed

3 files changed

+134
-6
lines changed

docs/references.bib

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,17 @@ @inproceedings{Lor96
107107
year={1996},
108108
organization={Reading}
109109
}
110+
111+
112+
@article{Asc89,
113+
author = {Ascher, Uri},
114+
title = {On Symmetric Schemes and Differential-Algebraic Equations},
115+
journal = {SIAM Journal on Scientific and Statistical Computing},
116+
volume = {10},
117+
number = {5},
118+
pages = {937-949},
119+
year = {1989},
120+
doi = {10.1137/0910054}
121+
}
122+
123+

notebooks/quick-start.ipynb

Lines changed: 58 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

toolbox/+otp/+ascherlineardae/AscherLinearDAEProblem.m

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,69 @@
11
classdef AscherLinearDAEProblem < otp.Problem
2-
%ASCHERLINEARDAEPROBLEM This is an Index-1 DAE problem
2+
% A simple linear differential algebraic problem.
3+
%
4+
% The Ascher linear DAE Problem :cite:p:`Asc89` is given by $M(t) y' = A(t) y + q(t) $ with
5+
%
6+
% $$
7+
% M=\left(\begin{array}{cc}
8+
% 1 & -t \\
9+
% 0 & 0
10+
% \end{array}\right), \quad A=\left(\begin{array}{cc}
11+
% -1 & 1+t \\
12+
% \beta & -1-\beta t
13+
% \end{array}\right), \quad {q}=\left(\begin{array}{c}
14+
% 0 \\
15+
% \sin t
16+
% \end{array}\right),
17+
% $$
18+
%
19+
% with $t \in [0,1]$, and $y_0 = [1, \beta]^T$. The exact solution
20+
% is given by
21+
%
22+
% $$
23+
% y = \begin{pmatrix}
24+
% t \sin(t) + (1 + \beta t) e^{-t}\\
25+
% \beta e^{-t} + \sin(t)
26+
% \end{pmatrix}.
27+
% $$
28+
%
29+
% Due to its stiffness and time-dependant mass
30+
% matrix and righ-hand-side function, this simple DAE problem can
31+
% become challenging to solve. This problem is used in :cite:p:`Asc89`
32+
% to study convergence of implcit solvers.
33+
%
34+
% Notes
35+
% -----
36+
% +---------------------+-----------------------------------------+
37+
% | Type | DAE |
38+
% +---------------------+-----------------------------------------+
39+
% | Number of Variables | 2 |
40+
% +---------------------+-----------------------------------------+
41+
% | Stiff | typically, depending on $\beta$ |
42+
% +---------------------+-----------------------------------------+
43+
%
44+
% Example
45+
% -------
46+
% >>> problem = otp.ascherlineardae.presets.Canonical;
47+
% >>> sol = problem.solve();
48+
% >>> problem.plotPhaseSpace(sol);
349
%
450
methods
551
function obj = AscherLinearDAEProblem(timeSpan, y0, parameters)
52+
% Create an Ascher linear DAE problem object.
53+
%
54+
% Parameters
55+
% ----------
56+
% timeSpan : numeric(1, 2)
57+
% The start and final time.
58+
% y0 : numeric(2, 1)
59+
% The initial conditions.
60+
% parameters : BrusselatorParameters
61+
% The parameters.
62+
%
63+
% Returns
64+
% -------
65+
% obj : BrusselatorProblem
66+
% The constructed problem.
667
obj@otp.Problem('Ascher Linear DAE', 2, timeSpan, y0, parameters);
768
end
869
end
@@ -35,4 +96,3 @@ function onSettingsChanged(obj)
3596
end
3697
end
3798
end
38-

0 commit comments

Comments
 (0)