Differences From Artifact [c53e9f4712]:

To Artifact [8004f91ec3]:


12
13
14
15
16
17
18



19
20
21
22
23
24
25


@comment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  Version control history
@comment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  $Id$
@comment  $Log$



@comment  Revision 1.4  2001/07/23 03:25:02  geraint
@comment  Added notes on -ae hybrd, rk4, ode2odes.cc, .oct dependencies.
@comment
@comment  Revision 1.3  2001/07/13 03:02:38  geraint
@comment  Added notes on #ICD, gnuplot.txt and odes.sg rep.
@comment
@comment  Revision 1.2  2001/07/03 22:59:10  gawthrop







>
>
>







12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28


@comment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  Version control history
@comment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@comment  $Id$
@comment  $Log$
@comment  Revision 1.5  2001/07/23 03:35:29  geraint
@comment  Updated file structure (mtt/bin).
@comment
@comment  Revision 1.4  2001/07/23 03:25:02  geraint
@comment  Added notes on -ae hybrd, rk4, ode2odes.cc, .oct dependencies.
@comment
@comment  Revision 1.3  2001/07/13 03:02:38  geraint
@comment  Added notes on #ICD, gnuplot.txt and odes.sg rep.
@comment
@comment  Revision 1.2  2001/07/03 22:59:10  gawthrop
632
633
634
635
636
637
638

639
640
641
642
643
644
645
* Report (text)::               
* Report (view)::               

Extending MTT

* Makefiles::                   
* New representations::         


Languages

* Fig::                         r
* m::                           
* Reduce::                      
* c::                           







>







635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
* Report (text)::               
* Report (view)::               

Extending MTT

* Makefiles::                   
* New representations::         
* Component library ::          

Languages

* Fig::                         r
* m::                           
* Reduce::                      
* c::                           
3049
3050
3051
3052
3053
3054
3055
3056


3057
3058





3059
3060
3061
3062
3063
3064
3065
@code{0} junctions,
@code{1} junctions,
@code{SS} components and
@code{SS} port components.


In each case, the presence of a vector component is indicated by a
single port label  (@pxref{Port labels}) containing numerals from 1 to


the order of the vector. Thus a vector of 3 component is indicated by a
port label of the form [1,2,3].






Within the corresponding label file (@pxref{Labels (lbl)}), the
components of a vector port can be accessed using _i where i is the
corresponding index. Thus a port SS:[Electrical] appearing near the port
label  [1,2,3] could contain the port alias (@pxref{Port aliases})
@example
%ALIAS  in Electrical_1,Electrical_2,Electrical_3







|
>
>
|

>
>
>
>
>







3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
@code{0} junctions,
@code{1} junctions,
@code{SS} components and
@code{SS} port components.


In each case, the presence of a vector component is indicated by a
single port label  (@pxref{Port labels}) of one of two forms:
@enumerate
@item containing numerals from 1 to
the order of the vector. Thus a vector of 3 components is indicated by a
port label of the form [1,2,3].
@item  1: followed by
the order of the vector. Thus a vector of 3 components is indicated by a
port label of the form [1:3].
@end enumerate


Within the corresponding label file (@pxref{Labels (lbl)}), the
components of a vector port can be accessed using _i where i is the
corresponding index. Thus a port SS:[Electrical] appearing near the port
label  [1,2,3] could contain the port alias (@pxref{Port aliases})
@example
%ALIAS  in Electrical_1,Electrical_2,Electrical_3
3103
3104
3105
3106
3107
3108
3109













































3110
3111
3112
3113
3114
3115
3116
@node Valid names,  , artwork, Language fig (abg.fig)
@subsubsection Valid Names
@cindex valid name
@pindex valid name
A valid name is a text string containing alphanumeric characters.  It
must @strong{NOT} contain underscore @samp{_}, hyphen @samp{-}, @samp{:}
or @samp{*}.
















































@node Language m (rbg.m), Language m (abg.m), Language fig (abg.fig), Acausal bond graph (abg)
@comment  node-name,  next,  previous,  up
@subsection Language m (rbg.m)
The raw bond graph of system `sys' is represented as







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
@node Valid names,  , artwork, Language fig (abg.fig)
@subsubsection Valid Names
@cindex valid name
@pindex valid name
A valid name is a text string containing alphanumeric characters.  It
must @strong{NOT} contain underscore @samp{_}, hyphen @samp{-}, @samp{:}
or @samp{*}.

The following reserved words in reduce should also be avoided (with any case)
@example

Commands ALGEBRAIC ANTISYMMETRIC ARRAY BYE CLEAR CLEARRULES COMMENT
CONT DECOMPOSE DEFINE DEPEND DISPLAY ED EDITDEF END EVEN FACTOR FOR
FORALL FOREACH GO GOTO IF IN INDEX INFIX INPUT INTEGER KORDER LET
LINEAR LISP LISTARGP LOAD LOAD PACKAGE MASS MATCH MATRIX MSHELL
NODEPEND NONCOM NONZERO NOSPUR ODD OFF ON OPERATOR ORDER OUT PAUSE
PRECEDENCE PRINT PRECISION PROCEDURE QUIT REAL REMFAC REMIND RETRY
RETURN SAVEAS SCALAR SETMOD SHARE SHOWTIME SHUT SPUR SYMBOLIC
SYMMETRIC VECDIM VECTOR WEIGHT WRITE WTLEVEL

Boolean Operators EVENP FIXP FREEOF NUMBERP ORDP PRIMEP

Infix Operators := = >= > <= < => + * / ^ ** . WHERE SETQ OR AND
MEMBER MEMQ EQUAL NEQ EQ GEQ GREATERP LEQ LESSP PLUS DIFFERENCE MINUS
TIMES QUOTIENT EXPT CONS Numerical Operators ABS ACOS ACOSH ACOT ACOTH
ACSC ACSCH ASEC ASECH ASIN ASINH ATAN ATANH ATAN2 COS COSH COT COTH
CSC CSCH EXP FACTORIAL FIX FLOOR HYPOT LN LOG LOGB LOG10 NEXTPRIME
ROUND SEC SECH SIN SINH SQRT TAN TANH

Prefix Operators APPEND ARGLENGTH CEILING COEFF COEFFN COFACTOR CONJ
DEG DEN DET DF DILOG EI EPS ERF FACTORIZE FIRST GCD G IMPART INT
INTERPOL LCM LCOF LENGTH LHS LINELENGTH LTERM MAINVAR MAT MATEIGEN MAX
MIN MKID NULLSPACE NUM PART PF PRECISION RANDOM RANDOM NEW SEED RANK
REDERR REDUCT REMAINDER REPART REST RESULTANT REVERSE RHS SECOND SET
SHOWRULES SIGN SOLVE STRUCTR SUB SUM THIRD TP TRACE VARNAME

Reserved Variables CARD NO E EVAL MODE FORT WIDTH HIGH POW I INFINITY
K!* LOW POW NIL PI ROOT MULTIPLICITY T

Switches ADJPREC ALGINT ALLBRANCH ALLFAC BFSPACE COMBINEEXPT
COMBINELOGS COMP COMPLEX CRAMER CREF DEFN DEMO DIV ECHO ERRCONT
EVALLHSEQP EXP EXPANDLOGS EZGCD FACTOR FORT FULLROOTS GCD IFACTOR INT
INTSTR LCM LIST LISTARGS MCD MODULAR MSG MULTIPLICITIES NAT NERO
NOSPLIT OUTPUT PERIOD PRECISE PRET PRI RAT RATARG RATIONAL RATIONALIZE
RATPRI REVPRI RLISP88 ROUNDALL ROUNDBF ROUNDED SAVESTRUCTR
SOLVESINGULAR TIME TRA TRFAC TRIGFORM TRINT

Other Reserved Ids BEGIN DO EXPR FEXPR INPUT LAMBDA LISP MACRO PRODUCT
REPEAT SMACRO SUM UNTIL WHEN WHILE WS


@end example



@node Language m (rbg.m), Language m (abg.m), Language fig (abg.fig), Acausal bond graph (abg)
@comment  node-name,  next,  previous,  up
@subsection Language m (rbg.m)
The raw bond graph of system `sys' is represented as
4464
4465
4466
4467
4468
4469
4470



4471
4472
4473
4474
4475
4476
4477
# Generated by MTT at Mon Jun 16 15:10:17 BST 1997

# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% Version control history
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% $Id$
# %% $Log$



# %% Revision 1.4  2001/07/23 03:25:02  geraint
# %% Added notes on -ae hybrd, rk4, ode2odes.cc, .oct dependencies.
# %%
# %% Revision 1.3  2001/07/13 03:02:38  geraint
# %% Added notes on #ICD, gnuplot.txt and odes.sg rep.
# %%
# %% Revision 1.2  2001/07/03 22:59:10  gawthrop







>
>
>







4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
# Generated by MTT at Mon Jun 16 15:10:17 BST 1997

# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% Version control history
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% $Id$
# %% $Log$
# %% Revision 1.5  2001/07/23 03:35:29  geraint
# %% Updated file structure (mtt/bin).
# %%
# %% Revision 1.4  2001/07/23 03:25:02  geraint
# %% Added notes on -ae hybrd, rk4, ode2odes.cc, .oct dependencies.
# %%
# %% Revision 1.3  2001/07/13 03:02:38  geraint
# %% Added notes on #ICD, gnuplot.txt and odes.sg rep.
# %%
# %% Revision 1.2  2001/07/03 22:59:10  gawthrop
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367

5368
5369
5370
5371
5372
5373
5374
@comment  node-name,  next,  previous,  up
@chapter Extending MTT
@cindex Extending MTT
@cindex Make

@strong{MTT} has a number of built-in mechanisms for the user to extend
its capabilities. As @strong{MTT} is based on `Make' it is unsurprising
that these  involve the creation of `make files'. 

@menu
* Makefiles::                   
* New representations::         

@end menu

@node Makefiles, New representations, Extending MTT, Extending MTT
@comment  node-name,  next,  previous,  up
@section Makefiles
@cindex Makefiles








|




>







5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
@comment  node-name,  next,  previous,  up
@chapter Extending MTT
@cindex Extending MTT
@cindex Make

@strong{MTT} has a number of built-in mechanisms for the user to extend
its capabilities. As @strong{MTT} is based on `Make' it is unsurprising
that some of these  involve the creation of `make files'. 

@menu
* Makefiles::                   
* New representations::         
* Component library ::          
@end menu

@node Makefiles, New representations, Extending MTT, Extending MTT
@comment  node-name,  next,  previous,  up
@section Makefiles
@cindex Makefiles

5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410

TwoLinkGMV_numpar.m: TwoLinkGMV_numpar.txt
        mtt -q TwoLinkGMV numpar m
@end example
All of the files in the line stating `all:' are created when
@strong{MTT} is executed (if they don't already exist).

@node New representations,  , Makefiles, Extending MTT
@comment  node-name,  next,  previous,  up
@section New representations
@cindex New representations

It may be convenient to create new representations for @strong{MTT}; in
particular, it is nice to be able to include the result of some
numerical or symbolic computations within an @strong{MTT} report







|







5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470

TwoLinkGMV_numpar.m: TwoLinkGMV_numpar.txt
        mtt -q TwoLinkGMV numpar m
@end example
All of the files in the line stating `all:' are created when
@strong{MTT} is executed (if they don't already exist).

@node New representations, Component library , Makefiles, Extending MTT
@comment  node-name,  next,  previous,  up
@section New representations
@cindex New representations

It may be convenient to create new representations for @strong{MTT}; in
particular, it is nice to be able to include the result of some
numerical or symbolic computations within an @strong{MTT} report
5483
5484
5485
5486
5487
5488
5489


















5490
5491
5492
5493
5494
5495
5496
s$(SYS)_def.m:
        mtt -q -s s$(SYS) def m

@end example

Future extensions of @strong{MTT} will use such representations stored
in $MTT_REP.



















@c      node   next  prev  up
@node   Languages, Language tools, Extending MTT, Top
@chapter Languages
@cindex Languages
@pindex Languages








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
s$(SYS)_def.m:
        mtt -q -s s$(SYS) def m

@end example

Future extensions of @strong{MTT} will use such representations stored
in $MTT_REP.

@node Component library ,  , New representations, Extending MTT
@comment  node-name,  next,  previous,  up
@section Component library
@cindex Component library
@cindex component
@cindex Component library

If @strong{MTT} does not recognise a component (eg named MyComponent) as
a simple component (@pxref{Simple components}) or as already existing,
it searches the library search path $MTT_COMPONENTS
(@pxref{$MTT_COMPONENTS}) for a directory called MyComponent containing
MyComponent_abg.fig. It then copies the @emph{entire} directory into the
current working directory. Thus, for example, the directory could
contain MyComponent_desc.tex MyComponent_lbl.txt and MyComponent_cr.r in
addition to MyComponent_abg.fig.



@c      node   next  prev  up
@node   Languages, Language tools, Extending MTT, Top
@chapter Languages
@cindex Languages
@pindex Languages

5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
@comment  node-name,  next,  previous,  up
@subsection $MTT_COMPONENTS
@vindex $MTT_COMPONENTS
The environment variable $MTT_COMPONENTS is a colon-separated path
pointing to directories containing components and subsystems.
By default
@example
MTT_COMPONENTS=$MTTPATH/lib/comp
@end example
but you may wish to add your own component libraries:
@example
MTT_COMPONENTS=my_library_path:$MTT_COMPONENTS
@end example

@node $MTT_CRS, $MTT_EXAMPLES, $MTT_COMPONENTS, Paths







|







6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
@comment  node-name,  next,  previous,  up
@subsection $MTT_COMPONENTS
@vindex $MTT_COMPONENTS
The environment variable $MTT_COMPONENTS is a colon-separated path
pointing to directories containing components and subsystems.
By default
@example
MTT_COMPONENTS=.:$MTT_LIB/lib/comp/
@end example
but you may wish to add your own component libraries:
@example
MTT_COMPONENTS=my_library_path:$MTT_COMPONENTS
@end example

@node $MTT_CRS, $MTT_EXAMPLES, $MTT_COMPONENTS, Paths

MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]