/[ascend]/trunk/models/plotbvp.a4c
ViewVC logotype

Annotation of /trunk/models/plotbvp.a4c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (19 years, 7 months ago) by aw0a
File MIME type: text/x-ascend
File size: 3095 byte(s)
Setting up web subdirectory in repository
1 aw0a 1 REQUIRE "bvp.a4l";
2     (* => bvp.a4l, atoms.a4l, measures.a4l, system.a4l, basemodel.a4l *)
3     REQUIRE "plot.a4l";
4     (* => plot.a4l, atoms.a4l, measures.a4l, system.a4l, basemodel.a4l *)
5     PROVIDE "plotbvp.a4c";
6     (*
7     * This file is part of the ASCEND Modeling Library and is released
8     * under the GNU Public License as described at the end of this file.
9     *)
10    
11     MODEL plot_bvp_demo1;
12     NOTES
13     'purpose' SELF {
14     This MODEL demonstrates how to make a plot out of a bvp MODEL.
15     }
16     'author' SELF {Benjamin Allan}
17     'created' SELF {May 17, 1998}
18     'revision' SELF {$Revision: 1.2 $}
19     'comment' SELF {
20     Once again, we avoid tangling plot modeling with the mathematics.}
21     END NOTES;
22    
23     bt IS_A bvp_test;
24    
25     y[pointSet] ALIASES (bt.nodes[0 .. bt.nstep*bt.npoint].y[1])
26     WHERE pointSet IS_A set OF integer_constant
27     WITH_VALUE (0 .. bt.nstep*bt.npoint);
28    
29     x[timeSet] ALIASES (bt.nodes[0 .. bt.nstep*bt.npoint].x)
30     WHERE timeSet IS_A set OF integer_constant
31     WITH_VALUE (0 .. bt.nstep*bt.npoint);
32    
33    
34     Y_curve IS_A plt_curve(pointSet,y,x);
35    
36     (* Make Y_curve into the expected array for plt_plot *)
37     curves[curve_set] ALIASES (Y_curve) WHERE
38     curve_set IS_A set OF integer_constant;
39    
40     Plot_Y IS_A plt_plot_integer(curve_set,curves);
41    
42     METHODS
43    
44     METHOD default_self;
45     RUN Plot_Y.default_self;
46     RUN Y_curve.default_self;
47     RUN bt.default_self;
48     Plot_Y.title := 'd/dx = 2x exp(-2t) cos(t)';
49     Plot_Y.XLabel := 'time t';
50     Plot_Y.YLabel := 'x';
51     Y_curve.legend := 'd/dx';
52     END default_self;
53    
54     METHOD check_self;
55     RUN Plot_Y.check_self;
56     RUN Y_curve.check_self;
57     RUN bt.check_self;
58     END check_self;
59    
60     METHOD scale_self;
61     RUN bt.scale_self;
62     END scale_self;
63    
64     METHOD bound_self;
65     RUN Plot_Y.bound_self;
66     RUN Y_curve.bound_self;
67     RUN bt.bound_self;
68     END bound_self;
69    
70     METHOD default_all;
71     RUN default_self;
72     END default_all;
73    
74     METHOD check_all;
75     RUN check_self;
76     END check_all;
77    
78     METHOD bound_all;
79     RUN bound_self;
80     END bound_all;
81    
82     METHOD scale_all;
83     RUN scale_self;
84     END scale_all;
85    
86     METHOD specify;
87     RUN bt.reset;
88     END specify;
89    
90     END plot_bvp_demo1;
91    
92    
93     (*
94     * plotbvp.a4c
95     * by Ben Allan
96     * May 1998
97     * Part of the ASCEND Library
98     * $Date: 1998/06/17 19:21:54 $
99     * $Revision: 1.2 $
100     * $Author: mthomas $
101     * $Source: /afs/cs.cmu.edu/project/ascend/Repository/models/plotbvp.a4c,v $
102     *
103     * This file is part of the ASCEND Modeling Library.
104     *
105     * Copyright (C) 1997 Benjamin Andrew Allan
106     *
107     * The ASCEND Modeling Library is free software; you can redistribute
108     * it and/or modify it under the terms of the GNU General Public
109     * License as published by the Free Software Foundation; either
110     * version 2 of the License, or (at your option) any later version.
111     *
112     * The ASCEND Modeling Library is distributed in hope that it
113     * will be useful, but WITHOUT ANY WARRANTY; without even the implied
114     * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
115     * See the GNU General Public License for more details.
116     *
117     * You should have received a copy of the GNU General Public License
118     * along with the program; if not, write to the Free Software
119     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check
120     * the file named COPYING.
121     *)

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22