annotate liboctave/LSODE-opts.in @ 4044:9678c5526190

[project @ 2002-08-15 16:54:55 by jwe]
author jwe
date Thu, 15 Aug 2002 16:54:56 +0000
parents f6df65db67f9
children a35a3c5d4740
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3998
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
1 CLASS = "LSODE"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
2
4044
9678c5526190 [project @ 2002-08-15 16:54:55 by jwe]
jwe
parents: 3998
diff changeset
3 INCLUDE = "ODE.h"
9678c5526190 [project @ 2002-08-15 16:54:55 by jwe]
jwe
parents: 3998
diff changeset
4
3998
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
5 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
6 NAME = "absolute tolerance"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
7 TYPE = "Array<double>"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
8 SET_ARG_TYPE = "const $TYPE&"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
9 INIT_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
10 $OPTVAR.resize (1);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
11 $OPTVAR(0) = ::sqrt (DBL_EPSILON);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
12 END_INIT_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
13 SET_CODE
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
14 void set_$OPT (double val)
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
15 {
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
16 $OPTVAR.resize (1);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
17 $OPTVAR(0) = (val > 0.0) ? val : ::sqrt (DBL_EPSILON);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
18 }
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
19
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
20 void set_$OPT (const $TYPE& val)
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
21 { $OPTVAR = val; }
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
22 END_SET_CODE
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
23 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
24
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
25 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
26 NAME = "integration method"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
27 TYPE = "std::string"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
28 SET_ARG_TYPE = "const $TYPE&"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
29 INIT_VALUE = ""stiff""
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
30 SET_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
31 if (val == "stiff" || val == "bdf")
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
32 $OPTVAR = "stiff";
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
33 else if (val == "non-stiff" || val == "adams")
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
34 $OPTVAR = "non-stiff";
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
35 else
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
36 (*current_liboctave_error_handler)
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
37 ("lsode_options: method must be \"stiff\", \"bdf\", \"non-stiff\", or \"adams\"");
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
38 END_SET_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
39 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
40
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
41 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
42 NAME = "initial step size"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
43 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
44 INIT_VALUE = "-1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
45 SET_EXPR = "(val >= 0.0) ? val : -1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
46 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
47
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
48 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
49 NAME = "maximum step size"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
50 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
51 INIT_VALUE = "-1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
52 SET_EXPR = "(val >= 0.0) ? val : -1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
53 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
54
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
55 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
56 NAME = "minimum step size"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
57 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
58 INIT_VALUE = "0.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
59 SET_EXPR = "(val >= 0.0) ? val : 0.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
60 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
61
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
62 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
63 NAME = "relative tolerance"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
64 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
65 INIT_VALUE = "::sqrt (DBL_EPSILON)"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
66 SET_EXPR = "(val > 0.0) ? val : ::sqrt (DBL_EPSILON)"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
67 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
68
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
69 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
70 NAME = "step limit"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
71 TYPE = "int"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
72 INIT_VALUE = "100000"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
73 SET_EXPR = "val"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
74 END_OPTION