ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/MakeFigure.m Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/MakeFigure.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/MakeFigure.m @@ -0,0 +1,19 @@ +## Makes the figures + +par = ReactorTQ_numpar; # Parameters +sym = ReactorTQ_sympar; # Parameter indices + +F_s= [90:10:500]; # Range of flows + +Z = []; +for f_s=F_s + par(sym.f_s) = f_s; + z = sort(eig(ReactorTQ_sm(par))); + Z = [Z z]; +endfor + + +grid; xlabel("f_s"); ylabel("z"); +plot(F_s,Z); +psfig("ReactorTQ_zero"); + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/Makefile Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/Makefile ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/Makefile @@ -0,0 +1,11 @@ +## Makes the schematic diagram and the zero figure +all: ReactorTQ_pic.ps ReactorTQ_zero.ps + +ReactorTQ_pic.ps: ReactorTQ_pic.fig + fig2dev -Lps ReactorTQ_pic.fig> ReactorTQ_pic.ps + +ReactorTQ_zero.ps: ReactorTQ_abg.fig + mtt -q ReactorTQ sm m; mtt -q ReactorTQ numpar m; + mtt -q ReactorTQ sympar m; + octave MakeFigure.m + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_abg.fig Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_abg.fig @@ -0,0 +1,128 @@ +#FIG 3.2 +Portrait +Center +Inches +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 3001 8701 3001 7801 3151 7951 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 1801 9001 2701 9001 2551 9151 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 8776 2701 9226 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 3301 9001 4201 9001 4051 9151 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 4201 9301 3601 9901 3826 9901 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 5701 9001 4801 9001 4951 9151 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 1800 6000 2700 6000 2550 6150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 10350 5025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 6000 1800 5775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 6225 1800 6000 +2 4 1 2 1 7 0 0 -1 4.000 0 0 7 0 0 5 + 11100 10200 600 10200 600 7500 11100 7500 11100 10200 +2 4 1 2 1 7 0 0 -1 4.000 0 0 7 0 0 5 + 11100 6600 600 6600 600 5400 11100 5400 11100 6600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 4800 4500 8700 4650 8550 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6000 4800 4800 8700 5025 8625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9000 4800 5100 8700 5400 8700 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 4725 4800 4275 4800 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 4725 4200 4275 4200 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 6225 4800 5775 4800 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 6225 4200 5775 4200 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 4800 8775 4800 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 4200 8775 4200 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 3000 7200 3000 6300 3150 6450 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 10500 4800 3300 6000 3525 6075 +2 4 1 2 1 7 0 0 -1 4.000 0 0 7 0 0 5 + 11100 5100 600 5100 600 3300 11100 3300 11100 5100 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 4485 2395 4485 4130 4633 3841 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 2999 2395 2999 4130 3148 3841 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 5970 2395 5970 4130 6119 3841 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 10428 2397 10428 4132 10577 3843 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 8943 2397 8943 4132 9091 3843 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 1800 2100 2700 2100 2550 2250 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 3300 2100 4200 2100 4050 2250 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 4800 2100 5700 2100 5550 2250 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 4200 1800 3600 1200 3600 1425 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 1875 2700 2325 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 8701 1801 8101 1201 8101 1426 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 9301 2101 10201 2101 10051 2251 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 9301 1801 9901 1201 9901 1426 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 6300 2100 7200 2100 7050 2250 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 7800 2100 8700 2100 8550 2250 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 1950 4350 1650 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 10050 1350 9900 1200 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 1200 9750 1050 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8550 1950 8850 1650 +2 4 1 2 1 7 0 0 -1 4.000 0 0 7 0 0 5 + 11100 300 600 300 600 2700 11100 2700 11100 300 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 3 + 3000 4800 3000 5700 3150 5550 +2 1 0 2 0 0 0 0 -1 0.000 0 0 0 0 0 2 + 4800 8775 4800 9225 +4 1 0 0 0 0 20 0.0000 4 210 1035 3075 4575 FMR:rfa\001 +4 1 0 0 0 0 20 0.0000 4 210 1065 4575 4575 Rate:AD\001 +4 1 0 0 0 0 20 0.0000 4 210 1050 6000 4575 Rate:AB\001 +4 2 0 0 0 0 20 0.0000 4 285 780 1651 9076 SS:t_0\001 +4 2 0 0 0 0 20 0.0000 4 285 690 3451 9976 C:h_r\001 +4 1 0 0 0 0 20 0.0000 4 210 150 3000 6075 1\001 +4 2 0 0 0 0 20 0.0000 4 210 480 1725 6075 SS:f\001 +4 1 0 0 0 0 20 0.0000 4 210 150 3001 9076 1\001 +4 1 0 0 0 0 20 0.0000 4 210 150 4501 9076 0\001 +4 1 0 0 0 0 20 0.0000 4 210 1005 9001 4576 Rate:BC\001 +4 1 0 0 0 0 20 0.0000 4 210 1050 10576 4576 FMR:rfb\001 +4 1 1 1 0 3 20 0.0000 4 210 2625 9600 7800 THERMAL MODEL\001 +4 1 1 1 0 3 20 0.0000 4 210 2940 9450 5700 HYDRAULIC MODEL\001 +4 1 0 0 0 0 20 0.0000 4 210 900 3000 7575 FMR:rt\001 +4 1 1 1 0 3 20 0.0000 4 210 2700 9675 3750 REACTION MODEL\001 +4 2 0 0 0 0 20 0.0000 4 285 825 1650 2175 SS:c_0\001 +4 1 0 0 0 0 20 0.0000 4 210 150 3000 2175 1\001 +4 1 0 0 0 0 20 0.0000 4 210 150 4500 2175 0\001 +4 1 0 0 0 0 20 0.0000 4 210 150 6000 2175 1\001 +4 1 0 0 0 0 20 0.0000 4 210 150 9001 2176 0\001 +4 1 0 0 0 0 20 0.0000 4 210 150 10501 2176 1\001 +4 1 0 0 0 0 20 0.0000 4 210 420 7500 2175 AF\001 +4 1 0 0 0 0 20 0.0000 4 285 795 8100 1050 C:m_b\001 +4 1 0 0 0 0 20 0.0000 4 285 825 9975 1050 SS:c_b\001 +4 1 0 0 0 0 20 0.0000 4 285 780 3600 1050 C:m_a\001 +4 1 1 0 0 3 20 0.0000 4 210 3735 9075 600 CONCENTRATION MODEL\001 +4 1 0 0 0 0 20 0.0000 4 210 480 6151 9076 SS:t\001 ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_args.new Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_args.new ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_args.new @@ -0,0 +1,1 @@ + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_desc.tex Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_desc.tex @@ -0,0 +1,48 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system ReactorTQ (ReactorTQ_desc.tex) +% Generated by MTT on Fri Mar 3 12:43:33 GMT 2000. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\fig{ReactorTQ_pic} +{ReactorTQ_pic} {0.9} {System \textbf{ReactorTQ}, Schematic} + +Figure \Ref{fig:ReactorTQ_pic} is the schematic diagram of a chemical +reactor. + +The acausal bond graph of system \textbf{ReactorTQ} is displayed in +Figure \Ref{fig:ReactorTQ_abg.ps} and its label file is listed in +Section \Ref{sec:ReactorTQ_lbl}. The subsystems are listed in Section +\Ref{sec:ReactorTQ_sub}. + +This example of a (nonlinear) chemical reactor is due to Trickett and +Bogle\footnote{ K. J. Tricket, \emph{Quantification of Inverse + Responses for Controllability Assessment of Nonlinear Processes}, + PhD Thesis, University College London, 1994} is used in this +section. The reactor has two reaction mechanisms: $\text{A} +\rightarrow \text{B} \rightarrow \text{C}$ and $\text{2A} \rightarrow +\text{D}$. The reactor mass inflow and outflow $f_r$ are identical. +$q$ represents the heat inflow to the reactor. + +The control loop $t$/$q$ has been inverted. The resulting SISO +system has two interpretations: +\begin{enumerate} +\item the \emph{dynamics} of the $c_b$/$f$ loop when the $t$/$q$ loop + is under perfect control and +\item the \emph{inverse} dynamics of the $t$/$q$ loop. +\end{enumerate} + +\fig{ReactorTQ_zero} {ReactorTQ_zero} {0.9} +{System\textbf{ReactorTQ}: zeros v flow} + +Figure \Ref{fig:ReactorTQ_zero} +shows the poles of the linearised system as the steady-state flow +varies: these are the \emph{zeros} of the $c_b$/$f$ control-loop when +the $t$/$q$ loop is \emph{open}. + + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_input.txt Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_input.txt @@ -0,0 +1,47 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (ReactorTQ_input.txt) +# Generated by MTT at Fri Mar 3 11:52:23 GMT 2000 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +## Reduce steady-state parameter file (ReactorTQ_sspar.r) +## as siso_sspar ecxept that inputs/states have different meaning +## Steady state for constant c_a, c_b and t=t_s and f=f_s + +## Unit volume ReactorTQ: +v_r = 1; + + +## The exponentials. +e_1 = exp(-q_1/t_s); +e_2 = exp(-q_2/t_s); +e_3 = exp(-q_3/t_s); + +## Solve for the steady-state concentrations +## Solve for ca - a quadratic. +a = k_3*e_3; #ca^2 +b = k_1*e_1 + f_s; #ca^1 +c = -c_0*f_s; + +c_a = (-b + sqrt(b^2 - 4*a*c))/(2*a); + +## solve for c_b +c_b = c_a*k_1*e_1/(f_s+k_2*e_2); + + +#States (masses) +x1 = c_a*v_r; +x2 = c_b*v_r; + +#Thermal state +x3 = c_p*t_s*v_r; + +# Set the inputs +mttu(1) = f_s + 0.1*f_s*(t>0.01); # f (ReactorTQ) + + + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_lbl.txt Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_lbl.txt @@ -0,0 +1,69 @@ +%% Label file for system ReactorTQ (ReactorTQ_lbl.txt) +%SUMMARY ReactorTQ: Simple reactor model - with TQ loop inverted +%DESCRIPTION Pseudo bond graph reactor model (based on ancient version) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%ALIAS Rate Chemical/Rate + +% Extra variables +%VAR t_s +%VAR f_s +%VAR t_0 +%VAR c_0 +%VAR rho +%VAR v_r +%VAR e_1 +%VAR e_2 +%VAR e_3 +%VAR a +%VAR b +%VAR c +%VAR c_A +%VAR c_B +%VAR x1 +%VAR x2 +%VAR x3 +%VAR q_S + + +% Port aliases + +% Argument aliases + +%% each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- +% Component type C + m_a lin effort,1 + m_b lin effort,1 + h_r lin effort,c_p + +% Component type FMR + rfa lin effort,1 + rfb lin effort,1 + rt lin effort,c_p + +% Component type Rate + AB Rate k_1,q_1,h_1,1 + BC Rate k_2,q_2,h_2,1 + AD Rate k_3,q_3,h_3,2 + +% Component type SS + c_0 SS c_0,internal + c_b SS external,0 + f SS internal,external + t SS t_s,internal + t_0 SS t_0,internal + + + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_numpar.m Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_numpar.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_numpar.m @@ -0,0 +1,186 @@ +function mttpar = ReactorTQ_numpar(); +% mttpar = ReactorTQ_numpar(); +%System ReactorTQ, representation numpar, language m; +%File ReactorTQ_numpar.m; +%Generated by MTT on Thu Aug 24 14:29:20 BST 2000; +% + +#====== Set up the global variables ======# +global ... + a ... + b ... + c ... + c_0 ... + c_a ... + c_b ... + c_p ... + e_1 ... + e_2 ... + e_3 ... + f_s ... + h ... + h_1 ... + h_2 ... + h_3 ... + k ... + k_1 ... + k_2 ... + k_3 ... + n ... + q ... + q_1 ... + q_2 ... + q_3 ... + q_s ... + rho ... + t_0 ... + t_s ... + v_r ... + x1 ... + x2 ... + x3 ; +## Set parameters to zero + a = 0.0; + b = 0.0; + c = 0.0; + c_0 = 0.0; + c_a = 0.0; + c_b = 0.0; + c_p = 0.0; + e_1 = 0.0; + e_2 = 0.0; + e_3 = 0.0; + f_s = 0.0; + h = 0.0; + h_1 = 0.0; + h_2 = 0.0; + h_3 = 0.0; + k = 0.0; + k_1 = 0.0; + k_2 = 0.0; + k_3 = 0.0; + n = 0.0; + q = 0.0; + q_1 = 0.0; + q_2 = 0.0; + q_3 = 0.0; + q_s = 0.0; + rho = 0.0; + t_0 = 0.0; + t_s = 0.0; + v_r = 0.0; + x1 = 0.0; + x2 = 0.0; + x3 = 0.0; + % -*-octave-*- Put Emacs into octave-mode + % Numerical parameter file (ReactorTQ_numpar.txt) + % Generated by MTT at Fri Mar 3 09:22:56 GMT 2000 + + % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % %% Version control history + % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % %% $Id$ + % %% $Log$ + % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % +a = 0; % Dummy +b = 0; % Dummy +c = 0; % Dummy +c_0 = 0; % Dummy +c_a = 0; % Dummy +c_b = 0; % Dummy +c_p = 0; % Dummy +e_1 = 0; % Dummy +e_2 = 0; % Dummy +e_3 = 0; % Dummy +f_s = 0; % Dummy +h = 0; % Dummy +h_1 = 0; % Dummy +h_2 = 0; % Dummy +h_3 = 0; % Dummy +k = 0; % Dummy +k_1 = 0; % Dummy +k_2 = 0; % Dummy +k_3 = 0; % Dummy +n = 0; % Dummy +q = 0; % Dummy +q_1 = 0; % Dummy +q_2 = 0; % Dummy +q_3 = 0; % Dummy +q_s = 0; % Dummy +rho = 0; % Dummy +t_0 = 0; % Dummy +t_s = 0; % Dummy +v_r = 0; % Dummy +x1 = 0; % Dummy +x2 = 0; % Dummy +x3 = 0; % Dummy + + % +rho = 900; % Density +c_p = 5.0; % Specific heat + + % +k_1 = 2.5e10; % Reaction rate constant +q_1 = 1e4; % Exotherm constant +h_1 = 1e4; % Heat of reaction + + % +k_2 = 2.65e12; % Reaction rate constant +q_2 = 1.2e4; % Exotherm constant +h_2 = 1.2e4; % Heat of reaction + + % +k_3 = 6e7; % Reaction rate constant +q_3 = 8e3; % Exotherm constant +h_3 = 3e4; % Heat of reaction + + % +c_0 = 10; % Inflow conc +t_0 = 530; % Inflow temp + + % +t_s = 530; % Steady-state temp +f_s = 100; % Steady-state flow + + + + + + + + +## Set up the parameter vector + mttpar(1) = a; + mttpar(2) = b; + mttpar(3) = c; + mttpar(4) = c_0; + mttpar(5) = c_a; + mttpar(6) = c_b; + mttpar(7) = c_p; + mttpar(8) = e_1; + mttpar(9) = e_2; + mttpar(10) = e_3; + mttpar(11) = f_s; + mttpar(12) = h; + mttpar(13) = h_1; + mttpar(14) = h_2; + mttpar(15) = h_3; + mttpar(16) = k; + mttpar(17) = k_1; + mttpar(18) = k_2; + mttpar(19) = k_3; + mttpar(20) = n; + mttpar(21) = q; + mttpar(22) = q_1; + mttpar(23) = q_2; + mttpar(24) = q_3; + mttpar(25) = q_s; + mttpar(26) = rho; + mttpar(27) = t_0; + mttpar(28) = t_s; + mttpar(29) = v_r; + mttpar(30) = x1; + mttpar(31) = x2; + mttpar(32) = x3; ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_numpar.txt Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_numpar.txt @@ -0,0 +1,79 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (ReactorTQ_numpar.txt) +# Generated by MTT at Fri Mar 3 09:22:56 GMT 2000 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +## Dummies +a = 0; # Dummy +b = 0; # Dummy +c = 0; # Dummy +c_0 = 0; # Dummy +c_a = 0; # Dummy +c_b = 0; # Dummy +c_p = 0; # Dummy +e_1 = 0; # Dummy +e_2 = 0; # Dummy +e_3 = 0; # Dummy +f_s = 0; # Dummy +h = 0; # Dummy +h_1 = 0; # Dummy +h_2 = 0; # Dummy +h_3 = 0; # Dummy +k = 0; # Dummy +k_1 = 0; # Dummy +k_2 = 0; # Dummy +k_3 = 0; # Dummy +n = 0; # Dummy +q = 0; # Dummy +q_1 = 0; # Dummy +q_2 = 0; # Dummy +q_3 = 0; # Dummy +q_s = 0; # Dummy +rho = 0; # Dummy +t_0 = 0; # Dummy +t_s = 0; # Dummy +v_r = 0; # Dummy +x1 = 0; # Dummy +x2 = 0; # Dummy +x3 = 0; # Dummy + +## The bulk liquid +rho = 900; # Density +c_p = 5.0; # Specific heat + +## Substance A +k_1 = 2.5e10; # Reaction rate constant +q_1 = 1e4; # Exotherm constant +h_1 = 1e4; # Heat of reaction + +## Substance B +k_2 = 2.65e12; # Reaction rate constant +q_2 = 1.2e4; # Exotherm constant +h_2 = 1.2e4; # Heat of reaction + +## Substance C +k_3 = 6e7; # Reaction rate constant +q_3 = 8e3; # Exotherm constant +h_3 = 3e4; # Heat of reaction + +## Inflow parameters +c_0 = 10; # Inflow conc +t_0 = 530; # Inflow temp + +## Steady-state values +t_s = 530; # Steady-state temp +f_s = 100; # Steady-state flow + + + + + + + + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_pic.fig Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_pic.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_pic.fig @@ -0,0 +1,52 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +6 2400 3150 3225 3375 +2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 2625 3300 2925 3300 +4 0 -1 0 0 2 20 0.0000 4 210 210 2400 3375 A\001 +4 0 -1 0 0 2 20 0.0000 4 210 225 3000 3375 D\001 +-6 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 2100 2100 2100 3900 1500 3900 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 1500 4050 3900 4050 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2 + 0 0 2.00 120.00 240.00 + 1500 4350 2100 4350 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 2100 3600 3900 4200 3900 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2 + 0 0 2.00 120.00 240.00 + 3600 4350 4200 4350 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 + 3900 4050 4200 4050 +2 1 1 2 -1 -1 0 0 -1 6.000 0 0 -1 0 0 2 + 2100 2400 3600 2400 +2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 2400 2925 2700 2925 +2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2 + 0 0 1.00 60.00 120.00 + 3000 2925 3300 2925 +2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2 + 0 0 2.00 120.00 240.00 + 2850 4800 2850 3750 +4 0 -1 0 0 2 20 0.0000 4 210 210 2175 3000 A\001 +4 0 -1 0 0 2 20 0.0000 4 210 195 2775 3000 B\001 +4 0 -1 0 0 2 20 0.0000 4 210 210 3375 3000 C\001 +4 0 -1 0 0 2 20 0.0000 4 210 150 2250 3375 2\001 +4 0 -1 0 0 3 12 0.0000 4 135 90 1875 4950 0\001 +4 0 -1 0 0 3 12 0.0000 4 135 90 2250 4950 0\001 +4 0 -1 0 0 3 20 0.0000 4 210 150 2775 5025 q\001 +4 0 -1 0 0 3 20 0.0000 4 285 765 1500 4800 f , c , t\001 +4 0 -1 0 0 3 20 0.0000 4 285 765 3600 4800 f , c , t\001 +4 0 -1 0 0 3 12 0.0000 4 135 90 3975 4950 b\001 +4 0 -1 0 0 3 12 0.0000 4 90 75 4350 4950 r\001 ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_rep.txt Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_rep.txt @@ -0,0 +1,29 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system ReactorTQ (ReactorTQ_rep.txt) +## Generated by MTT on" Fri Mar 3 12:13:34 GMT 2000. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt ReactorTQ abg tex # The system description +mtt ReactorTQ cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt ReactorTQ struc tex # The system structure +## mtt ReactorTQ dae tex # The system dae +mtt ReactorTQ ode tex # The system ode +## mtt ReactorTQ sspar tex # Steady-state parameters +## mtt ReactorTQ ss tex # Steady state +## mtt ReactorTQ dm tex # Descriptor matrices (of linearised system) +mtt ReactorTQ sm tex # State matrices (of linearised system) +## mtt ReactorTQ tf tex # Transfer function (of linearised system) +## mtt ReactorTQ lmfr ps # log modulus of frequency response (of linearised system) +mtt ReactorTQ simpar tex # Simulation parameters +mtt ReactorTQ numpar tex # Numerical simulation parameters +mtt ReactorTQ input tex # Simulation input +mtt ReactorTQ state tex # Simulation initial state + +mtt -c ReactorTQ odeso ps ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_simp.r Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_simp.r @@ -0,0 +1,21 @@ +%% Reduce comands to simplify output (mimo_sim.r) +m_r := rho*v_r; +%mttx1 := c_a*v_r; +%mttx2 := c_b*v_r; + +% THIS MUST BE CHANGED - probs with cp and FMRs +%c_p := 1; + +%let mttx3/c_p = t; + +let e^(q_1/(mttx3/c_p)) = 1/epsilon_1; +let e^(q_2/(mttx3/c_p)) = 1/epsilon_2; +let e^(q_3/(mttx3/c_p)) = 1/epsilon_3; + +let e^(q_1/t_s) = 1/epsilon_1; +let e^(q_2/t_s) = 1/epsilon_2; +let e^(q_3/t_s) = 1/epsilon_3; + +FACTOR mttx1,mttx2; + +END; ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_simpar.txt Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system ReactorTQ (ReactorTQ_simpar.txt) +# Generated by MTT on Fri Mar 3 12:11:48 GMT 2000. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 0.05; # Last time in simulation +DT = 0.0002; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sm.m Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sm.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sm.m @@ -0,0 +1,99 @@ +function [mtta,mttb,mttc,mttd] = ReactorTQ_sm(mttpar); +% [mtta,mttb,mttc,mttd] = ReactorTQ_sm(mttpar); +%System ReactorTQ, representation sm, language m; +%File ReactorTQ_sm.m; +%Generated by MTT on Thu Aug 24 14:47:46 BST 2000; +% +%====== Set up the global variables ======% +global ... +a ... +b ... +c ... +c_0 ... +c_a ... +c_b ... +c_p ... +e_1 ... +e_2 ... +e_3 ... +f_s ... +h ... +h_1 ... +h_2 ... +h_3 ... +k ... +k_1 ... +k_2 ... +k_3 ... +n ... +q ... +q_1 ... +q_2 ... +q_3 ... +q_s ... +rho ... +t_0 ... +t_s ... +v_r ... +x1 ... +x2 ... +x3 ; +a = mttpar(1); +b = mttpar(2); +c = mttpar(3); +c_0 = mttpar(4); +c_a = mttpar(5); +c_b = mttpar(6); +c_p = mttpar(7); +e_1 = mttpar(8); +e_2 = mttpar(9); +e_3 = mttpar(10); +f_s = mttpar(11); +h = mttpar(12); +h_1 = mttpar(13); +h_2 = mttpar(14); +h_3 = mttpar(15); +k = mttpar(16); +k_1 = mttpar(17); +k_2 = mttpar(18); +k_3 = mttpar(19); +n = mttpar(20); +q = mttpar(21); +q_1 = mttpar(22); +q_2 = mttpar(23); +q_3 = mttpar(24); +q_s = mttpar(25); +rho = mttpar(26); +t_0 = mttpar(27); +t_s = mttpar(28); +v_r = mttpar(29); +x1 = mttpar(30); +x2 = mttpar(31); +x3 = mttpar(32); +%a matrix% +mtta = zeros(2,2); +mtt_t1 = exp((2.0*q_1+q_3)/t_s)*f_s^2+4.0*exp((2.0*q_1)/t_s)*c_0*f_s*k_3; +mtt_t1 = -sqrt((mtt_t1+2.0*exp((q_1+q_3)/t_s)*f_s*k_1+exp(q_3/t_s)*k_1^2)/exp(q_3/t_s)); +mtta(1,1) = mtt_t1/abs(exp(q_1/t_s)); +mtta(2,1) = k_1/exp(q_1/t_s); +mtta(2,2) = (-(exp(q_2/t_s)*f_s)-k_2)/exp(q_2/t_s); +%b matrix% +mttb = zeros(2,1); +mtt_t1 = exp((q_1+q_3)/t_s)*abs(exp(q_1/t_s))*f_s+2.0*exp(q_1/t_s)*abs(exp(q_1/t_s))*c_0*k_3; +mtt_t1 = mtt_t1+exp(q_3/t_s)*abs(exp(q_1/t_s))*k_1; +mtt_t3 = exp((q_1+q_3)/t_s); +mtt_t2 = exp((2.0*q_1+q_3)/t_s)*f_s^2+4.0*exp((2.0*q_1)/t_s)*c_0*f_s*k_3; +mtt_t1 = mtt_t1-(mtt_t3*sqrt((mtt_t2+2.0*exp((q_1+q_3)/t_s)*f_s*k_1+exp(q_3/t_s)*k_1^2)/exp(q_3/t_s))); +mttb(1) = mtt_t1/(2.0*exp(q_1/t_s)*abs(exp(q_1/t_s))*k_3); +mtt_t1 = exp((q_1+q_2+q_3)/t_s)*abs(exp(q_1/t_s))*f_s*k_1; +mtt_t3 = exp((q_1+q_2+q_3)/t_s); +mtt_t2 = exp((2.0*q_1+q_3)/t_s)*f_s^2+4.0*exp((2.0*q_1)/t_s)*c_0*f_s*k_3; +mtt_t3 = mtt_t3*sqrt((mtt_t2+2.0*exp((q_1+q_3)/t_s)*f_s*k_1+exp(q_3/t_s)*k_1^2)/exp(q_3/t_s)); +mtt_t1 = mtt_t1+exp((q_2+q_3)/t_s)*abs(exp(q_1/t_s))*k_1^2-(mtt_t3*k_1); +mtt_t2 = 2.0*exp((2.0*q_1+q_2)/t_s)*abs(exp(q_1/t_s))*f_s*k_3; +mttb(2) = mtt_t1/(mtt_t2+2.0*exp((2.0*q_1)/t_s)*abs(exp(q_1/t_s))*k_2*k_3); +%c matrix% +mttc = zeros(1,2); +mttc(1,2) = 1.0; +%d matrix% +mttd = zeros(1,1); ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sspar.r Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sspar.r @@ -0,0 +1,51 @@ +%% Reduce steady-state parameter file (ReactorTQ_sspar.r) +%% as siso_sspar ecxept that inputs/states have different meaning +%% Steady state for constant c_a, c_b and t=t_s and f=f_s + +%% Unit volume ReactorTQ: +v_r := 1; + +%% Do the inputs first -- this avoids problems with reduce not +%% recognising that complicated expressions are zero + +%% The exponentials. +e_1 := e^(-q_1/t_s); +e_2 := e^(-q_2/t_s); +e_3 := e^(-q_3/t_s); + +%Steady-state input q needed to achieve steady-state t_s +q_s := -( + + (t_0-t_s)*f_s + + e_1*h_1*k_1*x1 + + e_2*h_2*k_2*x2 + + e_3*h_3*k_3*x1^2 + ); + +%% The input at steady-state +MTTu1 := f_s; + +%States (masses) +x1 := c_a*v_r; +x2 := c_b*v_r; + +%Load up the vectors +MTTx1 := x1; +MTTx2 := x2; + +MTTy1 := c_b; + +%% Finally, solve for the steady-state concentrations +%% Solve for ca - a quadratic. +a := k_3*e_3; %ca^2 +b := k_1*e_1 + f_s; %ca^1 +c := -c_0*f_s; + +c_a := (-b + sqrt(b^2 - 4*a*c))/(2*a); + +%% solve for c_b +c_b := c_a*k_1*e_1/(f_s+k_2*e_2); + + +END; + + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_state.txt Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_state.txt @@ -0,0 +1,50 @@ +# -*-octave-*- Put Emacs into octave-mode +# State specification (ReactorTQ_state.txt) +# Generated by MTT at Fri Mar 3 11:52:23 GMT 2000 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +## Reduce steady-state parameter file (ReactorTQ_sspar.r) +## as siso_sspar ecxept that states/states have different meaning +## Steady state for constant c_a, c_b and t=t_s and f=f_s + +## Unit volume ReactorTQ: +v_r = 1; + + +## The exponentials. +e_1 = exp(-q_1/t_s); +e_2 = exp(-q_2/t_s); +e_3 = exp(-q_3/t_s); + +## Solve for the steady-state concentrations +## Solve for ca - a quadratic. +a = k_3*e_3; #ca^2 +b = k_1*e_1 + f_s; #ca^1 +c = -c_0*f_s; + +c_a = (-b + sqrt(b^2 - 4*a*c))/(2*a); + +## solve for c_b +c_b = c_a*k_1*e_1/(f_s+k_2*e_2); + + +#States (masses) +x1 = c_a*v_r; +x2 = c_b*v_r; + + +## The two inputs at steady-state +##mttu(1) = f_s; + +## Load up the states +mttx(1) = x1; +mttx(2) = x2; + + + + ADDED mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sympar.m Index: mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sympar.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Chemical/ReactorTQ/ReactorTQ_sympar.m @@ -0,0 +1,40 @@ +function sympar = ReactorTQ_sympar(); +% sympar = ReactorTQ_sympar(); +%System ReactorTQ, representation sympar, language m; +%File ReactorTQ_sympar.m; +%Generated by MTT on Thu Aug 24 14:47:48 BST 2000; +% +global ... +mtt_no_globals ; + sympar.a = 1; # ReactorTQ + sympar.b = 2; # ReactorTQ + sympar.c = 3; # ReactorTQ + sympar.c_0 = 4; # ReactorTQ + sympar.c_A = 5; # ReactorTQ + sympar.c_B = 6; # ReactorTQ + sympar.c_p = 7; # ReactorTQ + sympar.e_1 = 8; # ReactorTQ + sympar.e_2 = 9; # ReactorTQ + sympar.e_3 = 10; # ReactorTQ + sympar.f_s = 11; # ReactorTQ + sympar.h = 12; # Rate + sympar.h_1 = 13; # ReactorTQ + sympar.h_2 = 14; # ReactorTQ + sympar.h_3 = 15; # ReactorTQ + sympar.k = 16; # Rate + sympar.k_1 = 17; # ReactorTQ + sympar.k_2 = 18; # ReactorTQ + sympar.k_3 = 19; # ReactorTQ + sympar.n = 20; # Rate + sympar.q = 21; # Rate + sympar.q_1 = 22; # ReactorTQ + sympar.q_2 = 23; # ReactorTQ + sympar.q_3 = 24; # ReactorTQ + sympar.q_S = 25; # ReactorTQ + sympar.rho = 26; # ReactorTQ + sympar.t_0 = 27; # ReactorTQ + sympar.t_s = 28; # ReactorTQ + sympar.v_r = 29; # ReactorTQ + sympar.x1 = 30; # ReactorTQ + sympar.x2 = 31; # ReactorTQ + sympar.x3 = 32; # ReactorTQ ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_abg.fig Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_abg.fig @@ -0,0 +1,20 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1801 3151 2701 3151 2476 3376 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3151 4501 3151 4276 3376 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 2926 4726 2026 4951 2251 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 3151 5851 3151 5626 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6975 4050 6975 1350 450 1350 450 4050 6975 4050 +4 1 -1 0 0 0 20 0.0000 4 195 375 3151 3241 AF\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 4726 3241 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 600 4726 1891 CX:c\001 +4 1 -1 0 0 0 20 0.0000 4 240 810 1306 3241 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 240 960 6346 3241 SS:[out]\001 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_desc.tex Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_desc.tex @@ -0,0 +1,20 @@ +% Verbal description for system INTFX (INTFX_desc.tex) +% Generated by MTT on Fri Aug 15 09:53:16 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/08/24 11:20:18 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{INTFX} is + displayed in Figure \Ref{INTFX_abg} and its label + file is listed in Section \Ref{sec:INTFX_lbl}. + The subsystems are listed in Section \Ref{sec:INTFX_sub}. + +\textbf{INTFX} is a two-port component where the effort on port [out] + is the integral of the flow on port [in]. ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_lbl.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/INTFX_lbl.txt @@ -0,0 +1,24 @@ +%SUMMARY INTFX +%DESCRIPTION +%% Label file for system INTFX (INTFX_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type CX + c lin effort,1 + +% Component type SS + [in] SS external,external + [out] SS external,external ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/Makefile Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/Makefile ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/Makefile @@ -0,0 +1,25 @@ +# Makefile for the Two link GMV example + +all: msdp_tf.m twolinkp_obs.m twolinkp_sm.m TwoLinkGMV_numpar.m + +msdP_tf.m: msdP_abg.fig + mtt -q msdP tf m + +msdp_tf.m: msdP_tf.m + tr [A-Z] [a-z] msdp_tf.m + +TwoLinkP_obs.m: TwoLinkP_abg.fig TwoLinkP_lbl.txt + mtt -q TwoLinkP obs m + +twolinkp_obs.m: TwoLinkP_obs.m + tr [A-Z] [a-z] twolinkp_obs.m + +TwoLinkP_sm.m: TwoLinkP_abg.fig TwoLinkP_lbl.txt + mtt -q TwoLinkP sm m + +twolinkp_sm.m: TwoLinkP_sm.m + tr [A-Z] [a-z] twolinkp_sm.m + +TwoLinkGMV_numpar.m: TwoLinkGMV_numpar.txt + mtt -q TwoLinkGMV numpar m + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_abg.fig Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_abg.fig @@ -0,0 +1,124 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 4278 5403 4953 5178 4953 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 6078 5403 5403 5403 5628 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 2702 4277 3827 4052 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 7652 4277 6527 4277 6752 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 7876 2926 9001 3196 8731 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 7877 8327 9002 8597 8732 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 5401 5626 9001 5851 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6526 4951 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 4 0 1 1 7 0 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 2250 9675 2250 675 3600 675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 5850 990 5850 990 4500 10125 4500 10125 5850 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3375 4950 1800 3375 1800 3600 +4 1 -1 0 0 0 20 0.0000 4 195 135 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 270 6933 5268 IX:J\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000 4 195 1110 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1110 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000 4 195 1095 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1095 7156 6391 EMTF:s2\001 +4 1 5 0 0 0 20 0.0000 4 195 135 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000 4 210 345 6751 4456 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 6751 3781 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 345 6751 6076 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 6751 6706 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 585 6211 6526 [mod]\001 +4 1 5 0 0 0 20 0.0000 4 195 960 4681 5266 INTFX:th\001 +4 1 1 1 0 0 20 0.0000 4 195 210 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000 4 135 180 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000 4 195 210 8280 9990 Y\001 +4 2 26 0 0 0 16 0.0000 4 210 585 3960 4140 [mod]\001 +4 2 26 0 0 0 16 0.0000 4 210 585 6345 4095 [mod]\001 +4 2 26 0 0 0 16 0.0000 4 210 585 3960 6210 [mod]\001 +4 1 26 0 0 0 16 0.0000 4 210 345 4590 4455 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 4545 3780 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 4590 6660 [out]\001 +4 0 26 0 0 0 16 0.0000 4 210 345 4365 6030 [in]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 2971 1216 SS:[x_a]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 2971 9361 SS:[x_b]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 8372 1217 SS:[y_a]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 8417 9362 SS:[y_b]\001 +4 1 4 0 0 0 20 0.0000 4 255 1485 5671 1216 SS:[alpha_a]\001 +4 1 4 0 0 0 20 0.0000 4 255 1485 5671 9361 SS:[alpha_b]\001 +4 1 1 1 0 0 20 0.0000 4 255 600 1350 2700 Tip a\001 +4 1 1 1 0 0 20 0.0000 4 195 1380 1260 6300 Mass centre\001 +4 1 1 1 0 0 20 0.0000 4 255 600 1350 9855 Tip b\001 +4 1 4 0 0 0 20 0.0000 4 255 1215 1756 3286 SS:[alpha]\001 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_desc.tex Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_desc.tex @@ -0,0 +1,25 @@ +% Verbal description for system RODaX (RODaX_desc.tex) +% Generated by MTT on Fri Aug 15 09:53:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/04/12 15:25:35 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 09:41:19 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{RODaX} is + displayed in Figure \Ref{RODaX_abg} and its label + file is listed in Section \Ref{sec:RODaX_lbl}. + The subsystems are listed in Section \Ref{sec:RODaX_sub}. + +{\bf RODaX} is essentially as described in Figure 10.2 of +``Metamodelling''. It has an additional port ``[angle]'' to provide +access to the rod angle. + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_lbl.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/RODaX_lbl.txt @@ -0,0 +1,55 @@ +%SUMMARY RODaX: rigid rod in two dimensions - angle port. +%DESCRIPTION Port [alpha_a]: Angular torque/velocity - end a +%DESCRIPTION Port [alpha_b]: Angular torque/velocity - end b +%DESCRIPTION Port [x_a]: x force/velocity - end a +%DESCRIPTION Port [x_b]: x force/velocity - end b +%DESCRIPTION Port [y_a]: y force/velocity - end a +%DESCRIPTION Port [y_b]: y force/velocity - end b +%DESCRIPTION Port [alpha]: rod angle +%DESCRIPTION +%DESCRIPTION Parameter 1: length from end 1 to mass centre +%DESCRIPTION Parameter 2: length from end 2 to mass centre +%DESCRIPTION Parameter 3: inertia about mass centre +%DESCRIPTION Parameter 4: mass +%DESCRIPTION See Section 10.2 of "Metamodelling" + + +%% Label file for system RODaX (RODaX_lbl.txt) + + + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% % Revision 1.1 1998/04/12 15:24:06 peterg +% % Initial revision +% % +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Inertias +J lin flow,$3 +m_x lin flow,$4 +m_y lin flow,$4 + +%Integrate angular velocity to get angle +th + +%Modulated transformers +s1 lsin flow,$1 +s2 lsin flow,$2 +c1 lcos flow,$1 +c2 lcos flow,$2 + + + + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_abg.fig Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_abg.fig @@ -0,0 +1,94 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 8550 9225 8550 9000 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 8325 9225 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 9450 9225 9450 9000 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 9225 9225 9675 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10215 2475 10215 2475 7650 11025 7650 11025 10215 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 8325 5625 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 9225 5625 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 3825 5625 3825 8550 5625 8550 5400 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 3375 6525 3375 9450 5625 9450 5400 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 5400 9225 5400 9000 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 5175 9225 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 6300 9225 6300 9000 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 6075 9225 6525 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 7065 2475 7065 2475 4500 11025 4500 11025 7065 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 5400 5625 5400 5400 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 5175 5625 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 6300 5625 6300 5400 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 6075 5625 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 5400 3600 5400 3375 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3600 5175 3600 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 6300 3150 6300 2925 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 6075 3150 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 2250 9225 2250 9000 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 2025 9225 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 3150 9225 3150 9000 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 2925 9225 3375 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 3915 2475 3915 2475 1350 11025 1350 11025 3915 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 2250 5625 2250 5400 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 2025 5625 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 3150 5625 3150 5400 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 2925 5625 3375 +4 0 -1 0 0 22 20 0.0000 4 270 1935 9315 8640 SS:Theta_1_m\001 +4 0 -1 0 0 22 20 0.0000 4 270 1935 9315 9540 SS:Theta_2_m\001 +4 1 -1 0 0 22 20 0.0000 4 210 2445 6750 9090 TwoLinkPX:model\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 8415 [Theta_1]\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 9315 [Theta_2]\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 8415 [Joint_1]\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 9315 [Joint_2]\001 +4 1 1 1 0 3 26 0.0000 4 270 1005 6750 10080 Model\001 +4 1 -1 0 0 22 20 0.0000 4 270 2415 6750 5940 TwoLinkP:system\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 5265 [Theta_1]\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 6165 [Theta_2]\001 +4 0 -1 0 0 22 20 0.0000 4 270 1530 9315 5490 SS:Theta_1\001 +4 0 -1 0 0 22 20 0.0000 4 270 1530 9315 6390 SS:Theta_2\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 5265 [Joint_1]\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 6165 [Joint_2]\001 +4 1 -1 0 0 22 20 0.0000 4 195 150 3825 5490 0\001 +4 2 -1 0 0 22 20 0.0000 4 270 1275 1935 6390 SS:Tau_2\001 +4 2 -1 0 0 22 20 0.0000 4 270 1275 1980 5490 SS:Tau_1\001 +4 1 -1 0 0 22 20 0.0000 4 195 150 3375 6390 0\001 +4 1 1 1 0 3 26 0.0000 4 360 1110 6705 6885 System\001 +4 0 -1 0 0 22 20 0.0000 4 270 1785 9315 2340 SS:Theta_1_r\001 +4 0 -1 0 0 22 20 0.0000 4 270 1785 9315 3240 SS:Theta_2_r\001 +4 1 1 1 0 3 26 0.0000 4 360 2055 6705 3735 Specification\001 +4 1 -1 0 0 22 20 0.0000 4 270 1860 6795 2340 msdP:spec_1\001 +4 1 -1 0 0 22 20 0.0000 4 270 1860 6795 3195 msdP:spec_2\001 +4 2 -1 0 0 22 20 0.0000 4 270 1260 4005 2340 SS:Ref_1\001 +4 2 -1 0 0 22 20 0.0000 4 270 1260 3960 3240 SS:Ref_2\001 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_args.new Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_args.new ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_args.new @@ -0,0 +1,1 @@ + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_desc.tex Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_desc.tex @@ -0,0 +1,97 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system TwoLinkGMV (TwoLinkGMV_desc.tex) +% Generated by MTT on Wed Apr 15 18:15:23 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/04/15 18:41:58 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkGMV} is + displayed in Figure \Ref{TwoLinkGMV_abg} and its label + file is listed in Section \Ref{sec:TwoLinkGMV_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkGMV_sub}. + +This composite system provides an illustration of nonlinear +generalised minimum variance (GMV) control (continuous-time) operating on a +twolink manipulator. GMV can also be interpreted as: +\begin{itemize} +\item the exact linearisation (by feedback) followed by a + pole-placement design on the resulting linear system and +\item a special case of generalised predictive control (GPC) were the + prediction horizon is zero and the $P(s)$ polynomial is the same as + the system relative degree and +\item One possible instance of physical-model-based control. +\end{itemize} + +The composite system of Figure \Ref{TwoLinkGMV_abg} has three +(visible) parts: +\begin{enumerate} +\item a linear decoupled \emph{specification} system that describes the desired + closed-loop system in terms of a physical system (two decoupled + mass-spring-damper systems), +\item the system itself (a two-link manipulator) representing the + system to be controlled, more details are given in Sections + \Ref{sec:TwoLinkP_ode.tex} and \Ref{sec:TwoLinkP_rfe.tex}. +\item a model of the system with additional state inputs to be used as + a state observer. +\end{enumerate} +The invisible parts are implemented in the text file +``TwoLinkGMV\_input.txt'' (see Section \Ref{sec:TwoLinkGMV_input.txt}). +These parts are: +\begin{itemize} +\item the reference signal (joint angles) + \begin{equation} + w(t) = + \begin{cases} + \begin{pmatrix} + \pi \\ + 0 + \end{pmatrix} & 0 \ge t > 10 \\ + \begin{pmatrix} + 2\pi \\ + 0 + \end{pmatrix} & 10 \ge t > 15 \\ + \begin{pmatrix} + 2\pi \\ + \pi + \end{pmatrix} & 15 \ge t > 30 \\ + \end{cases} + \end{equation} +\item The control signal (joint torques) being the solution of + \begin{equation} + \phi^*(t) = O_o(\hat x(t)) + O_h(\hat x(t)) u(t) = w(t) + \end{equation} +where $\hat x$ is the observed state. +\item The observer feedback signal + \begin{equation} + u_x = K ( y - \hat y) + \end{equation} +where $K$ is the observer gain matrix and $y$ and $\hat y$ are the +system and model outputs respectively. +\end{itemize} +The observer gain is set up on the basis of the \emph{linearised} +system using LQ theory. This is implemented in the text file +``TwoLinkGMV\_state.txt'' (see Section \Ref{sec:TwoLinkGMV_state.txt}) +using the Octave function ``lqe'' together with the MTT-generated +linearised system ``TwoLink\_sm''. + + +The system was simulated using Octave under MTT with the results given +in Figures +\Ref{fig:TwoLinkGMV_odeso.ps-TwoLinkGMV-Theta-1,TwoLinkGMV-Theta-1-r} +and +\Ref{fig:TwoLinkGMV_odeso.ps-TwoLinkGMV-Theta-2,TwoLinkGMV-Theta-2-r} +giving the actual and specification angles for joints 1 and 2 +respectively. + +The initial \emph{system} state was zero except that the angle of the +first rod was $\frac{\pi}{4}$. The initial \emph{observer} state was +(erroneously but deliberately) set at zero. This explains the +(decaying) discrepancy between the actual and specification angles. +Simulations with zero initial state gave precise matching. ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_input.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_input.txt @@ -0,0 +1,35 @@ +# Numerical parameter file (TwoLinkGMV_input.txt) +# Generated by MTT at Mon Apr 13 11:02:37 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +global ObserverGain; + +# Reference signals +u(1) = pi + pi*(t>10) ; # TwoLinkGMV (Ref_1) +u(2) = pi*(t>15) ; # TwoLinkGMV (Ref_2) + +# Control signals +w = u(1:2); # Reference signal +x_model = x(9:12); # Observed states +[O_o, O_h] = TwoLinkP_obs(x_model) #GPC O function (affine case) +[spec_n,spec_d] = msdP_tf; # Spec transfer function +P = spec_d(3:-1:1); # P poly with ascending coeffs +PP = [eye(2)*P(1) eye(2)*P(2) eye(2)*P(3)]; +PO_o = PP*O_o; # Compute Py with u zero +PO_h = PP*O_h; # Coefficient of u +u_control = PO_h\(w - PO_o); # GMV control signal + +u(3:4) = u_control; # TwoLinkGMV (Tau_1) + +# Observer +x_system = x(5:8); # System states +error = x_system-x_model; # Error in states +ObserverInput = ObserverGain*error; +u(5:8) = ObserverInput; # Set the state-input to the observer + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_lbl.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_lbl.txt @@ -0,0 +1,47 @@ +%SUMMARY TwoLinkGMV - GMV control of two-link manipulator +%DESCRIPTION This composite system provides an illustration +%DESCRIPTION of nonlinear generalised minimum variance (GMV) control +%DESCRIPTION (continuous-time) operating on a twolink manipulator. + +%% Label file for system TwoLinkGMV (TwoLinkGMV_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type SS + Ref_1 SS external,internal + Ref_2 SS external,internal + Tau_1 SS external,internal + Tau_2 SS external,internal + + Theta_1 SS external,0 + Theta_2 SS external,0 + + Theta_1_m SS external,0 + Theta_2_m SS external,0 + + Theta_1_r SS external,0 + Theta_2_r SS external,0 + +% Component type msdP + spec_1 + spec_2 + +% Component type TwoLinkP + system + +% Component type TwoLinkPX + model + + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_numpar.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_numpar.txt @@ -0,0 +1,18 @@ +# Numerical parameter file (TwoLinkGMV_numpar.txt) +# Generated by MTT at Mon Apr 13 10:57:02 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_s = 1.0; # msdP +j_s = 1.0; # msdP +r_s = 1.414; # msdP + +j_r = 1.0; # TwoLinkP,TwoLinkPX +l_r = 1.0; # TwoLinkP,TwoLinkPX +m_r = 1.0; # TwoLinkP,TwoLinkPX ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_obspar.r Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_obspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_obspar.r @@ -0,0 +1,29 @@ +%% Reduce GPC observability function parameters for system TwoLinkGMV (TwoLinkGMV_obspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MTTGPCNy := 2; +MTTGPCNu := 0; +Matrix MTTdU(5,1); +MTTdU(1,1) := MTTdU1; +MTTdU(2,1) := MTTdU2; +MTTdU(3,1) := MTTdU3; +MTTdU(4,1) := MTTdU4; +MTTdU(5,1) := MTTdU5; +Matrix MTTUU(2,5); +MTTUU(1,1) := MTTu1; +MTTUU(1,2) := MTTu11; +MTTUU(1,3) := MTTu12; +MTTUU(1,4) := MTTu13; +MTTUU(1,5) := MTTu14; +MTTUU(2,1) := MTTu2; +MTTUU(2,2) := MTTu21; +MTTUU(2,3) := MTTu22; +MTTUU(2,4) := MTTu23; +MTTUU(2,5) := MTTu24; +END; ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_rep.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_rep.txt @@ -0,0 +1,28 @@ +# Outline report file for system TwoLinkGMV (TwoLinkGMV_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt TwoLinkGMV abg tex +mtt TwoLinkGMV struc tex +mtt TwoLinkGMV sympar tex + +mtt TwoLinkP struc tex +mtt TwoLinkP rfe tex +mtt TwoLinkP ode tex +mtt TwoLinkP obs tex + +mtt TwoLinkP ss tex +mtt TwoLinkP sm tex + +mtt msdP tf tex + +mtt TwoLinkGMV numpar txt +mtt TwoLinkGMV state txt +mtt TwoLinkGMV input txt +mtt TwoLinkGMV odeso ps 'TwoLinkGMV_Theta_1,TwoLinkGMV_Theta_1_r' +mtt TwoLinkGMV odeso ps 'TwoLinkGMV_Theta_2,TwoLinkGMV_Theta_2_r' ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_simpar.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system TwoLinkGMV (TwoLinkGMV_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=30.0 +DT=0.2 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_simpar.txt_old Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_simpar.txt_old @@ -0,0 +1,12 @@ +%% Simulation parameters for system TwoLinkGMV (TwoLinkGMV_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=30.0 +DT=0.2 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_sspar.r Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_sspar.r @@ -0,0 +1,35 @@ +% Steady-state parameter file (TwoLinkGMV_sspar.r) +% Generated by MTT at Tue Apr 14 08:47:47 BST 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +% Steady-state states +MTTX1 := 0; % TwoLinkGMV_spec_1 (c_s) +MTTX2 := 0; % TwoLinkGMV_spec_1 (j_s) +MTTX3 := 0; % TwoLinkGMV_spec_2 (c_s) +MTTX4 := 0; % TwoLinkGMV_spec_2 (j_s) +MTTX5 := 0; % TwoLinkGMV_system_rod1 (J) +MTTX6 := 0; % TwoLinkGMV_system_rod1_th (3) +MTTX7 := 0; % TwoLinkGMV_system_rod2 (J) +MTTX8 := 0; % TwoLinkGMV_system_rod2_th (3) +MTTX9 := 0; % TwoLinkGMV_model_rod1_J (i) +MTTX10 := 0; % TwoLinkGMV_model_rod1_th_c (c) +MTTX11 := 0; % TwoLinkGMV_model_rod2_J (i) +MTTX12 := 0; % TwoLinkGMV_model_rod2_th_c (c) +% Steady-state inputs +MTTU1 := 1; % TwoLinkGMV (Ref_1) +MTTU2 := 1; % TwoLinkGMV (Ref_2) +MTTU3 := 0; % TwoLinkGMV (Tau_1) +MTTU4 := 0; % TwoLinkGMV (Tau_2) +MTTU5 := 0; % TwoLinkGMV_model_rod1_J (X) +MTTU6 := 0; % TwoLinkGMV_model_rod1_th_c (X) +MTTU7 := 0; % TwoLinkGMV_model_rod2_J (X) +MTTU8 := 0; % TwoLinkGMV_model_rod2_th_c (X) +;;END; ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_state.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkGMV_state.txt @@ -0,0 +1,31 @@ +# Numerical parameter file (TwoLinkGMV_state.txt) +# Generated by MTT at Tue Apr 14 08:54:28 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +global ObserverGain; + +# Set the states +x(1) = 0 ; # TwoLinkGMV_spec_1 (c_s) +x(2) = 0 ; # TwoLinkGMV_spec_1 (j_s) +x(3) = 0 ; # TwoLinkGMV_spec_2 (c_s) +x(4) = 0 ; # TwoLinkGMV_spec_2 (j_s) +x(5) = 0 ; # TwoLinkGMV_system_rod1 (J) +x(6) = pi/4 ; # TwoLinkGMV_system_rod1_th (3) +x(7) = 0 ; # TwoLinkGMV_system_rod2 (J) +x(8) = 0 ; # TwoLinkGMV_system_rod2_th (3) +x(9) = 0 ; # TwoLinkGMV_model_rod1_J (i) +x(10) = 0 ; # TwoLinkGMV_model_rod1_th_c (c) +x(11) = 0 ; # TwoLinkGMV_model_rod2_J (i) +x(12) = 0 ; # TwoLinkGMV_model_rod2_th_c (c) + +# Observer design +[A,B,C] = TwoLinkP_sm; # Get the linearised system +sigma = 0.1; # Measurement noise variance (pretend) +k = lqe(A,eye(4),C,eye(4),sigma*eye(2)) +ObserverGain = k*C; # This system happens to have a linear output ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_abg.fig Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_abg.fig @@ -0,0 +1,104 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 7650 450 9405 450 9405 675 7650 675 7650 450 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 3285 1575 3285 1800 3510 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3195 8055 1620 8055 1845 8280 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 3150 1350 2025 1575 2250 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 8325 1350 9450 1575 9225 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 7875 1350 3600 1575 3825 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 4729 3379 RODaX:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 4731 8196 RODaX:rod2\001 +4 1 4 0 0 0 20 0.0000 4 255 1410 4771 946 SS:[Joint_1]\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 +4 1 -1 0 0 0 20 0.0000 4 255 810 5850 945 SS:v_y\001 +4 2 4 0 0 0 20 0.0000 4 255 1410 2882 5717 SS:[Joint_2]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 3510 3375 [alpha]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 3555 8145 [alpha]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 1308 8193 1\001 +4 1 4 0 0 0 20 0.0000 4 255 1530 1397 1892 SS:[Theta_1]\001 +4 1 4 0 0 0 20 0.0000 4 255 1530 1352 9767 SS:[Theta_2]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 1263 3468 0\001 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_desc.tex Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_desc.tex @@ -0,0 +1,42 @@ +% Verbal description for system TwoLinkPX (TwoLinkPX_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/01/19 14:20:07 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkPX} is + displayed in Figure \Ref{TwoLinkPX_abg} and its label + file is listed in Section \Ref{sec:TwoLinkPX_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkPX_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses the compound components: {\bf ROD}. {\bf +ROD} is essentially as described in Figure 10.2. +There is no gravity included in this model. + +This system has a number of dynamic elements (those corresponding to translation +motion) in derivative causality, thus the system is represnted as a +Differential-Algebraic Equation (Section +\Ref{sec:TwoLinkPX_dae.tex}). Hovever, this is of contrained-state form and +therfore can be written as a set of constrained-state equations (Section +\Ref{sec:TwoLinkPX_cse.tex}). The corresponding ordinary differential +equation is complicated due to the trig functions involved in +inverting the E matrix. + +As well as the standard representation the ``robot-form'' equations +appear in Section \Ref{sec:TwoLinkPX_rfe}. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_lbl.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkPX_lbl.txt @@ -0,0 +1,57 @@ +%SUMMARY TwoLinkPX: two-link manipulator from Section 10.5 of "Metamodelling" +%DESCRIPTION This is a heirachical version of the +%DESCRIPTION example from Section 10.5 of "Metamodelling". +%DESCRIPTION It uses two compound components: ROD and GRA +%DESCRIPTION ROD is essentially as described in Figure 10.2 +%DESCRIPTION GRAV represents gravity by a vertical accelleration +%DESCRIPTION as in Section 10.9 of "Metamodelling" + + +%% Label (TwoLinkPX_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - uniform rods +rod1 none l_r;l_r;j_r;m_r +rod2 none l_r;l_r;j_r;m_r + +%Zero velocity sources +v_x SS internal,0 +v_y SS internal,0 + + +%Zero force/torque sources +F_x SS 0,internal +F_a SS 0,internal +F_y SS 0,internal + +%Named ports +[Joint_1] SS external,internal +[Joint_2] SS external,internal +[Theta_1] SS external,0 +[Theta_2] SS external,0 + +%Torque/velocity at joints +%f_a1 SS external,external +%f_a2 SS external,external + + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_abg.fig Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_abg.fig @@ -0,0 +1,104 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 7650 450 9405 450 9405 675 7650 675 7650 450 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 3285 1575 3285 1800 3510 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3195 8055 1620 8055 1845 8280 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 3150 1350 2025 1575 2250 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 8325 1350 9450 1575 9225 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 7875 1350 3600 1575 3825 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 4729 3379 RODa:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 4731 8196 RODa:rod2\001 +4 1 4 0 0 0 20 0.0000 4 255 1410 4771 946 SS:[Joint_1]\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 +4 1 -1 0 0 0 20 0.0000 4 255 810 5850 945 SS:v_y\001 +4 2 4 0 0 0 20 0.0000 4 255 1410 2882 5717 SS:[Joint_2]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 3510 3375 [alpha]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 3555 8145 [alpha]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 1308 8193 1\001 +4 1 4 0 0 0 20 0.0000 4 255 1530 1397 1892 SS:[Theta_1]\001 +4 1 4 0 0 0 20 0.0000 4 255 1530 1352 9767 SS:[Theta_2]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 1263 3468 0\001 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_cr.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_cr.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_cr.txt @@ -0,0 +1,3 @@ +lcos +lin +lsin ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_desc.tex Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_desc.tex @@ -0,0 +1,42 @@ +% Verbal description for system TwoLinkP (TwoLinkP_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/01/19 14:20:07 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkP} is + displayed in Figure \Ref{TwoLinkP_abg} and its label + file is listed in Section \Ref{sec:TwoLinkP_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkP_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses the compound components: {\bf ROD}. {\bf +ROD} is essentially as described in Figure 10.2. +There is no gravity included in this model. + +This system has a number of dynamic elements (those corresponding to translation +motion) in derivative causality, thus the system is represnted as a +Differential-Algebraic Equation (Section +\Ref{sec:TwoLinkP_dae.tex}). Hovever, this is of contrained-state form and +therfore can be written as a set of constrained-state equations (Section +\Ref{sec:TwoLinkP_cse.tex}). The corresponding ordinary differential +equation is complicated due to the trig functions involved in +inverting the E matrix. + +As well as the standard representation the ``robot-form'' equations +appear in Section \Ref{sec:TwoLinkP_rfe}. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_lbl.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_lbl.txt @@ -0,0 +1,57 @@ +%SUMMARY TwoLinkP: two-link manipulator from Section 10.5 of "Metamodelling" +%DESCRIPTION This is a heirachical version of the +%DESCRIPTION example from Section 10.5 of "Metamodelling". +%DESCRIPTION It uses two compound components: ROD and GRA +%DESCRIPTION ROD is essentially as described in Figure 10.2 +%DESCRIPTION GRAV represents gravity by a vertical accelleration +%DESCRIPTION as in Section 10.9 of "Metamodelling" + + +%% Label (TwoLinkP_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - uniform rods +rod1 none l_r;l_r;j_r;m_r +rod2 none l_r;l_r;j_r;m_r + +%Zero velocity sources +v_x SS internal,0 +v_y SS internal,0 + + +%Zero force/torque sources +F_x SS 0,internal +F_a SS 0,internal +F_y SS 0,internal + +%Named ports +[Joint_1] SS external,internal +[Joint_2] SS external,internal +[Theta_1] SS external,0 +[Theta_2] SS external,0 + +%Torque/velocity at joints +%f_a1 SS external,external +%f_a2 SS external,external + + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_obspar.r Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_obspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_obspar.r @@ -0,0 +1,29 @@ +%% Reduce GPC observability function parameters for system TwoLinkP (TwoLinkP_obspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MTTGPCNy := 2; +MTTGPCNu := 0; +Matrix MTTdU(5,1); +MTTdU(1,1) := MTTdU1; +MTTdU(2,1) := MTTdU2; +MTTdU(3,1) := MTTdU3; +MTTdU(4,1) := MTTdU4; +MTTdU(5,1) := MTTdU5; +Matrix MTTUU(2,5); +MTTUU(1,1) := MTTu1; +MTTUU(1,2) := MTTu11; +MTTUU(1,3) := MTTu12; +MTTUU(1,4) := MTTu13; +MTTUU(1,5) := MTTu14; +MTTUU(2,1) := MTTu2; +MTTUU(2,2) := MTTu21; +MTTUU(2,3) := MTTu22; +MTTUU(2,4) := MTTu23; +MTTUU(2,5) := MTTu24; +END; ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_subs.r Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_subs.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/TwoLinkP_subs.r @@ -0,0 +1,24 @@ +%% Reduce substitution statements for system TwoLinkPX (TwoLinkPX_subs.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1998/03/22 20:13:25 peterg +% %% Trig simplification added +% %% +% %% Revision 1.1 1998/03/22 20:12:51 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; + ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_abg.fig Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_abg.fig @@ -0,0 +1,27 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 4050 4950 4050 4725 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4275 3600 5400 3825 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2250 4050 3375 4050 3150 4275 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 6975 8325 1125 1125 1125 1125 6975 8325 6975 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 4050 6525 4050 6300 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3825 5175 2700 5400 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3825 3600 2700 3825 2925 +4 1 -1 0 0 0 20 0.0000 4 195 135 3600 4185 1\001 +4 2 4 0 0 0 20 0.0000 4 240 810 2160 4140 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 255 480 3600 5715 I:j_s\001 +4 1 1 1 0 0 20 0.0000 4 255 5355 4815 6345 Mass-spring-damper system (position output)\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5175 4140 0\001 +4 0 4 0 0 0 20 0.0000 4 240 960 6660 4140 SS:[out]\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 3600 2565 R:r_s\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 5175 2565 C:c_s\001 ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_desc.tex Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_desc.tex @@ -0,0 +1,31 @@ +% Verbal description for system msdP (msdP_desc.tex) +% Generated by MTT on Thu Nov 13 09:38:17 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{msdP} is + displayed in Figure \Ref{msdP_abg} and its label + file is listed in Section \Ref{sec:msdP_lbl}. + The subsystems are listed in Section \Ref{sec:msdP_sub}. + + + \textbf{msdP} is a simple Mass-Spring-Damper system with + force input and position output. It is set up to provide a specification system + for each link of the two-link maipulator. This is appropriate because + \begin{itemize} + \item it has compatible physical behaviour with the system itself, + \item it specifies two decoupled systems, + \item it has linear behaviour and + \item it has a simple performance interpretation in terms of system + rise-time and overshoot. + \end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_lbl.txt Index: mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GMV/TwoLinkGMV/msdP_lbl.txt @@ -0,0 +1,30 @@ +%SUMMARY msdP +%DESCRIPTION +%% Label file for system msdP (msdP_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_s lin effort,c_s + +% Component type I + j_s lin flow,j_s + +% Component type R + r_s lin flow,r_s + +% Component type SS + [in] SS external,internal + [out] SS external,0 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_abg.fig @@ -0,0 +1,20 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1801 3151 2701 3151 2476 3376 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3151 4501 3151 4276 3376 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 2926 4726 2026 4951 2251 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 3151 5851 3151 5626 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6975 4050 6975 1350 450 1350 450 4050 6975 4050 +4 1 -1 0 0 0 20 0.0000 4 195 375 3151 3241 AF\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 4726 3241 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 600 4726 1891 CX:c\001 +4 1 -1 0 0 0 20 0.0000 4 240 810 1306 3241 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 240 960 6346 3241 SS:[out]\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_desc.tex @@ -0,0 +1,20 @@ +% Verbal description for system INTFX (INTFX_desc.tex) +% Generated by MTT on Fri Aug 15 09:53:16 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/08/24 11:20:18 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{INTFX} is + displayed in Figure \Ref{INTFX_abg} and its label + file is listed in Section \Ref{sec:INTFX_lbl}. + The subsystems are listed in Section \Ref{sec:INTFX_sub}. + +\textbf{INTFX} is a two-port component where the effort on port [out] + is the integral of the flow on port [in]. ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/INTFX_lbl.txt @@ -0,0 +1,24 @@ +%SUMMARY INTFX +%DESCRIPTION +%% Label file for system INTFX (INTFX_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type CX + c lin effort,1 + +% Component type SS + [in] SS external,external + [out] SS external,external ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_abg.fig @@ -0,0 +1,124 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 4278 5403 4953 5178 4953 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 6078 5403 5403 5403 5628 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 2702 4277 3827 4052 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 7652 4277 6527 4277 6752 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 7876 2926 9001 3196 8731 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 7877 8327 9002 8597 8732 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 5401 5626 9001 5851 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6526 4951 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 4 0 1 1 7 0 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 2250 9675 2250 675 3600 675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 5850 990 5850 990 4500 10125 4500 10125 5850 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3375 4950 1800 3375 1800 3600 +4 1 -1 0 0 0 20 0.0000 4 195 135 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 270 6933 5268 IX:J\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000 4 195 1110 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1110 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000 4 195 1095 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1095 7156 6391 EMTF:s2\001 +4 1 5 0 0 0 20 0.0000 4 195 135 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000 4 210 345 6751 4456 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 6751 3781 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 345 6751 6076 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 6751 6706 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 585 6211 6526 [mod]\001 +4 1 5 0 0 0 20 0.0000 4 195 960 4681 5266 INTFX:th\001 +4 1 1 1 0 0 20 0.0000 4 195 210 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000 4 135 180 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000 4 195 210 8280 9990 Y\001 +4 2 26 0 0 0 16 0.0000 4 210 585 3960 4140 [mod]\001 +4 2 26 0 0 0 16 0.0000 4 210 585 6345 4095 [mod]\001 +4 2 26 0 0 0 16 0.0000 4 210 585 3960 6210 [mod]\001 +4 1 26 0 0 0 16 0.0000 4 210 345 4590 4455 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 4545 3780 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 465 4590 6660 [out]\001 +4 0 26 0 0 0 16 0.0000 4 210 345 4365 6030 [in]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 2971 1216 SS:[x_a]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 2971 9361 SS:[x_b]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 8372 1217 SS:[y_a]\001 +4 1 4 0 0 0 20 0.0000 4 255 990 8417 9362 SS:[y_b]\001 +4 1 4 0 0 0 20 0.0000 4 255 1485 5671 1216 SS:[alpha_a]\001 +4 1 4 0 0 0 20 0.0000 4 255 1485 5671 9361 SS:[alpha_b]\001 +4 1 1 1 0 0 20 0.0000 4 255 600 1350 2700 Tip a\001 +4 1 1 1 0 0 20 0.0000 4 195 1380 1260 6300 Mass centre\001 +4 1 1 1 0 0 20 0.0000 4 255 600 1350 9855 Tip b\001 +4 1 4 0 0 0 20 0.0000 4 255 1215 1756 3286 SS:[alpha]\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_desc.tex @@ -0,0 +1,25 @@ +% Verbal description for system RODaX (RODaX_desc.tex) +% Generated by MTT on Fri Aug 15 09:53:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/04/12 15:25:35 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 09:41:19 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{RODaX} is + displayed in Figure \Ref{RODaX_abg} and its label + file is listed in Section \Ref{sec:RODaX_lbl}. + The subsystems are listed in Section \Ref{sec:RODaX_sub}. + +{\bf RODaX} is essentially as described in Figure 10.2 of +``Metamodelling''. It has an additional port ``[angle]'' to provide +access to the rod angle. + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/RODaX_lbl.txt @@ -0,0 +1,51 @@ +%SUMMARY RODaX: rigid rod in two dimensions - angle port. +%DESCRIPTION Port [alpha_a]: Angular torque/velocity - end a +%DESCRIPTION Port [alpha_b]: Angular torque/velocity - end b +%DESCRIPTION Port [x_a]: x force/velocity - end a +%DESCRIPTION Port [x_b]: x force/velocity - end b +%DESCRIPTION Port [y_a]: y force/velocity - end a +%DESCRIPTION Port [y_b]: y force/velocity - end b +%DESCRIPTION Port [alpha]: rod angle +%DESCRIPTION +%DESCRIPTION Parameter 1: length from end 1 to mass centre +%DESCRIPTION Parameter 2: length from end 2 to mass centre +%DESCRIPTION Parameter 3: inertia about mass centre +%DESCRIPTION Parameter 4: mass +%DESCRIPTION See Section 10.2 of "Metamodelling" + + +%% Label file for system RODaX (RODaX_lbl.txt) + + + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% % Revision 1.1 1998/04/12 15:24:06 peterg +% % Initial revision +% % +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Inertias +J lin flow,$3 +m_x lin flow,$4 +m_y lin flow,$4 + +%Integrate angular velocity to get angle +th + +%Modulated transformers +s1 lsin flow,$1 +s2 lsin flow,$2 +c1 lcos flow,$1 +c2 lcos flow,$2 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/Sensor_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/Sensor_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/Sensor_abg.fig @@ -0,0 +1,32 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2475 2025 3825 2025 3600 2250 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 2025 5850 2025 5625 2250 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6525 3600 7875 3600 7650 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 1800 2475 2295 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6075 3375 6075 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5850 1800 5850 2295 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2475 3600 3825 3600 3600 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 3600 6075 3600 5850 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6300 3330 6300 2205 6525 2430 +4 2 4 0 0 0 20 0.0000 4 240 720 2385 2115 SS:[v]\001 +4 1 -1 0 0 0 20 0.0000 4 195 420 4140 2115 GY\001 +4 1 -1 0 0 0 20 0.0000 4 195 840 6345 2070 AE:tau\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 6300 3690 1\001 +4 2 4 0 0 0 20 0.0000 4 255 720 2475 3690 SS:[p]\001 +4 0 4 0 0 0 20 0.0000 4 240 690 8055 3645 SS:[s]\001 +4 1 -1 0 0 0 20 0.0000 4 195 390 4050 3690 AE\001 +4 2 4 0 0 0 20 0.0000 4 240 405 5760 1755 [in]\001 +4 2 4 0 0 0 20 0.0000 4 240 555 6255 2565 [out]\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/Sensor_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/Sensor_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/Sensor_lbl.txt @@ -0,0 +1,25 @@ +%SUMMARY Sensor +%DESCRIPTION +%% Label file for system Sensor (Sensor_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type AE + tau lin tau + +% Component type SS + [p] SS external,external + [s] SS external,external + [v] SS external,external ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_abg.fig @@ -0,0 +1,94 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 8550 9225 8550 9000 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 8325 9225 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 9450 9225 9450 9000 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 9225 9225 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 8325 5625 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 9225 5625 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 3825 5625 3825 8550 5625 8550 5400 8775 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 3375 6525 3375 9450 5625 9450 5400 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 5400 9225 5400 9000 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 5175 9225 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 6300 9225 6300 9000 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 6075 9225 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 5400 5625 5400 5400 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 5175 5625 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 6300 5625 6300 5400 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 6075 5625 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 5400 3600 5400 3375 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3600 5175 3600 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 6300 3150 6300 2925 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 6075 3150 6525 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 2250 9225 2250 9000 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 2025 9225 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 3150 9225 3150 9000 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9225 2925 9225 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 2250 5625 2250 5400 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 2025 5625 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 3150 5625 3150 5400 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 2925 5625 3375 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11475 3915 2475 3915 2475 1350 11475 1350 11475 3915 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11475 7020 2475 7020 2475 4500 11475 4500 11475 7020 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11475 10215 2475 10215 2475 7650 11475 7650 11475 10215 +4 0 -1 0 0 22 20 0.0000 4 270 1935 9315 8640 SS:Theta_1_m\001 +4 0 -1 0 0 22 20 0.0000 4 270 1935 9315 9540 SS:Theta_2_m\001 +4 1 -1 0 0 22 20 0.0000 4 210 2640 6750 9090 TwoLinkPSX:model\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 8415 [Theta_1]\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 9315 [Theta_2]\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 8415 [Joint_1]\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 9315 [Joint_2]\001 +4 1 1 1 0 3 26 0.0000 4 270 1005 6750 10080 Model\001 +4 1 -1 0 0 22 20 0.0000 4 270 2610 6750 5940 TwoLinkPS:system\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 5265 [Theta_1]\001 +4 0 4 0 0 22 20 0.0000 4 270 1230 7920 6165 [Theta_2]\001 +4 0 -1 0 0 22 20 0.0000 4 270 1530 9315 5490 SS:Theta_1\001 +4 0 -1 0 0 22 20 0.0000 4 270 1530 9315 6390 SS:Theta_2\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 5265 [Joint_1]\001 +4 2 4 0 0 22 20 0.0000 4 270 1140 5535 6165 [Joint_2]\001 +4 1 -1 0 0 22 20 0.0000 4 195 150 3825 5490 0\001 +4 2 -1 0 0 22 20 0.0000 4 270 1275 1935 6390 SS:Tau_2\001 +4 2 -1 0 0 22 20 0.0000 4 270 1275 1980 5490 SS:Tau_1\001 +4 1 -1 0 0 22 20 0.0000 4 195 150 3375 6390 0\001 +4 1 1 1 0 3 26 0.0000 4 360 1110 6705 6885 System\001 +4 0 -1 0 0 22 20 0.0000 4 270 1785 9315 2340 SS:Theta_1_r\001 +4 0 -1 0 0 22 20 0.0000 4 270 1785 9315 3240 SS:Theta_2_r\001 +4 1 1 1 0 3 26 0.0000 4 360 2055 6705 3735 Specification\001 +4 1 -1 0 0 22 20 0.0000 4 270 1860 6795 2340 msdP:spec_1\001 +4 1 -1 0 0 22 20 0.0000 4 270 1860 6795 3195 msdP:spec_2\001 +4 2 -1 0 0 22 20 0.0000 4 270 1260 4005 2340 SS:Ref_1\001 +4 2 -1 0 0 22 20 0.0000 4 270 1260 3960 3240 SS:Ref_2\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_desc.tex @@ -0,0 +1,111 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system TwoLinkGPC (TwoLinkGPC_desc.tex) +% Generated by MTT on Wed Apr 15 18:15:23 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/04/15 18:41:58 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkGPC} is + displayed in Figure \Ref{TwoLinkGPC_abg} and its label + file is listed in Section \Ref{sec:TwoLinkGPC_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkGPC_sub}. + + This example provides an illustration of nonlinear generalised + predictive control (GPC) (continuous-time) operating on a twolink + manipulator with a modified sensor. The sensor is modified in a + rather contrived way to give a nonlinear system with an + \emph{unstable} inverse. The idea is that the sensor approximates a + pure delay of $\tau$ as: + \begin{equation} + e^{-s\tau} \approx 1 - s \tau + \end{equation} + + The example contrasts GPC with GMV, which can also be interpreted + as: +\begin{itemize} +\item the exact linearisation (by feedback) followed by a + pole-placement design on the resulting linear system and +\item a special case of generalised predictive control (GPC) were the + prediction horizon is zero and the $P(s)$ polynomial is the same as + the system relative degree and +\end{itemize} + + +The composite system of Figure \Ref{TwoLinkGPC_abg} has three +(visible) parts: +\begin{enumerate} +\item a linear decoupled \emph{specification} system that describes the desired + closed-loop system in terms of a physical system (two decoupled + mass-spring-damper systems), +\item the system itself (a two-link manipulator) representing the + system to be controlled, more details are given in Sections + \Ref{sec:TwoLinkP_ode.tex} and \Ref{sec:TwoLinkP_rfe.tex}. +\item a model of the system with additional state inputs to be used as + a state observer. +\end{enumerate} +The invisible parts are implemented in the text file +``TwoLinkGPC\_input.txt'' (see Section \Ref{sec:TwoLinkGPC_input.txt}). +These parts are: +\begin{itemize} +\item the reference signal (joint angles) + \begin{equation} + w(t) = + \begin{cases} + \begin{pmatrix} + \pi \\ + 0 + \end{pmatrix} & 0 \ge t > 10 \\ + \begin{pmatrix} + 2\pi \\ + 0 + \end{pmatrix} & 10 \ge t > 15 \\ + \begin{pmatrix} + 2\pi \\ + \pi + \end{pmatrix} & 15 \ge t > 30 \\ + \end{cases} + \end{equation} +\item The control signal (joint torques) being the solution of + \begin{equation} + \phi^*(t) = O_o(\hat x(t)) + O_h(\hat x(t)) u(t) = w(t) + \end{equation} +where $\hat x$ is the observed state. +\item The observer feedback signal + \begin{equation} + u_x = K ( y - \hat y) + \end{equation} +where $K$ is the observer gain matrix and $y$ and $\hat y$ are the +system and model outputs respectively. +\end{itemize} +The observer gain is set up on the basis of the \emph{linearised} +system using LQ theory. This is implemented in the text file +``TwoLinkGPC\_state.txt'' (see Section \Ref{sec:TwoLinkGPC_state.txt}) +using the Octave function ``lqe'' together with the MTT-generated +linearised system ``TwoLink\_sm''. + + +The system was simulated using Octave under MTT with the results given +in Figures +\Ref{fig:TwoLinkGPC_odeso.ps-TwoLinkGPC-Theta-1,TwoLinkGPC-Theta-1-r} +and +\Ref{fig:TwoLinkGPC_odeso.ps-TwoLinkGPC-Theta-2,TwoLinkGPC-Theta-2-r} +giving the actual and specification angles for joints 1 and 2 +respectively. + +The initial \emph{system} state was zero except that the angle of the +first rod was $\frac{\pi}{4}$. The initial \emph{observer} state was +(erroneously but deliberately) set at zero. This explains the +(decaying) discrepancy between the actual and specification angles. +Simulations with zero initial state gave precise matching. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_input.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_input.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_input.tex @@ -0,0 +1,48 @@ +%% Tex file (TwoLinkGPC_input.txt) +%% Generated by MTT at Wed Apr 29 11:21:32 BST 1998 +\begin{verbatim} +# Numerical parameter file (TwoLinkGPC_input.txt) +# Generated by MTT at Mon Apr 13 11:02:37 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +global ObserverGain; + +if t<10 + tau = 0; +elseif t<20 + tau = 0.1; +else + tau = 0.2; +end + +# Reference signals +Period = 20; +u(1) = -pi*sign(cos(2*pi*t/Period))*(t>5); # TwoLinkGPC (Ref_1) +u(2) = pi*sign(sin(2*pi*t/Period)); # TwoLinkGPC (Ref_2) +w = u(1:2); # Reference signal + +# Control signals +x_model = x(9:12); # Observed states +[O_o, O_h] = TwoLinkPS_obs(x_model) #GPC O function (affine case) +[spec_n,spec_d] = msdP_tf; # Spec transfer function +P = spec_d(3:-1:1); # P poly with ascending coeffs +PP = [eye(2)*P(1) eye(2)*P(2) eye(2)*P(3)]; # Matrix version +PO_o = PP*O_o; # Compute Py with u zero +PO_h = PP*O_h; # Coefficient of u +u_control = PO_h\(w - PO_o); # GMV control signal + +u(3:4) = u_control; # TwoLinkGPC (Tau_1) + +# Observer +x_system = x(5:8); # System states +error = x_system-x_model; # Error in states +ObserverInput = ObserverGain*error; +u(5:8) = ObserverInput; # Set the state-input to the observer + +\end{verbatim} ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_input.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_input.txt @@ -0,0 +1,42 @@ +# Numerical parameter file (TwoLinkGPC_input.txt) +# Generated by MTT at Mon Apr 13 11:02:37 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +global ObserverGain; + +if t<10 + tau = 0; +else + tau = 0.1; +end + +# Reference signals +Period = 20; +u(1) = -pi*sign(cos(2*pi*t/Period))*(t>5); # TwoLinkGPC (Ref_1) +u(2) = pi*sign(sin(2*pi*t/Period)); # TwoLinkGPC (Ref_2) +w = u(1:2); # Reference signal + +# Control signals +x_model = x(9:12); # Observed states +[O_o, O_h] = TwoLinkPS_obs(x_model) #GPC O function (affine case) +[spec_n,spec_d] = msdP_tf; # Spec transfer function +P = spec_d(3:-1:1); # P poly with ascending coeffs +PP = [eye(2)*P(1) eye(2)*P(2) eye(2)*P(3)]; # Matrix version +PO_o = PP*O_o; # Compute Py with u zero +PO_h = PP*O_h; # Coefficient of u +u_control = PO_h\(w - PO_o); # GMV control signal + +u(3:4) = u_control; # TwoLinkGPC (Tau_1) + +# Observer +x_system = x(5:8); # System states +error = x_system-x_model; # Error in states +ObserverInput = ObserverGain*error; +u(5:8) = ObserverInput; # Set the state-input to the observer + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_lbl.txt @@ -0,0 +1,46 @@ +%SUMMARY TwoLinkGPC - GPC control of two-link manipulator with delay +%DESCRIPTION This composite system provides an illustration +%DESCRIPTION of nonlinear GPC (Generalised Predictive Control) control +%DESCRIPTION (continuous-time) operating on a twolink manipulator. + +%% Label file for system TwoLinkGPC (TwoLinkGPC_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/04/29 09:01:43 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type SS + Ref_1 SS external,internal + Ref_2 SS external,internal + Tau_1 SS external,internal + Tau_2 SS external,internal + Theta_1 SS external,0 + Theta_2 SS external,0 + Theta_1_m SS external,0 + Theta_2_m SS external,0 + Theta_1_r SS external,0 + Theta_2_r SS external,0 + +% Component type msdP + spec_1 + spec_2 + +% Component type TwoLinkP + system + +% Component type TwoLinkPX + model + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_numpar.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_numpar.txt @@ -0,0 +1,18 @@ +# Numerical parameter file (TwoLinkGPC_numpar.txt) +# Generated by MTT at Mon Apr 13 10:57:02 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_s = 1.0; # msdP +j_s = 1.0; # msdP +r_s = 2.0; # msdP +tau = 0.1; # msdP +l_r = 0.5; # TwoLinkP,TwoLinkPX +m_r = 1.0; # TwoLinkP,TwoLinkPX +j_r = m_r*l_r*l_r/3; # TwoLinkP,TwoLinkPX ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_obspar.r Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_obspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_obspar.r @@ -0,0 +1,29 @@ +%% Reduce GPC observability function parameters for system TwoLinkGPC (TwoLinkGPC_obspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MTTGPCNy := 2; +MTTGPCNu := 0; +Matrix MTTdU(5,1); +MTTdU(1,1) := MTTdU1; +MTTdU(2,1) := MTTdU2; +MTTdU(3,1) := MTTdU3; +MTTdU(4,1) := MTTdU4; +MTTdU(5,1) := MTTdU5; +Matrix MTTUU(2,5); +MTTUU(1,1) := MTTu1; +MTTUU(1,2) := MTTu11; +MTTUU(1,3) := MTTu12; +MTTUU(1,4) := MTTu13; +MTTUU(1,5) := MTTu14; +MTTUU(2,1) := MTTu2; +MTTUU(2,2) := MTTu21; +MTTUU(2,3) := MTTu22; +MTTUU(2,4) := MTTu23; +MTTUU(2,5) := MTTu24; +END; ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_rep.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_rep.txt @@ -0,0 +1,32 @@ +# Outline report file for system TwoLinkGPC (TwoLinkGPC_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt TwoLinkGPC abg tex +mtt TwoLinkGPC struc tex +mtt TwoLinkGPC sympar tex + +mtt TwoLinkPS struc tex +mtt TwoLinkPS rfe tex +mtt TwoLinkPS ode tex +mtt TwoLinkPS obs tex + +mtt TwoLinkPS ss tex +mtt TwoLinkPS sm tex + +mtt msdP tf tex + +mtt TwoLinkGPC numpar txt +mtt TwoLinkGPC state txt +mtt TwoLinkGPC input txt + +mtt TwoLinkGPC odeso ps 'TwoLinkGPC_Theta_1,TwoLinkGPC_Theta_1_r' +mtt TwoLinkGPC odeso ps 'TwoLinkGPC_Theta_2,TwoLinkGPC_Theta_2_r' + + + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_simpar.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_simpar.txt @@ -0,0 +1,13 @@ +%% Simulation parameters for system TwoLinkGPC (TwoLinkGPC_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=30 +DT=0.1 +STEPFACTOR=2 + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_simpar.txt_old Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_simpar.txt_old @@ -0,0 +1,13 @@ +%% Simulation parameters for system TwoLinkGPC (TwoLinkGPC_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=30 +DT=0.1 +STEPFACTOR=2 + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_state.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkGPC_state.txt @@ -0,0 +1,31 @@ +# Numerical parameter file (TwoLinkGPC_state.txt) +# Generated by MTT at Thu Apr 23 09:10:43 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +global ObserverGain; + +# Set the states +x(1) = 0 ; # TwoLinkGPC_spec_1 (c_s) +x(2) = 0 ; # TwoLinkGPC_spec_1 (j_s) +x(3) = 0 ; # TwoLinkGPC_spec_2 (c_s) +x(4) = 0 ; # TwoLinkGPC_spec_2 (j_s) +x(5) = 0 ; # TwoLinkGPC_system_rod1 (J) +x(6) = 0 ; # TwoLinkGPC_system_rod1_th (3) +x(7) = 0 ; # TwoLinkGPC_system_rod2 (J) +x(8) = 0 ; # TwoLinkGPC_system_rod2_th (3) +x(9) = 0 ; # TwoLinkGPC_model_rod1_J (i) +x(10) = 0 ; # TwoLinkGPC_model_rod1_th_c (c) +x(11) = 0 ; # TwoLinkGPC_model_rod2_J (i) +x(12) = 0 ; # TwoLinkGPC_model_rod2_th_c (c) + +# Observer design +[A,B,C] = TwoLinkPS_sm; # Get the linearised system +sigma = 0.1; # Measurement noise variance (pretend) +k = lqe(A,eye(4),C,eye(4),sigma*eye(2)) +ObserverGain = k*C; # This system happens to have a linear output ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_abg.fig @@ -0,0 +1,104 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 7650 450 9405 450 9405 675 7650 675 7650 450 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 3285 1575 3285 1800 3510 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3195 8055 1620 8055 1845 8280 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 3150 1350 2025 1575 2250 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 8325 1350 9450 1575 9225 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 7875 1350 3600 1575 3825 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 4729 3379 RODaX:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 4731 8196 RODaX:rod2\001 +4 1 4 0 0 0 20 0.0000 4 255 1410 4771 946 SS:[Joint_1]\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 +4 1 -1 0 0 0 20 0.0000 4 255 810 5850 945 SS:v_y\001 +4 2 4 0 0 0 20 0.0000 4 255 1410 2882 5717 SS:[Joint_2]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 3510 3375 [alpha]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 3555 8145 [alpha]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 1308 8193 1\001 +4 1 4 0 0 0 20 0.0000 4 255 1530 1397 1892 SS:[Theta_1]\001 +4 1 4 0 0 0 20 0.0000 4 255 1530 1352 9767 SS:[Theta_2]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 1263 3468 0\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_desc.tex @@ -0,0 +1,42 @@ +% Verbal description for system TwoLinkPSX (TwoLinkPSX_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/01/19 14:20:07 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkPSX} is + displayed in Figure \Ref{TwoLinkPSX_abg} and its label + file is listed in Section \Ref{sec:TwoLinkPSX_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkPSX_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses the compound components: {\bf ROD}. {\bf +ROD} is essentially as described in Figure 10.2. +There is no gravity included in this model. + +This system has a number of dynamic elements (those corresponding to translation +motion) in derivative causality, thus the system is represnted as a +Differential-Algebraic Equation (Section +\Ref{sec:TwoLinkPSX_dae.tex}). Hovever, this is of contrained-state form and +therfore can be written as a set of constrained-state equations (Section +\Ref{sec:TwoLinkPSX_cse.tex}). The corresponding ordinary differential +equation is complicated due to the trig functions involved in +inverting the E matrix. + +As well as the standard representation the ``robot-form'' equations +appear in Section \Ref{sec:TwoLinkPSX_rfe}. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPSX_lbl.txt @@ -0,0 +1,57 @@ +%SUMMARY TwoLinkPSX: two-link manipulator from Section 10.5 of "Metamodelling" +%DESCRIPTION This is a heirachical version of the +%DESCRIPTION example from Section 10.5 of "Metamodelling". +%DESCRIPTION It uses two compound components: ROD and GRA +%DESCRIPTION ROD is essentially as described in Figure 10.2 +%DESCRIPTION GRAV represents gravity by a vertical accelleration +%DESCRIPTION as in Section 10.9 of "Metamodelling" + + +%% Label (TwoLinkPSX_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - uniform rods +rod1 none l_r;l_r;j_r;m_r +rod2 none l_r;l_r;j_r;m_r + +%Zero velocity sources +v_x SS internal,0 +v_y SS internal,0 + + +%Zero force/torque sources +F_x SS 0,internal +F_a SS 0,internal +F_y SS 0,internal + +%Named ports +[Joint_1] SS external,internal +[Joint_2] SS external,internal +[Theta_1] SS external,0 +[Theta_2] SS external,0 + +%Torque/velocity at joints +%f_a1 SS external,external +%f_a2 SS external,external + + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_abg.fig @@ -0,0 +1,126 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 11700 1800 485 485 11700 1800 11880 2250 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 11700 6300 485 485 11700 6300 12185 6785 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11745 11925 11745 450 45 450 45 11925 11745 11925 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5 + 7650 900 4725 900 4725 3375 3375 3375 3600 3600 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4950 8505 4950 4230 5175 4455 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 6300 4052 6302 3827 6527 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 4275 6525 4275 8325 3150 8325 3375 8550 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 6300 7652 6300 7427 6525 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6618 1803 6888 1803 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8870 1805 9140 1805 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7743 3378 8013 3378 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7878 1125 7878 3378 8103 3153 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7652 6167 7652 6437 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 6526 7876 8101 8101 7876 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6622 9322 6892 9322 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7747 9322 8017 9322 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8874 9324 9144 9324 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7880 9320 7880 10895 8105 10670 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9005 9320 9005 10895 9230 10670 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6751 4501 6751 8101 6976 7876 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9001 4501 9001 8101 9226 7876 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9675 9450 9675 7875 6075 7875 6075 9450 9675 9450 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9675 7110 9675 5535 6075 5535 6075 7110 9675 7110 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9675 11925 9675 10350 6075 10350 6075 11925 9675 11925 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6753 1803 6753 3378 6978 3153 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9003 1803 9003 3378 9228 3153 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 4501 7876 6076 8101 5851 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9675 4725 6075 4725 6075 3150 9675 3150 9675 4725 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6750 9297 6750 10872 6975 10647 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11925 5850 11925 2250 11475 2250 11475 5850 11925 5850 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11925 10350 11925 6750 11475 6750 11475 10350 11925 10350 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 10800 1125 12555 1125 12555 1350 10800 1350 10800 1125 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9630 2745 9630 1170 6030 1170 6030 2745 9630 2745 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8910 900 8145 900 8370 1125 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2790 3735 2115 3735 2340 3960 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4725 3960 3330 3960 3555 4185 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6525 3960 5040 3960 5265 4185 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2700 8550 2025 8550 2250 8775 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 8775 3150 8775 3375 9000 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7200 8775 4905 8775 5130 9000 +4 0 -1 0 0 0 20 0.0000 4 195 135 4863 4053 0\001 +4 2 4 0 0 0 20 0.0000 4 255 1410 2702 6392 SS:[Joint_2]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4188 6393 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 810 6753 1623 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 7833 6393 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 6758 11348 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 7883 11348 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 9053 11348 SS:F_y\001 +4 0 1 1 0 3 20 0.0000 4 210 720 9945 4050 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 9900 6435 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 9900 8865 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 9900 11160 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 9900 1935 Joint 1\001 +4 1 4 0 0 0 16 0.0000 4 225 900 7875 3645 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 6750 4455 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 7875 4455 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 9000 4455 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 9000 3645 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 6755 8510 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 7880 8510 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 6757 9187 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 7883 9188 [alpha_b]\001 +4 1 -1 0 0 0 20 0.0000 4 255 810 9000 1620 SS:v_y\001 +4 1 4 0 0 0 16 0.0000 4 210 495 6750 3645 [x_a]\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 7788 993 1\001 +4 0 4 0 0 0 20 0.0000 4 255 1410 9046 991 SS:[Joint_1]\001 +4 2 4 0 0 0 20 0.0000 4 255 1530 1892 3827 SS:[Theta_1]\001 +4 1 4 0 0 0 16 0.0000 4 210 240 2700 3555 [s]\001 +4 1 -1 0 0 0 20 1.5708 4 195 780 3154 3731 Sensor\001 +4 1 4 0 0 0 16 0.0000 4 225 270 3420 3825 [p]\001 +4 1 4 0 0 0 16 0.0000 4 210 270 3330 3195 [v]\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 7879 4009 RODa:rod1\001 +4 1 4 0 0 0 16 0.0000 4 225 675 6885 4005 [alpha]\001 +4 1 4 0 0 0 16 0.0000 4 210 270 3375 8235 [v]\001 +4 1 4 0 0 0 16 0.0000 4 210 240 2655 8460 [s]\001 +4 1 -1 0 0 0 20 1.5708 4 195 780 3064 8546 Sensor\001 +4 2 4 0 0 0 20 0.0000 4 255 1530 1937 8642 SS:[Theta_2]\001 +4 1 4 0 0 0 16 0.0000 4 225 270 3375 8730 [p]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 8780 8510 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 8739 9189 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 675 7065 8820 [alpha]\001 +4 1 -1 0 0 0 20 0.0000 4 195 1335 8061 8826 RODa:rod2\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4593 8823 1\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_desc.tex @@ -0,0 +1,42 @@ +% Verbal description for system TwoLinkPS (TwoLinkPS_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/01/19 14:20:07 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkPS} is + displayed in Figure \Ref{TwoLinkPS_abg} and its label + file is listed in Section \Ref{sec:TwoLinkPS_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkPS_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses the compound components: {\bf ROD}. {\bf +ROD} is essentially as described in Figure 10.2. +There is no gravity included in this model. + +This system has a number of dynamic elements (those corresponding to translation +motion) in derivative causality, thus the system is represnted as a +Differential-Algebraic Equation (Section +\Ref{sec:TwoLinkPS_dae.tex}). Hovever, this is of contrained-state form and +therfore can be written as a set of constrained-state equations (Section +\Ref{sec:TwoLinkPS_cse.tex}). The corresponding ordinary differential +equation is complicated due to the trig functions involved in +inverting the E matrix. + +As well as the standard representation the ``robot-form'' equations +appear in Section \Ref{sec:TwoLinkPS_rfe}. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_lbl.txt @@ -0,0 +1,57 @@ +%SUMMARY TwoLinkPS: two-link manipulator from Section 10.5 of "Metamodelling" +%DESCRIPTION This is a heirachical version of the +%DESCRIPTION example from Section 10.5 of "Metamodelling". +%DESCRIPTION It uses two compound components: ROD and GRA +%DESCRIPTION ROD is essentially as described in Figure 10.2 +%DESCRIPTION GRAV represents gravity by a vertical accelleration +%DESCRIPTION as in Section 10.9 of "Metamodelling" + + +%% Label (TwoLinkPS_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - uniform rods +rod1 none l_r;l_r;j_r;m_r +rod2 none l_r;l_r;j_r;m_r + +%Zero velocity sources +v_x SS internal,0 +v_y SS internal,0 + + +%Zero force/torque sources +F_x SS 0,internal +F_a SS 0,internal +F_y SS 0,internal + +%Named ports +[Joint_1] SS external,internal +[Joint_2] SS external,internal +[Theta_1] SS external,0 +[Theta_2] SS external,0 + +%Torque/velocity at joints +%f_a1 SS external,external +%f_a2 SS external,external + + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_obspar.r Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_obspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_obspar.r @@ -0,0 +1,29 @@ +%% Reduce GPC observability function parameters for system TwoLinkPS (TwoLinkPS_obspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MTTGPCNy := 2; +MTTGPCNu := 0; +Matrix MTTdU(5,1); +MTTdU(1,1) := MTTdU1; +MTTdU(2,1) := MTTdU2; +MTTdU(3,1) := MTTdU3; +MTTdU(4,1) := MTTdU4; +MTTdU(5,1) := MTTdU5; +Matrix MTTUU(2,5); +MTTUU(1,1) := MTTu1; +MTTUU(1,2) := MTTu11; +MTTUU(1,3) := MTTu12; +MTTUU(1,4) := MTTu13; +MTTUU(1,5) := MTTu14; +MTTUU(2,1) := MTTu2; +MTTUU(2,2) := MTTu21; +MTTUU(2,3) := MTTu22; +MTTUU(2,4) := MTTu23; +MTTUU(2,5) := MTTu24; +END; ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_simp.r Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_simp.r @@ -0,0 +1,19 @@ +%% Reduce commands to simplify output for system TwoLinkP (TwoLinkP_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LET cos(mttx2) = c_2; +LET sin(mttx2) = s_2; + +LET cos(mttx4) = c_4; +LET sin(mttx4) = s_4; + +LET cos(mttx2-mttx4) = c; +LET sin(mttx2-mttx4) = s; + +END; ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_subs.r Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_subs.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/TwoLinkPS_subs.r @@ -0,0 +1,24 @@ +%% Reduce substitution statements for system TwoLinkPSX (TwoLinkPSX_subs.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1998/03/22 20:13:25 peterg +% %% Trig simplification added +% %% +% %% Revision 1.1 1998/03/22 20:12:51 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; + ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_abg.fig @@ -0,0 +1,33 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 4050 4950 4050 4725 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4275 3600 5400 3825 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2250 4050 3375 4050 3150 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 4050 6525 4050 6300 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3825 5175 2700 5400 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3825 3600 2700 3825 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 4050 8100 4050 7875 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9000 4050 10125 4050 9900 4275 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11475 6975 11475 1125 1125 1125 1125 6975 11475 6975 +4 1 -1 0 0 0 20 0.0000 4 195 135 3600 4185 1\001 +4 2 4 0 0 0 20 0.0000 4 240 810 2160 4140 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 255 480 3600 5715 I:j_s\001 +4 1 1 1 0 0 20 0.0000 4 255 7035 4815 6345 Mass-spring-damper system (position output with extra lag)\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5175 4140 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 3600 2565 R:r_s\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 5175 2565 C:c_s\001 +4 1 -1 0 0 0 20 0.0000 4 195 390 6750 4140 AE\001 +4 1 -1 0 0 0 20 0.0000 4 195 690 8550 4140 RC:rc\001 +4 0 4 0 0 0 20 0.0000 4 240 960 10260 4140 SS:[out]\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_abg.fig.bak Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_abg.fig.bak ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_abg.fig.bak @@ -0,0 +1,27 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 4050 4950 4050 4725 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4275 3600 5400 3825 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2250 4050 3375 4050 3150 4275 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 6975 8325 1125 1125 1125 1125 6975 8325 6975 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 4050 6525 4050 6300 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3825 5175 2700 5400 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3825 3600 2700 3825 2925 +4 1 -1 0 0 0 20 0.0000 4 195 135 3600 4185 1\001 +4 2 4 0 0 0 20 0.0000 4 240 810 2160 4140 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 255 480 3600 5715 I:j_s\001 +4 1 1 1 0 0 20 0.0000 4 255 5355 4815 6345 Mass-spring-damper system (position output)\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5175 4140 0\001 +4 0 4 0 0 0 20 0.0000 4 240 960 6660 4140 SS:[out]\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 3600 2565 R:r_s\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 5175 2565 C:c_s\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_desc.tex @@ -0,0 +1,31 @@ +% Verbal description for system msdPS (msdPS_desc.tex) +% Generated by MTT on Thu Nov 13 09:38:17 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{msdPS} is + displayed in Figure \Ref{msdPS_abg} and its label + file is listed in Section \Ref{sec:msdPS_lbl}. + The subsystems are listed in Section \Ref{sec:msdPS_sub}. + + + \textbf{msdPS} is a simple Mass-Spring-Damper system with + force input and position output. It is set up to provide a specification system + for each link of the two-link maipulator. This is appropriate because + \begin{itemize} + \item it has compatible physical behaviour with the system itself, + \item it specifies two decoupled systems, + \item it has linear behaviour and + \item it has a simple performance interpretation in terms of system + rise-time and overshoot. + \end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdPS_lbl.txt @@ -0,0 +1,33 @@ +%SUMMARY msdPS +%DESCRIPTION +%% Label file for system msdPS (msdPS_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_s lin effort,c_s + +% Component type I + j_s lin flow,j_s + +% Component type R + r_s lin flow,r_s + +% Component type RC + rc none tau;1 + +% Component type SS + [in] SS external,internal + [out] SS external,0 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_abg.fig Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_abg.fig @@ -0,0 +1,27 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 4050 4950 4050 4725 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4275 3600 5400 3825 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2250 4050 3375 4050 3150 4275 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 6975 8325 1125 1125 1125 1125 6975 8325 6975 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 4050 6525 4050 6300 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3825 5175 2700 5400 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3825 3600 2700 3825 2925 +4 1 -1 0 0 0 20 0.0000 4 195 135 3600 4185 1\001 +4 2 4 0 0 0 20 0.0000 4 240 810 2160 4140 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 255 480 3600 5715 I:j_s\001 +4 1 1 1 0 0 20 0.0000 4 255 5355 4815 6345 Mass-spring-damper system (position output)\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5175 4140 0\001 +4 0 4 0 0 0 20 0.0000 4 240 960 6660 4140 SS:[out]\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 3600 2565 R:r_s\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 5175 2565 C:c_s\001 ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_desc.tex Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_desc.tex @@ -0,0 +1,31 @@ +% Verbal description for system msdP (msdP_desc.tex) +% Generated by MTT on Thu Nov 13 09:38:17 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{msdP} is + displayed in Figure \Ref{msdP_abg} and its label + file is listed in Section \Ref{sec:msdP_lbl}. + The subsystems are listed in Section \Ref{sec:msdP_sub}. + + + \textbf{msdP} is a simple Mass-Spring-Damper system with + force input and position output. It is set up to provide a specification system + for each link of the two-link maipulator. This is appropriate because + \begin{itemize} + \item it has compatible physical behaviour with the system itself, + \item it specifies two decoupled systems, + \item it has linear behaviour and + \item it has a simple performance interpretation in terms of system + rise-time and overshoot. + \end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_lbl.txt Index: mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/GPC/TwoLinkGPC/msdP_lbl.txt @@ -0,0 +1,30 @@ +%SUMMARY msdP +%DESCRIPTION +%% Label file for system msdP (msdP_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_s lin effort,c_s + +% Component type I + j_s lin flow,j_s + +% Component type R + r_s lin flow,r_s + +% Component type SS + [in] SS external,internal + [out] SS external,0 ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Fixed_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Fixed_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Fixed_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 1800 5400 1800 5175 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4230 2700 5355 2700 5130 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 1575 5400 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 2475 5400 2925 +4 0 0 100 0 18 20 0.0000 4 225 810 5625 1890 SS:z1\001 +4 0 0 100 0 18 20 0.0000 4 240 810 5625 2790 SS:z2\001 +4 2 4 100 0 18 20 0.0000 4 285 1305 4140 1890 SS:[y_in]\001 +4 2 4 100 0 18 20 0.0000 4 285 1860 4140 2790 SS:[theta_in]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Fixed_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Fixed_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Fixed_lbl.txt @@ -0,0 +1,30 @@ +%% Label file for system Fixed (Fixed_lbl.txt) +%SUMMARY Fixed +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in y_in,theta_in + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type SS + [theta_in] SS external,external + [y_in] SS external,external + z1 SS internal,0 + z2 SS internal,0 + ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Free_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Free_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Free_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 1800 5400 1800 5175 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4230 2700 5355 2700 5130 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 1575 5400 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 2475 5400 2925 +4 2 0 100 0 18 20 0.0000 4 225 810 4140 1890 SS:z1\001 +4 2 0 100 0 18 20 0.0000 4 240 810 4140 2790 SS:z2\001 +4 0 4 100 0 18 20 0.0000 4 285 1500 5490 1890 SS:[y_out]\001 +4 0 4 100 0 18 20 0.0000 4 285 2055 5445 2790 SS:[theta_out]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Free_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Free_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Free_lbl.txt @@ -0,0 +1,32 @@ +%% Label file for system Free (Free_lbl.txt) +%SUMMARY Free +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS out y_out,theta_out + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type SS + [theta_out] SS external,external + [y_out] SS external,external + z1 SS 0,internal + z2 SS 0,internal + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Make_figures.m Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Make_figures.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/Make_figures.m @@ -0,0 +1,4 @@ +#!/bin/sh +## Script file Make_figures. + +ppp_1("PPPCantileverBeam",1:2,[1 2;1 3]); # 2 inputs; modes 1 2 and 1 and 3 ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_abg.fig @@ -0,0 +1,40 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1125 2700 2250 2700 2025 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 8775 2700 9900 2700 9675 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 2700 3825 2700 3600 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4230 2700 5355 2700 5130 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4095 6300 4095 4500 4320 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3870 4500 4320 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 5850 2700 6975 2700 6750 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7380 2700 8505 2700 8280 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7245 6300 7245 4500 7470 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 7020 4500 7470 4500 +4 1 0 100 0 18 20 1.5708 4 225 630 1035 2700 Free\001 +4 1 0 100 0 18 20 1.5708 4 225 780 10260 2700 Fixed\001 +4 1 0 100 0 18 20 1.5708 4 285 3690 8775 2700 BernoulliEuler:Chunk_3*3\001 +4 1 0 100 0 18 20 1.5708 4 285 3690 2610 2700 BernoulliEuler:Chunk_1*3\001 +4 1 0 100 0 18 20 1.5708 4 300 3480 4140 2700 pBernoulliEuler:Patch_1\001 +4 1 4 100 0 18 16 0.0000 4 240 900 4095 4455 [torque]\001 +4 1 0 100 0 18 20 0.0000 4 285 1275 4050 6660 SS:tau_1\001 +4 1 0 100 0 18 20 1.5708 4 285 3690 5760 2700 BernoulliEuler:Chunk_2*8\001 +4 1 0 100 0 18 20 1.5708 4 300 3480 7290 2700 pBernoulliEuler:Patch_2\001 +4 1 4 100 0 18 16 0.0000 4 240 900 7245 4455 [torque]\001 +4 1 0 100 0 18 20 0.0000 4 285 1275 7200 6660 SS:tau_2\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_desc.tex Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_desc.tex @@ -0,0 +1,64 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system PPPCantileverBeam (PPPCantileverBeam_desc.tex) +% Generated by MTT on Mon Apr 19 07:04:54 BST 1999. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1999/05/18 04:01:50 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The acausal bond graph of system \textbf{PPPCantileverBeam} is displayed in +Figure \Ref{fig:PPPCantileverBeam_abg.ps} and its label file is listed in +Section \Ref{sec:PPPCantileverBeam_lbl}. The subsystems are listed in Section +\Ref{sec:PPPCantileverBeam_sub}. + +This example represents the dynamics of a uniform beam with one fixed +and one free end. The beam is approximated by 16 equal lumps using +the Bernoulli-Euler approximation with damping. The ouputs are taken +to be the 16 lump velocities, the two inputs are taken to be torques +applied to lumps 3 away from each end; this approximates the effect of +two piezoelectric patches. + +The system parameters are given in Section +\Ref{sec:PPPCantileverBeam_numpar.tex}. +The system has 32 states (16 modes of vibration), 2 inputs and 12 +outputs. +The first 8 modal frequencies are given in Table \ref{tab:modes}. +\begin{table}[htbp] + \begin{center} + \begin{tabular}{||c|c||c|c||} + \hline + Mode & $\omega_i$ & Mode & $\omega_i$\\ + \hline + \hline + 1 & 0.0079504 & 5 & 0.4352376\\ + 2 & 0.0498140 & 6 & 0.6338899\\ + 3 & 0.1386209 & 7 & 0.8573604\\ + 4 & 0.2682835 & 8 & 1.0976942\\ + \hline + \end{tabular} + \caption{Modal frequencies} + \label{tab:modes} + \end{center} +\end{table} + +Figure \Ref{fig:PPPCantileverBeam_lmfr.ps} shows the log modulus of the frequency +response and Figure \Ref{fig:PPPCantileverBeam_pppy0.ps} shows the system transient +reponse with no control and an initial unit twist. + +Figure \Ref{fig:PPPCantileverBeam_pppy.ps} shows closed loop reponse when +controlled by a PPP controller attempting to damp modes 1 and 2 from +input 1 and modes 1 and three from input 2. Figure +\Ref{fig:PPPCantileverBeam_pppy.ps} shows the corresponding control signals. + + + + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_input.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_input.txt @@ -0,0 +1,14 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (PPPCantileverBeam_input.txt) +# Generated by MTT at Thu Apr 22 00:12:54 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +mttu(1) = exp(-t/0.1); # tau (PPPCantileverBeam) + +# Set the switches ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_lbl.txt @@ -0,0 +1,45 @@ +%% Label file for system PPPCantileverBeam (PPPCantileverBeam_lbl.txt) +%SUMMARY PPPCantileverBeam +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Declare some variables +%VAR Area +%VAR AreaMoment +%VAR BeamLength +%VAR BeamThickness +%VAR BeamWidth +%VAR Density +%VAR N +%VAR Youngs +%VAR EI +%VAR rhoA + +% Port aliases + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type BenoulliEuler + Chunk_1 + Patch_1 + Chunk_2 + Patch_2 + Chunk_3 + + +% Component type SS + tau_1 SS external,external + tau_2 SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_numpar.txt @@ -0,0 +1,29 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (PPPCantileverBeam_numpar.txt) +# Generated by MTT at Mon Apr 19 06:24:08 BST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +N = 16; +BeamLength = 0.58; +BeamWidth = 0.05; +BeamThickness = 0.005; +Youngs = 1e6; +Density = 1e5; +Area = BeamWidth*BeamThickness; +AreaMoment = (BeamThickness*BeamWidth^2)/12; + + +EI= 58.6957 # from Reza +rhoA= 0.7989 # from Reza + +dz = BeamLength/N; # Incremental length +dm = rhoA*dz; # Incremental mass +dk = EI/dz; # Incremental stiffness +dr = 1e-2; # Damping ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_rep.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_rep.txt @@ -0,0 +1,31 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system PPPCantileverBeam (PPPCantileverBeam_rep.txt) +## Generated by MTT on" Mon Apr 19 06:43:08 BST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt PPPCantileverBeam abg tex # The system description +## mtt PPPCantileverBeam cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt PPPCantileverBeam struc tex # The system structure +## mtt PPPCantileverBeam dae tex # The system dae +## mtt PPPCantileverBeam ode tex # The system ode +## mtt PPPCantileverBeam sspar tex # Steady-state parameters +## mtt PPPCantileverBeam ss tex # Steady state +## mtt PPPCantileverBeam dm tex # Descriptor matrices (of linearised system) +## mtt PPPCantileverBeam sm tex # State matrices (of linearised system) +## mtt PPPCantileverBeam tf tex # Transfer function (of linearised system) +mtt PPPCantileverBeam simpar tex # Simulation parameters +mtt PPPCantileverBeam numpar tex # Numerical simulation parameters +## mtt PPPCantileverBeam input tex # Simulation input +## mtt PPPCantileverBeam odeso ps # Simulation output +mtt PPPCantileverBeam lmfr ps # log modulus of frequency response (of linearised system) + +mtt PPPCantileverBeam pppy ps # PPP output +mtt PPPCantileverBeam pppu ps # PPP input +mtt PPPCantileverBeam pppy0 ps # PPP open-loop op ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_simpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system PPPCantileverBeam (PPPCantileverBeam_simpar.txt) +# Generated by MTT on Mon Apr 19 06:32:42 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 1.0; # Last time in simulation +DT = 0.01; # Print interval +STEPFACTOR = 10; # Integration steps per print interval +WMIN = 1; # Minimum frequency = 10^WMIN +WMAX = 4; # Maximum frequency = 10^WMAX +WSTEPS = 500; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_simpar.txt_old Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/PPPCantileverBeam_simpar.txt_old @@ -0,0 +1,19 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system PPPCantileverBeam (PPPCantileverBeam_simpar.txt) +# Generated by MTT on Mon Apr 19 06:32:42 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 1.0; # Last time in simulation +DT = 0.01; # Print interval +STEPFACTOR = 10; # Integration steps per print interval +METHOD = Implicit; # Integration method +WMIN = 1; # Minimum frequency = 10^WMIN +WMAX = 4; # Maximum frequency = 10^WMAX +WSTEPS = 500; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/ppp_1.m Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/ppp_1.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/ppp_1.m @@ -0,0 +1,176 @@ +function ppp_1(Name,Inputs,Modes); + +# Name = "CantileverBeam" +# Inputs = 1:2 +# Modes = [1 2;1 3] + + path(path,"~/Research/CGPC/PPP"); + + Name,Inputs,Modes + + ## System + system(sprintf("mtt -q %s numpar m", Name)); + system(sprintf("mtt -q %s sm m", Name)); + par = eval(sprintf("%s_numpar;",Name)); + eval(sprintf("[A,B,C,D]=%s_sm(par);",Name)); + [n_x,n_u,n_y] = abcddim(A,B,C,D) + + + ## Change B + B = B(:,Inputs); + [junk,n_u]=size(B); + n_u + + ## Redo C and D to reveal ALL velocities + n_y = n_x/2 + C = zeros(n_y,n_x); + for i = 1:n_y + C(i,2*i-1) = 1; + endfor + + ## Sort out D + D = zeros(n_y,n_u); + + e = eig(A); # Eigenvalues + N = length(e); + frequencies = sort(imag(e)); + frequencies = frequencies(N/2+1:N); # Modal frequencies + + ## Controller + ## Controller design parameters + t = [0.9:0.01:1.0]; # Optimisation horizon + + ## Specify input basis functions + ## - damped sinusoids with same frequencies as beam + damping_ratio = [0.1 0.1]; # Damping ratio of inputs + A_u=[]; +# Modes = [1 3 +# 1 2]; # Choose modes to be controlled by each input + if n_u == 1 # Put all modes on each input + Modes = [Modes; Modes]; + endif + + Modes + + for i=Inputs + A_ui = damped_matrix(frequencies(Modes(i,:)),damping_ratio(i)*ones(size(Modes(i,:)))); + A_u = [A_u;A_ui]; + u_0 = ones(n_x,1); # Initial conditions + endfor + + + A_w = 0; # Setpoint + Q = ones(n_y,1); # Output weighting + + ## Design + disp("Control design - unconstrained"); + [k_x,k_w,K_x,K_w,Us0,J_uu,J_ux,J_uw] = ppp_lin (A,B,C,D,A_u,A_w,t); # Unconstrained design + + ## Organise some plots + dt = 0.002; # Time increment +# T = 0:dt:t(length(t)); # Time starting at zero but past horizon + T = 0:dt:1.0; # Time + + ## Set up an "typical" initial condition + x_0 = zeros(n_x,1); + x_0(2:2:n_x) = ones(1,n_x/2); # Set initial twist to 1. +# disp("Computing OL response"); +# [Ys,Us] = ppp_transient (T,A_u,-(K_x*x_0)',u_0,A,B,C,D,x_0); # Compute open-loop control + + + disp("Computing OL response (no control)"); + [Y_0] = ppp_sm2sr(A, B, C, D, T, zeros(n_u,1), x_0); # Compute Closed-loop control + title("Y (no control)"); + xlabel("Time") + grid; + plot(T,Y_0); + psfig(sprintf("%s_pppy0",Name)); + + disp("Computing Unconstrained CL response"); + [y_u,X_u] = ppp_sm2sr(A-B*k_x, B, C, D, T, zeros(n_u,1), x_0); + u_u = -k_x*X_u'; + + + title("Unconstrained closed-loop control - y"); + xlabel("Time") + grid; + plot(T,y_u); + psfig(sprintf("%s_pppy",Name)); + + title("Unconstrained closed-loop control - u"); + xlabel("Time") + grid; + plot(T,u_u); + psfig(sprintf("%s_pppu",Name)); + +# ## Constrained version + +# ## Constraints - u +# Tau_u = [0:0.01:1]; +# one = ones(size(Tau_u)); +# limit = 1e10; +# Min_u = -limit*one; +# Max_u = limit*one; +# Order_u = 0*one; + +# ## Constraints - y +# Tau_y = []; +# one = ones(size(Tau_y)); +# limit = 1e5; +# Min_y = -limit*one; +# Max_y = limit*one; +# Order_y = 0*one; + +# ## Simulation + +# ## Constrained - open-loop +# Gamma = []; +# gamma = []; +# for i=1:n_u # Put same constraints on each input +# [Gamma_i,gamma_i] = ppp_input_constraint (A_u,Tau_u,Min_u,Max_u,Order_u,i,n_u); +# Gamma = [Gamma; Gamma_i]; +# gamma = [gamma; gamma_i]; +# endfor + + +# disp("Open-loop simulations..."); +# ## Constrained OL simulation +# W = zeros(n_y,1); +# [u,U] = ppp_qp (x_0,W,J_uu,J_ux,J_uw,Us0,Gamma,gamma); +# T = [0:t(2)-t(1):t(length(t))]; +# [ys,us] = ppp_ystar (A,B,C,D,x_0,A_u,U,T); + +# title("Constrained y*"); +# xlabel("t"); +# grid; +# plot(T,ys) + +# ## Unconstrained OL simulation +# [uu,Uu] = ppp_qp (x_0,W,J_uu,J_ux,J_uw,Us0,[],[]); +# [ysu,usu] = ppp_ystar (A,B,C,D,x_0,A_u,Uu,T); + +# title("Unconstrained y*"); +# xlabel("t"); +# grid; +# plot(T,ysu) + +# ## Non-linear - closed-loop +# disp("Closed-loop simulation"); +# Tc = [0:4e-4:1.0]; +# Delta_ol = 1.0; +# [yc,uc,J] = ppp_qp_sim (A,B,C,D,A_u,A_w,t,Q, T, Tau_u,Min_u,Max_u,Order_u, Tau_y,Min_y,Max_y,Order_y,W,x_0,Delta_ol); + +# title("y,y*,u and u*"); +# xlabel("t"); +# grid; +# plot(T1,y,T,ys,T1,u,T,us); + +endfunction + + + + + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppu_rep.make Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppu_rep.make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppu_rep.make @@ -0,0 +1,20 @@ +## Make file for the ppp output rep +## Symlinked to: +## pppy +## pppy0 +## pppu + +all: $(SYS)_pppy.ps $(SYS)_pppy0.ps $(SYS)_pppu.ps + +$(SYS)_pppy.ps: Make_figures.m ppp_1.m $(SYS)_sm.m $(SYS)_numpar.m + octave Make_figures.m +$(SYS)_pppy0.ps: $(SYS)_pppy.ps + touch $(SYS)_pppy0.ps +$(SYS)_pppu.ps: $(SYS)_pppy.ps + touch $(SYS)_pppu.ps + +$(SYS)_sm.m: + mtt $(SYS) sm m + +$(SYS)_numpar.m: + mtt $(SYS) numpar m ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppy0_rep.make Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppy0_rep.make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppy0_rep.make @@ -0,0 +1,20 @@ +## Make file for the ppp output rep +## Symlinked to: +## pppy +## pppy0 +## pppu + +all: $(SYS)_pppy.ps $(SYS)_pppy0.ps $(SYS)_pppu.ps + +$(SYS)_pppy.ps: Make_figures.m ppp_1.m $(SYS)_sm.m $(SYS)_numpar.m + octave Make_figures.m +$(SYS)_pppy0.ps: $(SYS)_pppy.ps + touch $(SYS)_pppy0.ps +$(SYS)_pppu.ps: $(SYS)_pppy.ps + touch $(SYS)_pppu.ps + +$(SYS)_sm.m: + mtt $(SYS) sm m + +$(SYS)_numpar.m: + mtt $(SYS) numpar m ADDED mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppy_rep.make Index: mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppy_rep.make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Linear/PPPCantileverBeam/pppy_rep.make @@ -0,0 +1,20 @@ +## Make file for the ppp output rep +## Symlinked to: +## pppy +## pppy0 +## pppu + +all: $(SYS)_pppy.ps $(SYS)_pppy0.ps $(SYS)_pppu.ps + +$(SYS)_pppy.ps: Make_figures.m ppp_1.m $(SYS)_sm.m $(SYS)_numpar.m + octave Make_figures.m +$(SYS)_pppy0.ps: $(SYS)_pppy.ps + touch $(SYS)_pppy0.ps +$(SYS)_pppu.ps: $(SYS)_pppy.ps + touch $(SYS)_pppu.ps + +$(SYS)_sm.m: + mtt $(SYS) sm m + +$(SYS)_numpar.m: + mtt $(SYS) numpar m ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AE3_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AE3_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AE3_abg.fig @@ -0,0 +1,38 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4747 5175 6097 5175 5872 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7447 5175 8797 5175 8572 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2677 5175 4027 5175 3802 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6772 3375 6772 4725 6997 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 6750 6750 5400 6975 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 8550 6750 7200 6975 7425 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 1575 6750 2925 6975 2700 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9472 5175 10822 5175 10597 5400 +4 1 0 100 0 18 20 0.0000 4 225 405 6750 3240 AE\001 +4 1 0 100 0 18 20 0.0000 4 225 405 6750 7110 AE\001 +4 1 0 100 0 18 20 0.0000 4 225 405 4365 5265 AE\001 +4 1 4 100 0 18 20 0.0000 4 285 975 2115 5265 SS:[in]\001 +4 1 4 100 0 18 20 0.0000 4 285 1335 6795 1485 SS:[mod]\001 +4 1 4 100 0 18 20 0.0000 4 285 1500 6705 8820 SS:[smod]\001 +4 1 0 100 0 18 30 0.0000 4 330 660 6750 5265 R:r\001 +4 1 4 100 0 18 14 0.0000 4 210 270 5985 4995 [1]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 7560 4995 [2]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6570 4590 [3]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6570 5625 [4]\001 +4 1 0 100 0 18 20 0.0000 4 225 405 9135 5265 AE\001 +4 1 4 100 0 18 20 0.0000 4 285 1170 11475 5265 SS:[out]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AE3_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AE3_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AE3_lbl.txt @@ -0,0 +1,44 @@ +%% Label file for system AE3 (AE3_lbl.txt) +%SUMMARY AE3 +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in in +%ALIAS mod mod +%ALIAS out out +%ALIAS smod smod + +% Argument aliases +%ALIAS $1 l + +% CR aliases +%ALIAS $1 slsin + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type R + r slsin -1*l + +% Component type SS + [in] SS external,external + [mod] SS external,external + [out] SS external,external + [smod] SS external,external + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AF3_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AF3_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AF3_abg.fig @@ -0,0 +1,38 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4747 5175 6097 5175 5872 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7447 5175 8797 5175 8572 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2677 5175 4027 5175 3802 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6772 3375 6772 4725 6997 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 6750 6750 5400 6975 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 8550 6750 7200 6975 7425 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 1575 6750 2925 6975 2700 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9472 5175 10822 5175 10597 5400 +4 1 0 100 0 18 20 0.0000 4 225 405 6750 3240 AE\001 +4 1 0 100 0 18 20 0.0000 4 225 405 6750 7110 AE\001 +4 1 4 100 0 18 20 0.0000 4 285 975 2115 5265 SS:[in]\001 +4 1 4 100 0 18 20 0.0000 4 285 1335 6795 1485 SS:[mod]\001 +4 1 4 100 0 18 20 0.0000 4 285 1500 6705 8820 SS:[smod]\001 +4 1 0 100 0 18 30 0.0000 4 330 660 6750 5265 R:r\001 +4 1 4 100 0 18 14 0.0000 4 210 270 5985 4995 [1]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 7560 4995 [2]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6570 4590 [3]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6570 5625 [4]\001 +4 1 0 100 0 18 20 0.0000 4 225 390 4365 5310 AF\001 +4 1 0 100 0 18 20 0.0000 4 225 390 9135 5265 AF\001 +4 1 4 100 0 18 20 0.0000 4 285 1170 11610 5265 SS:[out]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AF3_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AF3_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/AF3_lbl.txt @@ -0,0 +1,40 @@ +%% Label file for system AE3 (AE3_lbl.txt) +%SUMMARY AE3 +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in in +%ALIAS mod mod +%ALIAS out out +%ALIAS smod smod + +% Argument aliases +%ALIAS $1 l + +% CR aliases +%ALIAS $1 slsin + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type R + r slsin l + +% Component type SS + [in] SS external,external + [mod] SS external,external + [out] SS external,external + [smod] SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Cart_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Cart_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Cart_abg.fig @@ -0,0 +1,53 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3600 4275 4950 4275 4725 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 5400 3600 5400 3825 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4950 5175 4950 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3015 3150 4365 3150 4140 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4815 3150 6165 3150 5940 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4590 2925 4590 1575 4815 1800 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4815 1575 4365 1575 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4793 2934 6153 1574 6153 1893 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4387 2947 3027 1587 3346 1587 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7650 3150 9000 3150 8775 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3600 4050 3600 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 5400 5400 6750 5400 6525 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6750 5175 6750 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 5400 4275 6750 4275 6525 4500 +4 2 0 100 0 18 18 0.0000 4 270 2130 3510 4365 Sf:zero_velocity\001 +4 1 1 101 0 3 18 0.0000 4 255 1125 5310 4725 y-velocity\001 +4 1 1 101 0 3 18 0.0000 4 255 1155 5265 3735 x-velocity\001 +4 1 1 101 0 3 18 0.0000 4 255 1905 5175 5940 angular-velocity\001 +4 2 0 100 0 18 18 0.0000 4 270 720 3555 5490 R:r_p\001 +4 1 0 100 0 18 18 0.0000 4 195 150 4590 3240 1\001 +4 1 4 100 0 18 18 0.0000 4 270 765 6390 1440 SS:[x]\001 +4 1 0 100 0 18 18 0.0000 4 270 870 4635 1440 IS:m_c\001 +4 1 0 100 0 18 18 0.0000 4 270 690 2880 1440 R:r_c\001 +4 1 4 100 0 18 18 0.0000 4 270 1290 2250 3240 SS:[drive]\001 +4 0 0 100 0 18 18 0.0000 4 210 1560 9090 3240 De:Position\001 +4 1 0 100 0 18 18 0.0000 4 210 1035 6975 3240 INTFS:x\001 +4 1 0 100 0 18 18 0.0000 4 195 150 5175 5490 1\001 +4 1 4 100 0 18 18 0.0000 4 270 780 7245 5490 SS:[a]\001 +4 1 0 100 0 18 18 0.0000 4 195 150 5175 4365 1\001 +4 1 4 100 0 18 18 0.0000 4 270 765 7245 4365 SS:[y]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Cart_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Cart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Cart_lbl.txt @@ -0,0 +1,53 @@ +%% Label file for system Cart (Cart_lbl.txt) +%SUMMARY Cart +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in drive +%ALIAS pendulum|out x,y,a + +% Argument aliases +%ALIAS $1 m_c +%ALIAS $2 r_c +%ALIAS $3 r_p + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type IS + m_c lin flow,m_c;v_0 + +% Component type R + r_c lin flow,r_c + r_p lin flow,r_p + +% Component type INTFS + x none x_0 + +% Component type SS + [a] SS internal,0 + [drive] SS external,internal + [x] SS 0,internal + [y] SS 0,internal + +% Component type De + Position SS external + +% Component type Sf + zero_velocity SS 0 + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DCS_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DCS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DCS_abg.fig @@ -0,0 +1,68 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3330 1305 3870 1395 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3375 1350 3825 1350 +-6 +6 7965 2475 8505 2565 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 8010 2520 8460 2520 +-6 +6 3330 2475 3420 3015 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3375 2520 3375 2970 +-6 +6 9810 2475 9900 3015 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 9855 2520 9855 2970 +-6 +6 7965 2430 8055 2970 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 8010 2475 8010 2925 +-6 +6 3735 2430 3825 2970 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3780 2475 3780 2925 +-6 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 4860 4730 4860 494 2293 494 2293 4730 4860 4730 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2036 2724 3371 2724 3063 2947 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3576 2501 3576 1342 3833 1609 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3782 2724 5116 2724 4808 2947 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3576 2947 3576 4106 3833 3839 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6656 2724 7991 2724 7683 2947 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8196 2947 8196 4106 8453 3839 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8453 2724 9788 2724 9480 2947 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9480 4730 9480 494 6913 494 6913 4730 9480 4730 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 12150 5175 45 5175 45 316 12150 316 12150 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8190 2501 8190 1341 8447 1609 +4 2 4 0 0 0 18 0.0000 4 240 1605 1980 2790 SS:[Electrical]\001 +4 1 -1 0 0 0 18 0.0000 4 195 135 3525 2858 1\001 +4 1 -1 0 0 0 18 0.0000 4 255 945 5938 2813 GY:k_m\001 +4 1 -1 0 0 0 18 0.0000 4 195 135 8196 2813 1\001 +4 1 -1 0 0 0 18 0.0000 4 255 630 3525 1252 IS:l_a\001 +4 1 -1 0 0 0 18 0.0000 4 255 600 3628 4463 R:r_a\001 +4 1 -1 0 0 0 18 0.0000 4 255 735 8248 4463 R:b_m\001 +4 1 1 1 0 0 18 0.0000 4 195 1065 3576 5043 Electrical\001 +4 1 1 1 0 0 18 0.0000 4 195 1290 8196 5043 Mechanical\001 +4 1 1 1 0 0 18 0.0000 4 195 600 10404 3170 Shaft\001 +4 1 1 1 0 0 18 0.0000 4 195 1155 1472 3170 Terminals\001 +4 0 4 0 0 0 18 0.0000 4 240 1830 9945 2835 SS:[Mechanical]\001 +4 1 -1 0 0 0 18 0.0000 4 255 585 8235 1215 I:j_m\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DCS_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DCS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DCS_lbl.txt @@ -0,0 +1,39 @@ +%SUMMARY DCS: DCS motor +%DESCRIPTION A special for the inverted pendulum system +%DESCRIPTION Derivative causality on the shaft +%DESCRIPTION No aliased parameters +%DESCRIPTION Built in causality - speeds things up +%DESCRIPTION Only the armature state and shaft resistance are variable + +%ALIAS in Electrical +%ALIAS out Mechanical + + +%% Label file for system DCS (DCS_lbl.txt) + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Motor gain +k_m lin flow,k_m + +% Electrical components +%Inductance +l_a lin flow,l_a;i_0 + +%Resistance +r_a lin flow,r_a + +% Mechanical components +%Inertia +j_m lin flow,j_m + +%Friction +b_m lin flow,b_m + +% Ports + [Electrical] SS external,external + [Mechanical] SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_abg.fig @@ -0,0 +1,35 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3555 4005 3645 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3600 4050 3600 4500 +-6 +6 6255 4005 6345 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6300 4050 6300 4500 +-6 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 7650 4725 5850 4725 5850 3825 7650 3825 7650 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2250 4275 3600 4275 3375 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 4275 6300 4275 6075 4500 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 5175 4725 3375 4725 3375 3825 5175 3825 5175 4725 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 2610 4725 585 4725 585 3825 2610 3825 2610 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7425 4275 8775 4275 8550 4500 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 10125 4950 10125 2025 225 2025 225 4950 10125 4950 +4 1 0 100 0 18 20 0.0000 4 360 1815 1620 4410 OpenLoop\001 +4 1 0 100 0 18 20 0.0000 4 285 960 4320 4410 Drive\001 +4 1 0 100 0 18 20 0.0000 4 285 765 6795 4410 Cart\001 +4 1 0 100 0 18 20 0.0000 4 285 810 9225 4410 Zero\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_input.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_input.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (DriveCart_input.txt) +# Generated by MTT at Thu Aug 5 09:17:30 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +#mttu(1) = 1.0*(t<1) -1.0*((t>=1)&&(t<2)); # u (DriveCart_F) +mttu(1) = 1; +mttu(2) = 0; +mttu(3) = 0; +mttu(4) = 0; + +# Set the switches ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_lbl.txt @@ -0,0 +1,30 @@ +%% Label file for system DriveCart (DriveCart_lbl.txt) +%SUMMARY DriveCart +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%VAR l_p #Pendulum length + +% Port aliases + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + + + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_numpar.txt @@ -0,0 +1,91 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (DriveCart_numpar.txt) +# Generated by MTT at Wed Aug 25 22:57:05 BST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +j_m = 3.87e-7; # Motor inertia +k_m = 0.00767; # Motor constant +r_a = 2.6; # Armature resistance +l_a = 0.18e-3; # Armature inductance + +k_g = 1/3.7; # Internal gear ratio +r = 0.635e-2; # Motor gear radius + +m_c = 0.455; # Cart mass + +b_m = 0.0; # Motor friction +r_c = 1.5; # Cart friction + +# l_p = 0.61; # Pendulum length +# m_p = 0.210; # Pendulum mass +# r_p = 0.0; # Pendulum friction + +# j_p = m_p*(l_p*l_p)/12; # Pendulum inertia about cm. + +# g = 9.81; # Gravity + + +## Sensitivity parameters +# m_cs = 0; # Cart mass +# b_ms = 0; # Motor friction +# r_cs = 0; # Cart friction +# r_ps = 0; # Pendulum friction + + +## Control parameters +k_1 = 1; +k_2 = 0; +k_3 = 0; + +## States +i_0 = 0; # Initial armature current +v_0 = 0; # Initial cart velocity +x_0 = 0; # Initial cart position + +# omega_0 = 0; # Initial pendulum velocity +# theta_0 = 0; # Initial pendulum angle + +## Control sensitivity parameters +# k_1s = 0; +# k_2s = 0; +# k_3s = 0; + +# ## Argument list +# if (mtt_n_parameters>1) +# r_cs= mtt_parameters(1); +# r_c = mtt_parameters(2); +# endif; + +# if (mtt_n_parameters>3) +# m_cs= mtt_parameters(3); +# m_c = mtt_parameters(4); +# endif; + +# if (mtt_n_parameters>5) +# k_1s= mtt_parameters(5); +# k_1 = mtt_parameters(6); +# endif; + +# if (mtt_n_parameters>7) +# k_2s= mtt_parameters(7); +# k_2 = mtt_parameters(8); +# endif; + +# if (mtt_n_parameters>9) +# k_3s= mtt_parameters(9); +# k_3 = mtt_parameters(10); +# endif; + + + + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_rep.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_rep.txt @@ -0,0 +1,27 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system DriveCart (DriveCart_rep.txt) +## Generated by MTT on" Fri Oct 22 09:03:14 EST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt DriveCart abg tex # The system description +mtt DriveCart cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt DriveCart struc tex # The system structure +mtt DriveCart dae tex # The system dae +## mtt DriveCart ode tex # The system ode +## mtt DriveCart sspar tex # Steady-state parameters +## mtt DriveCart ss tex # Steady state +## mtt DriveCart dm tex # Descriptor matrices (of linearised system) +mtt DriveCart sm tex # State matrices (of linearised system) +## mtt DriveCart tf tex # Transfer function (of linearised system) +## mtt DriveCart lmfr ps # log modulus of frequency response (of linearised system) +mtt DriveCart simpar tex # Simulation parameters +mtt DriveCart numpar tex # Numerical simulation parameters +mtt DriveCart input tex # Simulation input +mtt -c DriveCart odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_simpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/DriveCart_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system DriveCart (DriveCart_simpar.txt) +# Generated by MTT on Thu Aug 5 09:17:05 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 10.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1000; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Drive_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Drive_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Drive_abg.fig @@ -0,0 +1,36 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3825 2475 3825 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 2700 3825 2700 3600 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 5625 2700 6975 2700 6750 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 8325 2700 9675 2700 9450 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 10575 2700 11925 2700 11700 2925 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 14400 4725 14400 675 225 675 225 4725 14400 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6975 2475 6975 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 11925 2475 11925 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 9675 2475 9675 2925 +4 1 1 101 0 3 20 0.0000 4 255 1530 4590 3330 DC motor\001 +4 1 1 101 0 3 20 0.0000 4 330 2745 2205 3330 Power supply unit\001 +4 2 4 100 0 18 18 0.0000 4 270 1845 2430 2790 SS:[Electrical]\001 +4 1 0 100 0 18 18 0.0000 4 210 1470 4725 2790 DCS:motor\001 +4 1 0 100 0 18 18 0.0000 4 270 915 7695 2790 TF:k_g\001 +4 1 0 100 0 18 18 0.0000 4 210 540 10125 2790 TF:r\001 +4 0 4 100 0 18 18 0.0000 4 270 2115 12015 2790 SS:[Mechanical]\001 +4 1 1 101 0 3 20 0.0000 4 330 2010 7515 3330 Internal gear\001 +4 1 1 101 0 3 20 0.0000 4 330 1710 10080 3330 Motor gear\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Drive_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Drive_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Drive_lbl.txt @@ -0,0 +1,34 @@ +%% Label file for system Drive (Drive_lbl.txt) +%SUMMARY Drive +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in Electrical +%ALIAS out Mechanical + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type DC + motor + +% Component type SS + [Electrical] SS external,external + [Mechanical] SS external,external + +% Component type TF + k_g lin flow,k_g + r lin flow,r + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/INTFS_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/INTFS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/INTFS_abg.fig @@ -0,0 +1,27 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3376 3151 4276 3151 4051 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4501 2926 4501 2026 4726 2251 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3151 5626 3151 5401 3376 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 10575 4950 45 4950 45 1350 10575 1350 10575 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1575 3150 2475 3150 2250 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6526 3150 7426 3150 7201 3375 +4 1 -1 0 0 0 20 0.0000 4 255 180 4501 3241 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 1110 4501 1891 CS:unit\001 +4 2 4 0 0 0 20 0.0000 4 315 1455 1530 3240 SS:[Flow]\001 +4 1 -1 0 0 0 20 0.0000 4 255 825 2925 3240 AF:af\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 6075 3240 AE:ae\001 +4 0 4 0 0 0 20 0.0000 4 330 3045 7470 3240 SS:[Integrated_flow]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/INTFS_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/INTFS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/INTFS_lbl.txt @@ -0,0 +1,44 @@ +%% Label file for system INTFS (INTFS_lbl.txt) +%SUMMARY INTFS: flow integrator +%DESCRIPTION Port [in]: Flow to be integrated +%DESCRIPTION Port [out]: Effort = integral of flow on port [in] + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.3 1998/07/16 07:35:10 peterg +% %% Aliased version +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in Flow +%ALIAS out Integrated_flow + +% Argument aliases +%ALIAS $1 x_0 + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + + +% Component type CS + unit lin effort,1;x_0 + +% Component type AE + ae lin 1 + +% Component type AF + af lin 1 + +% Component type SS + [Flow] SS external,external + [Integrated_flow] SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/IS_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/IS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/IS_abg.fig @@ -0,0 +1,23 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2340 3915 2610 4185 +4 1 0 100 0 18 20 0.0000 4 270 195 2475 4185 0\001 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 3825 2475 2475 2700 2700 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 5625 2475 4275 2700 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 4050 4050 4050 3825 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4050 3825 4050 4275 +4 1 0 100 0 18 20 0.0000 4 285 315 2475 2295 I:i\001 +4 0 0 100 0 18 20 0.0000 4 360 1035 4185 4185 Sf:f_0\001 +4 1 4 100 0 18 20 0.0000 4 360 1185 2475 6030 SS:[in]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/IS_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/IS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/IS_lbl.txt @@ -0,0 +1,36 @@ +%% Label file for system IS (IS_lbl.txt) +%SUMMARY IS I component with initial state + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in in + +% Argument aliases +%ALIAS $1 flow,i +%ALIAS $2 f_0 + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type I + i lin flow,i + +% Component type SS + [in] SS external,external + +% Component type Sf + f_0 SS f_0 + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_abg.fig @@ -0,0 +1,37 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3555 4005 3645 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3600 4050 3600 4500 +-6 +6 6255 4005 6345 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6300 4050 6300 4500 +-6 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 7650 4725 5850 4725 5850 3825 7650 3825 7650 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2250 4275 3600 4275 3375 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 4275 6300 4275 6075 4500 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 5175 4725 3375 4725 3375 3825 5175 3825 5175 4725 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 2610 4725 585 4725 585 3825 2610 3825 2610 4725 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 9675 4950 9675 2025 225 2025 225 4950 9675 4950 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6750 3825 7705 2870 7705 3189 +2 1 0 2 1 7 101 0 -1 0.000 0 0 -1 0 0 5 + 6952 3487 8347 2092 8527 2272 7177 3622 6997 3442 +4 1 0 100 0 18 20 0.0000 4 360 1815 1620 4410 OpenLoop\001 +4 1 0 100 0 18 20 0.0000 4 285 960 4320 4410 Drive\001 +4 1 0 100 0 18 20 0.0000 4 285 3255 7830 2835 InvertedPendulum\001 +4 1 0 100 0 18 20 0.0000 4 285 765 6795 4410 Cart\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_desc.tex Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_desc.tex @@ -0,0 +1,37 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system InvertedPendulumOnCart (InvertedPendulumOnCart_desc.tex) +% Generated by MTT on Thu Aug 5 10:38:16 BST 1999. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{InvertedPendulumOnCart} is + displayed in Figure \Ref{fig:InvertedPendulumOnCart_abg.ps} and its label + file is listed in Section \Ref{sec:InvertedPendulumOnCart_lbl}. + The subsystems are listed in Section \Ref{sec:InvertedPendulumOnCart_sub}. + +This is a one input, two output nonlinear system comprising an +inverted pendulum attached by a hinge to a cart constrained to move in +the horizontal direction. The input is the horizontal force acting on +the cart, and the two outputs are the horizontal position and the +pendulum angle respectively. + +The bond graph in Figure \Ref{InvertedPendulumOnCartPPP_abg} is augmented with the {\em +open-loop\/} controller comprising +\begin{itemize} +\item two effort source \textbf{Se} components ``u1'' and ``u2'' +\item two effort amplifier \textbf{AE} components ``ppp\_1'' and `ppp\_2'' +\end{itemize} + +This is a \emph{nonlinear} system and it is used to illustate +\emph{nonlinear} PPP control. Section +\Ref{sec:InvertedPendulumOnCartPPP_nppp.ps} shows the cart position +$x$ and the pendulum angle $\theta$ when the pendulum starts from the +initial condition of $\theta = \frac{\pi}{2}$ (ie the pendulum is +horizontal). + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_input.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_input.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (InvertedPendulumOnCartPPP_input.txt) +# Generated by MTT at Thu Aug 5 09:17:30 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +#mttu(1) = 1.0*(t<1) -1.0*((t>=1)&&(t<2)); # u (InvertedPendulumOnCartPPP_F) +mttu(1) = 1; +mttu(2) = 0; +mttu(3) = 0; +mttu(4) = 0; + +# Set the switches ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_lbl.txt @@ -0,0 +1,30 @@ +%% Label file for system InvertedPendulumOnCartPPP (InvertedPendulumOnCartPPP_lbl.txt) +%SUMMARY InvertedPendulumOnCartPPP +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%VAR l_p #Pendulum length + +% Port aliases + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + + + + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_nppp.m Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_nppp.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_nppp.m @@ -0,0 +1,141 @@ +## Figures.m +## Makes figures for the InvertedPendulumOnCart_PPP exasmple. +## $Log$ +## Revision 1.4 2000/08/17 12:34:58 peterg +## *** empty log message *** +## +## Revision 1.3 2000/08/11 16:01:27 peterg +## Fixed documentation error +## +## Revision 1.2 2000/05/21 06:39:40 peterg +## Parameterised _sm +## +## Revision 1.1 2000/05/20 11:30:41 peterg +## Initial revision +## +## Revision 1.2 2000/05/17 16:59:57 peterg +## Revised for Inverted pendulum - it works !!!! +## +## Revision 1.1 2000/05/17 14:07:53 peterg +## Initial revision +## +## Revision 1.1 2000/05/17 09:14:37 peterg +## Initial revision +## +system_name = "InvertedPendulumOnCartPPP"; + +## Uncomment the following the first time +## (Or do ./Make InvertedPendulumOnCartPPP in this directory) + +## MTT stuff for the system simulation +##system("Make InvertedPendulumOnCartPPP"); + +t_s=1.0*[0:0.1:10]; +u = [ones(4,length(t_s))]; +x_0 = InvertedPendulumOnCartPPP_state; +par = InvertedPendulumOnCartPPP_numpar; + +## Simulate the system +tick=time; +[y,x] = InvertedPendulumOnCartPPP_sim(x_0,u,t_s,par); +Elapsed = time-tick +plot(t_s,y, t_s,x); + +## Simulate the system to give just the final few points +t_s1 = 10*[9:0.1:10]; +tick=time; +[y,x] = InvertedPendulumOnCartPPP_sim(x_0,u,t_s1,par); +Elapsed = time-tick +plot(t_s1,y,t_s1,x); + +## Sensitivity system simulation parameters +x_0s = sInvertedPendulumOnCartPPP_state; +pars = sInvertedPendulumOnCartPPP_numpar; +sympars = sInvertedPendulumOnCartPPP_sympar; + +## Simulate the sensitivity system +sensitivities = [sympars.ppp_1s,sympars.ppp_2s,sympars.r_cs] +tick=time; +[y,ys] = sInvertedPendulumOnCartPPP_sim(x_0s,u,t_s,pars,sensitivities); +Elapsed = time-tick +plot(t_s,y,t_s,ys); + +### PPP parameters +A_w = [0;0]; +A_u = laguerre_matrix(4,20); # Specify basis functions: constant & + # exp(-5t) +tau = 0.5*[0.9:0.01:1]; # Optimisation interval +t_ol =0.5*[0:0.01:0.2]; # Open-loop interval +N = 20; # Number of open-loop intervals in simulation +w = [0;0]; # Setpoint + +## Linear system +## Linear system +[A,B,C,D] = InvertedPendulumOnCartPPP_sm(par); +Q = [1;1]; +ppp_lin_plot (A,B(:,1),C,D(:,1),A_u,A_w,tau,Q,w,x_0); +psfig("InvertedPendulumOnCartPPP_lin"); + +## Simulate non-linear PPP (on this nonlinear system) +extras.U_initial = "zero"; +extras.U_next = "continuation"; +extras.criterion = 1e-5; +extras.max_iterations = 10; +extras.v = 0; +extras.verbose = 0; + +# ## -- with no optimisation using linear PPP with continuation +# extras.U_initial = "linear"; +# extras.U_next = "continuation"; +# extras.criterion = 1e-5; +# extras.max_iterations = 0; +# [y_c,x,u_c,t,U,U_c,U_l] = ppp_nlin_sim (system_name,A_u,tau,t_ol,N,w,extras); + +# ## -- with no optimisation using linear PPP at each step +# extras.U_initial = "linear"; +# extras.U_next = "linear"; +# extras.criterion = 1e-5; +# extras.max_iterations = 0; +# [y_l,x,u_l,t,U,U_c,U_l] = ppp_nlin_sim (system_name,A_u,tau,t_ol,N,w,extras); + +## -- with optimisation using nonlinear PPP with continuation +extras.U_initial = "zero"; +extras.U_next = "continuation"; +extras.criterion = 1e-4; +extras.max_iterations = 100; +extras.v = 1e-3; +extras.verbose = 0; +[y,x,u,t,U,U_c,U_l] = ppp_nlin_sim (system_name,A_u,tau,t_ol,N,w,extras); + + +## Plots +title(""); + +## U, U_c and U_l +I = 1:N; +IU1 = [I' U(1,:)']; +IU1_c = [I' U_c(1,:)']; +IU1_l = [I' U_l(1,:)']; +gset grid; xlabel "Interval" +gplot IU1 title "U_1", IU1_c title "U_c1", IU1_l title "U_l1" +psfig("InvertedPendulumOnCartPPP_U1"); + +IU2 = [I' U(2,:)']; +IU2_c = [I' U_c(2,:)']; +IU2_l = [I' U_l(2,:)']; +gset grid; xlabel "Interval " +gplot IU2 title "U_2", IU2_c title "U_c2", IU2_l title "U_l2" +psfig("InvertedPendulumOnCartPPP_U2"); + +## y & u +gset grid; xlabel "Time (sec)" +tu = [t' u']; +gplot tu title "Output" +psfig("InvertedPendulumOnCartPPP_u"); + +gset grid; xlabel "Time (sec)" +ty_th = [t' y(1,:)'] ; +ty_x = [t' y(2,:)'] ; +gplot ty_th title "Theta",ty_x title "x" +psfig("InvertedPendulumOnCartPPP_nppp"); + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_numpar.txt @@ -0,0 +1,68 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (sInvertedPendulumOnCart_numpar.txt) +# Generated by MTT at Tue Apr 18 18:07:52 BST 2000 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +## Default parameters +b_m = 0.0; # sDCS +c = 0.0; # sC,sC,sCS,sCS +e_0 = 0.0; # sCS,sCS +e_s = 0.0; # Se,Se,Se,sSe,sSe,sSe +f_0 = 0.0; # sIS,sIS,sIS +f_s = 0.0; # Sf,Sf,Sf,sSf,sSf,sSf +g = 0.0; # AFe,AFe,sInvertedPendulum,sROD +i = 0.0; # sI,sI,sI,sI,sI,sI,sIS,sIS,sIS +i_0 = 0.0; # sDCS +j_m = 0.0; # sDCS,sROD +j_p = 0.0; # sInvertedPendulum +ppp_1 = 1.0; # sOpenLoop +ppp_2 = 0.0; # sOpenLoop +ppp_3 = 0.0; # sOpenLoop +ppp_4 = 0.0; # sOpenLoop +k_g = 0.0; # sDrive +k_m = 0.0; # sDCS +l_a = 0.0; # sDCS,sROD +l_b = 0.0; # sROD +l_p = 0.0; # sInvertedPendulum,sInvertedPendulumOnCart +m = 0.0; # sROD +m_c = 0.0; # sCart +m_p = 0.0; # sInvertedPendulum +m_t = 0.0; # sInvertedPendulum +omega_0 = 0.0; # sInvertedPendulum,sROD +r = 0.0; # sDrive,sR,sR +r_a = 0.0; # sDCS +r_c = 0.0; # sCart +r_p = 0.0; # sCart +theta_0 = 0.0; # sInvertedPendulum,sROD +v_0 = 0.0; # sCart +x_0 = 0.0; # sCart,sINTFS,sINTFS + + +## Pysical Parameters +j_m = 3.87e-7; # Motor inertia +k_m = 0.00767; # Motor constant +r_a = 2.6; # Armature resistance +l_a = 0.18e-3; # Armature inductance + +k_g = 1/3.7; # Internal gear ratio +r = 0.635e-2; # Motor gear radius + +m_c = 0.455; # Cart mass + +b_m = 0.0; # Motor friction +r_c = 1.5; # Cart friction + +l_p = 0.61; # Pendulum length +m_p = 0.210; # Pendulum mass +r_p = 0.0; # Pendulum friction + +j_p = m_p*(l_p*l_p)/12; # Pendulum inertia about cm. + +g = 9.81; # Gravity + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_rep.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_rep.txt @@ -0,0 +1,38 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system InvertedPendulumOnCartPPP (InvertedPendulumOnCartPPP_rep.txt) +## Generated by MTT on" Fri Oct 22 09:03:14 EST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +## Revision 1.3 2000/08/29 13:57:23 peterg +## Zapped some steps which prevent ppp from working ???? +## +## Revision 1.2 2000/05/20 17:45:38 peterg +## Tidied +## +## Revision 1.1 2000/05/20 17:43:40 peterg +## Initial revision +## +############################################################### + +mtt InvertedPendulumOnCartPPP abg tex # The system description +mtt InvertedPendulumOnCartPPP cbg ps # The causal bond graph +mtt InvertedPendulumOnCartPPP struc tex # The system structure +mtt InvertedPendulumOnCartPPP dae tex # The system dae +# mtt InvertedPendulumOnCartPPP sm tex # State matrices (of linearised system) + +# mtt InvertedPendulumOnCartPPP simpar tex # Simulation parameters +# mtt InvertedPendulumOnCartPPP numpar tex # Numerical simulation parameters +# mtt InvertedPendulumOnCartPPP input tex # Simulation input +# mtt -c InvertedPendulumOnCartPPP odeso ps # Simulation output + +mtt InvertedPendulumOnCartPPP nppp m # How its done +mtt InvertedPendulumOnCartPPP nppp ps # The PPP output + +mtt InvertedPendulumOnCartPPP rep txt # The report outline + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_simpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system InvertedPendulumOnCartPPP (InvertedPendulumOnCartPPP_simpar.txt) +# Generated by MTT on Thu Aug 5 09:17:05 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 10.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_state.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulumOnCartPPP_state.txt @@ -0,0 +1,16 @@ +# -*-octave-*- Put Emacs into octave-mode +# Initial state file (InvertedPendulumOnCartPPP_state.txt) +# Generated by MTT at Thu May 4 16:13:13 BST 2000 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the states +mttx(1) = 0.0; # i (InvertedPendulumOnCartPPP_mtt2_motor_l_a) +mttx(2) = 0.0; # i (InvertedPendulumOnCartPPP_mtt3_rod_J) +mttx(3) = -pi/2; # c (InvertedPendulumOnCartPPP_mtt3_rod_th_unit) +mttx(4) = 0.0; # i (InvertedPendulumOnCartPPP_mtt4_m_c) +mttx(5) = 0.0; # c (InvertedPendulumOnCartPPP_mtt4_x_unit) ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulum_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulum_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulum_abg.fig @@ -0,0 +1,91 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3555 5085 6345 5310 +4 1 4 100 0 18 14 0.0000 4 210 510 3825 5265 [x_b]\001 +4 1 4 100 0 18 14 0.0000 4 210 525 4950 5265 [y_b]\001 +4 1 4 100 0 18 14 0.0000 4 210 525 6075 5265 [a_b]\001 +-6 +6 3555 4545 6345 4770 +4 1 4 100 0 18 14 0.0000 4 210 495 3825 4725 [x_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 4950 4725 [y_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 6075 4725 [a_a]\001 +-6 +6 5805 5355 6345 5445 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5850 5400 6300 5400 +-6 +6 3600 4455 4140 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3645 4500 4095 4500 +-6 +6 4635 4455 5175 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4680 4500 5130 4500 +-6 +6 5805 4455 6345 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5850 4500 6300 4500 +-6 +6 8505 4680 8595 5220 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 8550 4725 8550 5175 +-6 +6 4770 2790 5040 3060 +4 1 0 100 0 18 20 0.0000 4 270 195 4905 3060 1\001 +-6 +6 3690 2790 3960 3060 +4 1 0 100 0 18 20 0.0000 4 270 195 3825 3060 1\001 +-6 +6 3555 2655 4095 2745 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3600 2700 4050 2700 +-6 +6 4680 2655 5220 2745 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4725 2700 5175 2700 +-6 +6 4950 2520 5355 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5008 2552 5327 2870 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6525 4950 8550 4950 8325 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 2700 4950 1350 5175 1575 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 2700 3825 1350 4050 1575 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 5143 2687 6098 1732 6098 2050 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3600 6750 4050 6750 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4725 6750 5175 6750 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 6750 3825 5400 4050 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 6750 4950 5400 5175 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 6750 6075 5400 6300 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 4500 6075 3150 6300 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 4500 4950 3150 5175 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 4500 3825 3150 4050 3375 +4 1 0 100 0 18 20 0.0000 4 285 1515 4964 5040 ROD:rod\001 +4 1 0 100 0 18 18 0.0000 4 270 885 6030 3015 Se:a_0\001 +4 1 4 100 0 18 20 0.0000 4 360 1050 3780 7155 SS:[x]\001 +4 1 4 100 0 18 20 0.0000 4 360 1080 4950 7155 SS:[y]\001 +4 1 4 100 0 18 20 0.0000 4 360 1065 6075 7155 SS:[a]\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6300 4995 [a]\001 +4 0 0 100 0 18 20 0.0000 4 285 1515 8685 5085 De:theta\001 +4 1 0 100 0 18 18 0.0000 4 270 675 4995 1170 I:m_y\001 +4 1 0 100 0 18 18 0.0000 4 270 675 3870 1170 I:m_x\001 +4 0 0 100 0 18 20 0.0000 4 360 1110 6120 1800 Se:mg\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulum_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulum_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/InvertedPendulum_lbl.txt @@ -0,0 +1,47 @@ +%% Label file for system InvertedPendulum (InvertedPendulum_lbl.txt) +%SUMMARY InvertedPendulum +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in x,y,a + + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + + +% Component type I + m_x lin flow,m_t + m_y lin flow,m_t + +% Component type Se + mg SS m_t*g + +% Component type De + theta SS external + +% Component type SS + [a] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Se + a_0 SS 0 + +% Component type gRod + rod none l_p;l_p;j_p;m_p;g;omega_0;theta_0 + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Make Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Make @@ -0,0 +1,30 @@ +#!/bin/sh + +## Makes the files needed for Figures.m +## Copyright (C) 2000 by Peter J. Gawthrop + +if [ -z "$1" ]; then + echo Usage ./Make system_name + exit +else + echo "Making simulation for system $1 (for use in Figures.m)" +fi + +## System +mtt -q -c -stdin $1 ode2odes out +mtt -q -c -stdin $1 sim m +mtt -q $1 state m +mtt -q $1 sympar m +mtt -q $1 numpar m + +## Sensitivity system +mtt -q -c -stdin -s s$1 ode2odes out +mtt -q -c -stdin -s s$1 sim m +mtt -q -s s$1 state m +mtt -q -s s$1 sympar m +mtt -q -s s$1 numpar m + +## Additional system reps for PPP +mtt -q $1 sm m +mtt -q $1 def m +mtt -q -s s$1 def m ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/OpenLoop_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/OpenLoop_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/OpenLoop_abg.fig @@ -0,0 +1,72 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 6570 1530 7200 1935 +4 1 1 101 0 3 20 0.0000 4 270 495 6885 1845 u ( )\001 +4 1 1 101 0 0 20 0.0000 4 135 150 6840 1800 *\001 +4 1 1 101 0 32 20 0.0000 4 150 135 7065 1845 t\001 +-6 +6 1800 1530 2520 2025 +4 1 1 101 0 3 20 0.0000 4 270 555 2160 1845 U ( )\001 +4 1 1 101 0 3 16 0.0000 4 165 120 2070 2025 1\001 +4 1 1 101 0 0 20 0.0000 4 135 150 2115 1800 *\001 +4 1 1 101 0 32 20 0.0000 4 150 135 2340 1845 t\001 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6345 2250 7695 2250 7470 2475 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4500 2250 5850 2250 5625 2475 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1575 5400 2925 5400 2700 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4545 5400 5895 5400 5670 5625 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 5175 6075 4050 6300 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1575 3825 2925 3825 2700 4050 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4545 3825 5895 3825 5670 4050 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 3600 6075 2475 6300 2700 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1575 6975 2925 6975 2700 7200 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4545 6975 5895 6975 5670 7200 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 6750 6075 5625 6300 5850 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1575 2250 2925 2250 2700 2475 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 9000 7875 9000 1125 225 1125 225 7875 9000 7875 +4 2 0 100 0 18 20 0.0000 4 300 1170 1485 2340 Se:Us_1\001 +4 1 0 100 0 18 20 0.0000 4 300 1035 3735 2340 AE:U_1\001 +4 1 0 100 0 18 20 0.0000 4 210 165 6075 2340 1\001 +4 1 0 100 0 18 20 0.0000 4 300 1035 3735 5490 AE:U_3\001 +4 2 0 100 0 18 20 0.0000 4 300 1170 1530 5535 Se:Us_3\001 +4 1 0 100 0 18 20 0.0000 4 210 165 6075 5535 1\001 +4 1 0 100 0 18 20 0.0000 4 300 1035 3735 3915 AE:U_2\001 +4 2 0 100 0 18 20 0.0000 4 300 1170 1530 3960 Se:Us_2\001 +4 1 0 100 0 18 20 0.0000 4 210 165 6075 3960 1\001 +4 1 0 100 0 18 20 0.0000 4 300 1035 3735 7065 AE:U_4\001 +4 2 0 100 0 18 20 0.0000 4 300 1170 1530 7110 Se:Us_4\001 +4 1 0 100 0 18 20 0.0000 4 210 165 6075 7110 1\001 +4 1 1 101 0 3 20 0.0000 4 270 555 2160 3420 U ( )\001 +4 1 1 101 0 3 16 0.0000 4 165 120 2070 3600 2\001 +4 1 1 101 0 0 20 0.0000 4 135 150 2115 3375 *\001 +4 1 1 101 0 32 20 0.0000 4 150 135 2340 3420 t\001 +4 1 1 101 0 3 20 0.0000 4 270 555 2160 4995 U ( )\001 +4 1 1 101 0 3 16 0.0000 4 165 120 2070 5175 3\001 +4 1 1 101 0 0 20 0.0000 4 135 150 2115 4950 *\001 +4 1 1 101 0 32 20 0.0000 4 150 135 2340 4995 t\001 +4 1 1 101 0 3 20 0.0000 4 270 555 2160 6570 U ( )\001 +4 1 1 101 0 3 16 0.0000 4 165 120 2070 6750 4\001 +4 1 1 101 0 0 20 0.0000 4 135 150 2115 6525 *\001 +4 1 1 101 0 32 20 0.0000 4 150 135 2340 6570 t\001 +4 0 4 100 0 18 20 0.0000 4 300 1005 7830 2340 SS:[us]\001 +4 1 1 101 0 3 20 0.0000 4 285 2370 3825 7695 Open-loop control\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/OpenLoop_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/OpenLoop_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/OpenLoop_lbl.txt @@ -0,0 +1,40 @@ +%% Label file for system OpenLoop (OpenLoop_lbl.txt) +%SUMMARY OpenLoop +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS out us + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type AE + U_1 lin ppp_1 + U_2 lin ppp_2 + U_3 lin ppp_3 + U_4 lin ppp_4 + +% Component type SS + [us] SS external,external + +% Component type Se + Us_1 SS external + Us_2 SS external + Us_3 SS external + Us_4 SS external + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/ROD_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/ROD_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/ROD_abg.fig @@ -0,0 +1,127 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 7876 2926 9001 3196 8731 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 7877 8327 9002 8597 8732 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 5401 5626 9001 5851 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6526 4951 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 4 0 1 1 7 0 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 2250 9675 2250 675 3600 675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8550 5400 9225 6075 8955 6075 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8685 5265 8415 5535 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3375 5175 2025 3825 2250 3825 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8550 4950 8550 5400 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 4950 2700 5400 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4275 6525 3150 7650 3150 7425 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5425 5419 4750 6094 4750 5869 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4273 3823 3148 2698 3373 2698 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 4950 4725 4275 4950 4275 +4 1 -1 0 0 0 20 0.0000 4 255 180 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 570 6933 5268 IS:J\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000 4 330 870 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000 4 330 900 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 1440 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1440 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000 4 255 1425 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1425 7156 6391 EMTF:s2\001 +4 1 5 0 0 0 20 0.0000 4 255 180 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000 4 240 675 6211 6526 [mod]\001 +4 1 5 0 0 0 20 0.0000 4 255 1425 4681 5266 INTFS:th\001 +4 1 1 1 0 0 20 0.0000 4 255 270 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000 4 195 240 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000 4 255 240 8280 9990 Y\001 +4 2 26 0 0 0 16 0.0000 4 240 675 3960 4140 [mod]\001 +4 2 26 0 0 0 16 0.0000 4 240 675 6345 4095 [mod]\001 +4 2 26 0 0 0 16 0.0000 4 240 675 3960 6210 [mod]\001 +4 1 4 0 0 0 20 0.0000 4 330 1785 2971 1216 SS:[xTip_a]\001 +4 1 4 0 0 0 20 0.0000 4 330 1800 2971 9361 SS:[xTip_b]\001 +4 1 4 0 0 0 20 0.0000 4 330 1755 8372 1217 SS:[yTip_a]\001 +4 1 4 0 0 0 20 0.0000 4 330 1770 8417 9362 SS:[yTip_b]\001 +4 1 4 0 0 0 20 0.0000 4 330 2700 5671 1216 SS:[angularTip_a]\001 +4 1 4 0 0 0 20 0.0000 4 330 2715 5671 9361 SS:[angularTip_b]\001 +4 1 1 1 0 0 20 0.0000 4 330 765 1350 2700 Tip a\001 +4 1 1 1 0 0 20 0.0000 4 255 1800 1260 6300 Mass centre\001 +4 1 1 1 0 0 20 0.0000 4 330 780 1350 9855 Tip b\001 +4 1 -1 0 0 0 20 0.0000 4 330 930 9360 6345 Se:mg\001 +4 2 4 0 0 0 20 0.0000 4 330 1515 1935 3735 SS:[angle]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/ROD_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/ROD_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/ROD_lbl.txt @@ -0,0 +1,101 @@ +%SUMMARY ROD: rigid rod in two dimensions - with gravity and angle port +%DESCRIPTION See Section 10.2 of "Metamodelling" +%DESCRIPTION Gravity term added at centre + +%ALIAS $1 l_a # length from end a to mass centre +%ALIAS $2 l_b # length from end b to mass centre +%ALIAS $3 j_m # inertia about mass centre +%ALIAS $4 m # mass +%ALIAS $5 g # gravity + +%ALIAS in|Tip_a xTip_a,angularTip_a,yTip_a +%ALIAS out|Tip_b xTip_b,angularTip_b,yTip_b + +%ALIAS in|Tip_a xTip_a,angularTip_a,yTip_a +%ALIAS out|Tip_b xTip_b,angularTip_b,yTip_b + +%ALIAS x_a xTip_a # Force/velocity at tip a in x direction +%ALIAS y_a yTip_a # Force/velocity at tip a in y direction +%ALIAS alpha_a|a_a angularTip_a # Torque/angular velocity at tip a + +%ALIAS x_b xTip_b # Force/velocity at tip b in x direction +%ALIAS y_b yTip_b # Force/velocity at tip b in y direction +%ALIAS alpha_b|a_b angularTip_b # Torque/angular velocity at tip b + +%ALIAS angle|a angle # Angle port + +%ALIAS INTF General/INTF # The flow integration component. + +%% Label file for system ROD (ROD_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1999/10/22 02:01:45 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1999/08/05 08:04:40 peterg +% %% Initial revision +% %% +% %% Revision 1.3 1998/11/30 10:47:53 peterg +% %% Added extra a_a and a_b aliases +% %% +% %% Revision 1.2 1998/11/25 13:55:42 peterg +% %% Added missig attribute field m*g,internal +% %% +% %% Revision 1.1 1998/11/25 10:48:34 peterg +% %% Initial revision +% %% +% %% Revision 1.5 1998/07/27 12:27:27 peterg +% %% Added vector port aliases +% %% +% %% Revision 1.4 1998/07/27 10:51:20 peterg +% %% Aliased INTF as well. +% %% +% %% Revision 1.3 1998/07/27 10:49:10 peterg +% %% Major revision to include aliases etc +% %% +% %% Revision 1.2 1997/08/15 09:43:06 peterg +% %% Now has lablelled (as opposed to numbered) ports. +% %% +% Revision 1.1 1996/11/07 10:57:17 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Inertias +J lin flow,j_m;omega_0 +m_x lin flow,m +m_y lin flow,m + +%Integrate angular velocity to get angle +th none theta_0 + +%Modulated transformers +s1 lsin flow,l_a +s2 lsin flow,l_b +c1 lcos flow,l_a +c2 lcos flow,l_b + + +% Component type Se + mg SS m*g + +% Component type SS + [angularTip_a] SS external,external + [angularTip_b] SS external,external + [xTip_a] SS external,external + [xTip_b] SS external,external + [yTip_a] SS external,external + [yTip_b] SS external,external + [angle] SS external,external + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Zero_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Zero_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Zero_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 2700 4050 2700 3825 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 3375 4050 3375 3825 3600 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 4050 4050 4050 3825 4275 +4 1 4 100 0 18 18 0.0000 4 270 765 2160 2790 SS:[x]\001 +4 1 0 100 0 18 18 0.0000 4 210 570 4545 2790 Se:x\001 +4 1 4 100 0 18 18 0.0000 4 270 765 2160 3465 SS:[y]\001 +4 1 0 100 0 18 18 0.0000 4 270 570 4545 3465 Se:y\001 +4 1 4 100 0 18 18 0.0000 4 270 780 2160 4140 SS:[a]\001 +4 1 0 100 0 18 18 0.0000 4 210 525 4545 4140 Sf:a\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Zero_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Zero_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/Zero_lbl.txt @@ -0,0 +1,33 @@ +%% Label file for system Zero (Zero_lbl.txt) +%SUMMARY Zero +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in x,y,a + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + [a] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Se + x SS 0 + y SS 0 + +% Component type Sf + a SS external + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sCart_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sCart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sCart_lbl.txt @@ -0,0 +1,59 @@ +%% Label file for system sCart (sCart_lbl.txt) +%SUMMARY sCart +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in drive_1,drive_2 +%ALIAS pendulum|out x_1,x_2,y_1,y_2,a_1,a_2 + +% Argument aliases +%ALIAS $1 m_c +%ALIAS $2 r_c +%ALIAS $3 r_p + +%ALIAS $4 m_cs +%ALIAS $5 r_cs +%ALIAS $6 r_ps + +%ALIAS $7 v_0 +%ALIAS $8 v_0s + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type I + m_c lin flow,m_c;v_0;m_cs;v_0s + +% Component type R + r_c lin flow,r_c;r_cs + r_p lin flow,r_p;r_ps + +% Component type sINTFS + x none x_0;x_0s + +% Component type SS + [a] SS external,external + [drive] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type De + Position SS external;external + +% Component type Sf + zero_velocity SS 0;0 + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDCS_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDCS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDCS_lbl.txt @@ -0,0 +1,39 @@ +%SUMMARY sDCS: DC motor - sensitivity +%DESCRIPTION A special for the inverted pendulum system +%DESCRIPTION Derivative causality on the shaft +%DESCRIPTION No aliased parameters +%DESCRIPTION Built in causality - speeds things up +%DESCRIPTION Only the armature state and shaft resistance are variable + +%ALIAS in Electrical_1,Electrical_2 +%ALIAS out Mechanical_1,Mechanical_2 + + +%% Label file for system sDCS (sDCS_lbl.txt) + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Motor gain +k_m lin flow,k_m;0 + +% Electrical components +%Inductance +l_a lin flow,l_a;i_0;0;i_0s + +%Resistance +r_a lin flow,r_a;0 + +% Mechanical components +%Inertia +j_m lin flow,j_m;0 + +%Friction +b_m lin flow,b_m;b_ms + +% Ports + [Electrical] SS external,external + [Mechanical] SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_identify.m Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_identify.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_identify.m @@ -0,0 +1,109 @@ +function sDriveCart_identify () + + ## usage: sDriveCart_identify () + ## + ## + + ## Identify the Drive/cart friction + ## $Id$ + + system_name = "sDriveCart"; # Name of this system + input_name = sprintf("%s_input.dat", system_name); + ## disp("Create programs"); + ## system(sprintf("mtt -q -c -s -stdin %s ode2odes out", system_name)); # Create sim. code + ## system(sprintf("mtt -q -c -s -stdin %s numpar m", system_name)); # Create sim. code + ## system(sprintf("mtt -q -c -s -stdin %s def m", system_name)); # Create sim. code + + ## Optimisation parameters + crite = 1e-5; # Convergence criterion + alpha = 0.5; # Step reduction factor + max = 30; # Maximum iterations + View = 1 # View the optimisation process + + ## Parameters + global mtt_n_parameters + mtt_n_parameters = 0; + + eval(sprintf("%s_numpar;", system_name)); + + alpha = 0.75; + criterion = 1e-9; + max_iterations = 20; + + ## Real data + disp("Loading data"); + load -force data_020999.dat; + [N_data,M_data] = size(data_020999); + M = 10; + t = data_020999(1:M:N_data,1); + u = data_020999(1:M:N_data,2); + y = data_020999(1:M:N_data,3)/100; # convert from cm to m + + gset grid + gset title "" + gset xlabel "Time (sec)" + tu = [t u]; + ty = [t y]; + gplot tu title "input (V)", ty title "output (m)" + psfig("sDriveCart_yu"); + + + y_s = [u y]; # u is first o/p of system. + ## Start time at zero + t = t-t(1)*ones(size(t)); + + T_last = 40; + DT = t(2)-t(1); + + tu = [t u u u u]; # Put same signal on all inputs (only + # first used + save -ascii junk.dat tu + ## zap the octave comments + system(sprintf("grep -v \'#\' junk.dat > %s; rm -f junk.dat", input_name)); + + ## Set up theta + control = [1 0 0 0]; # Initial control parameters + unused = 0; # Unused parameter slot + r_c = 0; + parameters = [r_c m_c unused unused unused]; + i_r = 4+1; + i_m = 4+2; + state = [0 unused unused 0 0]; + i_v = 4+5+4; + i_x = 4+5+5; + i_i = 4+5+1; + theta_0 = [control parameters state]'; + + ## Weighting function - select output, not input + weight = ones(size(t))*[0 1]; + + ## Estimate r only + free = [i_r i_i i_v i_x]; + disp("Estimate cart friction ..."); + [theta,Theta,Error,Y] = mtt_optimise(system_name,y_s,theta_0,"time",\ + free,weight,crite,max,alpha,View); + + ## Plot results +# ix = [its Theta(i_x,:)']; +# iv = [its Theta(i_v,:)']; +# ii = [its Theta(i_i,:)']; + +# gplot \ +# ix with linespoints title "x_0",\ +# iv with linespoints title "p_0",\ +# ii with linespoints title "i_0" + +# psfig("sDriveCart_ident_x"); + + [N_th,M_th] = size(Theta); + its = [0:M_th-1]'; + gset grid + gset title "" + gset xlabel "Iterations" + ir = [its Theta(i_r,:)']; + gplot ir with linespoints title "r" + psfig("sDriveCart_ident_r"); + + r_c = theta(i_r) + +endfunction ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_numpar.txt @@ -0,0 +1,200 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (sInvertedPendulumOnCart_numpar.txt) +# Generated by MTT at Wed Aug 25 22:57:05 BST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1999/12/03 00:50:28 peterg +# %% Initial revision +# %% +# %% Revision 1.1 1999/11/12 06:47:50 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +## Same as sInvertedpendulumOnCart with pendulum stuff removed. + +# Parameters +j_m = 3.87e-7; # Motor inertia +k_m = 0.00767; # Motor constant +r_a = 2.6; # Armature resistance +l_a = 0.18e-3; # Armature inductance + +k_g = 1/3.7; # Internal gear ratio +r = 0.635e-2; # Motor gear radius + +m_c = 0.455; # Cart mass + +b_m = 0.0; # Motor friction +r_c = 5.0; # Cart friction + +# l_p = 0.61; # Pendulum length +# m_p = 0.210; # Pendulum mass +# r_p = 0.0; # Pendulum friction +# j_p = m_p*(l_p*l_p)/12; # Pendulum inertia about cm. + +# g = +9.81; # Gravity + +# m_t = 0.0; # Tip mass + +## Sensitivity parameters +m_cs = 0; # Cart mass +b_ms = 0; # Motor friction +r_cs = 0; # Cart friction + +# j_ps = 0; # Pendulum inertia +# m_ps = 0; # Pendulum mass +# r_ps = 0; # Pendulum friction + +# m_ts = 0; # Tip mass + +## Initial states +i_0 = 0; # Initial armature current +# omega_0 = 0; # Initial pendulum velocity +# theta_0 = 0; # Initial pendulum angle +v_0 = 0; # Initial cart velocity +x_0 = 0; # Initial cart position + +## Sensitivity parameters +i_0s = 0; # Initial armature current +# omega_0s = 0; # Initial pendulum velocity +# theta_0s = 0; # Initial pendulum angle +v_0s = 0; # Initial cart velocity +x_0s = 0; # Initial cart position + +## Control parameters +k_1 = 1; +k_2 = 0; +k_3 = 0; +k_4 = 0; + +## Control sensitivity parameters +k_1s = 0; +k_2s = 0; +k_3s = 0; +k_4s = 0; + + +## Which sensitivity function? NB all other sens. coeffs MUST be zero - +## see above +if (mtt_n_parameters>=1) + mtti = mtt_parameters(1); + + if mtti==1 + k_1s = 1; + endif + + if mtti==2 + k_2s = 1; + endif + + if mtti==3 + k_3s = 1; + endif + + if mtti==4 + k_4s = 1; + endif + + if mtti==5 + r_cs = 1; + endif + + if mtti==6 + m_cs = 1; + endif + +# if mtti==7 +# r_ps = 1; +# endif + +# if mtti==8 +# m_ts = 1; +# endif + +# if mtti==9 +# j_ps = 1; +# endif + + if mtti==10 + i_0s = 1; # Initial armature current + endif + +# if mtti==11 +# omega_0s = 1; # Initial pendulum velocity +# endif + +# if mtti==12 +# theta_0s = 1; # Initial pendulum position +# endif + + if mtti==13 + v_0s = 1; # Initial cart velocity + endif + + if mtti==14 + x_0s = 1; # Initial cart angle + endif + +endif; + +## Control parameters + +if (mtt_n_parameters>=2) + k_1 = mtt_parameters(2); +endif; + +if (mtt_n_parameters>=3) + k_2 = mtt_parameters(3); +endif; + +if (mtt_n_parameters>=4) + k_3 = mtt_parameters(4); +endif; + +if (mtt_n_parameters>=5) + k_4 = mtt_parameters(5); +endif; + +## Physical parameters +if (mtt_n_parameters>=6) + r_c = mtt_parameters(6); +endif; + +if (mtt_n_parameters>=7) + m_c = mtt_parameters(7); +endif; + +# if (mtt_n_parameters>=8) +# r_p = mtt_parameters(8); +# endif; + +# if (mtt_n_parameters>=9) +# m_t = mtt_parameters(9); +# endif; + +# if (mtt_n_parameters>=10) +# j_p = mtt_parameters(10); +# endif; + +## Initial condition parameters - states are read in +if (mtt_n_parameters>=15) # + i_0 = mtt_parameters(11); # Initial armature current +# omega_0 = mtt_parameters(12); # Initial cart velocity +# theta_0 = mtt_parameters(13); # Initial cart position + v_0 = mtt_parameters(14); # Initial pendulum velocity + x_0 = mtt_parameters(15); # Initial pendulum angle +endif; + +## Simulation stuff + +if (mtt_n_parameters>=16) + LAST = mtt_parameters(16); +endif; +if (mtt_n_parameters>=17) + DT = mtt_parameters(17); +endif; + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_simpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDriveCart_simpar.txt @@ -0,0 +1,19 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system sDriveCart (sDriveCart_simpar.txt) +# Generated by MTT on Fri Dec 3 10:30:48 EST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 40.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDrive_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDrive_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sDrive_lbl.txt @@ -0,0 +1,36 @@ +%% Label file for system sDrive (sDrive_lbl.txt) +%SUMMARY sDrive +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in Electrical_1,Electrical_2 +%ALIAS out Mechanical_1,Mechanical_2 + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type sDCS + motor + +% Component type SS + [Electrical] SS external,external + [Mechanical] SS external,external + +% Component type sTF + k_g lin flow,k_g;0 + r lin flow,r;0 + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sEMTF_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sEMTF_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sEMTF_abg.fig @@ -0,0 +1,103 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2205 3555 2295 4095 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2250 3600 2250 4050 +-6 +6 2205 3555 2295 4095 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2250 3600 2250 4050 +-6 +6 2205 7155 2295 7695 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2250 7200 2250 7650 +-6 +6 3510 4005 4050 4095 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4005 4050 3555 4050 +-6 +6 3645 5850 4185 5940 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4140 5895 3690 5895 +-6 +6 8730 5355 9270 5445 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 9225 5400 8775 5400 +-6 +6 3600 7155 4140 7245 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4095 7200 3645 7200 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2250 7425 3600 7425 3375 7650 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4050 7425 5400 7425 5175 7650 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7425 7425 8775 7425 8550 7650 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9225 7425 10575 7425 10350 7650 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2250 3825 3600 3825 3375 4050 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4050 3825 5400 3825 5175 4050 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7425 3825 8775 3825 8550 4050 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9225 3825 10575 3825 10350 4050 +2 1 0 2 -1 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 5895 9000 7200 9000 6975 +2 1 0 2 -1 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9006 5873 3831 7178 3831 6953 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6300 450 6300 1800 6525 1575 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6300 2250 6300 3600 6525 3375 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6075 1800 6525 1800 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 4 + 6075 2025 4275 2025 4275 5400 4500 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 4050 3825 5400 4050 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 9000 4050 9000 5400 9225 5175 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6525 2250 6525 7200 6750 6975 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 4 + 6525 2025 8550 2025 8550 5400 8775 5175 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 4 + 6525 8550 9225 8550 9225 5850 9450 6075 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 4 + 6075 8550 3600 8550 3600 5850 3375 6075 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6300 10125 6300 8775 6525 9000 +2 1 0 2 5 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6075 8775 6525 8775 +4 1 4 100 0 18 20 0.0000 4 285 2415 6210 360 SS:[Actual_mod]\001 +4 1 5 100 0 18 20 0.0000 4 210 165 6300 2115 0\001 +4 1 4 100 0 18 20 0.0000 4 285 1845 1215 7515 SS:[Sens_in]\001 +4 1 0 100 0 18 20 0.0000 4 210 165 3825 7515 1\001 +4 1 0 100 0 18 20 0.0000 4 225 1590 6435 7515 EMTF:sens\001 +4 1 0 100 0 18 20 0.0000 4 210 165 9000 7515 0\001 +4 1 4 100 0 18 20 0.0000 4 285 2040 11790 7515 SS:[Sens_out]\001 +4 1 4 100 0 18 20 0.0000 4 285 2055 1215 3915 SS:[Actual_in]\001 +4 1 0 100 0 18 20 0.0000 4 210 165 3825 3915 1\001 +4 1 0 100 0 18 20 0.0000 4 225 1785 6435 3915 EMTF:actual\001 +4 1 0 100 0 18 20 0.0000 4 210 165 9000 3915 0\001 +4 1 4 100 0 18 20 0.0000 4 285 2250 11790 3915 SS:[Actual_out]\001 +4 1 0 100 0 18 20 0.0000 4 225 1170 8955 5715 AE3:ae3\001 +4 1 0 100 0 18 20 0.0000 4 225 1095 3825 5715 AF3:af3\001 +4 2 4 100 0 18 14 0.0000 4 210 600 6255 3600 [mod]\001 +4 2 4 100 0 18 14 0.0000 4 210 600 6435 7155 [mod]\001 +4 1 4 100 0 18 20 0.0000 4 285 2205 6300 10395 SS:[Sens_mod]\001 +4 1 5 100 0 18 20 0.0000 4 210 165 6345 8640 0\001 +4 2 4 100 0 18 14 0.0000 4 210 720 3420 5985 [smod]\001 +4 0 4 100 0 18 14 0.0000 4 210 720 9540 5940 [smod]\001 +4 2 4 100 0 18 14 0.0000 4 210 600 8505 5355 [mod]\001 +4 0 4 100 0 18 14 0.0000 4 210 600 4455 5400 [mod]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sEMTF_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sEMTF_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sEMTF_lbl.txt @@ -0,0 +1,52 @@ +%% Label file for system sEMTF (sEMTF_lbl.txt) +%SUMMARY sEMTF Effort modulated TF - sensitivity version +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in Actual_in,Sens_in +%ALIAS out Actual_out,Sens_out +%ALIAS mod Actual_mod,Sens_mod + + +% Argument aliases +%ALIAS $1 l + +% CR aliases +%ALIAS $1 lsin +%ALIAS $2 slsin + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type EMTF + actual lsin flow,l + sens lsin flow,l + +% Component type AE3 (????NB NEGATIVE GAIN HERE!!!!) + ae3 slsin l + +% Component type AF3 + af3 slsin l + +% Component type SS + [Actual_in] SS external,external + [Actual_out] SS external,external + [Actual_mod] SS external,internal + [Sens_in] SS external,external + [Sens_out] SS external,external + [Sens_mod] SS external,internal + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sINTFS_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sINTFS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sINTFS_abg.fig @@ -0,0 +1,30 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3376 3151 4276 3151 4051 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4501 2926 4501 2026 4726 2251 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3151 5626 3151 5401 3376 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 10575 4950 45 4950 45 1350 10575 1350 10575 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1575 3150 2475 3150 2250 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6526 3150 7426 3150 7201 3375 +4 1 6 0 0 0 20 0.0000 4 256 181 4502 3242 [1,2]\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 4502 3241 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 1110 4501 1891 sCS:unit\001 +4 2 6 0 0 0 20 0.0000 4 316 1456 1531 3241 [1,2]\001 +4 2 4 0 0 0 20 0.0000 4 315 1455 1531 3240 SS:[Flow]\001 +4 1 -1 0 0 0 20 0.0000 4 255 825 2925 3240 sAF:af\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 6075 3240 sAE:ae\001 +4 0 6 0 0 0 20 0.0000 4 331 3046 7471 3241 [1,2]\001 +4 0 4 0 0 0 20 0.0000 4 330 3045 7471 3240 SS:[Integrated_flow]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sINTFS_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sINTFS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sINTFS_lbl.txt @@ -0,0 +1,45 @@ +%% Label file for system sINTFS (sINTFS_lbl.txt) +%SUMMARY sINTFS: flow integrator +%DESCRIPTION Port [in]: Flow to be integrated +%DESCRIPTION Port [out]: Effort = integral of flow on port [in] + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.3 1998/07/16 07:35:10 peterg +% %% Aliased version +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in Flow_1,Flow_2 +%ALIAS out Integrated_flow_1,Integrated_flow_2 + +% Argument aliases +%ALIAS $1 x_0 +%ALIAS $2 x_0s + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% CS + unit SS effort,1;x_0;0;x_0s + +% Component type AE + ae lin 1;0 + +% Component type AF + af lin 1;0 + + +% Component type SS + [Flow] SS external,external + [Integrated_flow] SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sIS_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sIS_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sIS_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2340 3915 2610 4185 +4 1 6 100 0 18 20 0.0000 4 271 196 2476 4186 [1,2]\001 +4 1 0 100 0 18 20 0.0000 4 270 195 2476 4185 0\001 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 3825 2475 2475 2700 2700 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 5625 2475 4275 2700 4500 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 4050 4050 4050 3825 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4050 3825 4050 4275 +4 1 0 100 0 18 20 0.0000 4 285 315 2475 2295 sI:i\001 +4 0 0 100 0 18 20 0.0000 4 360 1035 4185 4185 sSf:f_0\001 +4 1 6 100 0 18 20 0.0000 4 361 1186 2476 6031 [1,2]\001 +4 1 4 100 0 18 20 0.0000 4 360 1185 2476 6030 SS:[in]\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sIS_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sIS_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sIS_lbl.txt @@ -0,0 +1,37 @@ +%% Label file for system sIS (sIS_lbl.txt) +%SUMMARY sIS +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Port aliases +%ALIAS in in_1,in_2 + +% Argument aliases +%ALIAS $1 flow,i +%ALIAS $2 f_0 +%ALIAS $3 i_s +%ALIAS $4 f_0s + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type SS + [in] SS external,external + +% Component type sI + i lin flow,i;i_s + +% Component type sSf + f_0 SS f_0;f_0s ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCartPPP_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCartPPP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCartPPP_numpar.txt @@ -0,0 +1,92 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (sInvertedPendulumOnCart_numpar.txt) +# Generated by MTT at Tue Apr 18 18:07:52 BST 2000 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +## Default parameters +b_m = 0.0; # sDCS +b_ms = 0.0; # sDCS +c = 0.0; # sC,sC,sCS,sCS +c_s = 0.0; # sCS,sCS +e_0 = 0.0; # sCS,sCS +e_0s = 0.0; # sCS,sCS +e_s = 0.0; # Se,Se,Se,sSe,sSe,sSe +f_0 = 0.0; # sIS,sIS,sIS +f_0s = 0.0; # sIS,sIS,sIS +f_s = 0.0; # Sf,Sf,Sf,sSf,sSf,sSf +g = 0.0; # AFe,AFe,sInvertedPendulum,sROD +i = 0.0; # sI,sI,sI,sI,sI,sI,sIS,sIS,sIS +i_0 = 0.0; # sDCS +i_0s = 0.0; # sDCS +i_s = 0.0; # sIS,sIS,sIS +j_m = 0.0; # sDCS,sROD +j_p = 0.0; # sInvertedPendulum +j_ps = 0.0; # sInvertedPendulum +j_s = 0.0; # sROD +k = 0.0; # sAE,sAE,sAE,sAF,sAF,sGY,sTF +ppp_1 = 1.0; # sOpenLoop +ppp_1s = 0.0; # sOpenLoop +ppp_2 = 0.0; # sOpenLoop +ppp_2s = 0.0; # sOpenLoop +ppp_3 = 0.0; # sOpenLoop +ppp_3s = 0.0; # sOpenLoop +ppp_4 = 0.0; # sOpenLoop +ppp_4s = 0.0; # sOpenLoop +k_g = 0.0; # sDrive +k_m = 0.0; # sDCS +k_s = 0.0; # sAE,sAE,sAE,sAF,sAF,sC,sC,sGY,sI,sI,sI,sI,sI,sI,sR,sR,sSe,sSe,sSe,sSf,sSf,sSf,sTF +l = 0.0; # AE3,AF3,sEMTF +l_a = 0.0; # sDCS,sROD +l_b = 0.0; # sROD +l_p = 0.0; # sInvertedPendulum,sInvertedPendulumOnCart +m = 0.0; # sROD +m_c = 0.0; # sCart +m_cs = 0.0; # sCart +m_p = 0.0; # sInvertedPendulum +m_ps = 0.0; # sInvertedPendulum +m_s = 0.0; # sROD +m_t = 0.0; # sInvertedPendulum +m_ts = 0.0; # sInvertedPendulum +omega_0 = 0.0; # sInvertedPendulum,sROD +omega_0s = 0.0; # sInvertedPendulum,sROD +r = 0.0; # sDrive,sR,sR +r_a = 0.0; # sDCS +r_c = 0.0; # sCart +r_cs = 0.0; # sCart +r_p = 0.0; # sCart +r_ps = 0.0; # sCart +theta_0 = 0.0; # sInvertedPendulum,sROD +theta_0s = 0.0; # sInvertedPendulum,sROD +v_0 = 0.0; # sCart +v_0s = 0.0; # sCart +x_0 = 0.0; # sCart,sINTFS,sINTFS +x_0s = 0.0; # sCart,sINTFS,sINTFS + + +## Pysical Parameters +j_m = 3.87e-7; # Motor inertia +k_m = 0.00767; # Motor constant +r_a = 2.6; # Armature resistance +l_a = 0.18e-3; # Armature inductance + +k_g = 1/3.7; # Internal gear ratio +r = 0.635e-2; # Motor gear radius + +m_c = 0.455; # Cart mass + +b_m = 0.0; # Motor friction +r_c = 1.5; # Cart friction + +l_p = 0.61; # Pendulum length +m_p = 0.210; # Pendulum mass +r_p = 0.0; # Pendulum friction + +j_p = m_p*(l_p*l_p)/12; # Pendulum inertia about cm. + +g = 9.81; # Gravity ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCartPPP_state.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCartPPP_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCartPPP_state.txt @@ -0,0 +1,21 @@ +# -*-octave-*- Put Emacs into octave-mode +# Initial state file (sInvertedPendulumOnCartPPP_state.txt) +# Generated by MTT at Thu May 4 14:57:10 BST 2000 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the states +mttx(1) = 0.0; # i_1 (sInvertedPendulumOnCartPPP_mtt2_motor_l_a_i) +mttx(2) = 0.0; # i_2 (sInvertedPendulumOnCartPPP_mtt2_motor_l_a_i) +mttx(3) = 0.0; # i_1 (sInvertedPendulumOnCartPPP_mtt3_rod_J_i) +mttx(4) = 0.0; # i_2 (sInvertedPendulumOnCartPPP_mtt3_rod_J_i) +mttx(5) = pi/2; # c_1 (sInvertedPendulumOnCartPPP_mtt3_rod_th_unit_c) +mttx(6) = 0.0; # c_2 (sInvertedPendulumOnCartPPP_mtt3_rod_th_unit_c) +mttx(7) = 0.0; # i_1 (sInvertedPendulumOnCartPPP_mtt4_m_c_i) +mttx(8) = 0.0; # i_2 (sInvertedPendulumOnCartPPP_mtt4_m_c_i) +mttx(9) = 0.0; # c_1 (sInvertedPendulumOnCartPPP_mtt4_x_unit_c) +mttx(10) = 0.0; # c_2 (sInvertedPendulumOnCartPPP_mtt4_x_unit_c) ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_input.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_input.txt @@ -0,0 +1,37 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (sInvertedPendulumOnCart_input.txt) +# Generated by MTT at Thu Aug 5 09:17:30 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +# mttu(1) = 1.0*(t<1) -1.0*((t>=1)&&(t<2)); # u (sInvertedPendulumOnCart_F) + + ## Doing control +# if (mtt_n_parameters>=1) +# if (mtt_parameters(1)<5) + mttu(1) = exp(-0.0*t); + mttu(2) = exp(-2.0*t); + mttu(3) = exp(-5.0*t); + mttu(4) = exp(-10.0*t); + +# mttu(1) = 1; +# mttu(2) = exp(-0.5*t);; +# mttu(3) = exp(-t); +# mttu(4) = exp(-2*t); + +# mttu(1) = (t<0.1); +# mttu(2) = ((t>=0.1)&&(t<0.2)); +# mttu(3) = ((t>=0.2)&&(t<0.3)); +# mttu(4) = ((t>=0.3)&&(t<0.4)); +# else +# ## Identification +# mttu(1) = (-1*((t>=3.37966)&&(t<= 5.36946)) + ((t>=10.36896)&&(t<=12.36876))); +# endif +# endif + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_lbl.txt @@ -0,0 +1,26 @@ +%% Label file for system sInvertedPendulumOnCart (sInvertedPendulumOnCart_lbl.txt) +%SUMMARY sInvertedPendulumOnCart +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%VAR l_p #Pendulum length + +% Port aliases + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_rep.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_rep.txt @@ -0,0 +1,29 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system sInvertedPendulumOnCart (sInvertedPendulumOnCart_rep.txt) +## Generated by MTT on" Fri Oct 22 09:03:14 EST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt sInvertedPendulumOnCart abg tex # The system description +mtt sInvertedPendulumOnCart cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt sInvertedPendulumOnCart struc tex # The system structure +mtt sInvertedPendulumOnCart dae tex # The system dae +## mtt sInvertedPendulumOnCart ode tex # The system ode +## mtt sInvertedPendulumOnCart sspar tex # Steady-state parameters +## mtt sInvertedPendulumOnCart ss tex # Steady state +## mtt sInvertedPendulumOnCart dm tex # Descriptor matrices (of linearised system) +mtt sInvertedPendulumOnCart sm tex # State matrices (of linearised system) +## mtt sInvertedPendulumOnCart tf tex # Transfer function (of linearised system) +## mtt sInvertedPendulumOnCart lmfr ps # log modulus of frequency response (of linearised system) +mtt sInvertedPendulumOnCart simpar tex # Simulation parameters +mtt sInvertedPendulumOnCart numpar tex # Numerical simulation parameters +mtt sInvertedPendulumOnCart input tex # Simulation input +mtt -c -cse sInvertedPendulumOnCart odeso ps # Simulation output + +mtt sInvertedPendulumOnCart ppp ps # PPP control ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_simpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulumOnCart_simpar.txt @@ -0,0 +1,20 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system sInvertedPendulumOnCart (sInvertedPendulumOnCart_simpar.txt) +# Generated by MTT on Thu Aug 5 09:17:05 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 1.0; # Last time in simulation +DT = 0.05; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulum_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulum_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sInvertedPendulum_lbl.txt @@ -0,0 +1,48 @@ +%% Label file for system sInvertedPendulum (sInvertedPendulum_lbl.txt) +%SUMMARY sInvertedPendulum +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in x_1,x_2,y_1,y_2,a_1,a_2 + + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type I + m_x lin flow,m_t;m_ts + m_y lin flow,m_t;m_ts + +% Component type Se + mg SS m_t*g;0 + +% Component type De + theta SS external;external + + + +% Component type SS + [a] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Se + a_0 SS 0;0 + +% Component type ROD + rod none l_p;l_p;j_p;m_p;g;omega_0;theta_0;j_ps;m_ps;omega_0s;theta_0s + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sOpenLoop_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sOpenLoop_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sOpenLoop_lbl.txt @@ -0,0 +1,54 @@ +%% Label file for system sOpenLoop (sOpenLoop_lbl.txt) +%SUMMARY sOpenLoop +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS out us_1,us_2 + +% Argument aliases +%ALIAS $1 U_1 +%ALIAS $2 U_1s +%ALIAS $3 U_2 +%ALIAS $4 U_2s +%ALIAS $5 U_3 +%ALIAS $6 U_3s +%ALIAS $7 U_4 +%ALIAS $8 U_4s +%ALIAS $9 us +%ALIAS $10 uss +%ALIAS $11 Us_1 +%ALIAS $12 Us_1s +%ALIAS $13 Us_2 +%ALIAS $14 Us_2s +%ALIAS $15 Us_3 +%ALIAS $16 Us_3s +%ALIAS $17 Us_4 +%ALIAS $18 Us_4s + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + [us] SS external,external + +% Component type AE + U_1 lin ppp_1;ppp_1s + U_2 lin ppp_2;ppp_2s + U_3 lin ppp_3;ppp_3s + U_4 lin ppp_4;ppp_4s + +% Component type Se + Us_1 SS external;0 + Us_2 SS external;0 + Us_3 SS external;0 + Us_4 SS external;0 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sROD_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sROD_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sROD_lbl.txt @@ -0,0 +1,106 @@ +%SUMMARY sROD: rigid rod in two dimensions - with gravity and angle port +%DESCRIPTION See Section 10.2 of "Metamodelling" +%DESCRIPTION Gravity term added at centre + +%ALIAS $1 l_a # length from end a to mass centre +%ALIAS $2 l_b # length from end b to mass centre +%ALIAS $3 j_m # inertia about mass centre +%ALIAS $4 m # mass +%ALIAS $5 g # gravity + +%ALIAS $6 omega_0 # Initial angular velocity +%ALIAS $7 theta_0 # Initial angular velocity + +## Sensitivities +%ALIAS $8 j_s +%ALIAS $9 m_s + +%ALIAS $10 omega_0s # Initial angular velocity +%ALIAS $11 theta_0s # Initial angular velocity + + +%ALIAS in|Tip_a xTip_a_1,xTip_a_2,angularTip_a_1,angularTip_a_2,yTip_a_1,yTip_a_2 +%ALIAS out|Tip_b xTip_b_1,xTip_b_2,angularTip_b_1,angularTip_b_2,yTip_b_1,yTip_b_2 + +%ALIAS x_a xTip_a_1,xTip_a_2 # Force/velocity at tip a in x direction +%ALIAS y_a yTip_a_1,yTip_a_2 # Force/velocity at tip a in y direction +%ALIAS alpha_a|a_a angularTip_a_1,angularTip_a_2 # Torque/angular velocity at tip a + +%ALIAS x_b xTip_b_1,xTip_b_2 # Force/velocity at tip b in x direction +%ALIAS y_b yTip_b_1,yTip_b_2 # Force/velocity at tip b in y direction +%ALIAS alpha_b|a_b angularTip_b_1,angularTip_b_2 # Torque/angular velocity at tip b + +%ALIAS angle|a angle_1,angle_2 # Angle port + +%ALIAS INTF General/INTF # The flow integration component. + +%% Label file for system sROD (sROD_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1999/10/22 02:01:45 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1999/08/05 08:04:40 peterg +% %% Initial revision +% %% +% %% Revision 1.3 1998/11/30 10:47:53 peterg +% %% Added extra a_a and a_b aliases +% %% +% %% Revision 1.2 1998/11/25 13:55:42 peterg +% %% Added missig attribute field m*g,internal +% %% +% %% Revision 1.1 1998/11/25 10:48:34 peterg +% %% Initial revision +% %% +% %% Revision 1.5 1998/07/27 12:27:27 peterg +% %% Added vector port aliases +% %% +% %% Revision 1.4 1998/07/27 10:51:20 peterg +% %% Aliased INTF as well. +% %% +% %% Revision 1.3 1998/07/27 10:49:10 peterg +% %% Major revision to include aliases etc +% %% +% %% Revision 1.2 1997/08/15 09:43:06 peterg +% %% Now has lablelled (as opposed to numbered) ports. +% %% +% Revision 1.1 1996/11/07 10:57:17 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Inertias +J lin flow,j_m;omega_0;j_s;omega_0s +m_x lin flow,m;m_s +m_y lin flow,m;m_s + +%Integrate angular velocity to get angle +th none theta_0;theta_0s + +%Modulated transformers +s1 lsin;slsin l_a +s2 lsin;slsin l_b +c1 lcos;slcos l_a +c2 lcos;slcos l_b + + +% Component type Se + mg SS m*g;0 + +% Component type SS + [angularTip_a] SS external,external + [angularTip_b] SS external,external + [xTip_a] SS external,external + [xTip_b] SS external,external + [yTip_a] SS external,external + [yTip_b] SS external,external + [angle] SS external,external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sZero_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sZero_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/InvertedPendulumOnCartPPP/sZero_lbl.txt @@ -0,0 +1,32 @@ +%% Label file for system sZero (sZero_lbl.txt) +%SUMMARY sZero +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in x_1,x_2,y_1,y_2,a_1,a_2 + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + [a] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Se + x SS 0;0 + y SS 0;0 + +% Component type Sf + a SS 0;0 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_abg.fig @@ -0,0 +1,183 @@ +#FIG 3.2 +Portrait +Center +Inches +A4 +100.00 +Single +-2 +1200 2 +6 8550 825 13500 3375 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 1725 11695 1725 11845 1875 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 1350 11695 1350 11845 1500 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 975 11695 975 11845 1125 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 2100 11695 2100 11845 2250 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 2475 11695 2475 11845 2625 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 2850 11695 2850 11845 3000 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12595 3225 11695 3225 11845 3375 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 10200 2100 9300 2100 9450 2250 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 10200 975 8700 975 8700 1875 8550 1725 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 10200 1275 9000 1275 9000 1875 8850 1725 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 10200 1725 9300 1725 9300 1875 9150 1725 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 10200 3225 8700 3225 8700 2325 8550 2475 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 10200 2925 9000 2925 9000 2325 8850 2475 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 10200 2475 9300 2475 9300 2325 9150 2475 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 2175 AE:ppp_4\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 1800 Se:u_3\001 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 1800 AE:ppp_3\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 1425 Se:u_2\001 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 1425 AE:ppp_2\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 1050 Se:u_1\001 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 1050 AE:ppp_1\001 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 2550 AE:ppp_5\001 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 2925 AE:ppp_6\001 +4 1 -1 0 0 0 20 0.0000 4 285 1230 10950 3300 AE:ppp_7\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 2550 Se:u_5\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 2925 Se:u_6\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 3300 Se:u_7\001 +4 1 -1 0 0 0 20 0.0000 4 285 810 13050 2175 Se:u_4\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 9000 2175 1\001 +-6 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2706 7206 3606 7206 3456 7356 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2406 7506 2406 8406 2556 8256 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3906 7506 3906 8406 4056 8256 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7208 7208 8108 7208 7958 7358 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8708 7208 9608 7208 9458 7358 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8408 7508 8408 8408 8558 8258 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7208 6908 8108 6008 8108 6233 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8708 6008 9608 6908 9383 6908 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9909 7509 9909 8409 10059 8259 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6908 7508 6908 8408 7058 8258 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11407 7507 11407 8407 11557 8257 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11406 5706 11406 4806 11556 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4206 7206 5106 7206 4956 7356 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5406 7506 5406 8406 5556 8256 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4206 6906 5106 6006 5106 6231 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5405 5705 5405 4805 5555 4955 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2405 5705 2405 4805 2555 4955 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11707 7207 12607 7207 12457 7357 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11707 6007 12607 6907 12382 6907 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2105 4205 2105 3305 2255 3455 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2705 4205 2705 3305 2855 3455 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5706 7206 6606 7206 6456 7356 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5706 6006 6606 6906 6381 6906 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2704 6004 3604 6904 3379 6904 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1208 7208 2108 7208 1958 7358 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1208 6908 2108 6008 2108 6233 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 681 6006 1131 6006 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 906 6906 906 6006 1056 6156 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12905 6905 12905 6005 13055 6155 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10207 7207 11107 7207 10957 7357 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10207 6907 11107 6007 11107 6232 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8400 5700 8625 5700 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12900 6000 13125 6000 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12675 6000 12900 6000 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8175 5700 8400 5700 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 1501 7801 301 7801 301 5401 1501 5401 1501 7801 +2 2 1 2 1 7 1 0 -1 6.000 1 0 0 0 0 5 + 1502 2852 3302 2852 3302 5777 1502 5777 1502 2852 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 4501 9001 3301 9001 3301 6301 4501 6301 4501 9001 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 6000 9000 4800 9000 4800 4200 6000 4200 6000 9000 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 7501 9001 6301 9001 6301 6301 7501 6301 7501 9001 +2 4 1 2 1 7 2 0 -1 6.000 0 0 7 0 0 5 + 9000 9000 7800 9000 7800 4200 9000 4200 9000 9000 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 10501 9001 9301 9001 9301 6301 10501 6301 10501 9001 +2 4 1 2 1 -1 1 0 -1 6.000 0 0 7 0 0 5 + 12000 9000 10800 9000 10800 4200 12000 4200 12000 9000 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 13501 7801 12301 7801 12301 5401 13501 5401 13501 7801 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 4 + 8700 2100 8400 2100 8400 5700 8550 5550 +2 2 1 2 1 7 101 0 -1 6.000 0 0 -1 0 0 5 + 8100 600 13800 600 13800 3600 8100 3600 8100 600 +4 1 -1 0 0 0 20 0.0000 4 210 150 2406 7281 0\001 +4 1 -1 0 0 0 20 0.0000 4 285 690 3906 8781 I:m_1\001 +4 1 -1 0 0 0 20 0.0000 4 285 705 2405 8780 R:b_1\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 2405 6080 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 3906 7281 1\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 8408 7283 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 8408 6083 0\001 +4 1 -1 0 0 0 20 0.0000 4 285 705 8483 8783 R:b_3\001 +4 1 -1 0 0 0 20 0.0000 4 285 690 9906 8781 I:m_3\001 +4 1 -1 0 0 0 20 0.0000 4 285 690 6905 8780 I:m_2\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 11407 7282 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 11407 6082 0\001 +4 1 -1 0 0 0 20 0.0000 4 285 645 11406 4581 C:k_t\001 +4 1 -1 0 0 0 20 0.0000 4 285 645 11482 8782 R:b_t\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 5406 7281 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 5406 6081 0\001 +4 1 -1 0 0 0 20 0.0000 4 285 705 5481 8781 R:b_2\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 12909 7284 1\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 6908 7283 1\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 2404 4579 1\001 +4 1 -1 0 0 0 20 0.0000 4 285 705 2779 3154 C:p_1\001 +4 1 -1 0 0 0 20 0.0000 4 285 705 2104 3154 R:d_1\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 910 7285 1\001 +4 1 -1 0 0 0 20 0.0000 4 285 765 902 5777 Sf:v_b\001 +4 1 -1 0 0 0 20 0.0000 4 285 735 12905 5780 De:f_t\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 9909 7284 1\001 +4 1 -1 0 0 0 20 0.0000 4 285 705 5405 4580 C:k_2\001 +4 1 1 1 0 3 20 0.0000 4 210 1515 3901 9301 Macro mass\001 +4 1 1 1 0 3 20 0.0000 4 210 1770 2401 2776 Macro control\001 +4 1 1 1 0 3 20 0.0000 4 210 1470 900 8100 Macro base\001 +4 1 1 1 0 3 20 0.0000 4 285 1845 5400 4050 Compliant link\001 +4 1 1 1 0 3 20 0.0000 4 210 1425 6901 9301 Micro mass\001 +4 1 1 1 0 3 20 0.0000 4 210 1860 8475 4050 Micro actuator\001 +4 1 1 1 0 3 20 0.0000 4 285 1095 9901 9301 Tip mass\001 +4 1 1 1 0 3 20 0.0000 4 285 2940 11400 4050 Compliant environment\001 +4 1 1 1 0 3 20 0.0000 4 285 1275 12901 8101 Tip sensor\001 +4 1 1 1 0 3 20 0.0000 4 285 2370 6750 1275 Open-loop control\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_desc.tex Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_desc.tex @@ -0,0 +1,40 @@ +% Verbal description for system MacroMicroPPP (MacroMicroPPP_desc.tex) +% Generated by MTT on Tue Dec 9 17:55:41 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/05/21 16:10:07 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{MacroMicroPPP} is + displayed in Figure \Ref{MacroMicroPPP_abg} and its label + file is listed in Section \Ref{sec:MacroMicroPPP_lbl}. + The subsystems are listed in Section \Ref{sec:MacroMicroPPP_sub}. + +This is a Bond Graph model of the macro-micro manipulation system +discussed by Sharon in his thesis and BY Sharon, Hogan and Hardt in +various papers. + +It can be regarded as a single-input single-output system with input +$e_1$ and output $e_2$. The bond graph in Figure \Ref{rcPPP_abg} is +augmented with the {\em open-loop\/} controller comprising +\begin{itemize} +\item seven effort source \textbf{Se} components ``u1'' to``u7'' +\item seven effort amplifier \textbf{AE} components ``ppp\_1'' to `ppp\_7'' +\end{itemize} +This allows up to 7 input basis functions. + +This is a \emph{linear} system; but it is used to illustate +\emph{nonlinear} PPP control. +Section \Ref{sec:rcPPP_nppp.ps} compares +\begin{itemize} +\item linear open-loop PPP control +\item linear closed-loop PPP control +\item nonlinear PPP control +\end{itemize} +as linear open and closed-loop control. ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_lbl.txt @@ -0,0 +1,85 @@ +%% Label file for system MacroMicroPPP (MacroMicroPPP_lbl.txt) +%SUMMARY MacroMicroPPP +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/05/21 16:05:48 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + +% Argument aliases +%ALIAS $1 ppp_1 +%ALIAS $2 ppp_2 +%ALIAS $3 ppp_3 +%ALIAS $4 ppp_4 +%ALIAS $5 k_2 +%ALIAS $6 k_t +%ALIAS $7 p_1 +%ALIAS $8 f_t +%ALIAS $9 m_1 +%ALIAS $10 m_2 +%ALIAS $11 m_3 +%ALIAS $12 b_1 +%ALIAS $13 b_2 +%ALIAS $14 b_3 +%ALIAS $15 b_t +%ALIAS $16 d_1 +%ALIAS $17 u_1 +%ALIAS $18 u_2 +%ALIAS $19 u_3 +%ALIAS $20 u_4 +%ALIAS $21 v_b + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + ppp_1 lin ppp_1 + ppp_2 lin ppp_2 + ppp_3 lin ppp_3 + ppp_4 lin ppp_4 + ppp_5 lin ppp_5 + ppp_6 lin ppp_6 + ppp_7 lin ppp_7 + +% Component type C + k_2 lin state,k_2 + k_t lin state,k_t + p_1 lin state,p_1 + +% Component type De + f_t SS external + +% Component type I + m_1 lin flow,m_1 + m_2 lin flow,m_2 + m_3 lin flow,m_3 + +% Component type R + b_1 lin flow,b_1 + b_2 lin flow,b_2 + b_3 lin flow,b_3 + b_t lin flow,b_t + d_1 lin flow,d_1 + +% Component type Se + u_1 SS external + u_2 SS external + u_3 SS external + u_4 SS external + u_5 SS external + u_6 SS external + u_7 SS external + +% Component type Sf + v_b SS 0 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_nppp.m Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_nppp.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_nppp.m @@ -0,0 +1,154 @@ +## MacroMicroPPP_nppp.m +## Makes figures for the MacroMicro_PPP exasmple. +## $Log$ +## Revision 1.4 2000/05/21 16:11:53 peterg +## 7 basis funs. +## +## Revision 1.3 2000/05/21 15:59:34 peterg +## Made into _nppp.m file +## Parameterised _sm +## +## Revision 1.2 2000/05/17 17:01:39 peterg +## Modified for Macro Micro example -- works!! +## +## Revision 1.1 2000/05/17 10:03:04 peterg +## Initial revision +## +## Revision 1.1 2000/05/17 09:14:37 peterg +## Initial revision +## +system_name = "MacroMicroPPP"; + +## Uncomment the following the first time +## (Or do ./Make MacroMicroPPP in this directory) + +## MTT stuff for the system simulation +##system("Make MacroMicroPPP"); + + + +t_s=0.1*[0:0.01:1]; +u = [ones(7,length(t_s))]; +x_0 = MacroMicroPPP_state; +par = MacroMicroPPP_numpar; + +## Simulate the system +tick=time; +[y] = MacroMicroPPP_sim(x_0,u,t_s,par); +Elapsed = time-tick +plot(t_s,y) + +## Simulate the system to give just the final few point +t_s1 = 0.1*[0.91:0.01:1]; +tick=time; +[y,x] = MacroMicroPPP_sim(x_0,u,t_s1,par); +Elapsed = time-tick +plot(t_s1,y,t_s1,x); + +## Sensitivity system simulation parameters +x_0s = sMacroMicroPPP_state; +pars = sMacroMicroPPP_numpar; +sympars = sMacroMicroPPP_sympar; + +## Simulate the sensitivity system +sensitivities = \ + [sympars.ppp_1s,\ + sympars.ppp_2s,\ + sympars.ppp_3s,\ + sympars.ppp_4s,\ + sympars.ppp_5s,\ + sympars.ppp_6s,\ + sympars.ppp_7s] +tick=time; +[y,ys] = sMacroMicroPPP_sim(x_0s,u,t_s,pars,sensitivities); +Elapsed = time-tick +plot(t_s,y,t_s,ys); + + +### PPP parameters +A_w = 0; +A_u = ppp_aug(A_w,laguerre_matrix(6,25)); # Specify basis functions + +tau = 0.5*[0.9:0.01:1]; # Optimisation interval +t_ol = 0.5*[0:0.01:0.1]; # Open-loop interval +N = 10; # Number of open-loop intervals in simulation +w = 1; # Setpoint + +## Linear system +[A,B,C,D] = MacroMicroPPP_sm(par); +Q = 1; +w = 1; +ppp_lin_plot (A,B(:,1),C(1,:),D(1,1),A_u,A_w,tau,Q,w,x_0); +psfig("MacroMicroPPP_lin"); + +## Simulate non-linear PPP (on this linear system) +extras.U_initial = "zero"; +extras.U_next = "continuation"; +extras.criterion = 1e-8; +extras.max_iterations = 10; +extras.v = 0.1; +extras.verbose = 0; + +## -- with no optimisation using linear PPP with continuation +extras.U_initial = "linear"; +extras.U_next = "continuation"; +extras.criterion = 1e-5; +extras.max_iterations = 0; + +[y_c,x,u_c,t,U,U_c,U_l] = ppp_nlin_sim (system_name,A_u,tau,t_ol,N,w,extras); + +## -- with no optimisation using linear PPP at each step +extras.U_initial = "linear"; +extras.U_next = "linear"; +extras.criterion = 1e-5; +extras.max_iterations = 0; +[y_l,x,u_l,t,U,U_c,U_l] = ppp_nlin_sim (system_name,A_u,tau,t_ol,N,w,extras); + +## -- with optimisation using nonlinear PPP with continuation +extras.U_initial = "zero"; +extras.U_next = "continuation"; +extras.criterion = 1e-5; +extras.max_iterations=100; +extras.verbose = 0; +extras.v = 1e-5; +disp("Non-linear optimisation ...."); +[y,x,u,t,U,U_c,U_l] = ppp_nlin_sim (system_name,A_u,tau,t_ol,N,w,extras); + + +## Plots +title(""); + +## U, U_c and U_l +I = 1:N; +IU1 = [I' U(1,:)']; +IU1_c = [I' U_c(1,:)']; +IU1_l = [I' U_l(1,:)']; +gset grid; xlabel "Interval" +gplot IU1 title "U_1", IU1_c title "U_c1", IU1_l title "U_l1" +psfig("MacroMicroPPP_U1"); + +IU2 = [I' U(2,:)']; +IU2_c = [I' U_c(2,:)']; +IU2_l = [I' U_l(2,:)']; +gset grid; xlabel "Interval " +gplot IU2 title "U_2", IU2_c title "U_c2", IU2_l title "U_l2" +psfig("MacroMicroPPP_U2"); + +## y & u +gset grid; xlabel "Time (sec)" +ty = [t' y'] ; tu = [t' u']; +gplot ty title "Output", tu title "Input" + +psfig("MacroMicroPPP_yu"); + +title(""); +gset grid; xlabel "Time (sec)" +ty_c = [t' y_c'] ; +ty_l = [t' y_l'] ; +ty = [t' y'] ; +tu = [t' u']; +gplot ty_c title "Continuation", ty_l title "Linear", ty title "Optimisation" +psfig("MacroMicroPPP_nppp"); + + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_numpar.txt @@ -0,0 +1,36 @@ +## Dummies +b_1 = 0.0; +b_2 = 0.0; +b_3 = 0.0; +b_t = 0.0; +d_1 = 0.0; +e_s = 0.0; +f_s = 0.0; +k_2 = 0.0; +k_t = 0.0; +m_1 = 0.0; +m_2 = 0.0; +m_3 = 0.0; +p_1 = 0.0; +ppp_1 = 0.0; +ppp_2 = 0.0; +ppp_3 = 0.0; +ppp_4 = 0.0; +ppp_5 = 0.0; +ppp_6 = 0.0; +ppp_7 = 0.0; + +m_1 = 0.0169; # m_1; +m_2 = 0.0169; # m_2; +b_1 = 0.13; # b_1; +b_2 = 0.013; # b_2; +k_2 = 24; # k_2; +k_t = 150; # k_t; +b_t = 0.16; # b_t; +b_3 = 0.13; # b_3; +m_3 = 0.005; # m_3; +p_1 = 10; # p_1; +d_1 = 0.9; # d_1; + + +ppp_1 = 1.0; ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_rep.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/MacroMicroPPP_rep.txt @@ -0,0 +1,25 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system MacroMicroPPP (MacroMicroPPP_rep.txt) +## Generated by MTT on" Wed May 10 09:22:52 BST 2000. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +## Revision 1.1 2000/05/20 17:44:47 peterg +## Initial revision +## +############################################################### + +mtt MacroMicroPPP abg tex # The system description +#mtt -s sMacroMicroPPP abg tex # The system description + +mtt MacroMicroPPP struc tex # The system structure +mtt -s sMacroMicroPPP struc tex # The system structure + +mtt MacroMicroPPP nppp m # How its done +mtt MacroMicroPPP nppp ps # PPP output + +mtt MacroMicroPPP rep txt # The report. + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/Make Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/Make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/Make @@ -0,0 +1,30 @@ +#!/bin/sh + +## Makes the files needed for Figures.m +## Copyright (C) 2000 by Peter J. Gawthrop + +if [ -z "$1" ]; then + echo Usage ./Make system_name + exit +else + echo "Making simulation for system $1 (for use in Figures.m)" +fi + +## System +mtt -q -c -stdin $1 ode2odes out +mtt -q -c -stdin $1 sim m +mtt -q $1 state m +mtt -q $1 sympar m +mtt -q $1 numpar m + +## Sensitivity system +mtt -q -c -stdin -s s$1 ode2odes out +mtt -q -c -stdin -s s$1 sim m +mtt -q -s s$1 state m +mtt -q -s s$1 sympar m +mtt -q -s s$1 numpar m + +## Additional system reps for PPP +mtt -q $1 sm m +mtt -q $1 def m +mtt -q -s s$1 def m ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/sMacroMicroPPP_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/sMacroMicroPPP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/sMacroMicroPPP_lbl.txt @@ -0,0 +1,103 @@ +%% Label file for system sMacroMicroPPP (sMacroMicroPPP_lbl.txt) +%SUMMARY sMacroMicroPPP +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + +% Argument aliases +%ALIAS $1 ppp_1 +%ALIAS $2 ppp_1s +%ALIAS $3 ppp_2 +%ALIAS $4 ppp_2s +%ALIAS $5 ppp_3 +%ALIAS $6 ppp_3s +%ALIAS $7 ppp_4 +%ALIAS $8 ppp_4s +%ALIAS $9 k_2 +%ALIAS $10 k_2s +%ALIAS $11 k_t +%ALIAS $12 k_ts +%ALIAS $13 p_1 +%ALIAS $14 p_1s +%ALIAS $15 f_t +%ALIAS $16 f_ts +%ALIAS $17 m_1 +%ALIAS $18 m_1s +%ALIAS $19 m_2 +%ALIAS $20 m_2s +%ALIAS $21 m_3 +%ALIAS $22 m_3s +%ALIAS $23 b_1 +%ALIAS $24 b_1s +%ALIAS $25 b_2 +%ALIAS $26 b_2s +%ALIAS $27 b_3 +%ALIAS $28 b_3s +%ALIAS $29 b_t +%ALIAS $30 b_ts +%ALIAS $31 d_1 +%ALIAS $32 d_1s +%ALIAS $33 u_1 +%ALIAS $34 u_1s +%ALIAS $35 u_2 +%ALIAS $36 u_2s +%ALIAS $37 u_3 +%ALIAS $38 u_3s +%ALIAS $39 u_4 +%ALIAS $40 u_4s +%ALIAS $41 v_b +%ALIAS $42 v_bs + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + ppp_1 lin ppp_1;ppp_1s + ppp_2 lin ppp_2;ppp_2s + ppp_3 lin ppp_3;ppp_3s + ppp_4 lin ppp_4;ppp_4s + ppp_5 lin ppp_5;ppp_5s + ppp_6 lin ppp_6;ppp_6s + ppp_7 lin ppp_7;ppp_7s + +% Component type C + k_2 lin state,k_2;k_2s + k_t lin state,k_t;k_ts + p_1 lin state,p_1;p_1s + +% Component type De + f_t SS external + +% Component type I + m_1 lin flow,m_1;m_1s + m_2 lin flow,m_2;m_2s + m_3 lin flow,m_3;m_3s + +% Component type R + b_1 lin flow,b_1;b_1s + b_2 lin flow,b_2;b_2s + b_3 lin flow,b_3;b_3s + b_t lin flow,b_t;b_ts + d_1 lin flow,d_1;d_1s + +% Component type Se + u_1 SS external;u_1s + u_2 SS external;u_2s + u_3 SS external;u_3s + u_4 SS external;u_4s + u_5 SS external;u_5s + u_6 SS external;u_6s + u_7 SS external;u_7s + +% Component type Sf + v_b SS 0;0 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/sMacroMicroPPP_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/sMacroMicroPPP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/MacroMicroPPP/sMacroMicroPPP_numpar.txt @@ -0,0 +1,70 @@ +## Dummies +b_1 = 0.0; +b_1s = 0.0; +b_2 = 0.0; +b_2s = 0.0; +b_3 = 0.0; +b_3s = 0.0; +b_t = 0.0; +b_ts = 0.0; +c = 0.0; +d_1 = 0.0; +d_1s = 0.0; +e_s = 0.0; +f_s = 0.0; +g = 0.0; +i = 0.0; +k = 0.0; +k_2 = 0.0; +k_2s = 0.0; +k_s = 0.0; +k_t = 0.0; +k_ts = 0.0; +m_1 = 0.0; +m_1s = 0.0; +m_2 = 0.0; +m_2s = 0.0; +m_3 = 0.0; +m_3s = 0.0; +p_1 = 0.0; +p_1s = 0.0; +ppp_1 = 0.0; +ppp_1s = 0.0; +ppp_2 = 0.0; +ppp_2s = 0.0; +ppp_3 = 0.0; +ppp_3s = 0.0; +ppp_4 = 0.0; +ppp_4s = 0.0; +ppp_5 = 0.0; +ppp_5s = 0.0; +ppp_6 = 0.0; +ppp_6s = 0.0; +ppp_7 = 0.0; +ppp_7s = 0.0; +r = 0.0; +u_1s = 0.0; +u_2s = 0.0; +u_3s = 0.0; +u_4s = 0.0; +u_5s = 0.0; +u_6s = 0.0; +u_7s = 0.0; + +## Physical parameters +m_1 = 0.0169; # m_1; +m_2 = 0.0169; # m_2; +b_1 = 0.13; # b_1; +b_2 = 0.013; # b_2; +k_2 = 24; # k_2; +k_t = 150; # k_t; +b_t = 0.16; # b_t; +b_3 = 0.13; # b_3; +m_3 = 0.005; # m_3; +p_1 = 10; # p_1; +d_1 = 0.9; # d_1; + +## First gain +ppp_1 = 1.0; + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/Make Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/Make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/Make @@ -0,0 +1,30 @@ +#!/bin/sh + +## Makes the files needed for Figures.m +## Copyright (C) 2000 by Peter J. Gawthrop + +if [ -z "$1" ]; then + echo Usage ./Make system_name + exit +else + echo "Making simulation for system $1 (for use in Figures.m)" +fi + +## System +mtt -q -c -stdin $1 ode2odes out +mtt -q -c -stdin $1 sim m +mtt -q $1 state m +mtt -q $1 sympar m +mtt -q $1 numpar m + +## Sensitivity system +mtt -q -c -stdin -s s$1 ode2odes out +mtt -q -c -stdin -s s$1 sim m +mtt -q -s s$1 state m +mtt -q -s s$1 sympar m +mtt -q -s s$1 numpar m + +## Additional system reps for PPP +mtt -q $1 sm m +mtt -q $1 def m +mtt -q -s s$1 def m ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_abg.fig Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_abg.fig @@ -0,0 +1,68 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 3600 1125 162 162 3600 1125 3690 1260 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4952 4277 5852 4277 5627 4502 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6302 4277 7202 4277 6977 4502 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 4051 4726 3151 4951 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6076 4051 6076 3151 6301 3376 +2 2 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 5 + 4275 585 5175 585 5175 765 4275 765 4275 585 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5850 1215 6300 1215 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5850 1080 6300 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3600 675 4275 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5175 675 7200 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6075 675 6075 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6075 1215 6075 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3600 1575 7200 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3600 945 3600 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3600 1575 3600 1260 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 7200 1530 7200 765 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3866 3414 4502 4050 4184 4050 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3870 5130 4505 4494 4505 4812 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1802 3375 2702 3375 2477 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1802 5175 2702 5175 2477 5400 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8550 5625 8550 225 900 225 900 5625 8550 5625 +4 1 -1 0 0 0 20 0.0000 4 210 150 4727 4367 1\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 6077 4367 0\001 +4 1 -1 0 0 0 20 0.0000 4 285 540 7787 4367 De:y\001 +4 1 -1 0 0 0 20 0.0000 4 210 375 4726 2926 R:r\001 +4 1 -1 0 0 0 20 0.0000 4 210 555 6076 2926 CS:c\001 +4 0 1 1 0 0 20 0.0000 4 150 120 4680 450 r\001 +4 0 1 1 0 0 20 0.0000 4 150 135 6480 1215 c\001 +4 0 1 1 0 0 20 0.0000 4 150 135 7425 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 210 150 7515 1305 2\001 +4 0 1 1 0 0 20 0.0000 4 150 135 3060 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 210 150 3150 1305 1\001 +4 1 1 1 0 0 20 0.0000 4 285 1425 5400 4995 Bond graph\001 +4 1 1 1 0 0 20 0.0000 4 210 1275 5400 2025 Schematic\001 +4 1 -1 0 0 0 20 0.0000 4 285 930 3285 5265 AE:ppp_2\001 +4 1 -1 0 0 0 20 0.0000 4 285 930 3285 3465 AE:ppp_1\001 +4 1 -1 0 0 0 20 0.0000 4 210 660 1440 3465 Se:u1\001 +4 1 -1 0 0 0 20 0.0000 4 210 660 1440 5265 Se:u2\001 ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_lbl.txt @@ -0,0 +1,44 @@ +%% Label file for system rcPPP (rcPPP_lbl.txt) +%SUMMARY rcPPP +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + +% Argument aliases +%ALIAS $1 ppp_1 +%ALIAS $2 ppp_2 +%ALIAS $3 c +%ALIAS $4 y +%ALIAS $5 r +%ALIAS $6 u1 +%ALIAS $7 u2 + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + ppp_1 lin ppp_1 + ppp_2 lin ppp_2 + +% Component type CS + c lin effort,c;q_0 + +% Component type De + y SS external + +% Component type R + r lin flow,r + +% Component type Se + u1 SS external + u2 SS external ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/rcPPP_numpar.txt @@ -0,0 +1,25 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (rcPPP_numpar.txt) +# Generated by MTT at Tue Apr 18 18:53:40 BST 2000 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c = 1.0; # CS,rcPPP +e_0 = 1.0; # CS +e_s = 1.0; # Se +ppp_1 = 1.0; # rcPPP +ppp_2 = 0.0; # rcPPP +q_0 = 1.0; # rcPPP +r = 1.0; # rcPPP + +## Physical parameters +c = 1.0; +q_0 = 0.0; +r = 1.0; + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_input.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_input.txt @@ -0,0 +1,15 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (srcPPP_input.txt) +# Generated by MTT at Fri Apr 14 17:44:36 BST 2000 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +mttu(1) = 1.0; # u (srcPPP_u1_se_1) +mttu(2) = 0.0;#exp(-mttt); # u (srcPPP_u2_se_1) + +# Set the switches ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_lbl.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_lbl.txt @@ -0,0 +1,53 @@ +%% Label file for system srcPPP (srcPPP_lbl.txt) +%SUMMARY srcPPP +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + +% Argument aliases +%ALIAS $1 ppp_1 +%ALIAS $2 ppp_1s +%ALIAS $3 ppp_2 +%ALIAS $4 ppp_2s +%ALIAS $5 c +%ALIAS $6 cs +%ALIAS $7 y +%ALIAS $8 ys +%ALIAS $9 r +%ALIAS $10 rs +%ALIAS $11 u1 +%ALIAS $12 u1s +%ALIAS $13 u2 +%ALIAS $14 u2s + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + ppp_1 lin ppp_1;ppp_1s + ppp_2 lin ppp_2;ppp_2s + +% Component type CS + c lin effort,c;x_0;cs;x_0s + +% Component type De + y SS external + +% Component type R + r lin flow,r;rs + +% Component type Se + u1 SS external;0 + u2 SS external;0 + + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_numpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_numpar.txt @@ -0,0 +1,45 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (srcPPP_numpar.txt) +# Generated by MTT at Tue Apr 18 09:13:31 BST 2000 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +## Dummies +c = 0.0; +c_s = 0.0; +cs = 0.0; +e_0 = 0.0; +e_0s = 0.0; +e_s = 0.0; +g = 0.0; +k = 0.0; +k_s = 0.0; +ppp_1 = 0.0; +ppp_1s = 0.0; +ppp_2 = 0.0; +ppp_2s = 0.0; +r = 0.0; +rs = 0.0; +x_0 = 0.0; +x_0s = 0.0; + +# Parameters +c = 1.0; # CS,rcPPP +e_0 = 1.0; # CS +e_s = 1.0; # Se +ppp_1 = 1.0; # rcPPP +ppp_2 = 0.0; # rcPPP +#q_0 = 1.0; +r = 1.0; # rcPPP + +## Physical parameters +c = 1.0; +q_0 = 0.0; +r = 1.0; + ADDED mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_simpar.txt Index: mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/PPP/Nonlinear/rcPPP/srcPPP_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system srcPPP (srcPPP_simpar.txt) +# Generated by MTT on Fri Apr 14 17:43:36 BST 2000. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 10.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_abg.fig @@ -0,0 +1,19 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1125 2475 2475 2475 2250 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2250 2835 900 3060 1125 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2700 2835 4050 3060 3825 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 2250 2475 2700 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 4725 4500 4725 450 225 450 225 4500 4725 4500 +4 2 -1 0 0 0 20 0.0000000 4 210 570 1035 2565 SS:u\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2835 2565 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 435 2880 4365 R:b\001 +4 1 -1 0 0 0 20 0.0000000 4 210 435 2880 765 I:m\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_desc.tex @@ -0,0 +1,23 @@ +% Verbal description for system Cruise (Cruise_desc.tex) +% Generated by MTT on Mon Jan 12 16:00:15 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Cruise} is + displayed in Figure \Ref{Cruise_abg} and its label + file is listed in Section \Ref{sec:Cruise_lbl}. + The subsystems are listed in Section \Ref{sec:Cruise_sub}. + + +This is a simple teaching example to illustrare compensator design via +observer/state-feedback methods. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_lbl.txt @@ -0,0 +1,29 @@ +%SUMMARY Cruise: +%DESCRIPTION +%% Label file for system Cruise (Cruise_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/05/20 16:26:30 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type I + m lin flow,m + +% Component type R + b lin flow,b + +% Component type SS + u SS external,external ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_numpar.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_numpar.txt @@ -0,0 +1,27 @@ +# Numerical parameter file (Cruise_numpar.txt) +# Generated by MTT at Mon Jan 12 15:43:19 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +b = 1.0; # Parameter b for Cruise +b_m = 1.0; # Parameter b_m for Cruise +j = 1.0; # Parameter j for Cruise +j_m = 1.0; # Parameter j_m for Cruise +k = 1.0; # Parameter k for Cruise +k_m = 1.0; # Parameter k_m for Cruise +l = 1.0; # Parameter l for Cruise +l_a = 1.0; # Parameter l_a for Cruise +l_m = 1.0; # Parameter l_m for Cruise +r = 1.0; # Parameter r for Cruise +r_a = 1.0; # Parameter r_a for Cruise +r_m = 1.0; # Parameter r_m for Cruise + +# Initial states +x(1) = 0.0; # Initial state for Cruise_motor (l_a) +x(2) = 0.0; # Initial state for Cruise_motor (j_m) ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_params.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_params.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_params.r @@ -0,0 +1,11 @@ +%% Parameter file for system Cruise (Cruise_params.r) +%% This file provides symbolic parameters for simplification + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_rep.txt @@ -0,0 +1,24 @@ +# Outline report file for system Cruise (Cruise_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt Cruise abg tex + +mtt -o Cruise sm tex +mtt -o Cruise tf tex + +mtt -o Cruise smc tex +mtt -o Cruise ssk tex + +mtt -o Cruise smo tex +mtt -o Cruise ssl tex + +mtt -o Cruise ctf tex + + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_simp.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_simp.r @@ -0,0 +1,19 @@ +%% Reduce comands to simplify output for system Cruise (Cruise_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% System +%J_m := 1; L_m := 0.1; k_m := 1; b_m := 0.1; r_m := 1; + +% Controller - poles at -2 and -10 +%alpha_c1 := 12; alpha_c2 := 20; + +% Observer - poles at -10 -50 +%alpha_o1 := 60; alpha_o2 := 500; + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_sspar.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Cruise/Cruise_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for Cruise (Cruise_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1125 2475 2475 2475 2250 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2250 2835 900 3060 1125 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2700 2835 4050 3060 3825 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 2250 2475 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 2475 4500 2475 4275 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 2475 6750 2475 6525 2700 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 7650 4455 7650 450 225 450 225 4455 7650 4455 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2835 2565 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 435 2880 4365 R:b\001 +4 1 -1 0 0 0 20 0.0000000 4 210 435 2880 765 I:m\001 +4 0 -1 0 0 0 20 0.0000000 4 270 570 6930 2565 SS:y\001 +4 2 -1 0 0 0 20 0.0000000 4 210 570 1035 2565 SS:u\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1080 4950 2565 INTF:int\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_desc.tex @@ -0,0 +1,33 @@ +% Verbal description for system CruiseP (CruiseP_desc.tex) +% Generated by MTT on Mon Jan 12 16:00:15 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This is a simple teaching example to illustrate compensator design via +observer/state-feedback methods. + +The system represents a simple model of a vehicle moving along a road. +The vehicle +\begin{itemize} +\item has mass $m$ +\item is driven by a force $u=F$ +\item has velocity $v$ +\item has momentum $p=mv$ +\item has a distance along the road $y=d$ +\item The system states are taken to be: + \begin{equation} + x = + \begin{pmatrix} + p \\ d + \end{pmatrix} + \end{equation}\end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_lbl.txt @@ -0,0 +1,30 @@ +%SUMMARY CruiseP: +%DESCRIPTION +%% Label file for system CruiseP (CruiseP_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type I + m lin flow,m + +% Component type INTF + int lin flow,int + +% Component type R + b lin flow,b + +% Component type SS + u SS external,internal + y SS external,0 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_numpar.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_numpar.txt @@ -0,0 +1,18 @@ +# Numerical parameter file (CruiseP_numpar.txt) +# Generated by MTT at Fri Feb 13 17:15:12 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +b = 1.0; # CruiseP +int = 1.0; # CruiseP +m = 1.0; # CruiseP + +# Initial states +x(1) = 0.0; # CruiseP (m) +x(2) = 0.0; # CruiseP_int (3) ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_pic.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_pic.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_pic.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +1 3 0 2 -1 7 0 0 -1 0.0000000 1 0.000 3900 3900 309 309 3900 3900 4209 4209 +1 3 0 2 -1 7 0 0 -1 0.0000000 1 0.000 2700 3900 309 309 2700 3900 3009 4209 +2 2 0 2 -1 7 0 0 -1 0.000 0 0 0 0 0 5 + 2400 2400 4200 2400 4200 3600 2400 3600 2400 2400 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 4500 2700 5700 2700 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 1200 3000 2400 3000 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 3900 1800 2700 1800 +4 0 -1 0 0 3 20 0.0000000 4 270 1380 5700 2400 v (velocity)\001 +4 0 -1 0 0 3 20 0.0000000 4 270 1095 525 2700 u (force)\001 +4 0 -1 0 0 3 20 0.0000000 4 270 1425 5700 3150 y (position)\001 +4 0 -1 0 0 3 20 0.0000000 4 255 1155 2700 3075 m (mass)\001 +4 0 -1 0 0 3 20 0.0000000 4 270 2235 3150 1575 bv (friction force)\001 +4 0 -1 0 0 3 16 0.0000000 4 195 2490 2325 5100 states: p=momentum=mv\001 +4 0 -1 0 0 3 16 0.0000000 4 210 1725 2325 5442 y=position\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_pic.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_pic.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_pic.tex @@ -0,0 +1,7 @@ +\makebox[5.541in][l]{ + \vbox to 3.458in{ + \vfill + \special{psfile=CruiseP_pic.ps} + } + \vspace{-\baselineskip} +} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_rep.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_rep.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_rep.tex @@ -0,0 +1,108 @@ + + +\section{\textbf{CruiseP}: representation \textbf{abg}, language \textbf{tex}} +\label{sec:CruiseP_abg.tex} +\index{\textbf{CruiseP} -- abg} + + +MTT command: +\begin{verbatim} +mtt CruiseP abg tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_abg.tex} + + +\section{\textbf{CruiseP}: representation \textbf{ode}, language \textbf{tex}} +\label{sec:CruiseP_ode.tex} +\index{\textbf{CruiseP} -- ode} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP ode tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_ode.tex} + + +\section{\textbf{CruiseP}: representation \textbf{sm}, language \textbf{tex}} +\label{sec:CruiseP_sm.tex} +\index{\textbf{CruiseP} -- sm} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP sm tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_sm.tex} + + +\section{\textbf{CruiseP}: representation \textbf{tf}, language \textbf{tex}} +\label{sec:CruiseP_tf.tex} +\index{\textbf{CruiseP} -- tf} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP tf tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_tf.tex} + + +\section{\textbf{CruiseP}: representation \textbf{smc}, language \textbf{tex}} +\label{sec:CruiseP_smc.tex} +\index{\textbf{CruiseP} -- smc} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP smc tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_smc.tex} + + +\section{\textbf{CruiseP}: representation \textbf{ssk}, language \textbf{tex}} +\label{sec:CruiseP_ssk.tex} +\index{\textbf{CruiseP} -- ssk} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP ssk tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_ssk.tex} + + +\section{\textbf{CruiseP}: representation \textbf{smo}, language \textbf{tex}} +\label{sec:CruiseP_smo.tex} +\index{\textbf{CruiseP} -- smo} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP smo tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_smo.tex} + + +\section{\textbf{CruiseP}: representation \textbf{ssl}, language \textbf{tex}} +\label{sec:CruiseP_ssl.tex} +\index{\textbf{CruiseP} -- ssl} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP ssl tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_ssl.tex} + + +\section{\textbf{CruiseP}: representation \textbf{ctf}, language \textbf{tex}} +\label{sec:CruiseP_ctf.tex} +\index{\textbf{CruiseP} -- ctf} + + +MTT command: +\begin{verbatim} +mtt -o CruiseP ctf tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruiseP/MTT_work/CruiseP_ctf.tex} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/CruiseP_rep.txt @@ -0,0 +1,24 @@ +# Outline report file for system CruiseP (CruiseP_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt CruiseP abg tex + +mtt -o CruiseP ode tex +mtt -o CruiseP sm tex +mtt -o CruiseP tf tex + +mtt -o CruiseP smc tex +mtt -o CruiseP ssk tex + +mtt -o CruiseP smo tex +mtt -o CruiseP ssl tex + +mtt -o CruiseP ctf tex + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/Makefile Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/Makefile ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruiseP/Makefile @@ -0,0 +1,18 @@ +# +# TransFig makefile +# + +all: CruiseP_pic.tex + +# translation into ps + +CruiseP_pic.tex: CruiseP_pic.ps Makefile + fig2ps2tex CruiseP_pic.ps >CruiseP_pic.tex +clean:: + rm -f CruiseP_pic.tex + +CruiseP_pic.ps: CruiseP_pic.fig Makefile + fig2dev -L ps CruiseP_pic.fig > CruiseP_pic.ps +clean:: + rm -f CruiseP_pic.ps + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1125 2475 2475 2475 2250 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2250 2835 900 3060 1125 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2700 2835 4050 3060 3825 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 2250 2475 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 2475 4500 2475 4275 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 2475 6750 2475 6525 2700 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 7650 4455 7650 450 225 450 225 4455 7650 4455 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2835 2565 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 435 2880 4365 R:b\001 +4 1 -1 0 0 0 20 0.0000000 4 210 435 2880 765 I:m\001 +4 0 -1 0 0 0 20 0.0000000 4 270 570 6930 2565 SS:y\001 +4 2 -1 0 0 0 20 0.0000000 4 210 570 1035 2565 SS:u\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1080 4950 2565 INTF:int\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_desc.tex @@ -0,0 +1,34 @@ +% Verbal description for system CruisePN (CruisePN_desc.tex) +% Generated by MTT on Mon Jan 12 16:00:15 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This is a simple teaching example to illustrate compensator design via +observer/state-feedback methods. The equations are presented in +numerical (as opposed to symbolic) form. + +The system represents a simple model of a vehicle moving along a road. +The vehicle +\begin{itemize} +\item has mass $m$ +\item is driven by a force $u=F$ +\item has velocity $v$ +\item has momentum $p=mv$ +\item has a distance along the road $y=d$ +\item The system states are taken to be: + \begin{equation} + x = + \begin{pmatrix} + p \\ d + \end{pmatrix} + \end{equation}\end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_lbl.txt @@ -0,0 +1,30 @@ +%SUMMARY CruisePN: +%DESCRIPTION +%% Label file for system CruisePN (CruisePN_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type I + m lin flow,m + +% Component type INTF + int lin flow,int + +% Component type R + b lin flow,b + +% Component type SS + u SS external,internal + y SS external,0 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_numpar.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_numpar.txt @@ -0,0 +1,18 @@ +# Numerical parameter file (CruisePN_numpar.txt) +# Generated by MTT at Fri Feb 13 17:15:12 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +b = 1.0; # CruisePN +int = 1.0; # CruisePN +m = 1.0; # CruisePN + +# Initial states +x(1) = 0.0; # CruisePN (m) +x(2) = 0.0; # CruisePN_int (3) ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_pic.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_pic.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_pic.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +1 3 0 2 -1 7 0 0 -1 0.0000000 1 0.000 3900 3900 309 309 3900 3900 4209 4209 +1 3 0 2 -1 7 0 0 -1 0.0000000 1 0.000 2700 3900 309 309 2700 3900 3009 4209 +2 2 0 2 -1 7 0 0 -1 0.000 0 0 0 0 0 5 + 2400 2400 4200 2400 4200 3600 2400 3600 2400 2400 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 4500 2700 5700 2700 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 1200 3000 2400 3000 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 3900 1800 2700 1800 +4 0 -1 0 0 3 20 0.0000000 4 270 1380 5700 2400 v (velocity)\001 +4 0 -1 0 0 3 20 0.0000000 4 270 1095 525 2700 u (force)\001 +4 0 -1 0 0 3 20 0.0000000 4 270 1425 5700 3150 y (position)\001 +4 0 -1 0 0 3 20 0.0000000 4 255 1155 2700 3075 m (mass)\001 +4 0 -1 0 0 3 20 0.0000000 4 270 2235 3150 1575 bv (friction force)\001 +4 0 -1 0 0 3 16 0.0000000 4 195 2490 2325 5100 states: p=momentum=mv\001 +4 0 -1 0 0 3 16 0.0000000 4 210 1725 2325 5442 y=position\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_pic.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_pic.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_pic.tex @@ -0,0 +1,7 @@ +\makebox[5.541in][l]{ + \vbox to 3.458in{ + \vfill + \special{psfile=CruisePN_pic.ps} + } + \vspace{-\baselineskip} +} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_rep.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_rep.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_rep.tex @@ -0,0 +1,108 @@ + + +\section{\textbf{CruisePN}: representation \textbf{abg}, language \textbf{tex}} +\label{sec:CruisePN_abg.tex} +\index{\textbf{CruisePN} -- abg} + + +MTT command: +\begin{verbatim} +mtt CruisePN abg tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_abg.tex} + + +\section{\textbf{CruisePN}: representation \textbf{ode}, language \textbf{tex}} +\label{sec:CruisePN_ode.tex} +\index{\textbf{CruisePN} -- ode} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN ode tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_ode.tex} + + +\section{\textbf{CruisePN}: representation \textbf{sm}, language \textbf{tex}} +\label{sec:CruisePN_sm.tex} +\index{\textbf{CruisePN} -- sm} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN sm tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_sm.tex} + + +\section{\textbf{CruisePN}: representation \textbf{tf}, language \textbf{tex}} +\label{sec:CruisePN_tf.tex} +\index{\textbf{CruisePN} -- tf} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN tf tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_tf.tex} + + +\section{\textbf{CruisePN}: representation \textbf{smc}, language \textbf{tex}} +\label{sec:CruisePN_smc.tex} +\index{\textbf{CruisePN} -- smc} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN smc tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_smc.tex} + + +\section{\textbf{CruisePN}: representation \textbf{ssk}, language \textbf{tex}} +\label{sec:CruisePN_ssk.tex} +\index{\textbf{CruisePN} -- ssk} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN ssk tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_ssk.tex} + + +\section{\textbf{CruisePN}: representation \textbf{smo}, language \textbf{tex}} +\label{sec:CruisePN_smo.tex} +\index{\textbf{CruisePN} -- smo} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN smo tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_smo.tex} + + +\section{\textbf{CruisePN}: representation \textbf{ssl}, language \textbf{tex}} +\label{sec:CruisePN_ssl.tex} +\index{\textbf{CruisePN} -- ssl} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN ssl tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_ssl.tex} + + +\section{\textbf{CruisePN}: representation \textbf{ctf}, language \textbf{tex}} +\label{sec:CruisePN_ctf.tex} +\index{\textbf{CruisePN} -- ctf} + + +MTT command: +\begin{verbatim} +mtt -o CruisePN ctf tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/CruisePN/MTT_work/CruisePN_ctf.tex} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_rep.txt @@ -0,0 +1,24 @@ +# Outline report file for system CruisePN (CruisePN_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt CruisePN abg tex + +mtt -o CruisePN ode tex +mtt -o CruisePN sm tex +mtt -o CruisePN tf tex + +mtt -o CruisePN smc tex +mtt -o CruisePN ssk tex + +mtt -o CruisePN smo tex +mtt -o CruisePN ssl tex + +mtt -o CruisePN ctf tex + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_simp.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_simp.r @@ -0,0 +1,21 @@ +%% Reduce comands to simplify output for system CruisePN (CruisePN_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +m := 1; +b := 0; + +alpha_o1 := 4; +alpha_o2 := 4; + +alpha_c1 := 2; +alpha_c2 := 1; + +END; + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_sspar.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruisePN_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for CruisePN (CruisePN_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruiseP_pic.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruiseP_pic.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/CruiseP_pic.tex @@ -0,0 +1,7 @@ +\makebox[5.541in][l]{ + \vbox to 3.458in{ + \vfill + \special{psfile=CruiseP_pic.ps} + } + \vspace{-\baselineskip} +} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/Makefile Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/Makefile ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/CruisePN/Makefile @@ -0,0 +1,18 @@ +# +# TransFig makefile +# + +all: CruisePN_pic.tex + +# translation into ps + +CruisePN_pic.tex: CruisePN_pic.ps Makefile + fig2ps2tex CruisePN_pic.ps >CruisePN_pic.tex +clean:: + rm -f CruisePN_pic.tex + +CruisePN_pic.ps: CruisePN_pic.fig Makefile + fig2dev -L ps CruisePN_pic.fig > CruisePN_pic.ps +clean:: + rm -f CruisePN_pic.ps + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_abg.fig @@ -0,0 +1,40 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 4050 4500 4050 225 1800 225 1800 4500 4050 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1575 2475 2745 2475 2475 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 2250 2925 1080 3150 1350 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3105 2475 4275 2475 4005 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 2700 2925 3870 3150 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 2475 6795 2475 6525 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 2295 6975 1125 7200 1395 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 2700 6975 3870 7200 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7200 2475 8370 2475 8100 2700 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8100 4500 8100 225 5850 225 5850 4500 8100 4500 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 4950 225 4950 225 45 9450 45 9450 4950 +4 1 -1 0 0 0 20 0.0000 4 195 135 2880 2610 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 990 4995 2565 GY:k_m\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 6975 2565 1\001 +4 1 4 0 0 0 20 0.0000 4 240 810 1080 2565 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000 4 255 510 2880 990 I:l_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 7065 990 I:j_m\001 +4 1 -1 0 0 0 20 0.0000 4 255 645 2970 4230 R:r_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 765 7020 4230 R:b_m\001 +4 1 1 1 0 0 20 0.0000 4 195 1095 2925 4815 Electrical\001 +4 1 1 1 0 0 20 0.0000 4 195 1335 6975 4815 Mechanical\001 +4 1 1 1 0 0 20 0.0000 4 195 630 8910 2925 Shaft\001 +4 1 1 1 0 0 20 0.0000 4 195 1170 1080 2925 Terminals\001 +4 1 4 0 0 0 20 0.0000 4 240 960 8910 2565 SS:[out]\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_desc.tex @@ -0,0 +1,37 @@ +% Verbal description for system DC (DC_desc.tex) +% Generated by MTT on Thu Sep 11 10:09:58 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{DC} is + displayed in Figure \Ref{DC_abg} and its label + file is listed in Section \Ref{sec:DC_lbl}. + The subsystems are listed in Section \Ref{sec:DC_sub}. + + \begin{table}[htbp] + \begin{center} + \leavevmode + \begin{tabular}{|l|l|} + \hline + Index & Parameter\\ + \hline + 1 & Motor gain ($k_m$) \\ + 2 & Armature inductance ($l_a$) \\ + 3 & Armature resistance ($r_a$) \\ + 4 & Inertia ($j_m$) \\ + 5 & Friction coefficient ($b_m$) \\ + \hline + \end{tabular} + \caption{DC motor parameters} + \label{tab:DC_components} + \end{center} + \end{table} +{\bf DC} is a two-port component representing a DC motor. It has the 5 +parameters listed in Table \Ref{tab:DC_components}. + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DC_lbl.txt @@ -0,0 +1,44 @@ +%SUMMARY DC: DC motor (or generator) +%DESCRIPTION Port [in]: Electrical (in) +%DESCRIPTION Port [out]: Mechanical (out) +%DESCRIPTION Parameter 1: Motor gain (k_m) +%DESCRIPTION Parameter 2: Armature inductance (l_a) +%DESCRIPTION Parameter 3: Armature resistance (r_a) +%DESCRIPTION Parameter 4: Inertia (j_m) +%DESCRIPTION Parameter 5: Friction coefficient (b_m) + + +%% Label file for system DC (DC_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/04 16:01:42 peterg +% %% Documantation added. +% %% +% %% Revision 1.1 1996/12/04 16:00:56 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Motor gain +k_m lin flow,$1 + +% Electrical components +%Inductance +l_a lin effort,$2 +%Resistance +r_a lin flow,$3 + +% Mechanical components +%Inertia +j_m lin flow,$4 +%Friction +b_m lin flow,$5 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_abg.fig @@ -0,0 +1,14 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1125 2475 2475 2475 2250 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 2475 5175 2475 4950 2700 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6075 3150 6075 1800 225 1800 225 3150 6075 3150 +4 1 -1 0 0 0 20 0.0000000 4 210 1230 3195 2565 DC:motor\001 +4 0 -1 0 0 0 20 0.0000000 4 210 570 5310 2565 SS:v\001 +4 2 -1 0 0 0 20 0.0000000 4 210 555 1035 2565 SS:e\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_args.new Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_args.new ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_args.new @@ -0,0 +1,1 @@ + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_desc.tex @@ -0,0 +1,36 @@ +% Verbal description for system DCexample (DCexample_desc.tex) +% Generated by MTT on Mon Jan 12 16:00:15 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This is a simple teaching example to illustrate compensator design via +observer/state-feedback methods. + +The system represents a simple model of a DC motor including armature +resistance $r_m$, armature inductance $l_m$, motor constant $k_m$, +inertia $j_m$ and friction $b_m$. + +The DC motor has +\begin{itemize} +\item output angular velocity $y = \omega$ +\item input voltage $u = v$ +\item $\lambda = Li$ where $i$ is the armature current +\item angular momentum $p=j_m \omega$. +\item system states given by + \begin{equation} + x = + \begin{pmatrix} + \lambda \\ \omega + \end{pmatrix} + \end{equation} +\end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_lbl.txt @@ -0,0 +1,24 @@ +%SUMMARY DCexample: +%DESCRIPTION +%% Label file for system DCexample (DCexample_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type DC + motor lin k_m;l_m;r_m;j_m;b_m + +% Component type SS + e SS external,internal + v SS 0,external ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_numpar.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_numpar.txt @@ -0,0 +1,27 @@ +# Numerical parameter file (DCexample_numpar.txt) +# Generated by MTT at Mon Jan 12 15:43:19 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +b = 1.0; # Parameter b for DCexample +b_m = 1.0; # Parameter b_m for DCexample +j = 1.0; # Parameter j for DCexample +j_m = 1.0; # Parameter j_m for DCexample +k = 1.0; # Parameter k for DCexample +k_m = 1.0; # Parameter k_m for DCexample +l = 1.0; # Parameter l for DCexample +l_a = 1.0; # Parameter l_a for DCexample +l_m = 1.0; # Parameter l_m for DCexample +r = 1.0; # Parameter r for DCexample +r_a = 1.0; # Parameter r_a for DCexample +r_m = 1.0; # Parameter r_m for DCexample + +# Initial states +x(1) = 0.0; # Initial state for DCexample_motor (l_a) +x(2) = 0.0; # Initial state for DCexample_motor (j_m) ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_params.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_params.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_params.r @@ -0,0 +1,11 @@ +%% Parameter file for system DCexample (DCexample_params.r) +%% This file provides symbolic parameters for simplification + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_pic.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_pic.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_pic.fig @@ -0,0 +1,32 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +6 3900 1725 7575 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 4801 1801 5701 1801 +2 2 0 2 -1 7 0 0 -1 0.000 0 0 0 0 0 5 + 5701 1726 6601 1726 6601 1876 5701 1876 5701 1726 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 1 0 3 + 1 1 2.00 120.00 240.00 + 6601 1801 7501 1801 7501 2401 +2 2 0 2 -1 7 0 0 -1 0.000 0 0 0 0 0 5 + 3901 1726 4801 1726 4801 1876 3901 1876 3901 1726 +-6 +1 3 0 2 -1 7 0 0 -1 0.0000000 1 0.000 7500 2700 270 270 7500 2700 7650 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 3000 1800 3900 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 1 0 3 + 1 1 2.00 120.00 240.00 + 7500 3000 7500 3600 3000 3600 +2 2 0 2 -1 7 0 0 -1 0.000 0 0 0 0 0 5 + 7950 2625 10800 2625 10800 2775 7950 2775 7950 2625 +2 2 0 2 -1 7 0 0 -1 0.000 0 0 0 0 0 5 + 10800 1200 11400 1200 11400 4200 10800 4200 10800 1200 +4 0 -1 0 0 3 20 0.0000000 4 150 135 3000 2775 v\001 +4 0 -1 0 0 3 20 0.0000000 4 210 90 3300 1650 i\001 +4 2 -1 0 0 3 20 0.0000000 4 255 540 6675 2775 k_m\001 +4 2 -1 0 0 32 20 0.0000000 4 135 210 6975 2775 w\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_pic.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_pic.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_pic.tex @@ -0,0 +1,7 @@ +\makebox[7.055in][l]{ + \vbox to 2.555in{ + \vfill + \special{psfile=DCexample_pic.ps} + } + \vspace{-\baselineskip} +} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_rep.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_rep.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_rep.tex @@ -0,0 +1,84 @@ + + +\section{\textbf{DCexample}: representation \textbf{abg}, language \textbf{tex}} +\label{sec:DCexample_abg.tex} +\index{\textbf{DCexample} -- abg} + + +MTT command: +\begin{verbatim} +mtt DCexample abg tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_abg.tex} + + +\section{\textbf{DCexample}: representation \textbf{sm}, language \textbf{tex}} +\label{sec:DCexample_sm.tex} +\index{\textbf{DCexample} -- sm} + + +MTT command: +\begin{verbatim} +mtt -o DCexample sm tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_sm.tex} + + +\section{\textbf{DCexample}: representation \textbf{tf}, language \textbf{tex}} +\label{sec:DCexample_tf.tex} +\index{\textbf{DCexample} -- tf} + + +MTT command: +\begin{verbatim} +mtt -o DCexample tf tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_tf.tex} + + +\section{\textbf{DCexample}: representation \textbf{smc}, language \textbf{tex}} +\label{sec:DCexample_smc.tex} +\index{\textbf{DCexample} -- smc} + + +MTT command: +\begin{verbatim} +mtt -o DCexample smc tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_smc.tex} + + +\section{\textbf{DCexample}: representation \textbf{ssk}, language \textbf{tex}} +\label{sec:DCexample_ssk.tex} +\index{\textbf{DCexample} -- ssk} + + +MTT command: +\begin{verbatim} +mtt -o DCexample ssk tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_ssk.tex} + + +\section{\textbf{DCexample}: representation \textbf{smo}, language \textbf{tex}} +\label{sec:DCexample_smo.tex} +\index{\textbf{DCexample} -- smo} + + +MTT command: +\begin{verbatim} +mtt -o DCexample smo tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_smo.tex} + + +\section{\textbf{DCexample}: representation \textbf{ssl}, language \textbf{tex}} +\label{sec:DCexample_ssl.tex} +\index{\textbf{DCexample} -- ssl} + + +MTT command: +\begin{verbatim} +mtt -o DCexample ssl tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/DCexample/MTT_work/DCexample_ssl.tex} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_rep.txt @@ -0,0 +1,21 @@ +# Outline report file for system DCexample (DCexample_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt DCexample abg tex + +mtt -o DCexample sm tex +mtt -o DCexample tf tex + +mtt -o DCexample smc tex +mtt -o DCexample ssk tex + +mtt -o DCexample smo tex +mtt -o DCexample ssl tex + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_simp.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_simp.r @@ -0,0 +1,19 @@ +%% Reduce comands to simplify output for system DCexample (DCexample_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% System +%J_m := 1; L_m := 0.1; k_m := 1; b_m := 0.1; r_m := 1; + +% Controller - poles at -2 and -10 +%alpha_c1 := 12; alpha_c2 := 20; + +% Observer - poles at -10 -50 +%alpha_o1 := 60; alpha_o2 := 500; + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_sspar.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/DCexample_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for DCexample (DCexample_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/Makefile Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/Makefile ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/DCexample/Makefile @@ -0,0 +1,18 @@ +# +# TransFig makefile +# + +all: DCexample_pic.tex + +# translation into ps + +DCexample_pic.tex: DCexample_pic.ps Makefile + fig2ps2tex DCexample_pic.ps >DCexample_pic.tex +clean:: + rm -f DCexample_pic.tex + +DCexample_pic.ps: DCexample_pic.fig Makefile + fig2dev -L ps DCexample_pic.fig > DCexample_pic.ps +clean:: + rm -f DCexample_pic.ps + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Differential/Differential_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Differential/Differential_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Differential/Differential_abg.fig @@ -0,0 +1,23 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2880 2655 2970 3195 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2925 2700 2925 3150 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3150 2700 3150 1350 3375 1575 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3172 3172 3172 4522 3397 4297 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1575 2925 2925 2925 2700 3150 +4 1 0 100 0 18 18 0.0000 4 195 150 3150 3015 0\001 +4 1 0 100 0 18 18 0.0000 4 270 540 3195 1215 I:j_1\001 +4 1 0 100 0 18 18 0.0000 4 270 540 3150 4860 I:j_2\001 +4 1 0 100 0 18 18 0.0000 4 270 750 990 3015 SS:yu\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Differential/Differential_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Differential/Differential_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Differential/Differential_rep.txt @@ -0,0 +1,28 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system Differential (Differential_rep.txt) +## Generated by MTT on" Wed Jan 26 10:13:44 GMT 2000. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt Differential abg tex # The system description +mtt Differential cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt Differential struc tex # The system structure +## mtt Differential dae tex # The system dae +mtt Differential ode tex # The system ode +## mtt Differential sspar tex # Steady-state parameters +## mtt Differential ss tex # Steady state +## mtt Differential dm tex # Descriptor matrices (of linearised system) +mtt Differential sm tex # State matrices (of linearised system) +mtt Differential tf tex # Transfer function (of linearised + +## mtt Differential lmfr ps # log modulus of frequency response (of linearised system) +## mtt Differential simpar tex # Simulation parameters +## mtt Differential numpar tex # Numerical simulation parameters +## mtt Differential input tex # Simulation input +mtt Differential odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_abg.fig @@ -0,0 +1,55 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.0000000 1 0.000 8550 1125 485 485 8550 1125 8730 1575 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 7650 450 9405 450 9405 675 7650 675 7650 450 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 8100 9450 225 855 225 855 8100 9450 8100 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3871 3600 5446 3825 5221 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5850 3871 5850 5446 6075 5221 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3465 3870 3735 3870 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4590 3825 4860 3825 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5715 3870 5985 3870 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3465 1125 3735 1125 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4635 2700 4905 2700 +4 1 -1 0 0 0 20 0.0000000 4 240 870 3603 948 SS:v_x\001 +4 1 4 0 0 0 16 0.0000000 4 195 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000000 4 210 885 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000000 4 195 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 900 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 495 5850 2970 [y_a]\001 +4 1 -1 0 0 0 20 0.0000000 4 270 870 5850 945 SS:v_y\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1110 4729 3379 ROD:rod\001 +4 1 -1 0 0 0 20 0.0000000 4 240 825 3510 5760 SS:f_x\001 +4 1 -1 0 0 0 20 0.0000000 4 270 825 5760 5760 SS:f_y\001 +4 1 -1 0 0 0 20 0.0000000 4 240 810 4635 5760 SS:f_a\001 +4 0 1 1 0 3 20 0.0000000 4 240 720 6750 1260 Joint \001 +4 0 1 1 0 3 20 0.0000000 4 210 495 6795 3375 Rod\001 +4 1 -1 0 0 0 20 0.0000000 4 210 570 4771 946 SS:u\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_desc.tex @@ -0,0 +1,42 @@ +% Verbal description for system InvertedPendulumT (InvertedPendulumT_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/01/19 14:20:07 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{InvertedPendulumT} is + displayed in Figure \Ref{InvertedPendulumT_abg} and its label + file is listed in Section \Ref{sec:InvertedPendulumT_lbl}. + The subsystems are listed in Section \Ref{sec:InvertedPendulumT_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses the compound components: {\bf ROD}. {\bf +ROD} is essentially as described in Figure 10.2. +There is no gravity included in this model. + +This system has a number of dynamic elements (those corresponding to translation +motion) in derivative causality, thus the system is represnted as a +Differential-Algebraic Equation (Section +\Ref{sec:InvertedPendulumT_dae.tex}). Hovever, this is of contrained-state form and +therfore can be written as a set of constrained-state equations (Section +\Ref{sec:InvertedPendulumT_cse.tex}). The corresponding ordinary differential +equation is complicated due to the trig functions involved in +inverting the E matrix. + +As well as the standard representation the ``robot-form'' equations +appear in Section \Ref{sec:InvertedPendulumT_rfe}. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_input.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_input.txt @@ -0,0 +1,14 @@ +# Numerical parameter file (InvertedPendulumT_input.txt) +# Generated by MTT at Fri Jun 13 16:56:09 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = (t<1.0); +u(2) = 0.0; # +u(3) = 0.0; # gravity ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_lbl.txt @@ -0,0 +1,43 @@ +%SUMMARY InvertedPendulumT: Pendulum with torque input at lower end + +%% Label (InvertedPendulumT_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - uniform rods +rod none l_1;l_1;j_1;m_1 + +%Zero velocity sources +v_x SS internal,0 +v_y SS internal,0 + + +%Zero force/torque sources +f_x SS 0,internal +f_a SS 0,internal +f_y SS 0,internal + + +%Torque/velocity at joint +u SS external,internal + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_numpar.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (InvertedPendulumT_numpar.txt) +# Generated by MTT at Mon Jan 19 13:53:15 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +j_1 = 1.0; # Parameter j_1 for InvertedPendulumT +j_2 = 1.0; # Parameter j_2 for InvertedPendulumT +l_1 = 1.0; # Parameter l_1 for InvertedPendulumT +l_2 = 1.0; # Parameter l_2 for InvertedPendulumT +m_1 = 1.0; # Parameter m_1 for InvertedPendulumT +m_2 = 1.0; # Parameter m_2 for InvertedPendulumT + +# Initial states +x(1) = 0.0; # Initial state for InvertedPendulumT_rod1 (J) +x(2) = 0.0; # Initial state for InvertedPendulumT_rod1_th (3) +x(3) = 0.0; # Initial state for InvertedPendulumT_rod2 (J) +x(4) = 0.0; # Initial state for InvertedPendulumT_rod2_th (3) ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_rep.txt @@ -0,0 +1,22 @@ +# Outline report file for system InvertedPendulumT (InvertedPendulumT_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt InvertedPendulumT abg tex + +mtt -o InvertedPendulumT ode tex +mtt -o InvertedPendulumT sm tex +mtt -o InvertedPendulumT tf tex + +mtt -o InvertedPendulumT smc tex +mtt -o InvertedPendulumT ssk tex + +mtt -o InvertedPendulumT smo tex +mtt -o InvertedPendulumT ssl tex + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_simp.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_simp.r @@ -0,0 +1,36 @@ +%% Reduce comands to simplify output for system InvertedPendulumT (InvertedPendulumT_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + + +m_1 := m; +l_1 := l; +j_1 := j; +mg := m*g; +j := m*l*l/12; + +%l:=1; + +alpha_c1 := 2; +alpha_c2 := 1; + +alpha_o1 := 20; +alpha_o2 := 100; + + +ORDER s,m,g; + + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_sspar.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/InvertedPendulumT_sspar.r @@ -0,0 +1,13 @@ +%% Reduce steady-state parameter file for InvertedPendulumT (InvertedPendulumT_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MTTx1 := 0; +MTTx2 := 0; + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_abg.fig @@ -0,0 +1,133 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 4278 5403 4953 5178 4953 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 6078 5403 5403 5403 5628 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 2702 4277 3827 4052 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 7652 4277 6527 4277 6752 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 7876 2926 9001 3196 8731 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 7877 8327 9002 8597 8732 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 5401 5626 9001 5851 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6526 4951 6526 5401 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 4 0 1 1 7 0 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 2250 9675 2250 675 3600 675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 5850 990 5850 990 4500 10125 4500 10125 5850 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 8550 7650 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8685 5265 8415 5535 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1372 3490 1372 3172 3375 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1507 3037 1237 3307 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9180 5724 9180 6042 8544 5406 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 315 6933 5268 I:J\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000000 4 270 735 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000000 4 240 735 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1170 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1170 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1155 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1155 7156 6391 EMTF:s2\001 +4 1 5 0 0 0 20 0.0000000 4 210 150 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 6751 4456 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 6751 3781 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 6751 6076 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 6751 6706 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 570 6211 6526 [mod]\001 +4 1 5 0 0 0 20 0.0000000 4 210 990 4681 5266 INTF:th\001 +4 1 1 1 0 0 20 0.0000000 4 210 210 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000000 4 135 195 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000000 4 210 210 8280 9990 Y\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 3960 4140 [mod]\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 6345 4095 [mod]\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 3960 6210 [mod]\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 4590 4455 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 4545 3780 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 4590 6660 [out]\001 +4 0 26 0 0 0 16 0.0000000 4 195 330 4365 6030 [in]\001 +4 1 4 0 0 0 20 0.0000000 4 240 1065 2971 1216 SS:[x_a]\001 +4 1 4 0 0 0 20 0.0000000 4 240 1080 2971 9361 SS:[x_b]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1065 8372 1217 SS:[y_a]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1080 8417 9362 SS:[y_b]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1575 5671 1216 SS:[alpha_a]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1590 5671 9361 SS:[alpha_b]\001 +4 1 1 1 0 0 20 0.0000000 4 270 630 1350 2700 Tip a\001 +4 1 1 1 0 0 20 0.0000000 4 240 1470 1260 6300 Mass centre\001 +4 1 1 1 0 0 20 0.0000000 4 270 645 1350 9855 Tip b\001 +4 1 -1 0 0 0 20 0.0000000 4 270 810 9225 6300 SS:mg\001 +4 2 -1 0 0 0 20 0.0000000 4 210 1020 1395 3060 SS:theta\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_desc.tex @@ -0,0 +1,20 @@ +% Verbal description for system ROD (ROD_desc.tex) +% Generated by MTT on Fri Aug 15 09:53:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/08/15 09:41:19 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{ROD} is + displayed in Figure \Ref{ROD_abg} and its label + file is listed in Section \Ref{sec:ROD_lbl}. + The subsystems are listed in Section \Ref{sec:ROD_sub}. + +{\bf ROD} is essentially as described in Figure 10.2 of +``Metamodelling''. ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/InvertedPendulumT/ROD_lbl.txt @@ -0,0 +1,58 @@ +%SUMMARY ROD: rigid rod in two dimensions +%DESCRIPTION Port [alpha_a]: Angular torque/velocity - end a +%DESCRIPTION Port [alpha_b]: Angular torque/velocity - end b +%DESCRIPTION Port [x_a]: x force/velocity - end a +%DESCRIPTION Port [x_b]: x force/velocity - end b +%DESCRIPTION Port [y_a]: y force/velocity - end a +%DESCRIPTION Port [y_b]: y force/velocity - end b +%DESCRIPTION +%DESCRIPTION Parameter 1: length from end 1 to mass centre +%DESCRIPTION Parameter 2: length from end 2 to mass centre +%DESCRIPTION Parameter 3: inertia about mass centre +%DESCRIPTION Parameter 4: mass +%DESCRIPTION See Section 10.2 of "Metamodelling" + + +%% Label file for system ROD (ROD_lbl.txt) + + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1997/08/15 09:43:06 peterg +% %% Now has lablelled (as opposed to numbered) ports. +% %% +% Revision 1.1 1996/11/07 10:57:17 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Inertias +J lin flow,$3 +m_x lin flow,$4 +m_y lin flow,$4 + +%Integrate angular velocity to get angle +th + +%Modulated transformers +s1 lsin flow,$1 +s2 lsin flow,$2 +c1 lcos flow,$1 +c2 lcos flow,$2 + +%Gravity +mg mg internal + +% Angle +theta external 0 + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_abg.fig @@ -0,0 +1,20 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1125 2475 2475 2475 2250 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 2475 4500 2475 4275 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5872 2497 7222 2497 6997 2722 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 2250 2835 900 3060 1125 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8145 3150 8145 450 270 450 270 3150 8145 3150 +4 1 -1 0 0 0 20 0.0000000 4 210 1080 5265 2565 INTF:int\001 +4 2 -1 0 0 0 20 0.0000000 4 210 570 1035 2565 SS:u\001 +4 0 -1 0 0 0 20 0.0000000 4 270 570 7380 2565 SS:y\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2835 2565 1\001 +4 1 -1 0 0 0 20 0.0000000 4 270 285 2880 765 I:j\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_desc.tex @@ -0,0 +1,23 @@ +% Verbal description for system Satellite (Satellite_desc.tex) +% Generated by MTT on Mon Jan 12 16:00:15 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Satellite} is + displayed in Figure \Ref{Satellite_abg} and its label + file is listed in Section \Ref{sec:Satellite_lbl}. + The subsystems are listed in Section \Ref{sec:Satellite_sub}. + + +This is a simple teaching example to illustrare compensator design via +observer/state-feedback methods. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_lbl.txt @@ -0,0 +1,27 @@ +%SUMMARY Satellite: +%DESCRIPTION +%% Label file for system Satellite (Satellite_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type I + j lin flow,1 + +% Component type INTF + int + +% Component type SS + u SS external,internal + y SS external,0 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_numpar.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_numpar.txt @@ -0,0 +1,27 @@ +# Numerical parameter file (Satellite_numpar.txt) +# Generated by MTT at Mon Jan 12 15:43:19 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +b = 1.0; # Parameter b for Satellite +b_m = 1.0; # Parameter b_m for Satellite +j = 1.0; # Parameter j for Satellite +j_m = 1.0; # Parameter j_m for Satellite +k = 1.0; # Parameter k for Satellite +k_m = 1.0; # Parameter k_m for Satellite +l = 1.0; # Parameter l for Satellite +l_a = 1.0; # Parameter l_a for Satellite +l_m = 1.0; # Parameter l_m for Satellite +r = 1.0; # Parameter r for Satellite +r_a = 1.0; # Parameter r_a for Satellite +r_m = 1.0; # Parameter r_m for Satellite + +# Initial states +x(1) = 0.0; # Initial state for Satellite_motor (l_a) +x(2) = 0.0; # Initial state for Satellite_motor (j_m) ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_rep.txt @@ -0,0 +1,23 @@ +# Outline report file for system Satellite (Satellite_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt Satellite abg tex + +mtt -o Satellite ode tex +mtt -o Satellite sm tex +mtt -o Satellite tf tex + +mtt -o Satellite smc tex +mtt -o Satellite ssk tex + +mtt -o Satellite smo tex +mtt -o Satellite ssl tex +mtt -o Satellite ctf tex + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_simp.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_simp.r @@ -0,0 +1,20 @@ +%% Reduce comands to simplify output for system Satellite (Satellite_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% System + +% Controller - poles -1 +alpha_c1 := 2; alpha_c2 := 1; + +% Observer - poles at -1 +alpha_o1 := 2; alpha_o2 := 1; + +ON FACTOR; + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_sspar.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/Satellite/Satellite_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for Satellite (Satellite_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/Makefile Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/Makefile ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/Makefile @@ -0,0 +1,18 @@ +# +# TransFig makefile +# + +all: TwoTanks_pic.tex + +# translation into ps + +TwoTanks_pic.tex: TwoTanks_pic.ps Makefile + fig2ps2tex TwoTanks_pic.ps >TwoTanks_pic.tex +clean:: + rm -f TwoTanks_pic.tex + +TwoTanks_pic.ps: TwoTanks_pic.fig Makefile + fig2dev -L ps TwoTanks_pic.fig > TwoTanks_pic.ps +clean:: + rm -f TwoTanks_pic.ps + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_abg.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_abg.fig @@ -0,0 +1,51 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1351 4276 2701 4276 2476 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 4501 3826 5401 3601 5401 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2971 4051 3871 3151 3871 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4275 3150 5625 3150 5400 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4275 5400 5625 5400 5400 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4051 2925 4051 1575 4276 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 5670 4050 7020 4275 6795 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5850 2880 5850 1530 6075 1755 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5850 5670 5850 7020 6075 6795 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 3150 7425 3150 7200 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 5400 7425 5400 7200 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 3150 8775 4050 8505 4050 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 5400 8775 4500 8775 4725 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9001 4275 10351 4275 10126 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1350 4050 1350 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9000 4050 9000 4500 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2926 4366 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 4096 5491 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 4096 3241 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5895 3240 1\001 +4 1 -1 0 0 0 20 0.0000000 4 240 690 5895 1440 R:r_1\001 +4 1 -1 0 0 0 20 0.0000000 4 240 720 4050 1440 C:c_1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5850 5490 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 375 7650 3240 AF\001 +4 1 -1 0 0 0 20 0.0000000 4 210 375 7695 5490 AF\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8775 4365 0\001 +4 0 -1 0 0 0 20 0.0000000 4 240 825 10620 4320 SS:f_2\001 +4 2 -1 0 0 0 20 0.0000000 4 240 825 1260 4365 SS:f_1\001 +4 1 -1 0 0 0 20 0.0000000 4 240 720 4005 7335 C:c_2\001 +4 1 -1 0 0 0 20 0.0000000 4 240 690 5850 7335 R:r_2\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_desc.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_desc.tex @@ -0,0 +1,36 @@ +% Verbal description for system TwoTanks (TwoTanks_desc.tex) +% Generated by MTT on Mon Jan 12 16:00:15 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This is a simple teaching example to illustrate compensator design via +observer/state-feedback methods. + +\begin{itemize} +\item Each tank is identical and of unit cross section. +\item Each tank has an identical inflow $f_1 = u$ +\item Each outflow is different and given by $\sigma_i v_i$ for $i=1$ + and $i=2$ where $v_i$ is the volume of liquid in tank i and + $\sigma_i$ the corresponding discharge coefficient. The net outflow + is thus $y = f_2 = \sigma_1 v_1 + \sigma_2 v_2$. +\item The system states are taken to be: + \begin{equation} + x = + \begin{pmatrix} + v_1 \\ v_2 + \end{pmatrix} + \end{equation} +\end{itemize} + + + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_lbl.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_lbl.txt @@ -0,0 +1,29 @@ +%SUMMARY TwoTanks: +%DESCRIPTION +%% Label file for system TwoTanks (TwoTanks_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_1 lin effort,1 + c_2 lin effort,1 + +% Component type R + r_1 lin effort,sigma_1 + r_2 lin effort,sigma_2 + +% Component type SS + f_1 SS internal,external + f_2 SS 0,external ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_params.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_params.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_params.r @@ -0,0 +1,11 @@ +%% Parameter file for system TwoTanks (TwoTanks_params.r) +%% This file provides symbolic parameters for simplification + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_pic.fig Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_pic.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_pic.fig @@ -0,0 +1,33 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +6 2099 1799 3974 3974 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2100 1800 2100 3900 3900 3900 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3300 1800 3300 3600 3900 3600 +-6 +6 5025 1800 6900 3975 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6899 1801 6899 3901 5099 3901 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5699 1801 5699 3601 5099 3601 +-6 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 3 + 1 1 2.00 120.00 240.00 + 3600 3750 4200 3750 4200 4800 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 3 + 1 1 2.00 120.00 240.00 + 5400 3750 4800 3750 4800 4800 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 3 + 1 1 2.00 120.00 240.00 + 1800 1050 2400 1050 2400 2100 +2 1 1 2 -1 7 0 0 -1 6.000 0 0 -1 1 0 3 + 1 1 2.00 120.00 240.00 + 7200 1050 6600 1050 6600 2100 +4 0 -1 0 0 3 20 0.0000000 4 270 2610 3225 5250 y=total outflow = f_2\001 +4 0 -1 0 0 3 20 0.0000000 4 270 405 1950 900 f_1\001 +4 0 -1 0 0 3 20 0.0000000 4 270 405 6825 900 f_1\001 +4 0 -1 0 0 3 20 0.0000000 4 270 3525 2775 1500 u= inflow to each tank = f_1\001 ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_pic.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_pic.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_pic.tex @@ -0,0 +1,7 @@ +\makebox[4.569in][l]{ + \vbox to 3.861in{ + \vfill + \special{psfile=TwoTanks_pic.ps} + } + \vspace{-\baselineskip} +} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_rep.tex Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_rep.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_rep.tex @@ -0,0 +1,84 @@ + + +\section{\textbf{TwoTanks}: representation \textbf{abg}, language \textbf{tex}} +\label{sec:TwoTanks_abg.tex} +\index{\textbf{TwoTanks} -- abg} + + +MTT command: +\begin{verbatim} +mtt TwoTanks abg tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_abg.tex} + + +\section{\textbf{TwoTanks}: representation \textbf{sm}, language \textbf{tex}} +\label{sec:TwoTanks_sm.tex} +\index{\textbf{TwoTanks} -- sm} + + +MTT command: +\begin{verbatim} +mtt -o TwoTanks sm tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_sm.tex} + + +\section{\textbf{TwoTanks}: representation \textbf{tf}, language \textbf{tex}} +\label{sec:TwoTanks_tf.tex} +\index{\textbf{TwoTanks} -- tf} + + +MTT command: +\begin{verbatim} +mtt -o TwoTanks tf tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_tf.tex} + + +\section{\textbf{TwoTanks}: representation \textbf{smc}, language \textbf{tex}} +\label{sec:TwoTanks_smc.tex} +\index{\textbf{TwoTanks} -- smc} + + +MTT command: +\begin{verbatim} +mtt -o TwoTanks smc tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_smc.tex} + + +\section{\textbf{TwoTanks}: representation \textbf{ssk}, language \textbf{tex}} +\label{sec:TwoTanks_ssk.tex} +\index{\textbf{TwoTanks} -- ssk} + + +MTT command: +\begin{verbatim} +mtt -o TwoTanks ssk tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_ssk.tex} + + +\section{\textbf{TwoTanks}: representation \textbf{smo}, language \textbf{tex}} +\label{sec:TwoTanks_smo.tex} +\index{\textbf{TwoTanks} -- smo} + + +MTT command: +\begin{verbatim} +mtt -o TwoTanks smo tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_smo.tex} + + +\section{\textbf{TwoTanks}: representation \textbf{ssl}, language \textbf{tex}} +\label{sec:TwoTanks_ssl.tex} +\index{\textbf{TwoTanks} -- ssl} + + +MTT command: +\begin{verbatim} +mtt -o TwoTanks ssl tex +\end{verbatim} + \input{/home/peterg/Research/Modelling/Control/StateSpace/TwoTanks/MTT_work/TwoTanks_ssl.tex} ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_rep.txt Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_rep.txt @@ -0,0 +1,21 @@ +# Outline report file for system TwoTanks (TwoTanks_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt TwoTanks abg tex + +mtt -o TwoTanks sm tex +mtt -o TwoTanks tf tex + +mtt -o TwoTanks smc tex +mtt -o TwoTanks ssk tex + +mtt -o TwoTanks smo tex +mtt -o TwoTanks ssl tex + + ADDED mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_simp.r Index: mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Control/SimpleStateSpace/TwoTanks/TwoTanks_simp.r @@ -0,0 +1,10 @@ +%% Reduce comands to simplify output for system TwoTanks (TwoTanks_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Electrical/rc/rc_abg.fig Index: mttroot/mtt/lib/examples/Electrical/rc/rc_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electrical/rc/rc_abg.fig @@ -0,0 +1,63 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 1800 1125 162 162 1800 1125 1890 1260 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1802 4277 2702 4277 2477 4502 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 4277 4052 4277 3827 4502 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4502 4277 5402 4277 5177 4502 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 4051 2926 3151 3151 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 4051 4276 3151 4501 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 4276 2701 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5401 4051 5401 4276 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5401 4276 5401 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 4051 2701 4276 +2 2 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 5 + 2475 585 3375 585 3375 765 2475 765 2475 585 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4050 1215 4500 1215 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4050 1080 4500 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 675 2475 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3375 675 5400 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4275 675 4275 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4275 1215 4275 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 1575 5400 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 945 1800 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 1575 1800 1260 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 5400 1530 5400 765 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6750 5625 6750 225 675 225 675 5625 6750 5625 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 4367 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 4277 4367 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 660 5987 4367 SS:e2\001 +4 1 -1 0 0 0 20 0.0000 4 195 375 2926 2926 R:r\001 +4 1 -1 0 0 0 20 0.0000 4 195 390 4276 2926 C:c\001 +4 1 -1 0 0 0 20 0.0000 4 195 660 1395 4365 SS:e1\001 +4 0 1 1 0 0 20 0.0000 4 135 105 2880 450 r\001 +4 0 1 1 0 0 20 0.0000 4 135 120 4680 1215 c\001 +4 0 1 1 0 0 20 0.0000 4 135 120 5625 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 195 135 5715 1305 2\001 +4 0 1 1 0 0 20 0.0000 4 135 120 1260 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 195 135 1350 1305 1\001 +4 1 1 1 0 0 20 0.0000 4 255 1350 3600 4995 Bond graph\001 +4 1 1 1 0 0 20 0.0000 4 195 1200 3600 2025 Schematic\001 ADDED mttroot/mtt/lib/examples/Electrical/rc/rc_desc.tex Index: mttroot/mtt/lib/examples/Electrical/rc/rc_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electrical/rc/rc_desc.tex @@ -0,0 +1,21 @@ +% Verbal description for system rc (rc_desc.tex) +% Generated by MTT on Sun Aug 24 11:03:55 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/08/24 10:27:18 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{rc} is + displayed in Figure \Ref{rc_abg} and its label + file is listed in Section \Ref{sec:rc_lbl}. + The subsystems are listed in Section \Ref{sec:rc_sub}. + +The system \textbf{rc} is the simple electrical rc circuit shown in +Figure \Ref{rc_abg}. It can be regarded as a single-input +single-output system with input $e_1$ and output $e_2$. ADDED mttroot/mtt/lib/examples/Electrical/rc/rc_lbl.txt Index: mttroot/mtt/lib/examples/Electrical/rc/rc_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electrical/rc/rc_lbl.txt @@ -0,0 +1,32 @@ +%% Label file for system rc (rc_lbl.txt) +%SUMMARY rc +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + +% Argument aliases +%ALIAS $1 c +%ALIAS $2 r + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + c lin effort,c + +% Component type R + r lin flow,r + +% Component type SS + e1 SS external,internal + e2 SS external,0 ADDED mttroot/mtt/lib/examples/Electrical/rc/rc_rep.txt Index: mttroot/mtt/lib/examples/Electrical/rc/rc_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electrical/rc/rc_rep.txt @@ -0,0 +1,26 @@ +## Outline report file for system rc (rc_rep.txt) +mtt rc abg tex +mtt rc struc tex +mtt rc cbg ps +mtt rc ode tex +mtt rc sm tex +mtt rc tf tex +mtt rc sro ps +mtt rc lmfr ps +mtt rc nyfr ps + +mtt rc numpar txt +mtt rc input txt + +## Octave .m form +mtt rc odeso ps + +## Octave .oct form +mtt -oct rc odeso ps + +## c form +mtt -c rc odeso ps + +mtt rc rep txt + + ADDED mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_abg.fig Index: mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_abg.fig @@ -0,0 +1,31 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 900 2925 2475 2925 2250 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2970 2925 4545 2925 4320 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2700 2700 2700 1125 2925 1350 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 2700 2475 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 2925 7200 2925 6975 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7447 2722 7447 1147 7672 1372 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7650 2925 9225 2925 9000 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7650 2700 7650 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7425 3150 7425 4725 7650 4500 +4 1 -1 0 0 0 20 0.0000 4 195 135 2700 3015 1\001 +4 2 -1 0 0 0 20 0.0000 4 195 615 855 3015 SS:V\001 +4 1 -1 0 0 0 20 0.0000 4 195 375 2745 990 R:r\001 +4 1 -1 0 0 0 20 0.0000 4 195 870 5130 3015 CM:cm\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 7425 3015 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 405 7425 1035 C:k\001 +4 0 -1 0 0 0 20 0.0000 4 195 540 9495 3015 SS:v\001 +4 1 -1 0 0 0 20 0.0000 4 195 405 7380 5040 R:d\001 ADDED mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_input.txt Index: mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (Electrostatic_input.txt) +# Generated by MTT at Fri Sep 19 17:34:53 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1.0; # V (Default value) ADDED mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_lbl.txt Index: mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_lbl.txt @@ -0,0 +1,31 @@ +%SUMMARY Electrostatic: Simple electrostatic speaker model (uses CM) +%DESCRIPTION See Karnopp, Margolis & Rosenberg Section 8.2 +%% Label file for system Electrostatic (Electrostatic_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + k lin state,k + +% Component type CM + cm none c_0;x_0;m + +% Component type R + d lin flow,d + r lin flow,r + +% Component type SS + V SS external,internal + v SS 0,external ADDED mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_numpar.txt Index: mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (Electrostatic_numpar.txt) +# Generated by MTT at Fri Sep 19 17:43:25 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_0 = 1.0; # Parameter c_0 for Electrostatic +d = 1.0; # Parameter d for Electrostatic +k = 100.0; # Parameter k for Electrostatic +m = 1.0; # Parameter m for Electrostatic +r = 1.0; # Parameter r for Electrostatic +x_0 = 1.0; # Parameter x_0 for Electrostatic + +# Initial states +x(1) = 0.0; # Initial state for Electrostatic (k) +x(2) = 0.0; # Initial state for Electrostatic_cm (transducer) +x(3) = 1.0; # Initial state for Electrostatic_cm (transducer) +x(4) = 0.0; # Initial state for Electrostatic_cm (mass) ADDED mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_rep.txt Index: mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_rep.txt @@ -0,0 +1,16 @@ +# Outline report file for system Electrostatic (Electrostatic_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt Electrostatic abg tex +mtt Electrostatic struc tex +mtt Electrostatic ode tex +mtt Electrostatic numpar txt +mtt Electrostatic input txt +mtt Electrostatic simpar txt +mtt -c Electrostatic odeso ps ADDED mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_simp.r Index: mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/Electrostatic/Electrostatic_simp.r @@ -0,0 +1,10 @@ +%% Reduce comands to simplify output for system Electrostatic (Electrostatic_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_abg.fig Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_abg.fig @@ -0,0 +1,50 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 6930 405 13770 3600 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8328 2028 9903 2028 9903 2928 8328 2928 8328 2028 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 2475 8190 2475 7965 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11475 2250 11475 1035 11700 1260 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11700 2475 12915 2475 12690 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12915 2250 12915 2700 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 12150 3150 10800 3150 10800 450 12150 450 12150 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10035 2475 11250 2475 11025 2700 +4 1 -1 0 0 0 20 0.0000 4 255 1110 9138 2568 DC:gener\001 +4 1 1 1 0 3 20 0.0000 4 255 1575 9225 3510 DC generator\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 11475 2610 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 675 13410 2610 SS:v2\001 +4 1 -1 0 0 0 20 0.0000 4 255 585 11475 900 R:r_l\001 +4 1 1 1 0 3 20 0.0000 4 210 1575 11475 3510 Resistive load\001 +-6 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1170 2475 2385 2475 2160 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4186 2476 5401 2476 5176 2701 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 13185 4275 13185 225 45 225 45 4275 13185 4275 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 2476 2026 4051 2026 4051 2926 2476 2926 2476 2026 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7245 2925 4950 2925 4950 2025 7245 2025 7245 2925 +4 1 -1 0 0 0 20 0.0000 4 195 1170 3286 2566 DC:motor\001 +4 1 1 1 0 3 20 0.0000 4 195 1155 3285 3510 DC motor\001 +4 1 -1 0 0 0 20 0.0000 4 195 1275 6120 2520 Shaft:shaft\001 +4 1 1 1 0 3 20 0.0000 4 270 1605 6165 3510 Flexible shaft\001 +4 1 4 100 0 18 14 0.0000 4 210 1110 2250 1890 [Electrical]\001 +4 1 4 100 0 18 14 0.0000 4 210 1110 10170 1980 [Electrical]\001 +4 1 4 100 0 18 14 0.0000 4 210 1335 4140 1890 [Mechanical]\001 +4 1 4 100 0 18 14 0.0000 4 210 1335 8325 1980 [Mechanical]\001 +4 1 -1 0 0 0 20 0.0000 4 195 885 675 2565 PSU:v1\001 ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_desc.tex Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_desc.tex @@ -0,0 +1,114 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system MotorGenerator (MotorGenerator_desc.tex) +% Generated by MTT on Thu Nov 16 13:11:36 GMT 2000. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{MotorGenerator} is + displayed in Figure \Ref{fig:MotorGenerator_abg.ps} and its label + file is listed in Section \Ref{sec:MotorGenerator_lbl}. + The subsystems are listed in Section \Ref{sec:MotorGenerator_sub}. + +This example illustates: +\begin{itemize} +\item The reuse of the DC model as both a motor and a generator +\item The assignment of a \emph{domain} and \emph{units} to component ports. +\end{itemize} + +The command: +\begin{verbatim} +mtt -I MotorGenerator ese r +\end{verbatim} +gives the following output (irrelevant parts ommitted) +\begin{verbatim} +MTT (Model Transformation Tools) version 4.8 +($Date$) +This is free software with ABSOLUTELY NO WARRANTY. +Type `mtt warranty' for details. + +Creating MotorGenerator_rbg.m +Creating MotorGenerator_cmp.m +Creating MotorGenerator_fig.fig +Creating MotorGenerator_sabg.fig +Creating MotorGenerator_alias.txt +Creating MotorGenerator_alias.m +Creating MotorGenerator_sub.sh +Copying DC from /home/peterg/mtt_new/mtt-lib/comp/compound/Electromechanical/DC to . +Creating DC_rbg.m +Creating DC_cmp.m +Creating DC_fig.fig +Creating DC_sabg.fig +Creating DC_alias.txt +Creating DC_alias.m +Creating DC_sub.sh +Creating DC_abg.m +Checking port domains and units + domains and units are OK + +... + +Creating PSU_rbg.m +Creating PSU_cmp.m +Creating PSU_fig.fig +Creating PSU_sabg.fig +Creating PSU_alias.txt +Creating PSU_alias.m +Creating PSU_sub.sh +Copying Se from /home/peterg/mtt_new/mtt-lib/comp/compound/General/Se to . +Creating Se_rbg.m +Creating Se_cmp.m +Creating Se_fig.fig +Creating Se_sabg.fig +Creating Se_alias.txt +Creating Se_alias.m +Creating Se_sub.sh +Creating Se_abg.m +Checking port domains and units + no domains or units declared +.... + +Creating PSU_abg.m +Checking port domains and units + domains and units are OK +... + +Creating Shaft_rbg.m +Creating Shaft_cmp.m +Creating Shaft_fig.fig +Creating Shaft_sabg.fig +Creating Shaft_alias.txt +Creating Shaft_alias.m +Creating Shaft_sub.sh +Creating Shaft_abg.m +Checking port domains and units + domains and units are OK +.... + +Creating MotorGenerator_abg.m +Checking port domains and units + no domains or units declared + +Creating MotorGenerator_cbg.m (maximise integral causality) +Creating MotorGenerator_type.sh + ..... +Creating MotorGenerator_ese.r +Creating MotorGenerator_def.r +Creating MotorGenerator_struc.txt +... +INFORMATION: Component MotorGenerator connects ports with units volt and volt +INFORMATION: Component MotorGenerator connects ports with units amp and amp +... +INFORMATION: Component MotorGenerator connects ports with units N*m and N*m +INFORMATION: Component MotorGenerator connects ports with units rad/s and rad/s +... +INFORMATION: Component MotorGenerator connects ports with units N*m and N*m +INFORMATION: Component MotorGenerator connects ports with units rad/s and rad/s +Creating MotorGenerator_aliased.txt +Copying MotorGenerator_ese.r + +\end{verbatim} ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_input.txt Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_input.txt @@ -0,0 +1,17 @@ +# Numerical parameter file (MotorGenerator_input.txt) +# Generated by MTT at Wed Dec 10 08:30:11 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +## Removed by MTT on Wed Nov 15 10:11:43 GMT 2000: u(1) = 1.0; # v1 (Default value) +## Removed by MTT on Thu Nov 16 12:43:01 GMT 2000: motorgenerator_v1 = 1.0; # Added by MTT on Wed Nov 15 10:11:47 GMT 2000 +## Removed by MTT on Thu Nov 16 12:44:08 GMT 2000: motorgenerator_mtt2_1_v_1_u = 1.0; # Added by MTT on Thu Nov 16 12:43:05 GMT 2000 +## Removed by MTT on Thu Nov 16 12:46:31 GMT 2000: motorgenerator_v_1_v_1_u = 1.0; # Added by MTT on Thu Nov 16 12:44:12 GMT 2000 +## Removed by MTT on Mon Dec 4 14:40:32 GMT 2000: motorgenerator_v1_1_v = 1.0; # Added by MTT on Thu Nov 16 12:46:34 GMT 2000 +motorgenerator_v1_1_v_1_u = 1.0; # Added by MTT on Mon Dec 04 14:40:46 GMT 2000 Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_lbl.txt +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_lbl.txt @@ -7,10 +7,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 2000/11/16 09:58:49 peterg +% %% Initial revision +% %% % %% Revision 1.3 2000/05/20 16:38:40 peterg % %% New SS foramt % %% % %% Revision 1.2 1998/04/04 10:51:59 peterg % %% New version using port coercion @@ -32,14 +35,14 @@ v2 SS external,0 %Motor motor lin k_m;l_m;r_m;j_m;b_m -%Shaft compliance -c_s lin effort,c_s +%Shaft +shaft lin c_s %Generator gener lin k_g;l_g;r_g;j_g;b_g % Resistive load r_l lin flow,r_l Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_numpar.txt ================================================================== --- mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_numpar.txt +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_numpar.txt @@ -4,10 +4,13 @@ # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% Version control history # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% $Id$ # %% $Log$ +# %% Revision 1.1 2000/12/04 14:42:47 peterg +# %% Initial revision +# %% # %% Revision 1.1 2000/08/01 12:26:48 peterg # %% Initial revision # %% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -21,7 +24,8 @@ k_m = 1.0; # Parameter k_m for MotorGenerator l_g = 0.1; # Parameter l_g for MotorGenerator l_m = 0.1; # Parameter l_m for MotorGenerator r_g = 0.1; # Parameter r_g for MotorGenerator r_l = 1.0; # Parameter r_l for MotorGenerator -r_m = 0.1; # Parameter r_m for MotorGenerator +## Removed by MTT on Mon Dec 4 14:44:19 GMT 2000: r_m_1 = 0.1; # Parameter r_m for MotorGenerator +r_m = 0.1; # Added by MTT on Mon Dec 04 14:44:44 GMT 2000 ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_rep.txt Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_rep.txt @@ -0,0 +1,33 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system MotorGenerator (MotorGenerator_rep.txt) +## Generated by MTT on" Thu Nov 16 13:37:07 GMT 2000. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt MotorGenerator abg tex # The system description +mtt MotorGenerator cbg ps # The causal bond graph +mtt MotorGenerator struc tex # The system structure +mtt MotorGenerator sympar tex # The system parameters +## Uncomment the following lines or add others +## mtt MotorGenerator dae tex # The system dae +mtt MotorGenerator ode tex # The system ode +## mtt MotorGenerator sspar tex # Steady-state parameters +## mtt MotorGenerator ss tex # Steady state +## mtt MotorGenerator dm tex # Descriptor matrices (of linearised system) +mtt MotorGenerator sm tex # State matrices (of linearised system) +##mtt MotorGenerator tf tex # Transfer function (of linearised system) +## mtt MotorGenerator lmfr ps # log modulus of frequency response (of linearised system) +## mtt MotorGenerator simpar tex # Simulation parameters +## mtt MotorGenerator numpar tex # Numerical simulation parameters +## mtt MotorGenerator state tex # Simulation initial state +## mtt MotorGenerator input tex # Simulation input +## mtt MotorGenerator logic tex # Logic control +mtt MotorGenerator odeso ps # Simulation output + +mtt MotorGenerator rep txt # This file + ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_simpar.txt Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/MotorGenerator_simpar.txt @@ -0,0 +1,19 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system MotorGenerator (MotorGenerator_simpar.txt) +# Generated by MTT on Fri Dec 1 18:03:55 GMT 2000. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +FIRST = 0.0; # First time in simulation output +DT = 0.1; # Print interval +LAST = 10.0; # Last time in simulation +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/PSU_abg.fig Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/PSU_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/PSU_abg.fig @@ -0,0 +1,19 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3780 1710 4860 2025 +4 0 4 100 0 18 18 0.0000 4 270 1065 3780 1935 SS:[out]\001 +-6 +6 1530 675 4995 3015 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 4950 2970 1575 2970 1575 720 4950 720 4950 2970 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2250 1845 3600 1845 3375 2070 +4 1 0 100 0 18 18 0.0000 4 210 570 1890 1935 Se:v\001 ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/PSU_lbl.txt Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/PSU_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/PSU_lbl.txt @@ -0,0 +1,30 @@ +%% Label file for system PSU (PSU_lbl.txt) +%SUMMARY PSU +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%UNITS out electrical volt amp +% Port aliases + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type SS + [out] SS external,external + +% Component type Se + v SS external + ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/Shaft_abg.fig Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/Shaft_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/Shaft_abg.fig @@ -0,0 +1,30 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 1440 405 4410 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 2250 2925 1035 3150 1260 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1486 2476 2701 2476 2476 2701 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 3600 3150 2250 3150 2250 450 3600 450 3600 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 2475 4365 2475 4140 2700 +4 1 -1 0 0 0 20 0.0000 4 195 135 2925 2565 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 2925 900 C:c_s\001 +4 1 1 1 0 3 20 0.0000 4 270 1605 2925 3510 Flexible shaft\001 +-6 +6 540 2340 1440 2655 +4 2 4 100 0 18 18 0.0000 4 270 870 1440 2565 SS:[in]\001 +-6 +6 4455 2340 5535 2655 +4 0 4 100 0 18 18 0.0000 4 270 1065 4455 2565 SS:[out]\001 +-6 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 5850 3825 450 3825 450 225 5850 225 5850 3825 ADDED mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/Shaft_lbl.txt Index: mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/Shaft_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Electromechanical/MotorGenerator/Shaft_lbl.txt @@ -0,0 +1,35 @@ +%% Label file for system Shaft (Shaft_lbl.txt) +%SUMMARY Shaft +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + + +% Unit definitions +%UNITS in rotational N*m rad/s +%UNITS out rotational N*m rad/s + +% Argument aliases +%ALIAS $1 c_s + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type C + c_s lin effort,c_s + +% Component type SS + [in] SS external,external + [out] SS external,external ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_abg.fig Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_abg.fig @@ -0,0 +1,30 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 4 1 7 1 0 -1 0.000 0 0 -1 0 0 4 + 2700 2025 7875 2025 7875 9450 2700 9450 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 6525 5625 7875 5850 7650 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 3780 5625 5130 5850 4905 +2 2 0 2 1 3 1 0 20 0.000 0 0 0 0 0 5 + 2700 5175 7875 5175 7875 6525 2700 6525 2700 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2835 855 2835 5850 3060 5625 +2 2 0 2 1 3 1 0 20 0.000 0 0 0 0 0 5 + 2700 1575 2970 1575 2970 5175 2700 5175 2700 1575 +2 1 1 2 1 7 1 0 -1 6.000 0 0 -1 0 0 2 + 2700 585 2700 9855 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 10125 9450 225 1125 225 1125 10125 9450 10125 +4 1 4 0 0 0 20 0.0000 4 240 3075 5625 8190 [mechanical,mass,thermal]\001 +4 1 -1 0 0 0 30 0.0000 4 300 1950 5625 8595 CG:bottom\001 +4 1 4 0 0 0 20 0.0000 4 255 3885 5625 6345 [mechanical_b,mass_b,thermal_b]\001 +4 1 -1 0 0 0 30 0.0000 4 405 3345 5625 5940 LeakyPiston:piston\001 +4 1 -1 0 0 0 30 0.0000 4 405 1260 5625 3285 CG:top\001 +4 1 4 0 0 0 20 0.0000 4 240 3075 5625 3600 [mechanical,mass,thermal]\001 +4 1 4 0 0 0 20 0.0000 4 255 3750 5625 5400 [mechanical_t,mass_t,thermal_t]\001 +4 1 4 0 0 0 20 0.0000 4 240 750 3375 5895 [shaft]\001 +4 0 -1 0 0 0 20 0.0000 4 195 975 2925 900 SS:shaft\001 ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_desc.tex Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_desc.tex @@ -0,0 +1,28 @@ +% Verbal description for system LeakyCylinder (LeakyCylinder_desc.tex) +% Generated by MTT on Tue Nov 25 17:22:29 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{LeakyCylinder} is + displayed in Figure \Ref{LeakyCylinder_abg} and its label + file is listed in Section \Ref{sec:LeakyCylinder_lbl}. + The subsystems are listed in Section \Ref{sec:LeakyCylinder_sub}. + +This example roughly corresponds to the Example in section 12.4.3 +(Fig. 12.17) of Karnopp, Margolis and Rosenberg (1990). It is a pseudo bond +graph representation based on the ``thermal acummulator'' of section +12.4.1 and the ``isentropic nozzle'' of section 12.4.2 of that book. + + + + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_input.txt Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (LeakyCylinder_input.txt) +# Generated by MTT at Tue Nov 25 17:00:09 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 0.0; # shaft ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_numpar.txt Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (LeakyCylinder_numpar.txt) +# Generated by MTT at Mon Dec 1 08:59:51 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +a_b = 1.0; # Parameter a_b for LeakyCylinder +a_l = 1.0; # Parameter a_l for LeakyCylinder +a_t = 1.0; # Parameter a_t for LeakyCylinder +c_v = 1.0; # Parameter c_v for LeakyCylinder +gamma = 1.0; # Parameter gamma for LeakyCylinder +m_p = 1.0; # Parameter m_p for LeakyCylinder +r = 1.0; # Parameter r for LeakyCylinder + +# Initial states +x(3) = 0.0; # Initial state for LeakyCylinder_bottom (cg) +x(6) = 0.0; # Initial state for LeakyCylinder_top (cg) +x(7) = 0.0; # Initial state for LeakyCylinder_piston_piston (m_p) ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_rep.txt Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_rep.txt @@ -0,0 +1,16 @@ +# Outline report file for system LeakyCylinder (LeakyCylinder_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt LeakyCylinder abg tex +mtt LeakyCylinder struc tex +mtt LeakyCylinder sympar tex +mtt LeakyCylinder ode tex +mtt LeakyCylinder ss tex +mtt LeakyCylinder sm tex +%mtt -c LeakyCylinder odeso ps ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_simp.r Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_simp.r @@ -0,0 +1,10 @@ +%% Reduce comands to simplify output for system LeakyCylinder (LeakyCylinder_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_sspar.r Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyCylinder_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for LeakyCylinder (LeakyCylinder_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyPiston_abg.fig Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyPiston_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyPiston_abg.fig @@ -0,0 +1,54 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6300 3375 6300 4725 6525 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7200 3375 7200 4725 7425 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6300 6075 6300 8122 6525 7897 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7245 6075 7245 8100 7470 7875 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4500 9000 9225 9000 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 450 9000 4050 9000 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 4050 9675 4050 450 450 450 450 9675 4050 9675 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9225 9675 4500 9675 4500 450 9225 450 9225 9675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6300 2925 6300 1575 6525 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7200 2925 7200 1575 7425 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 2925 3150 1575 3375 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 3375 3150 4725 3375 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2056 4711 1101 3756 1101 4074 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 6075 3150 7425 3375 7200 +4 0 4 0 0 0 20 0.0000 4 255 1440 7200 5040 [thermal_in]\001 +4 1 4 0 0 0 20 0.0000 4 255 1110 6300 5040 [mass_in]\001 +4 1 4 0 0 0 20 0.0000 4 255 1260 6300 5895 [mass_out]\001 +4 0 4 0 0 0 20 0.0000 4 255 1590 7200 5895 [thermal_out]\001 +4 0 4 0 0 0 20 0.0000 4 255 1755 7155 8505 SS:[thermal_b]\001 +4 2 4 0 0 0 20 0.0000 4 255 1425 6255 8505 SS:[mass_b]\001 +4 1 1 1 0 0 20 0.0000 4 195 1335 6750 9450 Leak model\001 +4 1 1 1 0 0 20 0.0000 4 195 1515 2250 9405 Piston Model\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 6300 3240 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 7200 3240 0\001 +4 2 4 0 0 0 20 0.0000 4 255 2115 3195 1305 SS:[mechanical_t]\001 +4 2 4 0 0 0 20 0.0000 4 255 1380 6345 1305 SS:[mass_t]\001 +4 0 4 0 0 0 20 0.0000 4 255 1710 7155 1350 SS:[thermal_t]\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3150 3240 0\001 +4 1 4 0 0 0 20 0.0000 4 255 540 3150 5040 [top]\001 +4 1 4 0 0 0 20 0.0000 4 240 750 2070 5040 [shaft]\001 +4 1 4 0 0 0 20 0.0000 4 240 1155 1080 3645 SS:[shaft]\001 +4 2 4 0 0 0 20 0.0000 4 255 2160 3150 7785 SS:[mechanical_b]\001 +4 1 4 0 0 0 20 0.0000 4 240 990 3150 5940 [bottom]\001 +4 1 -1 0 0 0 30 0.0000 4 300 1425 6885 5535 RG:leak\001 +4 1 -1 0 0 0 30 0.0000 4 405 2295 2700 5535 Piston:piston\001 ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyPiston_desc.tex Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyPiston_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/LeakyPiston_desc.tex @@ -0,0 +1,14 @@ +% Verbal description for system LeakyPiston (LeakyPiston_desc.tex) +% Generated by MTT on Fri Nov 28 12:09:15 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{LeakyPiston} is + displayed in Figure \Ref{LeakyPiston_abg} and its label + file is listed in Section \Ref{sec:LeakyPiston_lbl}. + The subsystems are listed in Section \Ref{sec:LeakyPiston_sub}. ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/Piston_abg.fig Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/Piston_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/Piston_abg.fig @@ -0,0 +1,31 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 1575 6075 3150 6300 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 3600 6075 4275 6300 4050 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 4636 6075 5311 6300 5086 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5850 4500 4500 4500 4725 4725 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5905 4281 4950 3326 4950 3645 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 5850 6075 7200 6300 6975 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3375 8100 6975 8100 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6975 8775 6975 900 3375 900 3375 8775 6975 8775 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9945 9225 9945 450 450 450 450 9225 9945 9225 +4 1 -1 0 0 0 20 0.0000 4 255 780 6120 3465 TF:a_t\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 6075 4590 1\001 +4 2 4 0 0 0 20 0.0000 4 240 1155 4905 3240 SS:[shaft]\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 4050 4545 I:m_p\001 +4 1 -1 0 0 0 20 0.0000 4 255 825 6075 5670 TF:a_b\001 +4 2 4 0 0 0 20 0.0000 4 240 1395 6120 7650 SS:[bottom]\001 +4 1 1 1 0 0 20 0.0000 4 195 1515 5175 8505 Piston Model\001 +4 2 4 0 0 0 20 0.0000 4 255 945 6120 1395 SS:[top]\001 ADDED mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/Piston_desc.tex Index: mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/Piston_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/GasDynamics/LeakyCylinder/Piston_desc.tex @@ -0,0 +1,22 @@ +% Verbal description for system Piston (Piston_desc.tex) +% Generated by MTT on Fri Nov 28 12:09:27 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Piston} is + displayed in Figure \Ref{Piston_abg} and its label + file is listed in Section \Ref{sec:Piston_lbl}. + The subsystems are listed in Section \Ref{sec:Piston_sub}. + +The two {\bf TF} components convert pressure to force. The {\bf I} +component represents piston inertia. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_abg.fig Index: mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_abg.fig @@ -0,0 +1,64 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +6 3150 4410 5940 4995 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 3 + 3154 4730 5449 4730 5404 4730 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3379 4730 3154 4955 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3604 4730 3379 4955 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3829 4730 3604 4955 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4054 4730 3829 4955 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4279 4730 4054 4955 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4505 4731 4280 4956 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4730 4731 4505 4956 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4955 4731 4730 4956 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5180 4731 4955 4956 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5405 4731 5180 4956 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 0 0 2.00 120.00 240.00 + 5897 4413 5627 4683 +-6 +1 3 0 2 1 7 1 0 -1 0.0000000 1 0.000 4276 2206 612 612 4276 2206 4636 2701 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 0 0 2.00 120.00 240.00 + 5176 1531 4906 1801 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 2475 5175 3600 5175 3330 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 2250 2925 2250 3150 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 2250 5625 2250 5400 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4275 2070 4275 946 4500 1171 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4275 4050 4275 2475 4500 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4297 4522 4297 5646 4522 5421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6750 3600 7875 3600 7650 3825 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 6300 8775 225 225 225 225 6300 8775 6300 +4 2 -1 0 0 2 20 0.0000000 4 240 2130 2835 2250 R:air_resistance\001 +4 1 -1 0 0 2 20 0.0000000 4 210 150 4276 2341 1\001 +4 1 1 1 0 3 20 0.0000000 4 210 525 5176 1441 Ball\001 +4 0 -1 0 0 2 20 0.0000000 4 270 1365 5760 2340 SS:gravity\001 +4 1 -1 0 0 2 20 0.0000000 4 240 1515 4275 810 I:ball_mass\001 +4 1 -1 0 0 2 20 0.0000000 4 270 1710 4320 5940 CSW:ground\001 +4 1 1 1 0 3 20 0.0000000 4 210 960 6030 4275 Ground\001 +4 1 1 1 0 3 20 0.0000000 4 150 135 4590 3465 v\001 +4 1 1 1 0 3 20 0.0000000 4 150 315 4590 5220 -v\001 +4 1 -1 0 0 2 20 0.0000000 4 210 150 4275 4365 0\001 +4 1 -1 0 0 2 20 0.0000000 4 210 1275 5985 3690 INTF:intf\001 +4 0 -1 0 0 2 20 0.0000000 4 210 585 8010 3690 SS:x\001 ADDED mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_desc.tex Index: mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_desc.tex @@ -0,0 +1,44 @@ +% Verbal description for system Bounce (Bounce_desc.tex) +% Generated by MTT on Wed Jul 2 10:55:51 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Bounce}, togehter with a + schematic diagram is + displayed in Figure \Ref{Bounce_abg} and its label + file is listed in Section \Ref{sec:Bounce_lbl}. + The subsystems are listed in Section \Ref{sec:Bounce_sub}. + +The model uses the {\bf CSW} switched {\bf C} element to simulate +contact with the ground. The corresponding switching function (See +Section \ref{sec:Bounce_input.txt}), is based on the height above the +ground $h$ as follows: +\begin{equation} +i_{sw} = + \begin{cases} + 0 & \text{if $h > 0$}\\ + -1 & \text{if $h \le 0$} + \end{cases} +\end{equation} + +In other words, the component acts as an ideal spring when the ball is +in contact with the ground yet has no effect when the ball is not in +contact with the ground. + +The ball is modelled as a point mass (the \textbf{I} component) and a +linear resistance to motion (the (the \textbf{R} component). + +The system was simulated for 100 time units and the resultant height +is plotted in Figure \ref{fig:Bounce_odeso.ps}. The ball was released at zero +velocity from a height of ten units. The bounce height decreases due to +the effect of the modelled air resistance. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: Index: mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_logic.txt ================================================================== --- mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_logic.txt +++ mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_logic.txt @@ -4,10 +4,13 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +## Revision 1.1 2000/05/18 11:29:58 peterg +## Initial revision +## ############################################################### # Set the switches -bounce_ground= mttx(1)<0; +bounce_ground_1_mtt_switch_logic = (bounce_intf_1_mtt3<0); ADDED mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_numpar.txt Index: mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_numpar.txt @@ -0,0 +1,14 @@ +# Numerical parameter file (Bounce_numpar.txt) +# Generated by MTT at Wed Jul 2 10:47:47 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +k = 100.0; # Ground stiffness +m = 1.0; # Ball mass +r = 1.0; # Air resistance Index: mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_simpar.txt ================================================================== --- mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_simpar.txt +++ mttroot/mtt/lib/examples/Hybrid/Bounce/Bounce_simpar.txt @@ -3,11 +3,14 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +## Revision 1.1 1998/10/01 19:21:04 peterg +## Initial revision +## ############################################################### - +FIRST=0.0; LAST=10.0; -DT=0.001; -STEPFACTOR=100; -METHOD=Implicit; +DT=0.02; +STEPFACTOR=1; + ADDED mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_abg.fig Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_abg.fig @@ -0,0 +1,161 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +6 3513 9498 8733 9858 +6 3513 9498 4953 9813 +6 3513 9498 4233 9768 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3514 9724 3739 9499 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3739 9724 3964 9499 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3964 9724 4189 9499 +-6 +6 4189 9499 4909 9769 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4190 9725 4415 9500 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4415 9725 4640 9500 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4640 9725 4865 9500 +-6 +-6 +6 4864 9499 6304 9814 +6 4864 9499 5584 9769 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4865 9725 5090 9500 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5090 9725 5315 9500 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5315 9725 5540 9500 +-6 +6 5540 9500 6260 9770 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5541 9726 5766 9501 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5766 9726 5991 9501 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 5991 9726 6216 9501 +-6 +-6 +6 6214 9499 6934 9769 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6215 9725 6440 9500 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6440 9725 6665 9500 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6665 9725 6890 9500 +-6 +6 6890 9500 7610 9770 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6891 9726 7116 9501 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 7116 9726 7341 9501 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 7341 9726 7566 9501 +-6 +6 7565 9500 8285 9770 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 7566 9726 7791 9501 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 7791 9726 8016 9501 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 8016 9726 8241 9501 +-6 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3514 9499 8689 9499 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 8242 9727 8467 9502 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 8467 9727 8692 9502 +-6 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4727 2072 4727 3647 4952 3422 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6077 2072 6077 3647 6302 3422 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 3647 4952 3647 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5852 3647 6302 3647 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7202 3647 7652 3647 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 8823 4728 10398 4953 10173 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4501 6571 2926 6571 3151 6796 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2251 6797 2251 8372 2476 8147 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9923 6774 9923 8349 10148 8124 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5851 4771 6301 4771 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 8372 4726 6797 4951 7022 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4501 6346 4501 6796 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7651 6346 7651 6796 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7629 6571 9204 6571 8979 6796 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 6347 4726 4772 4951 4997 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2521 4186 4096 4186 3871 4411 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4096 3961 4096 4411 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 4770 7426 6345 7651 6120 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 6795 7426 8370 7651 8145 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8101 4186 9676 4186 9451 4411 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8101 3961 8101 4411 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 3647 7426 2072 7651 2297 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6076 4772 6076 6347 6301 6122 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 8820 7426 10395 7651 10170 +2 2 0 2 1 3 1 0 20 0.000 0 0 0 0 0 5 + 3827 3422 8327 3422 8327 4997 3827 4997 3827 3422 +2 1 0 3 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 3.00 180.00 360.00 + 9226 2521 8371 3196 +2 1 0 3 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 3.00 180.00 360.00 + 11458 7718 10603 8393 +2 1 0 3 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 3.00 180.00 360.00 + 701 7685 1556 8360 +4 1 -1 0 0 2 20 0.0000000 4 210 1470 2115 6660 INTF:intfL\001 +4 1 -1 0 0 2 20 0.0000000 4 210 1215 6077 4322 ROD:rod\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 6077 3962 [p7]\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 6077 4637 [p8]\001 +4 1 -1 0 0 2 20 0.0000000 4 210 150 4727 6662 1\001 +4 1 -1 0 0 2 20 0.0000000 4 210 150 7427 6662 1\001 +4 1 -1 0 0 2 20 0.0000000 4 210 150 4728 8688 0\001 +4 1 -1 0 0 2 20 0.0000000 4 270 1905 4728 10713 CSW:groundL\001 +4 1 -1 0 0 2 20 0.0000000 4 210 150 7428 8688 0\001 +4 1 -1 0 0 2 20 0.0000000 4 270 1365 6077 6662 SS:gravity\001 +4 1 -1 0 0 2 20 0.0000000 4 210 795 10217 4277 SS:aR\001 +4 1 -1 0 0 2 20 0.0000000 4 210 1485 10126 6661 INTF:intfR\001 +4 1 -1 0 0 2 20 0.0000000 4 210 795 2251 8641 SS:hL\001 +4 1 -1 0 0 2 20 0.0000000 4 210 810 9946 8641 SS:hR\001 +4 1 -1 0 0 2 20 0.0000000 4 210 795 6077 1937 SS:xC\001 +4 1 -1 0 0 2 20 0.0000000 4 270 1920 7426 10711 CSW:groundR\001 +4 1 -1 0 0 2 20 0.0000000 4 210 780 4727 1937 SS:xL\001 +4 1 -1 0 0 2 20 0.0000000 4 210 795 7427 1937 SS:xR\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 4727 3962 [p3]\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 7427 3962 [p4]\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 4727 4637 [p5]\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 7426 4636 [p6]\001 +4 1 -1 0 0 2 20 0.0000000 4 210 780 2026 4276 SS:aL\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 4411 4276 [p1]\001 +4 1 4 0 0 2 20 0.0000000 4 240 360 7876 4321 [p2]\001 +4 0 1 1 0 3 30 0.0000000 4 300 1470 5311 10171 Ground\001 +4 0 1 1 0 3 30 0.0000000 4 390 2685 8326 2476 Bouncing Rod\001 +4 0 1 1 0 3 30 0.0000000 4 390 3315 11026 7651 Height of right tip\001 +4 2 1 1 0 3 30 0.0000000 4 390 3000 1800 7515 Height of left tip\001 ADDED mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_logic.txt Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_logic.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_logic.txt @@ -0,0 +1,17 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system BouncingRod (BouncingRod_logic.txt) +# Generated by MTT on Thu May 18 12:14:35 BST 2000. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the switches +## Removed by MTT on Mon Dec 4 08:30:13 GMT 2000: bouncingrod_groundl= (x(3)<=0); +## Removed by MTT on Mon Dec 4 08:30:13 GMT 2000: bouncingrod_groundr= (x(4)<=0); + +bouncingrod_groundl_1_mtt_switch_logic = (x(3)<=0); +bouncingrod_groundr_1_mtt_switch_logic = (x(4)<=0); + Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_numpar.txt ================================================================== --- mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_numpar.txt +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_numpar.txt @@ -4,30 +4,21 @@ # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% Version control history # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% $Id$ # %% $Log$ +# %% Revision 1.1 1997/07/06 16:17:27 peterg +# %% Initial revision +# %% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -float theta,height; - # Parameters -epsilon = 0.1; +epsilon = 0.01; l = 1.0; # Default value m = 1.0; # Default value j = l*l*m/3; - -theta = 3.1416/4; -height = 10.0; - -# Initial states -x(1) = 0.0; # Initial state for BouncingRod_groundL (MTT_SWITCH) -x(2) = 0.0; # Initial state for BouncingRod_groundR (MTT_SWITCH) -x(3) = height+l*cos(theta); # Initial state for BouncingRod_intfL (3) -x(4) = height-l*cos(theta); # Initial state for BouncingRod_intfR (3) -x(5) = 0.0; # Initial state for BouncingRod_rod (J) -x(6) = 0.0; # Initial state for BouncingRod_rod (m_x) -x(7) = 0.0; # Initial state for BouncingRod_rod (m_y) -x(8) = theta; # Initial state for BouncingRod_rod_th (3) +## Declare pi +pi = 3.142; + Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_rep.txt +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_rep.txt @@ -3,16 +3,20 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1997/07/06 16:20:44 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -mtt -s -o -c BouncingRod abg tex -mtt -s -o -c BouncingRod struc tex -mtt -s -o -c BouncingRod ode tex -mtt -s -o -c BouncingRod odes h -mtt -s -o -c BouncingRod numpar txt -mtt -s -o -c BouncingRod input txt -mtt -s -o -c BouncingRod odeso ps +mtt BouncingRod abg tex +mtt BouncingRod struc tex +mtt BouncingRod ode tex +mtt BouncingRod numpar txt +mtt BouncingRod input txt +mtt BouncingRod logic txt +mtt -c BouncingRod odeso ps + Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_simpar.txt ================================================================== --- mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_simpar.txt +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_simpar.txt @@ -3,11 +3,15 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +## Revision 1.1 1999/12/21 08:07:38 peterg +## Initial revision +## ############################################################### -LAST=100.0; -DT=0.1; -STEPFACTOR=100; +LAST=20; +DT=0.01; +STEPFACTOR=1; + ADDED mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_state.txt Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/BouncingRod_state.txt @@ -0,0 +1,27 @@ +# Initial state file (BouncingRod_state.txt) +# Generated by MTT at Sun Jul 26 12:19:13 BST 1998 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +# Set the states +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(1) = 0.0; # MTT_SWITCH (BouncingRod_groundL) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(2) = 0.0; # MTT_SWITCH (BouncingRod_groundR) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(3) = 10+sin(pi/4); # 3 (BouncingRod_intfL) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(4) = 10-sin(pi/4); # 3 (BouncingRod_intfR) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(5) = 0.0; # J (BouncingRod_rod) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(6) = 0.0; # m_x (BouncingRod_rod) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(7) = 0.0; # m_y (BouncingRod_rod) +## Removed by MTT on Mon Dec 4 08:27:53 GMT 2000: mttx(8) = pi/4; # 3 (BouncingRod_rod_th) +bouncingrod_groundl_1_mtt_switch = 0.0; # Added by MTT on Mon Dec 04 08:27:59 GMT 2000 +bouncingrod_groundr_1_mtt_switch = 0.0; # Added by MTT on Mon Dec 04 08:27:59 GMT 2000 +bouncingrod_intfl_1_mtt3 = 10+sin(pi/4); +bouncingrod_intfr_1_mtt3 = 10-sin(pi/4); +bouncingrod_rod_1_j = 0.0; # Added by MTT on Mon Dec 04 08:27:59 GMT 2000 +bouncingrod_rod_1_m_x = 0.0; # Added by MTT on Mon Dec 04 08:27:59 GMT 2000 +bouncingrod_rod_1_m_y = 0.0; # Added by MTT on Mon Dec 04 08:27:59 GMT 2000 +bouncingrod_rod_1_th_1_mtt3 = pi/4; ADDED mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_abg.fig Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_abg.fig @@ -0,0 +1,125 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 4278 5403 4953 5178 4953 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 6078 5403 5403 5403 5628 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 2702 4277 3827 4052 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 7652 4277 6527 4277 6752 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 3600 675 2250 675 2250 9675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 4 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 5850 990 5850 990 4500 10125 4500 10125 5850 +2 4 0 1 4 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 4 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2700 5625 2700 5400 1800 6300 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 5401 5625 9001 5850 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 7875 2925 9000 3195 8730 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8325 7875 8325 9000 8595 8730 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8550 5400 9450 6300 9225 6300 +4 1 -1 0 0 0 20 0.0000 4 195 135 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 270 6933 5268 I:J\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000 4 255 660 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000 4 195 1110 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1110 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000 4 195 1095 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1095 7156 6391 EMTF:s2\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 8372 1217 SS:[p5]\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 5671 9361 SS:[p2]\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 8417 9362 SS:[p6]\001 +4 1 5 0 0 0 20 0.0000 4 195 135 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000 4 210 270 4501 4456 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 4501 3781 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 3826 4051 [mod]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 6751 4456 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 6751 3781 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 6301 4006 [mod]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 6751 6076 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 6751 6706 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 6211 6526 [mod]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 4591 5896 [in]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 4591 6841 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 3916 6526 [mod]\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 2971 1216 SS:[p3]\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 5671 1216 SS:[p1]\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 2971 9361 SS:[p4]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 4411 5446 [out]\001 +4 1 26 0 0 0 16 0.0000 4 210 270 4906 5446 [in]\001 +4 1 5 0 0 0 20 0.0000 4 195 960 4681 5266 INTF:th\001 +4 1 1 1 0 0 20 0.0000 4 195 210 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000 4 135 180 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000 4 195 210 8280 9990 Y\001 +4 1 4 1 0 0 20 0.0000 4 255 390 1350 2700 Tip\001 +4 1 4 1 0 0 20 0.0000 4 255 390 1350 9855 Tip\001 +4 1 4 1 0 0 20 0.0000 4 195 1380 1080 6120 Mass centre\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 1710 6615 SS:[p7]\001 +4 1 -1 0 0 0 20 0.0000 4 240 720 9495 6570 SS:[p8]\001 ADDED mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_desc.tex Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_desc.tex @@ -0,0 +1,17 @@ +% Verbal description for system ROD (ROD_desc.tex) +% Generated by MTT on Fri Jul 4 10:30:17 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{ROD} is + displayed in Figure \Ref{ROD_abg} and its label + file is listed in Section \Ref{sec:ROD_lbl}. + The subsystems are listed in Section \Ref{sec:ROD_sub}. + + +This is a special version just for this problem. Index: mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_lbl.txt +++ mttroot/mtt/lib/examples/Hybrid/BouncingRod/ROD_lbl.txt @@ -3,12 +3,13 @@ %DESCRIPTION Port [2]: Angular torque/velocity - end 2 %DESCRIPTION Port [3]: x force/velocity - end 1 %DESCRIPTION Port [4]: x force/velocity - end 2 %DESCRIPTION Port [5]: y force/velocity - end 1 %DESCRIPTION Port [6]: y force/velocity - end 2 -%DESCRIPTION Port [7]: x force/velocity - mass centre -%DESCRIPTION Port [8]: x force/velocity - mass centre +%DESCRIPTION Port [7]: x force/velocity - centre +%DESCRIPTION Port [8]: y force/velocity - centre +%DESCRIPTION %DESCRIPTION Parameter 1: length from end 1 to mass centre %DESCRIPTION Parameter 2: length from end 2 to mass centre %DESCRIPTION Parameter 3: inertia about mass centre %DESCRIPTION Parameter 4: mass %DESCRIPTION See Section 10.2 of "Metamodelling" @@ -21,10 +22,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% Revision 1.1 1996/11/07 10:57:17 peterg +% Initial revision +% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -42,7 +46,15 @@ s1 lsin flow,$1 s2 lsin flow,$2 c1 lcos flow,$1 c2 lcos flow,$2 - +% ports +[p1] SS external,external +[p2] SS external,external +[p3] SS external,external +[p4] SS external,external +[p5] SS external,external +[p6] SS external,external +[p7] SS external,external +[p8] SS external,external ADDED mttroot/mtt/lib/examples/Hybrid/Clutch/Clutch_abg.fig Index: mttroot/mtt/lib/examples/Hybrid/Clutch/Clutch_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Clutch/Clutch_abg.fig @@ -0,0 +1,23 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 4726 3376 4726 2026 2476 2026 2476 3376 4726 3376 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8101 3376 8101 2026 5851 2026 5851 3376 8101 3376 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11476 3376 11476 2026 9226 2026 9226 3376 11476 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4501 2701 6076 2701 5941 2836 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 2701 9451 2701 9316 2836 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1126 2701 2701 2701 2566 2836 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11925 5400 11925 225 225 225 225 5400 11925 5400 +4 1 -1 0 0 0 20 0.0000 4 195 1170 3511 2791 DC:motor\001 +4 1 -1 0 0 0 20 0.0000 4 195 1140 10306 2791 Load:load\001 +4 1 -1 0 0 0 20 0.0000 4 195 1290 7021 2791 Drive:drive\001 +4 1 -1 0 0 0 20 0.0000 4 195 525 765 2790 SS:e\001 ADDED mttroot/mtt/lib/examples/Hybrid/Clutch/Clutch_desc.tex Index: mttroot/mtt/lib/examples/Hybrid/Clutch/Clutch_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Clutch/Clutch_desc.tex @@ -0,0 +1,25 @@ +% Verbal description for system Clutch (Clutch_desc.tex) +% Generated by MTT on Thu Jul 3 13:57:59 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Clutch} is displayed in + Figure \Ref{Clutch_abg} and its label file is listed in Section + \Ref{sec:Clutch_lbl}. The subsystems are listed in Section + \Ref{sec:Clutch_sub}. The details of the DC motor and the load are + hidden behind a word bond graph so as to focus on the clutch + mechanism as modelled by the \textbf{CSW} component. + It is natural to model the clutch shaft by a +compliance to absorb the shock of engaging the clutch; therefore the +drive model contains a \textbf{CSW} component. + + +Figure \ref{fig:Clutch_odeso.ps}, shows the angular velocities of the motor +and load. The clutch is engaged from time $t$ given by $0 10$} + \end{cases} +\end{equation} +and the leak resistance is linear with flow resistance 5. + + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Hybrid/Weirs/Weirs_numpar.txt Index: mttroot/mtt/lib/examples/Hybrid/Weirs/Weirs_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Weirs/Weirs_numpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (Weirs_numpar.txt) +# Generated by MTT at Tue Mar 2 07:55:47 GMT 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_1 = 1.0; # Weirs +c_2 = 1.0; # Weirs +c_3 = 1.0; # Weirs +epsilon_i = 0.01; # weir +epsilon_r = 0.1; # weir +r_l = 5.0; # Weirs ADDED mttroot/mtt/lib/examples/Hybrid/Weirs/weir_abg.fig Index: mttroot/mtt/lib/examples/Hybrid/Weirs/weir_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Weirs/weir_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1350 2025 2475 2025 2250 2250 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 1800 2700 675 2925 900 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2700 2250 2700 3375 2925 3150 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2925 2025 4050 2025 3825 2250 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4500 2025 5625 2025 5400 2250 +4 1 0 100 0 0 20 0.0000 4 195 150 2700 2115 1\001 +4 1 0 100 0 0 20 0.0000 4 210 1065 2700 585 ISW:isw\001 +4 1 0 100 0 0 20 0.0000 4 195 390 2700 3690 R:r\001 +4 1 0 100 0 0 20 0.0000 4 255 870 765 2115 SS:[in]\001 +4 1 0 100 0 0 20 0.0000 4 255 1020 6255 2115 SS:[out]\001 +4 1 0 100 0 0 20 0.0000 4 195 150 4275 2115 1\001 ADDED mttroot/mtt/lib/examples/Hybrid/Weirs/weir_lbl.txt Index: mttroot/mtt/lib/examples/Hybrid/Weirs/weir_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Hybrid/Weirs/weir_lbl.txt @@ -0,0 +1,37 @@ +%% Label file for system weir (weir_lbl.txt) +%SUMMARY weir +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in in +%ALIAS out out + +% Argument aliases +%ALIAS $1 r + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type ISW + isw lin effort,epsilon_i + +% Component type R + r lin flow,epsilon_r + +% Component type SS + [in] SS external,external + [out] SS external,external + + ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/Make Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/Make ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/Make @@ -0,0 +1,7 @@ +%Makes the figures for the paper/report. +mtt macmic cbg ps +mtt imacmic cbg ps +mtt imacmic sm m +mtt imacmic numpar m + +octave figures.m ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/figures.m Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/figures.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/figures.m @@ -0,0 +1,56 @@ +% Set up the parameters +imacmic_numpar; + +% Range of damping for the macro controller +D_1 = [0:0.1:2]; + +% Compute the damping factor d and save in arrray DD +% -- uses zeros of system +% $$$ DD = []; +% $$$ for d_1 = D_1 +% $$$ [A,B,C,D] = macmic_dm(m_1,m_2,b_1,b_2,k_2,k_t,b_t,b_3,m_3,p_1,d_1); +% $$$ zz = ss2zp(A,B,C,D,1); +% $$$ z = (zz(:,2)); +% $$$ re = sort(real(z)); +% $$$ im = sort(imag(z)); +% $$$ d = -re./sqrt(re.^2 + im.^2); +% $$$ d = sort(d); +% $$$ DD = [DD d]; +% $$$ end; +% $$$ +% $$$ plot(D_1,min(DD)); grid +% $$$ xlabel('Derivative gain'); +% $$$ ylabel('Damping factor'); +% $$$ +% $$$ + +% Compute the damping factor d and save in arrray DD +% -- uses poles of inverse system +DD1 = []; +for d_1 = D_1 + [A] = imacmic_sm; + z = eig(A); + + re = (real(z)); + im = (imag(z)); + d = -re./sqrt(re.^2 + im.^2); + d = sort(d); + DD1 = [DD1 d]; +end; +minDD1 = min(DD1); + +plot(D_1,minDD1); grid +xlabel('Derivative gain'); +ylabel('Damping factor'); + +Maximum_Damping = max(minDD1) +index = minDD1 == Maximum_Damping*ones(size(minDD1)); +Opt_gain = index*D_1' + +% Plot on disk +set term postscript +set output "damping.ps" +plot(D_1,minDD1); grid + + + ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_abg.fig @@ -0,0 +1,151 @@ +#FIG 3.2 +Portrait +Center +Inches +A4 +100.00 +Single +-2 +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2706 4806 3606 4806 3456 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2406 5106 2406 6006 2556 5856 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3906 5106 3906 6006 4056 5856 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7208 4808 8108 4808 7958 4958 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8708 4808 9608 4808 9458 4958 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8408 5108 8408 6008 8558 5858 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7208 4508 8108 3608 8108 3833 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8708 3608 9608 4508 9383 4508 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9909 5109 9909 6009 10059 5859 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6908 5108 6908 6008 7058 5858 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8405 2405 8405 3305 8555 3155 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11407 5107 11407 6007 11557 5857 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11406 3306 11406 2406 11556 2556 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4206 4806 5106 4806 4956 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5406 5106 5406 6006 5556 5856 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4206 4506 5106 3606 5106 3831 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5405 3305 5405 2405 5555 2555 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2405 3305 2405 2405 2555 2555 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11707 4807 12607 4807 12457 4957 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11707 3607 12607 4507 12382 4507 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2105 1805 2105 905 2255 1055 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2705 1805 2705 905 2855 1055 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5706 4806 6606 4806 6456 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5706 3606 6606 4506 6381 4506 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2704 3604 3604 4504 3379 4504 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1208 4808 2108 4808 1958 4958 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1208 4508 2108 3608 2108 3833 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 681 3606 1131 3606 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 906 4506 906 3606 1056 3756 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12905 4505 12905 3605 13055 3755 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10207 4807 11107 4807 10957 4957 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10207 4507 11107 3607 11107 3832 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8400 3300 8625 3300 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12900 3600 13125 3600 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12675 4500 12900 4500 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8175 2400 8400 2400 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 1501 5401 301 5401 301 3001 1501 3001 1501 5401 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 3300 2700 1500 2700 1500 450 3300 450 3300 2700 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 3000 6600 1800 6600 1800 3000 3000 3000 3000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 4501 6601 3301 6601 3301 3901 4501 3901 4501 6601 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 6000 6600 4800 6600 4800 1800 6000 1800 6000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 7501 6601 6301 6601 6301 3901 7501 3901 7501 6601 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9000 6600 7800 6600 7800 1800 9000 1800 9000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 10501 6601 9301 6601 9301 3901 10501 3901 10501 6601 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 12000 6600 10800 6600 10800 1800 12000 1800 12000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 13501 5401 12301 5401 12301 3001 13501 3001 13501 5401 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 11700 4575 11700 4800 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 12600 4800 12600 5025 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 10200 4575 10200 4800 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 11100 4800 11100 5025 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 9600 4500 9450 4650 +2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 8700 3600 8850 3450 +4 1 -1 0 0 0 20 0.0000 4 195 150 2406 4881 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 585 3906 6381 I:m1\001 +4 1 -1 0 0 0 20 0.0000 4 210 585 2405 6380 R:b1\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 2405 3680 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 3906 4881 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 8408 4883 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 8408 3683 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 585 8483 6383 R:b3\001 +4 1 -1 0 0 0 20 0.0000 4 210 675 8407 2182 SS:f2\001 +4 1 -1 0 0 0 20 0.0000 4 195 585 9906 6381 I:m3\001 +4 1 -1 0 0 0 20 0.0000 4 195 585 6905 6380 I:m2\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 11407 4882 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 11407 3682 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 525 11406 2181 C:kt\001 +4 1 -1 0 0 0 20 0.0000 4 210 525 11482 6382 R:bt\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 5406 4881 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 5406 3681 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 585 5481 6381 R:b2\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 12909 4884 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 6908 4883 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 2404 2179 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 585 2779 754 C:p1\001 +4 1 -1 0 0 0 20 0.0000 4 210 585 2104 754 R:d1\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 910 4885 1\001 +4 1 -1 0 0 0 20 0.0000 4 210 675 902 3377 SS:fb\001 +4 1 -1 0 0 0 20 0.0000 4 210 615 12905 3380 SS:ft\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 9909 4884 1\001 +4 1 -1 0 0 0 20 0.0000 4 210 585 5405 2180 C:k2\001 +4 1 1 1 0 3 20 0.0000 4 210 1455 900 5700 Macro base\001 +4 1 1 1 0 3 20 0.0000 4 210 1800 2401 376 Macro control\001 +4 1 1 1 0 3 20 0.0000 4 195 1950 2400 6900 Macro actuator\001 +4 1 1 1 0 3 20 0.0000 4 195 1530 3900 3825 Macro mass\001 +4 1 1 1 0 3 20 0.0000 4 195 1470 6900 3825 Micro mass\001 +4 1 1 1 0 3 20 0.0000 4 270 1890 5400 1650 Compliant link\001 +4 1 1 1 0 3 20 0.0000 4 195 1890 8475 1650 Micro actuator\001 +4 1 1 1 0 3 20 0.0000 4 255 1125 9900 3825 Tip mass\001 +4 1 1 0 0 3 20 0.0000 4 270 2985 11400 1650 Compliant environment\001 +4 1 -1 0 0 0 20 0.0000 4 255 1275 12901 5701 Tip sensor\001 ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_desc.tex @@ -0,0 +1,31 @@ +% Verbal description for system iMacroMicro (iMacroMicro_desc.tex) +% Generated by MTT on Tue Dec 9 18:13:04 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1999/02/22 22:24:27 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{iMacroMicro} is + displayed in Figure \Ref{iMacroMicro_abg} and its label + file is listed in Section \Ref{sec:iMacroMicro_lbl}. + The subsystems are listed in Section \Ref{sec:iMacroMicro_sub}. + +This is a Bond Graph model of the macro-micro manipulation system +discussed by Sharon in his thesis and by Sharon, Hogan and Hardt in +various papers. The micro loop is inverted whilst leaving the macro +control in place. This {\em partial inverse\/} gives information about +the {\em zero dynamics\/} of the micro control system with the +particular macro controller in place and allows desidn of the macro +controller to ease the design of the micro controller. + + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_lbl.txt @@ -0,0 +1,32 @@ +%% Label file (macmic_lbl.txt) +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Masses +m1 lin flow,m_1 +m2 lin flow,m_2 +m3 lin flow,m_3 + +%Springs +k2 lin state,k_2 +kt lin state,k_t + +%Dampers +b1 lin flow,b_1 +b2 lin flow,b_2 +b3 lin flow,b_3 +bt lin flow,b_t + +%Source/sensors +f2 SS external,internal +ft SS external,0 +fb SS internal,0 + +%Control +p1 lin flow,p_1 +d1 lin flow,d_1 + + + ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_numpar.txt @@ -0,0 +1,11 @@ +m_1 = 0.0169; # m_1; +m_2 = 0.0169; # m_2; +b_1 = 0.13; # b_1; +b_2 = 0.013; # b_2; +k_2 = 24; # k_2; +k_t = 150; # k_t; +b_t = 0.16; # b_t; +b_3 = 0.13; # b_3; +m_3 = 0.005; # m_3; +p_1 = 10; # p_1; +d_1 = 0.9; # d_1; ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_rep.txt @@ -0,0 +1,21 @@ +# Outline report file for system iMacroMicro (iMacroMicro_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt iMacroMicro abg tex +mtt iMacroMicro cbg ps +mtt iMacroMicro struc tex +mtt iMacroMicro dae tex +mtt iMacroMicro dm tex +mtt iMacroMicro tf tex +mtt iMacroMicro numpar txt +mtt iMacroMicro lmfr ps +mtt iMacroMicro lpfr ps +%mtt iMacroMicro sro ps +%mtt -c iMacroMicro odeso ps + ADDED mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_simpar.txt Index: mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iMacroMicro/iMacroMicro_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system iMacroMicro (iMacroMicro_simpar.txt) +# Generated by MTT on Wed Nov 18 10:08:20 GMT 1998. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 10.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -2; # Minimum frequency = 10^WMIN +WMAX = 4; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_abg.fig @@ -0,0 +1,64 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3903 2403 4803 2403 4653 2553 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5403 2403 6303 2403 6153 2553 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 2103 3603 1203 3753 1353 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2702 3002 3302 2402 3302 2627 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3905 4201 4805 4201 4655 4351 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5405 4201 6305 4201 6155 4351 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3605 4501 3605 5401 3755 5251 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2702 3602 3302 4202 3077 4202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7803 3302 8703 3302 8553 3452 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1203 3302 2103 3302 1953 3452 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2101 3076 2101 3301 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2101 3301 2101 3526 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8701 3076 8701 3301 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8701 3301 8701 3526 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5103 2103 5103 1203 5253 1353 +2 4 1 2 -1 7 0 0 -1 6.000 0 0 7 0 0 5 + 5700 3000 5700 600 3000 600 3000 3000 5700 3000 +2 4 1 2 -1 7 0 0 -1 6.000 0 0 7 0 0 5 + 5700 6000 5700 3600 3000 3600 3000 6000 5700 6000 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 4200 7650 3600 7650 3825 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7052 2402 7652 3002 7427 3002 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5100 4500 5100 5400 5250 5250 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4800 4501 4164 5137 4376 5137 +4 1 -1 0 0 0 20 0.0000 4 195 135 3603 2478 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5103 2478 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 3602 1052 R:r_s\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2402 3377 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3603 4278 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5103 4278 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 690 6603 4278 AE:m\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 3603 5778 R:r_f\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 7577 3377 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 660 751 3376 SS:e1\001 +4 1 -1 0 0 0 20 0.0000 4 195 660 9151 3376 SS:e2\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 5102 1052 C:c_s\001 +4 1 -1 0 0 0 20 0.0000 4 255 1440 4200 375 Slow system\001 +4 1 -1 0 0 0 20 0.0000 4 255 1350 4200 6450 Fast system\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 6678 2478 AE:p\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 5104 5779 C:c_f\001 +4 1 -1 0 0 0 20 0.0000 4 195 375 4203 5478 R:r\001 ADDED mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_desc.tex @@ -0,0 +1,21 @@ +% Verbal description for system NMP (NMP_desc.tex) +% Generated by MTT on Tue Dec 9 17:34:06 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{NMP} is + displayed in Figure \Ref{NMP_abg} and its label + file is listed in Section \Ref{sec:NMP_lbl}. + The subsystems are listed in Section \Ref{sec:NMP_sub}. + +This is a simple non-minimum phase system with an inverse-type +response. It is the standard fast negative and slow positive systems +in parallel. The corresponding inverse system \textbf{iNMP} is +unstable. + + ADDED mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_numpar.txt @@ -0,0 +1,17 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (NMP_numpar.txt) +# Generated by MTT at Thu Oct 8 09:25:16 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_f = 0.5; # NMP +c_s = 1.0; # NMP +r = 1.0; # NMP +r_f = 1.0; # NMP +r_s = 1.0; # NMP ADDED mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/NMP/NMP_rep.txt @@ -0,0 +1,18 @@ +# Outline report file for system NMP (NMP_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt NMP abg tex +mtt NMP struc tex +mtt NMP ode tex +mtt NMP sm tex +mtt NMP tf tex + +mtt NMP sro ps +mtt NMP lmfr ps +mtt NMP lpfr ps ADDED mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_abg.fig @@ -0,0 +1,68 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3903 2403 4803 2403 4653 2553 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5403 2403 6303 2403 6153 2553 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 2103 3603 1203 3753 1353 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2702 3002 3302 2402 3302 2627 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3905 4201 4805 4201 4655 4351 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5405 4201 6305 4201 6155 4351 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3605 4501 3605 5401 3755 5251 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2702 3602 3302 4202 3077 4202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7803 3302 8703 3302 8553 3452 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1203 3302 2103 3302 1953 3452 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2101 3301 2101 3526 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8701 3301 8701 3526 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5103 2103 5103 1203 5253 1353 +2 4 1 2 -1 7 0 0 -1 6.000 0 0 7 0 0 5 + 5700 3000 5700 600 3000 600 3000 3000 5700 3000 +2 4 1 2 -1 7 0 0 -1 6.000 0 0 7 0 0 5 + 5700 6000 5700 3600 3000 3600 3000 6000 5700 6000 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 4200 7650 3600 7650 3825 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7052 2402 7652 3002 7427 3002 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5100 4500 5100 5400 5250 5250 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4800 4501 4164 5137 4376 5137 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1200 3075 1200 3300 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7800 3075 7800 3300 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6300 2400 6300 2625 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5400 2175 5400 2400 +4 1 -1 0 0 0 20 0.0000 4 195 135 3603 2478 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5103 2478 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 3602 1052 R:r_s\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 2402 3377 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3603 4278 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5103 4278 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 690 6603 4278 AE:m\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 3603 5778 R:r_f\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 7577 3377 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 660 751 3376 SS:e1\001 +4 1 -1 0 0 0 20 0.0000 4 195 660 9151 3376 SS:e2\001 +4 1 -1 0 0 0 20 0.0000 4 255 630 5102 1052 C:c_s\001 +4 1 -1 0 0 0 20 0.0000 4 255 1440 4200 375 Slow system\001 +4 1 -1 0 0 0 20 0.0000 4 255 1350 4200 6450 Fast system\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 6678 2478 AE:p\001 +4 1 -1 0 0 0 20 0.0000 4 255 615 5104 5779 C:c_f\001 +4 1 -1 0 0 0 20 0.0000 4 195 375 4203 5478 R:r\001 ADDED mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_desc.tex @@ -0,0 +1,21 @@ +% Verbal description for system iNMP (iNMP_desc.tex) +% Generated by MTT on Tue Dec 9 17:34:06 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{iNMP} is + displayed in Figure \Ref{iNMP_abg} and its label + file is listed in Section \Ref{sec:iNMP_lbl}. + The subsystems are listed in Section \Ref{sec:iNMP_sub}. + +This is a simple non-minimum phase system with an inverse-type +response. It is the standard fast negative and slow positive systems +in parallel. The corresponding inverse system \textbf{iiNMP} is +unstable. + + ADDED mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_numpar.txt @@ -0,0 +1,17 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (NMP_numpar.txt) +# Generated by MTT at Thu Oct 8 09:25:16 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_f = 0.5; # NMP +c_s = 1.0; # NMP +r = 1.0; # NMP +r_f = 1.0; # NMP +r_s = 1.0; # NMP ADDED mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iNMP/iNMP/iNMP_rep.txt @@ -0,0 +1,17 @@ +# Outline report file for system iNMP (iNMP_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt iNMP abg tex +mtt iNMP struc tex +mtt iNMP ode tex +mtt iNMP dm tex +mtt iNMP tf tex + +mtt iNMP lmfr ps +mtt iNMP lpfr ps ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_abg.fig @@ -0,0 +1,54 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2475 3600 3375 3600 3150 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3375 5175 2475 5400 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8325 3376 8325 2476 8550 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 3600 4950 3600 4725 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7200 3601 8100 3601 7875 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3600 4050 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6525 3780 6525 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 3600 6525 3600 6300 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3345 3600 2445 3825 2670 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6750 3346 6750 2446 6975 2671 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 3780 2475 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 3600 2475 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3465 3375 3780 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3780 4050 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4995 3375 5310 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8145 3375 8460 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6615 2475 6930 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6525 3600 6525 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7200 3780 7200 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7200 3555 7200 3375 +4 0 -1 0 0 2 20 0.0000000 4 210 150 5085 3735 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 3510 3690 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 6660 3691 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8235 3736 0\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 3465 2250 R:r_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 4995 2250 C:c_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 6525 2250 R:r_2\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 8100 2295 C:c_2\001 +4 2 -1 0 0 2 20 0.0000000 4 270 750 2385 3690 SS:uy\001 ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_desc.tex @@ -0,0 +1,20 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system iRC2c (iRC2c_desc.tex) +% Generated by MTT on Mon Apr 6 10:46:00 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{iRC2c} is + displayed in Figure \Ref{iRC2c_abg} and its label + file is listed in Section \Ref{sec:iRC2c_lbl}. + The subsystems are listed in Section \Ref{sec:iRC2c_sub}. + +This example gives the inverse of a double RC circuit with +\emph{collocated} sensor/actuator pairing. + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_input.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (iRC2c_input.txt) +# Generated by MTT at Mon Mar 2 15:42:48 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1 ; # iRC2c (u_s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_lbl.txt @@ -0,0 +1,30 @@ +%SUMMARY iRC2c Inverse of double RC circuit with collocated io +%DESCRIPTION +%% Label file for system iRC2c (iRC2c_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_1 lin effort,c_1 + c_2 lin effort,c_2 + +% Component type R + r_1 lin flow,r_1 + r_2 lin flow,r_2 + +% Component type SS + uy SS external,external + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_numpar.txt @@ -0,0 +1,25 @@ +# Numerical parameter file (iRC2c_numpar.txt) +# Generated by MTT at Mon Mar 2 15:41:26 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_1 = 1.0; # iRC2c +c_1s = 0.1; # iRC2c +c_2 = 1.0; # iRC2c +c_2s = 0.1; # iRC2c +r_1 = 1.0; # iRC2c +r_1s = 1.0; # iRC2c +r_2 = 1.0; # iRC2c +r_2s = 1.0; # iRC2c + +# Initial states +x(1) = 0.0; # iRC2c (c_1) +x(2) = 0.0; # iRC2c (c_1s) +x(3) = 0.0; # iRC2c (c_2) +x(4) = 0.0; # iRC2c (c_2s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2c/iRC2c_rep.txt @@ -0,0 +1,16 @@ +# Outline report file for system iRC2c (iRC2c_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt iRC2c abg tex +mtt iRC2c struc tex +mtt iRC2c dae tex +mtt iRC2c dm tex +mtt iRC2c tf tex + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_abg.fig @@ -0,0 +1,68 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5625 3600 5625 3420 +2 1 2 2 1 7 1 0 -1 4.500 0 0 7 0 0 4 + 9585 3465 8325 3465 8190 3375 8190 2565 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2475 3600 3375 3600 3150 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3375 5175 2475 5400 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8325 3376 8325 2476 8550 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 3600 4950 3600 4725 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7200 3601 8100 3601 7875 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8775 3601 9675 3601 9450 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3465 3375 3780 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5040 2475 5355 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6615 3375 6930 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8190 2475 8505 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 3600 2475 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3375 3780 3375 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3600 4050 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 3780 4950 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6525 3780 6525 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 3600 6525 3600 6300 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7200 3600 7200 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8100 3780 8100 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8775 3600 8775 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9675 3600 9675 3780 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3345 3600 2445 3825 2670 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6750 3346 6750 2446 6975 2671 +2 1 1 1 1 7 1 0 -1 4.000 0 0 7 0 0 4 + 9585 3510 5400 3510 5310 3420 5310 2790 +2 1 2 2 1 -1 1 0 -1 3.000 0 0 7 0 0 9 + 8392 2632 8392 3712 6862 3712 6862 2497 6727 2362 6592 2497 + 6592 3442 5242 3442 5242 2632 +4 0 -1 0 0 2 20 0.0000000 4 210 150 5085 3735 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 3510 3690 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 6660 3691 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8235 3736 0\001 +4 2 -1 0 0 2 20 0.0000000 4 210 600 2295 3645 SS:u\001 +4 0 -1 0 0 2 20 0.0000000 4 270 585 9810 3690 SS:y\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 3465 2250 R:r_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 4995 2250 C:c_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 6525 2250 R:r_2\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 8100 2295 C:c_2\001 ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_desc.tex @@ -0,0 +1,19 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system iRC2n (iRC2n_desc.tex) +% Generated by MTT on Mon Apr 6 10:46:52 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{iRC2n} is + displayed in Figure \Ref{iRC2n_abg} and its label + file is listed in Section \Ref{sec:iRC2n_lbl}. + The subsystems are listed in Section \Ref{sec:iRC2n_sub}. + +This example gives the inverse of a double RC circuit with +\emph{non-collocated} sensor/actuator pairing. + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_input.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (iRC2n_input.txt) +# Generated by MTT at Mon Mar 2 15:42:48 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1 ; # iRC2n (u_s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_lbl.txt @@ -0,0 +1,32 @@ +%SUMMARY iRC2n Inverse of double RC circuit with non-collocated io +%DESCRIPTION +%% Label file for system iRC2n (iRC2n_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/05/20 16:43:52 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_1 lin effort,c_1 + c_2 lin effort,c_2 + +% Component type R + r_1 lin flow,r_1 + r_2 lin flow,r_2 + +% Component type SS + u SS external,internal + y SS external,0 ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_numpar.txt @@ -0,0 +1,25 @@ +# Numerical parameter file (iRC2n_numpar.txt) +# Generated by MTT at Mon Mar 2 15:41:26 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_1 = 1.0; # iRC2n +c_1s = 0.1; # iRC2n +c_2 = 1.0; # iRC2n +c_2s = 0.1; # iRC2n +r_1 = 1.0; # iRC2n +r_1s = 1.0; # iRC2n +r_2 = 1.0; # iRC2n +r_2s = 1.0; # iRC2n + +# Initial states +x(1) = 0.0; # iRC2n (c_1) +x(2) = 0.0; # iRC2n (c_1s) +x(3) = 0.0; # iRC2n (c_2) +x(4) = 0.0; # iRC2n (c_2s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_rep.txt @@ -0,0 +1,17 @@ +# Outline report file for system iRC2n (iRC2n_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt iRC2n abg tex +mtt iRC2n struc tex +mtt iRC2n dae tex +mtt iRC2n dm tex +mtt iRC2n tf tex + + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_simp.r Index: mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/iRC2n/iRC2n_simp.r @@ -0,0 +1,12 @@ +%% Reduce commands to simplify output for system iRC2n (iRC2n_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MTTu1 := y; + +END; ADDED mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_abg.fig @@ -0,0 +1,134 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3151 3601 4051 3601 3826 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3376 5851 2476 6076 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9001 3377 9001 2477 9226 2702 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3601 5626 3601 5401 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 3602 8776 3602 8551 3827 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4726 3601 4726 3421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 3781 7201 3601 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6301 3601 7201 3601 6976 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 3346 4276 2446 4501 2671 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 3347 7426 2447 7651 2672 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5671 3376 5986 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8821 3376 9136 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7291 2476 7606 2476 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 3601 7201 3421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7876 3781 7876 3601 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 3825 2925 4725 3150 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 5175 2925 6075 3150 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3151 6301 4051 6301 3826 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 6076 5851 5176 6076 5401 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9001 6077 9001 5177 9226 5402 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 6301 5626 6301 5401 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 6302 8776 6302 8551 6527 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4726 6301 4726 6121 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 6481 7201 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6301 6301 7201 6301 6976 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 6046 4276 5146 4501 5371 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 6047 7426 5147 7651 5372 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3151 6481 3151 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3151 6301 3151 6121 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4141 6076 4456 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4726 6481 4726 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5671 6076 5986 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8821 6076 9136 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7291 5176 7606 5176 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 6301 7201 6121 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7876 6481 7876 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1756 6301 2656 6301 2431 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3780 4050 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3600 4050 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4141 2475 4456 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4725 3781 4725 3601 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7875 3645 7875 3465 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7875 6300 7875 6120 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 3375 2700 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1801 3600 2701 3600 2476 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 3825 3150 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3105 5175 2925 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2925 5175 2745 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1755 6480 1755 6300 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1755 6300 1755 6120 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9900 4050 9900 1530 3600 1530 3600 4050 9900 4050 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9900 7020 9900 4500 3600 4500 3600 7020 9900 7020 +4 2 -1 0 0 2 20 0.0000000 4 240 870 1710 3645 SS:u_s\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 7336 3692 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8911 3737 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 4231 3691 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 5806 3736 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 7336 6392 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8911 6437 0\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 4141 4951 R:r_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 5671 4951 C:c_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 7201 4951 R:r_2\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 4231 6391 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 5806 6436 0\001 +4 2 -1 0 0 2 20 0.0000000 4 210 600 1665 6345 SS:u\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 8775 4950 C:c_2\001 +4 2 -1 0 0 2 20 0.0000000 4 210 150 3016 3691 1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 4141 2251 R:r_1s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 5671 2251 C:c_1s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 7201 2251 R:r_2s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 8775 2250 C:c_2s\001 +4 0 -1 0 0 2 20 0.0000000 4 210 390 2835 5040 AF\001 +4 2 -1 0 0 2 20 0.0000000 4 210 150 3016 6391 0\001 +4 1 1 1 0 0 20 0.0000000 4 210 450 2565 4455 e=0\001 +4 1 1 1 0 0 20 0.0000000 4 210 420 2070 6570 f=0\001 +4 1 1 1 0 0 20 0.0000000 4 270 2550 6750 1845 Specification system\001 +4 1 1 1 0 0 20 0.0000000 4 270 1830 6615 6840 Inverse system\001 ADDED mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_desc.tex @@ -0,0 +1,24 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system saRC2c (saRC2c_desc.tex) +% Generated by MTT on Mon Apr 6 10:47:43 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{saRC2c} is + displayed in Figure \Ref{saRC2c_abg} and its label + file is listed in Section \Ref{sec:saRC2c_lbl}. + The subsystems are listed in Section \Ref{sec:saRC2c_sub}. + +This example gives the inverse of a double RC circuit with +\begin{itemize} +\item specification system, +\item amplifier connection and +\item collocated sensor/actuator pairing. +\end{itemize} + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_input.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (saRC2c_input.txt) +# Generated by MTT at Mon Mar 2 15:42:48 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1 ; # saRC2c (u_s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_lbl.txt @@ -0,0 +1,33 @@ +%SUMMARY saRC2c +%DESCRIPTION +%% Label file for system saRC2c (saRC2c_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_1 lin effort,c_1 + c_1s lin effort,c_1s + c_2 lin effort,c_2 + c_2s lin effort,c_2s + +% Component type R + r_1 lin flow,r_1 + r_1s lin flow,r_1s + r_2 lin flow,r_2 + r_2s lin flow,r_2s + +% Component type SS + u SS external,0 + u_s SS external,external ADDED mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_numpar.txt @@ -0,0 +1,25 @@ +# Numerical parameter file (saRC2c_numpar.txt) +# Generated by MTT at Mon Mar 2 15:41:26 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_1 = 1.0; # saRC2c +c_1s = 0.1; # saRC2c +c_2 = 1.0; # saRC2c +c_2s = 0.1; # saRC2c +r_1 = 1.0; # saRC2c +r_1s = 1.0; # saRC2c +r_2 = 1.0; # saRC2c +r_2s = 1.0; # saRC2c + +# Initial states +x(1) = 0.0; # saRC2c (c_1) +x(2) = 0.0; # saRC2c (c_1s) +x(3) = 0.0; # saRC2c (c_2) +x(4) = 0.0; # saRC2c (c_2s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/saRC2c/saRC2c_rep.txt @@ -0,0 +1,19 @@ +# Outline report file for system saRC2c (saRC2c_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt saRC2c abg tex +mtt saRC2c struc tex +mtt saRC2c dae tex +mtt saRC2c dm tex +mtt saRC2c tf tex + +mtt -c saRC2c odeso ps +mtt saRC2c lmfr ps + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_abg.fig @@ -0,0 +1,141 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3151 3601 4051 3601 3826 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3376 5851 2476 6076 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9001 3377 9001 2477 9226 2702 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3601 5626 3601 5401 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 3602 8776 3602 8551 3827 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4726 3601 4726 3421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 3781 7201 3601 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6301 3601 7201 3601 6976 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 3346 4276 2446 4501 2671 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 3347 7426 2447 7651 2672 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5671 3376 5986 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8821 3376 9136 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7291 2476 7606 2476 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 3601 7201 3421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7876 3781 7876 3601 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 3825 2925 4725 3150 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2925 5175 2925 6075 3150 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3151 6301 4051 6301 3826 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 6076 5851 5176 6076 5401 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9001 6077 9001 5177 9226 5402 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 6301 5626 6301 5401 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7876 6302 8776 6302 8551 6527 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4726 6301 4726 6121 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 6481 7201 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6301 6301 7201 6301 6976 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 6046 4276 5146 4501 5371 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 6047 7426 5147 7651 5372 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3151 6481 3151 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3151 6301 3151 6121 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4141 6076 4456 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4726 6481 4726 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5671 6076 5986 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8821 6076 9136 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7291 5176 7606 5176 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7201 6301 7201 6121 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7876 6481 7876 6301 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1756 6301 2656 6301 2431 6526 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1801 4950 2701 4950 2476 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 4950 2700 4770 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 5130 1800 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2655 6480 2655 6300 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3780 4050 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 3600 4050 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4141 2475 4456 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4725 3781 4725 3601 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7875 3645 7875 3465 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7875 6300 7875 6120 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 3375 2700 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1801 3600 2701 3600 2476 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 3825 3150 3825 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2925 6075 2745 6075 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3105 5175 2925 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1755 6300 1755 6120 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9900 4275 9900 1125 3600 1125 3600 4275 9900 4275 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9900 7650 9900 4500 3600 4500 3600 7650 9900 7650 +4 2 -1 0 0 2 20 0.0000000 4 240 870 1710 3645 SS:u_s\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 7336 3692 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8911 3737 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 4231 3691 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 5806 3736 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 7336 6392 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8911 6437 0\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 4141 4951 R:r_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 5671 4951 C:c_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 7201 4951 R:r_2\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 4231 6391 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 5806 6436 0\001 +4 2 -1 0 0 2 20 0.0000000 4 210 600 1665 6345 SS:u\001 +4 2 -1 0 0 2 20 0.0000000 4 210 990 1620 5040 SS:zero\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 8775 4950 C:c_2\001 +4 2 -1 0 0 2 20 0.0000000 4 210 150 3016 3691 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 2835 5040 0\001 +4 2 -1 0 0 2 20 0.0000000 4 210 150 3016 6391 1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 4141 2251 R:r_1s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 5671 2251 C:c_1s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 7201 2251 R:r_2s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 8775 2250 C:c_2s\001 +4 1 1 1 0 3 20 0.0000000 4 210 450 2250 4860 e=0\001 +4 1 1 1 0 3 20 0.0000000 4 270 420 2250 5220 f=0\001 +4 1 1 1 0 3 20 0.0000000 4 270 1845 6525 7110 Inverse system\001 +4 1 1 1 0 3 20 0.0000000 4 270 2565 6660 1665 Specification system\001 ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_desc.tex @@ -0,0 +1,24 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system szRC2c (szRC2c_desc.tex) +% Generated by MTT on Mon Apr 6 10:50:51 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{szRC2c} is + displayed in Figure \Ref{szRC2c_abg} and its label + file is listed in Section \Ref{sec:szRC2c_lbl}. + The subsystems are listed in Section \Ref{sec:szRC2c_sub}. + + +This example gives the inverse of a double RC circuit with +\begin{itemize} +\item specification system, +\item zero-zero \textbf{SS} connection and +\item collocated sensor/actuator pairing. +\end{itemize} + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_input.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (szRC2c_input.txt) +# Generated by MTT at Mon Mar 2 15:42:48 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1 ; # szRC2c (u_s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_lbl.txt @@ -0,0 +1,37 @@ +%SUMMARY szRC2c Specification inverse of double RC circuit with collocated io +%DESCRIPTION +%% Label file for system szRC2c (szRC2c_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/05/20 16:44:55 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_1 lin effort,c_1 + c_1s lin effort,c_1s + c_2 lin effort,c_2 + c_2s lin effort,c_2s + +% Component type R + r_1 lin flow,r_1 + r_1s lin flow,r_1s + r_2 lin flow,r_2 + r_2s lin flow,r_2s + +% Component type SS + u_s SS external,external + zero SS 0,0 + u SS external,external ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_numpar.txt @@ -0,0 +1,25 @@ +# Numerical parameter file (szRC2c_numpar.txt) +# Generated by MTT at Mon Mar 2 15:41:26 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_1 = 1.0; # szRC2c +c_1s = 0.1; # szRC2c +c_2 = 1.0; # szRC2c +c_2s = 0.1; # szRC2c +r_1 = 1.0; # szRC2c +r_1s = 1.0; # szRC2c +r_2 = 1.0; # szRC2c +r_2s = 1.0; # szRC2c + +# Initial states +x(1) = 0.0; # szRC2c (c_1) +x(2) = 0.0; # szRC2c (c_1s) +x(3) = 0.0; # szRC2c (c_2) +x(4) = 0.0; # szRC2c (c_2s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2c/szRC2c_rep.txt @@ -0,0 +1,19 @@ +# Outline report file for system szRC2c (szRC2c_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt szRC2c abg tex +mtt szRC2c struc tex +mtt szRC2c dae tex +mtt szRC2c dm tex +mtt szRC2c tf tex + +mtt -c szRC2c odeso ps +mtt szRC2c lmfr ps + + ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_abg.fig @@ -0,0 +1,151 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2251 4726 3151 4726 2926 4951 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 4501 4951 3601 5176 3826 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8101 4502 8101 3602 8326 3827 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4726 4726 4726 4501 4951 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6976 4727 7876 4727 7651 4952 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 4727 9451 4727 9226 4952 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3151 4906 3151 4726 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4726 3826 4546 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6301 4906 6301 4726 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5401 4726 6301 4726 6076 4951 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6976 4726 6976 4546 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3825 4905 3825 4725 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4770 4500 5085 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6345 3600 6660 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6975 4905 6975 4725 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7920 4500 8235 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9450 4725 9450 4905 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9450 4680 9450 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10126 6301 9901 6076 11026 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9901 6076 9901 5896 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 11026 6256 11026 6076 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9675 4950 9675 5850 9900 5625 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5402 7427 5402 7247 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2252 7427 3152 7427 2927 7652 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4952 7202 4952 6302 5177 6527 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8102 7203 8102 6303 8327 6528 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3827 7427 4727 7427 4502 7652 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 7428 7877 7428 7652 7653 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8552 7428 9452 7428 9227 7653 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3242 7202 3557 7202 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4817 6302 5132 6302 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6392 7202 6707 7202 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7967 6302 8282 6302 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2252 7427 2252 7247 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3152 7607 3152 7427 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3827 7427 3827 7247 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4727 7607 4727 7427 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6302 7607 6302 7427 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5402 7427 6302 7427 6077 7652 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6977 7427 6977 7247 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7877 7607 7877 7427 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8552 7427 8552 7247 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3377 7172 3377 6272 3602 6497 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6527 7173 6527 6273 6752 6498 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9450 7425 9450 7605 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 4725 3150 4545 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3240 3600 3555 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9901 4725 10801 4725 10576 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 10800 4725 10800 4905 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 10800 4725 10800 4545 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3375 4516 3375 3616 3600 3841 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6525 4517 6525 3617 6750 3842 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9495 5850 9810 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9675 6300 9855 6300 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9675 6313 9675 7213 9900 6988 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9675 7245 9495 7245 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9045 5355 9045 2250 2475 2250 2475 5355 9045 5355 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 9045 8730 9045 5625 2475 5625 2475 8730 9045 8730 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6300 4680 6300 4500 +4 0 -1 0 0 2 20 0.0000000 4 210 150 4861 4861 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 3286 4816 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 6436 4817 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8011 4862 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 9586 4816 0\001 +4 2 -1 0 0 2 20 0.0000000 4 240 870 2071 4771 SS:u_s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 3241 3376 R:r_1s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 6301 3376 R:r_2s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 4771 3376 C:c_1s\001 +4 0 -1 0 0 2 20 0.0000000 4 240 870 7875 3375 C:c_2s\001 +4 0 -1 0 0 2 20 0.0000000 4 210 990 11206 6166 SS:zero\001 +4 1 1 1 0 3 20 0.0000000 4 210 450 10441 5986 e=0\001 +4 1 1 1 0 3 20 0.0000000 4 270 420 10441 6346 f=0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 9585 6210 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 4862 7562 0\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 3287 7517 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 6437 7518 1\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 8012 7563 0\001 +4 2 -1 0 0 2 20 0.0000000 4 210 600 2072 7472 SS:u\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 3242 6077 R:r_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 4772 6077 C:c_1\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 6302 6077 R:r_2\001 +4 0 -1 0 0 2 20 0.0000000 4 240 750 7876 6076 C:c_2\001 +4 0 -1 0 0 2 20 0.0000000 4 210 150 9630 7515 0\001 +4 0 -1 0 0 2 20 0.0000000 4 270 855 10935 4815 SS:y_s\001 +4 1 1 1 0 3 20 0.0000000 4 270 420 10260 5085 f=0\001 +4 1 1 1 0 3 20 0.0000000 4 270 2565 5625 2745 Specification system\001 +4 1 1 1 0 3 20 0.0000000 4 270 1845 5535 8280 Inverse system\001 ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_desc.tex @@ -0,0 +1,29 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system szRC2n (szRC2n_desc.tex) +% Generated by MTT on Mon Apr 6 10:52:26 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{szRC2n} is + displayed in Figure \Ref{szRC2n_abg} and its label + file is listed in Section \Ref{sec:szRC2n_lbl}. + The subsystems are listed in Section \Ref{sec:szRC2n_sub}. + +This example gives the inverse of a double RC circuit with +\begin{itemize} +\item specification system, +\item zero-zero \textbf{SS} connection and +\item non-collocated sensor/actuator pairing. +\end{itemize} + + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_input.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (szRC2n_input.txt) +# Generated by MTT at Mon Mar 2 15:42:48 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1 ; # szRC2n (u_s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_lbl.txt @@ -0,0 +1,38 @@ +%SUMMARY szRC2n Specification inverse of double RC circuit with noncollocated io +%DESCRIPTION +%% Label file for system szRC2n (szRC2n_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/05/20 16:45:37 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + c_1 lin effort,c_1 + c_1s lin effort,c_1s + c_2 lin effort,c_2 + c_2s lin effort,c_2s + +% Component type R + r_1 lin flow,r_1 + r_1s lin flow,r_1s + r_2 lin flow,r_2 + r_2s lin flow,r_2s + +% Component type SS + u_s SS external,internal + y_s SS external,0 + zero SS 0,0 + u SS external,external ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_numpar.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_numpar.txt @@ -0,0 +1,25 @@ +# Numerical parameter file (szRC2n_numpar.txt) +# Generated by MTT at Mon Mar 2 15:41:26 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_1 = 1.0; # szRC2n +c_1s = 0.1; # szRC2n +c_2 = 1.0; # szRC2n +c_2s = 0.1; # szRC2n +r_1 = 1.0; # szRC2n +r_1s = 1.0; # szRC2n +r_2 = 1.0; # szRC2n +r_2s = 1.0; # szRC2n + +# Initial states +x(1) = 0.0; # szRC2n (c_1) +x(2) = 0.0; # szRC2n (c_1s) +x(3) = 0.0; # szRC2n (c_2) +x(4) = 0.0; # szRC2n (c_2s) ADDED mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iRC2/szRC2n/szRC2n_rep.txt @@ -0,0 +1,19 @@ +# Outline report file for system szRC2n (szRC2n_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt szRC2n abg tex +mtt szRC2n struc tex +mtt szRC2n dae tex +mtt szRC2n dm tex +mtt szRC2n tf tex + +mtt -c szRC2n odeso ps +mtt szRC2n lmfr ps + + ADDED mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_abg.fig @@ -0,0 +1,77 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 900 3150 2025 3150 1755 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2475 3150 3600 3150 3330 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2250 2925 2250 1800 2520 2070 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7201 3151 8326 3151 8056 3421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8776 3151 9901 3151 9631 3421 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6976 2926 6976 1801 7246 2071 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 2926 8551 1801 8821 2071 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 3150 5175 3150 4905 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5625 3150 6750 3150 6480 3420 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 2925 3825 1800 4095 2070 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 2925 5400 1800 5670 2070 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 3375 6975 4500 7245 4230 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11295 5625 11295 450 45 450 45 5625 11295 5625 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 3 + 3150 1125 3150 2700 1305 2700 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 4 + 4500 1125 4500 2700 6300 2700 6300 1125 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 3 + 7650 1125 7650 2700 9675 2700 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1350 3600 9720 3600 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 3375 3825 4500 4095 4230 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 900 2925 900 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2025 3150 2025 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3600 3375 3825 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3825 4500 4095 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 2925 9900 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8775 3150 8775 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6705 3375 6930 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6975 4500 7200 4500 +4 1 -1 0 0 2 20 0.0000 4 195 135 2250 3240 1\001 +4 1 -1 0 0 2 20 0.0000 4 195 210 2250 1665 R\001 +4 1 -1 0 0 2 20 0.0000 4 195 135 8551 3241 1\001 +4 1 -1 0 0 2 20 0.0000 4 195 135 6976 3241 0\001 +4 1 -1 0 0 2 20 0.0000 4 195 210 8551 1666 R\001 +4 1 -1 0 0 2 20 0.0000 4 195 210 6976 1666 C\001 +4 1 -1 0 0 2 20 0.0000 4 195 135 5400 3240 1\001 +4 1 -1 0 0 2 20 0.0000 4 195 135 3825 3240 0\001 +4 1 -1 0 0 2 20 0.0000 4 195 210 5400 1665 R\001 +4 1 -1 0 0 2 20 0.0000 4 195 210 3825 1665 C\001 +4 1 -1 0 0 2 20 0.0000 4 195 705 495 3240 SS:u1\001 +4 1 -1 0 0 2 20 0.0000 4 195 705 10440 3240 SS:u2\001 +4 1 -1 0 0 2 20 0.0000 4 255 675 3825 4725 SS:y1\001 +4 1 -1 0 0 2 20 0.0000 4 255 675 6975 4770 SS:y2\001 +4 1 1 1 0 3 20 0.0000 4 270 510 2295 1125 Pipe\001 +4 1 1 1 0 3 20 0.0000 4 270 510 5445 1125 Pipe\001 +4 1 1 1 0 3 20 0.0000 4 270 510 8595 1125 Pipe\001 +4 1 1 1 0 3 20 0.0000 4 210 600 3870 1125 Tank\001 +4 1 1 1 0 3 20 0.0000 4 210 600 6975 1125 Tank\001 +4 1 1 1 0 3 20 0.0000 4 270 1665 5265 5445 System inverse\001 ADDED mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_desc.tex @@ -0,0 +1,65 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system iTanks (iTanks_desc.tex) +% Generated by MTT on Wed Nov 18 11:04:33 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Figure \Ref{iTanks_abg} shows the bond graph of a two-tank system +superimposed on a schematic diagram. +The two \textbf{C} components corresponds to the fluid storage and how +it relates to the pressure at the base of the tanks. In this case, for +simplicity, each tank ($i=1$ or $i=2$) is assumed to have a unity constitutive relationship: +\begin{equation} + \text{pressure} = p_i = v_i = \text{volume} +\end{equation} +The volumetric flow rate into the first, and out of the second, tank +is represented by the two unlabelled \textbf{R} components. Again, +each is assumed to have a unit constitutive relationship: +\begin{equation} + \text{flow} = f_i = \Delta_i = \text{pressure drop} +\end{equation} +The volumetric flow rate between the first and the second tanks +is represented \textbf{R} component labelled $k$. The constitutive relationship is assumed +linear of the form: +\begin{equation} + \text{flow} = f = k \Delta = \text{pressure drop} +\end{equation} + +The system has two inputs: +\begin{equation} + \begin{aligned} + u_1 &= \text{input pressure at left-hand pipe} \\ + u_2 &= \text{input pressure at right-hand pipe} + \end{aligned} +\end{equation} +and two outputs: +\begin{equation} + \begin{aligned} + y_1 &= p_1 = \text{pressure at left-hand tank} \\ + y_2 &= p_2 = \text{pressure at right-hand tank} + \end{aligned} +\end{equation} +The system transfer-function matrix is given by: +\begin{equation} + \begin{aligned} +G_{11} = G_{22} &= \frac{(s + k + 1)}{(s^2 + 2 s {(k + 1)} + 2 k + 1)}\\ +G_{12} = G_{21} &= \frac{k}{(s^2 + 2 s {(k + 1)} + 2 k + 1)} +\end{aligned} +\end{equation} + +However, Figure \Ref{iTanks_abg} shows the causality of the +\textbf{SS} components to \emph{invert} the system with respect to its +inputs and outputs. Figure \Ref{fig:iTanks_cbg.ps} shows the causally +complete bond graph; this system has no dynamic components in integral +causality -- the inverse has no poles and therefore the system has no +zeros. + +Some further representations of the inverse appear in the following +sections. + + ADDED mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTanks/iTanks_rep.txt @@ -0,0 +1,26 @@ +# Outline report file for system iTanks (iTanks_rep.txt) +# Generated by MTT on" Wed Nov 18 10:44:55 GMT 1998. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt iTanks abg tex # The system description +mtt iTanks cbg ps # The causal bond graph +# Uncomment the following lines or add others + mtt iTanks struc tex # The system structure +# mtt iTanks dae tex # The system dae +# mtt iTanks ode tex # The system ode +# mtt iTanks sspar tex # Steady-state parameters +# mtt iTanks ss tex # Steady state +mtt iTanks dm tex # Descriptor matrices (of linearised system) +mtt iTanks tf tex +mtt iTanks lmfr ps # log modulus of frequency response (of linearised system) +mtt iTanks lpfr ps # log modulus of frequency response (of linearised system) +# mtt iTanks simpar tex # Simulation parameters +# mtt iTanks numpar tex # Numerical simulation parameters +# mtt iTanks input tex # Simulation input +# mtt iTanks odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/ROD_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/ROD_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/ROD_abg.fig @@ -0,0 +1,123 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 4278 5403 4953 5178 4953 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 6078 5403 5403 5403 5628 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 2702 4277 3827 4052 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 7652 4277 6527 4277 6752 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 7876 2926 9001 3196 8731 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 7877 8327 9002 8597 8732 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 5401 5626 9001 5851 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 4 0 1 1 7 0 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 2250 9675 2250 675 3600 675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 5850 990 5850 990 4500 10125 4500 10125 5850 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 4950 2700 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5850 4950 5850 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8550 4950 8550 5400 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 315 6933 5268 I:J\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000000 4 270 735 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000000 4 240 735 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1170 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1170 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1155 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1155 7156 6391 EMTF:s2\001 +4 1 5 0 0 0 20 0.0000000 4 210 150 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 6751 4456 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 6751 3781 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 6751 6076 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 6751 6706 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 570 6211 6526 [mod]\001 +4 1 5 0 0 0 20 0.0000000 4 210 990 4681 5266 INTF:th\001 +4 1 1 1 0 0 20 0.0000000 4 210 210 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000000 4 135 195 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000000 4 210 210 8280 9990 Y\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 3960 4140 [mod]\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 6345 4095 [mod]\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 3960 6210 [mod]\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 4590 4455 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 4545 3780 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 4590 6660 [out]\001 +4 0 26 0 0 0 16 0.0000000 4 195 330 4365 6030 [in]\001 +4 1 4 0 0 0 20 0.0000000 4 240 1065 2971 1216 SS:[x_a]\001 +4 1 4 0 0 0 20 0.0000000 4 240 1080 2971 9361 SS:[x_b]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1065 8372 1217 SS:[y_a]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1080 8417 9362 SS:[y_b]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1575 5671 1216 SS:[alpha_a]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1590 5671 9361 SS:[alpha_b]\001 +4 1 1 1 0 0 20 0.0000000 4 270 630 1350 2700 Tip a\001 +4 1 1 1 0 0 20 0.0000000 4 240 1470 1260 6300 Mass centre\001 +4 1 1 1 0 0 20 0.0000000 4 270 645 1350 9855 Tip b\001 Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/ROD_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Inverse/iTwoLink/ROD_lbl.txt +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/ROD_lbl.txt @@ -20,10 +20,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.2 1997/08/15 09:43:06 peterg +% %% Now has lablelled (as opposed to numbered) ports. +% %% % Revision 1.1 1996/11/07 10:57:17 peterg % Initial revision % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -43,9 +46,8 @@ %Modulated transformers s1 lsin flow,$1 s2 lsin flow,$2 c1 lcos flow,$1 c2 lcos flow,$2 - ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_abg.fig @@ -0,0 +1,74 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 2476 4951 2701 5176 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4051 3376 4051 4726 4276 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3781 4726 4276 4726 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2476 4726 2476 5221 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 4951 5626 4951 5401 5176 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6526 4681 6526 5176 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 2250 2475 2250 2700 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4050 675 4050 2025 4275 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3780 2025 4275 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2475 2025 2475 2520 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4275 2250 5625 2250 5400 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6525 1980 6525 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6525 2250 7875 2250 7650 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6525 4950 7875 4950 7650 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8371 3376 7876 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8101 3376 8101 4726 8326 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8326 4726 8326 5221 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8370 675 7875 675 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8100 675 8100 2025 8325 1800 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8325 2025 8325 2520 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 5175 6075 675 6075 675 225 5175 225 5175 6075 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 675 5625 5175 5625 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 11475 6075 6975 6075 6975 225 11475 225 11475 6075 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 6975 5625 11475 5625 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8325 2250 9450 3375 9225 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8325 4950 9450 3825 9225 3825 +4 1 -1 0 0 0 20 0.0000000 4 210 150 4051 5041 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 4050 2340 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 780 4050 585 SS:t1s\001 +4 1 -1 0 0 0 20 0.0000000 4 210 750 6120 2340 AF:a1\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1290 1845 2340 msd:spec1\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1290 1846 5041 msd:spec2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 780 4051 3286 SS:t2s\001 +4 1 -1 0 0 0 20 0.0000000 4 210 750 6121 5041 AF:a2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8101 5041 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8100 2340 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 660 8100 585 SS:t1\001 +4 1 1 1 0 0 20 0.0000000 4 270 1620 2880 5940 Specification\001 +4 1 1 1 0 0 20 0.0000000 4 270 900 9270 5940 System\001 +4 1 -1 0 0 0 20 0.0000000 4 210 660 8101 3286 SS:t2\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1500 9900 3690 twolink:syst\001 +4 0 4 0 0 0 20 0.0000000 4 270 1080 9585 3330 [joint_1]\001 +4 0 4 0 0 0 20 0.0000000 4 270 1080 9540 4140 [joint_2]\001 ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_desc.tex @@ -0,0 +1,53 @@ +% Verbal description for system iTwoLink (iTwoLink_desc.tex) +% Generated by MTT on Mon Nov 17 10:42:48 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.3 1998/01/19 10:08:21 peterg +% %% Added comment about linearisation point +% %% +% %% Revision 1.2 1998/01/19 09:57:26 peterg +% %% Added a discussion of the relevance of G(s). +% %% +% Revision 1.1 1997/12/09 16:53:27 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{iTwoLink} is + displayed in Figure \Ref{iTwoLink_abg} and its label + file is listed in Section \Ref{sec:iTwoLink_lbl}. + The subsystems are listed in Section \Ref{sec:iTwoLink_sub}. + +This example illustrates the inversion of two link manipulator +dynamics using two identical simple mass-spring-damper systems as +specification systems. + +The velocities $\omega_1=\omega_2$ specified by the specification +systems are given in Figure \Ref{fig:iTwoLink_odeso.ps-iTwoLink-t1s} +together with the input defined in Section \Ref{sec:iTwoLink_input.txt}. +The torques $\tau_1$ and $\tau_2$ required to give the these +velocities specified by the specification system are given in Figures +\Ref{fig:iTwoLink_odeso.ps-iTwoLink-t1} and +\Ref{fig:iTwoLink_odeso.ps-iTwoLink-t2} respectively. + +The corresponding velocity/torque diagrams for joints 1 and 2 appear in +Figures \Ref{fig:iTwoLink_odeso.ps-iTwoLink-t1s:iTwoLink-t1} +\Ref{fig:iTwoLink_odeso.ps-iTwoLink-t2s:iTwoLink-t2} respectively. +Such diagrams can be used for actuator sizing in terms of torque, +velocity and power. + + +This non-linear system can be linearised (about the various +configurations) and small-signal frequency response methods applied. +For example, the four transfer functions $G_11$ to $G_22$ in Section +\Ref{sec:iTwoLink_tf} (representing the system linearised about zero +angles and velocities), give the small-signal relations between the +two spec. torques and the required system torques. Used together with +$G_31$ and $G_42$ (relating the spec. torques and the joint +velocities) gives, in principle, a method for evaluating actuator +requirements (for small signals) as a function of frequency. + ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_input.txt Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_input.txt @@ -0,0 +1,13 @@ +# Numerical parameter file (iTwoLink_input.txt) +# Generated by MTT at Mon Nov 17 10:40:37 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 1.0 - 2.0*(t>5.0) + 2.0*(t>15.0);; # t1s input torque +u(2) = 1.0 - 2.0*(t>5.0) + (t>15.0); # t2s input torque ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_rep.txt Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_rep.txt @@ -0,0 +1,34 @@ +# Outline report file for system iTwoLink (iTwoLink_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/12/09 16:53:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt -c iTwoLink abg tex +mtt -c iTwoLink struc tex +mtt -c iTwoLink simp r +mtt -c iTwoLink dae tex +mtt -c iTwoLink ode tex +mtt -c iTwoLink sspar r +mtt -c iTwoLink sm tex +mtt -c iTwoLink tf tex + +mtt -c iTwoLink numpar txt +mtt -c iTwoLink input txt +mtt -c iTwoLink odeso ps 'iTwoLink_t1' +mtt -c iTwoLink odeso ps 'iTwoLink_t2' +mtt -c iTwoLink odeso ps 'iTwoLink_t1s' +mtt -c iTwoLink odeso ps 'iTwoLink_t1s:iTwoLink_t1' +mtt -c iTwoLink odeso ps 'iTwoLink_t2s:iTwoLink_t2' + + + + + + ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_simp.r Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_simp.r @@ -0,0 +1,17 @@ +%% Reduce comands to simplify output for system twolink (twolink_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_sspar.r Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/iTwoLink_sspar.r @@ -0,0 +1,17 @@ +%% Reduce steady-state parameter file for ionelink (ionelink_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mttx1 := 0; +mttx2 := 0; +mttx3 := 0; +mttx4 := 0; +mttx5 := 0; +mttx6 := 0; + +END; ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 4050 4950 4050 4725 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3825 3600 2700 3825 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4275 3600 5400 3825 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2250 4050 3375 4050 3150 4275 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6750 6975 6750 1125 900 1125 900 6975 6750 6975 +4 1 -1 0 0 0 20 0.0000000 4 210 150 3600 4185 1\001 +4 0 -1 0 0 0 20 0.0000000 4 270 1200 5085 4140 R:damper\001 +4 1 1 1 0 0 20 0.0000000 4 270 3585 3555 6300 Mass-spring-damper system\001 +4 2 4 0 0 0 20 0.0000000 4 240 870 2160 4140 SS:[in]\001 +4 1 -1 0 0 0 20 0.0000000 4 210 990 3600 5715 I:inertia\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1050 3555 2610 C:spring\001 ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_desc.tex @@ -0,0 +1,31 @@ +% Verbal description for system msd (msd_desc.tex) +% Generated by MTT on Thu Nov 13 09:38:17 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{msd} is + displayed in Figure \Ref{msd_abg} and its label + file is listed in Section \Ref{sec:msd_lbl}. + The subsystems are listed in Section \Ref{sec:msd_sub}. + + + \textbf{msd} is a simple Mass-Spring-Damper system with collocated + force and velocity. It is set up to provide a specification system + for each link of the two-link maipulator. This is appropriate because + \begin{itemize} + \item it has compatible physical behaviour with the system itself, + \item it specifies two decoupled systems, + \item it has linear behaviour and + \item it has a simple performance interpretation in terms of system + rise-time and overshoot. + \end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/msd_lbl.txt @@ -0,0 +1,29 @@ +%SUMMARY msd: Simple mass-spring damper +%DESCRIPTION +%% Label file for system msd (msd_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type C + spring lin state,k_s + +% Component type I + inertia lin flow,m_s + +% Component type R + damper lin flow,d_s + +% Component type SS + [in] SS external,external ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_abg.fig @@ -0,0 +1,123 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 4278 5403 4953 5178 4953 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5854 5404 6529 6079 6304 6079 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 6078 5403 5403 5403 5628 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 4953 6528 4278 6528 4503 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1 + 4277 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 2702 4277 3827 4052 3827 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 6527 8102 7652 7877 7652 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 7652 4277 6527 4277 6752 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3827 8102 2702 8102 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5852 5177 6527 5177 6392 5312 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 2927 2927 4952 3152 4727 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5402 2927 7427 3152 7202 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2701 5176 2026 5176 2161 5311 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 1351 2926 2476 3196 2206 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 7876 2926 9001 3196 8731 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 2928 8328 4953 8553 4728 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8328 5403 8328 7428 8553 7203 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 1352 8327 2477 8597 2207 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8327 7877 8327 9002 8597 8732 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 1351 5626 4951 5851 4726 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5626 5401 5626 9001 5851 8776 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8551 5176 9226 5176 9091 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 4951 6526 4051 6436 4231 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3826 4996 3826 5356 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 5176 3826 5176 3961 5311 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3826 5401 6301 6301 6121 6301 +2 1 0 1 5 -1 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 5401 4051 6301 3826 6301 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 4951 4051 4051 4051 4276 +2 1 0 1 5 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5536 5176 5086 5176 5221 5311 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6300 9675 6300 675 4950 675 4950 9675 6300 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 9000 9675 9000 675 7650 675 7650 9675 9000 9675 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11025 10305 11025 225 225 225 225 10305 11025 10305 +2 4 0 1 1 7 0 0 -1 0.000 0 0 7 0 0 5 + 3600 9675 2250 9675 2250 675 3600 675 3600 9675 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 2250 990 2250 990 900 10125 900 10125 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 5850 990 5850 990 4500 10125 4500 10125 5850 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 10125 9450 990 9450 990 8100 10125 8100 10125 9450 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2700 4950 2700 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5850 4950 5850 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8550 4950 8550 5400 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5628 5268 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 315 6933 5268 I:J\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2927 5312 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2972 2792 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2927 7742 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8328 5313 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8373 2793 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8328 7743 0\001 +4 1 -1 0 0 0 20 0.0000000 4 270 735 9676 5266 I:m_y\001 +4 1 -1 0 0 0 20 0.0000000 4 240 735 1531 5221 I:m_x\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1170 4636 4141 EMTF:c1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1170 4681 6391 EMTF:c2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1155 7156 4141 EMTF:s1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1155 7156 6391 EMTF:s2\001 +4 1 5 0 0 0 20 0.0000000 4 210 150 3603 5313 0\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 6751 4456 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 6751 3781 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 6751 6076 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 6751 6706 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 570 6211 6526 [mod]\001 +4 1 5 0 0 0 20 0.0000000 4 210 990 4681 5266 INTF:th\001 +4 1 1 1 0 0 20 0.0000000 4 210 210 2925 10035 X\001 +4 1 1 1 0 32 20 0.0000000 4 135 195 5580 9990 a\001 +4 1 1 1 0 0 20 0.0000000 4 210 210 8280 9990 Y\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 3960 4140 [mod]\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 6345 4095 [mod]\001 +4 2 26 0 0 0 16 0.0000000 4 195 570 3960 6210 [mod]\001 +4 1 26 0 0 0 16 0.0000000 4 195 330 4590 4455 [in]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 4545 3780 [out]\001 +4 1 26 0 0 0 16 0.0000000 4 195 450 4590 6660 [out]\001 +4 0 26 0 0 0 16 0.0000000 4 195 330 4365 6030 [in]\001 +4 1 4 0 0 0 20 0.0000000 4 240 1065 2971 1216 SS:[x_a]\001 +4 1 4 0 0 0 20 0.0000000 4 240 1080 2971 9361 SS:[x_b]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1065 8372 1217 SS:[y_a]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1080 8417 9362 SS:[y_b]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1575 5671 1216 SS:[alpha_a]\001 +4 1 4 0 0 0 20 0.0000000 4 270 1590 5671 9361 SS:[alpha_b]\001 +4 1 1 1 0 0 20 0.0000000 4 270 630 1350 2700 Tip a\001 +4 1 1 1 0 0 20 0.0000000 4 240 1470 1260 6300 Mass centre\001 +4 1 1 1 0 0 20 0.0000000 4 270 645 1350 9855 Tip b\001 ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_desc.tex @@ -0,0 +1,20 @@ +% Verbal description for system oldROD (oldROD_desc.tex) +% Generated by MTT on Fri Aug 15 09:53:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/08/15 09:41:19 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{oldROD} is + displayed in Figure \Ref{oldROD_abg} and its label + file is listed in Section \Ref{sec:oldROD_lbl}. + The subsystems are listed in Section \Ref{sec:oldROD_sub}. + +{\bf oldROD} is essentially as described in Figure 10.2 of +``Metamodelling''. ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/oldROD_lbl.txt @@ -0,0 +1,53 @@ +%SUMMARY oldROD: rigid rod in two dimensions +%DESCRIPTION Port [alpha_a]: Angular torque/velocity - end a +%DESCRIPTION Port [alpha_b]: Angular torque/velocity - end b +%DESCRIPTION Port [x_a]: x force/velocity - end a +%DESCRIPTION Port [x_b]: x force/velocity - end b +%DESCRIPTION Port [y_a]: y force/velocity - end a +%DESCRIPTION Port [y_b]: y force/velocity - end b +%DESCRIPTION +%DESCRIPTION Parameter 1: length from end 1 to mass centre +%DESCRIPTION Parameter 2: length from end 2 to mass centre +%DESCRIPTION Parameter 3: inertia about mass centre +%DESCRIPTION Parameter 4: mass +%DESCRIPTION See Section 10.2 of "Metamodelling" + + +%% Label file for system oldROD (oldROD_lbl.txt) + + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1997/08/15 09:43:06 peterg +% %% Now has lablelled (as opposed to numbered) ports. +% %% +% Revision 1.1 1996/11/07 10:57:17 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Inertias +J lin flow,$3 +m_x lin flow,$4 +m_y lin flow,$4 + +%Integrate angular velocity to get angle +th + +%Modulated transformers +s1 lsin flow,$1 +s2 lsin flow,$2 +c1 lcos flow,$1 +c2 lcos flow,$2 + + + ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_abg.fig Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_abg.fig @@ -0,0 +1,82 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 5625 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 2025 2250 4725 2250 4725 2700 4950 2475 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4729 3379 ROD:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4731 8196 ROD:rod2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 +4 2 4 0 0 0 20 0.0000 4 255 1380 1936 2341 SS:[joint_1]\001 +4 2 4 0 0 0 20 0.0000 4 255 1380 1936 5716 SS:[joint_2]\001 +4 1 -1 0 0 0 20 0.0000 4 255 810 5808 948 SS:v_y\001 ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_desc.tex Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_desc.tex @@ -0,0 +1,28 @@ +% Verbal description for system twolink (twolink_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{twolink} is + displayed in Figure \Ref{twolink_abg} and its label + file is listed in Section \Ref{sec:twolink_lbl}. + The subsystems are listed in Section \Ref{sec:twolink_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses two compound components: {\bf ROD} and {\bf +GRAV}. {\bf ROD} is essentially as described in Figure 10.2 {\bf +GRAV} represents gravity by a vertical accelleration as in Section +10.9 of "Metamodelling" + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_lbl.txt Index: mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Inverse/iTwoLink/twolink_lbl.txt @@ -0,0 +1,54 @@ +%SUMMARY twolink: two-link manipulator from Section 10.5 of "Metamodelling" +%DESCRIPTION This is a heirachical version of the +%DESCRIPTION example from Section 10.5 of "Metamodelling". +%DESCRIPTION It uses two compound components: ROD and GRA +%DESCRIPTION ROD is essentially as described in Figure 10.2 +%DESCRIPTION GRAV represents gravity by a vertical accelleration +%DESCRIPTION as in Section 10.9 of "Metamodelling" + + +%% Label (twolink_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - identical rods +rod1 none l;l;j_s;m_s +rod2 none l;l;j_s;m_s + +%Zero velocity sources +v_x SS internal,0 +v_y SS internal,0 + + +%Zero force/torque sources +F_x SS 0,internal +F_a SS 0,internal +F_y SS 0,internal + + +%Torque at joints +%f_a1 SS external,external +%f_a2 SS external,external + +%Gravity +%g + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_abg.fig @@ -0,0 +1,16 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 1125 2700 2250 2700 2025 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2745 2700 3870 2700 3645 2925 +4 1 0 100 0 18 20 1.5708 4 225 675 1035 2700 Free\001 +4 1 0 100 0 18 20 1.5708 4 300 3405 2610 2700 BernoulliEuler:Lump*20\001 +4 1 0 100 0 18 20 1.5708 4 225 795 4230 2700 Fixed\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_desc.tex Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_desc.tex @@ -0,0 +1,59 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system CantileverBeam (CantileverBeam_desc.tex) +% Generated by MTT on Mon Apr 19 07:04:54 BST 1999. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1999/05/18 04:01:50 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The acausal bond graph of system \textbf{CantileverBeam} is displayed in +Figure \Ref{fig:CantileverBeam_abg.ps} and its label file is listed in +Section \Ref{sec:CantileverBeam_lbl}. The subsystems are listed in Section +\Ref{sec:CantileverBeam_sub}. + +This example represents the dynamics of a uniform beam with one fixed +and one free end. The beam is approximated by 20 equal lumps using +the Bernoulli-Euler approximation with damping. +The input is the angular velocity of the fixed end, the output is the +linear velocity of the free end. + +The system parameters are given in Section +\Ref{sec:CantileverBeam_numpar.tex}. Note that the numer of ban +segments has been set to 21. + + The system has 20 states (10 +modes of vibration), 1 inputs and 1 outputs. + +The first 5 vibration frequencies are given in Table \ref{tab:freq} +togtherr with the theoretical (based on the Bernoulli-Euler beam with +the same values of $EI$ and $\rho A$. +\begin{table}[htbp] + \begin{center} + \begin{tabular}{||l|l|l||} + \hline + \hline + Mode & Frequency & Theoretical frequency\\ + \hline + 1 & 76.14 & 76.14\\ + 2 & 477.11 & 484.50\\ + 3 &1330.62 &1334.55\\ + 4 &2586.77 &2617.19\\ + 5 &4225.14 &4323.77\\ + \hline + \hline + \end{tabular} + \caption{Mode frequencies (rad $s^{-1}$)} + \label{tab:freq} + \end{center} +\end{table} + + + + + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_input.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_input.txt @@ -0,0 +1,14 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (CantileverBeam_input.txt) +# Generated by MTT at Thu Apr 22 00:12:54 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +mttu(1) = exp(-t/0.1); # tau (CantileverBeam) + +# Set the switches ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_numpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_numpar.txt @@ -0,0 +1,42 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (CantileverBeam_numpar.txt) +# Generated by MTT at Mon Apr 19 06:24:08 BST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +N = 21; +BeamLength = 0.58; +BeamWidth = 0.05; +BeamThickness = 0.005; +Youngs = 68.94e9; +Density = 2712.8; +Area = BeamWidth*BeamThickness; +AreaMoment = (BeamWidth*BeamThickness^3)/12; + +EI = Youngs*AreaMoment; +rhoA = Density*Area; + +dz = BeamLength/N; # Incremental length +dm = rhoA*dz; # Incremental mass +dk = EI/dz; # Incremental stiffness +dr = 0; # Damping + +K = sqrt(EI/rhoA)/BeamLength^2; # Normalising factor + + +# EI= 58.6957 # from Reza +# rhoA= 0.7989 # from Reza + + + + + + + + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_rep.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_rep.txt @@ -0,0 +1,28 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system CantileverBeam (CantileverBeam_rep.txt) +## Generated by MTT on" Mon Apr 19 06:43:08 BST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt CantileverBeam abg tex # The system description +## mtt CantileverBeam cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt CantileverBeam struc tex # The system structure +## mtt CantileverBeam dae tex # The system dae +## mtt CantileverBeam ode tex # The system ode +## mtt CantileverBeam sspar tex # Steady-state parameters +## mtt CantileverBeam ss tex # Steady state +## mtt CantileverBeam dm tex # Descriptor matrices (of linearised system) +## mtt CantileverBeam sm tex # State matrices (of linearised system) +## mtt CantileverBeam tf tex # Transfer function (of linearised system) +mtt CantileverBeam simpar tex # Simulation parameters +mtt CantileverBeam numpar tex # Numerical simulation parameters +## mtt CantileverBeam input tex # Simulation input +## mtt CantileverBeam odeso ps # Simulation output +mtt CantileverBeam lmfr ps # log modulus of frequency response (of linearised system) + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_simpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/CantileverBeam_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system CantileverBeam (CantileverBeam_simpar.txt) +# Generated by MTT on Mon Apr 19 06:32:42 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 1.0; # Last time in simulation +DT = 0.001; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = 1; # Minimum frequency = 10^WMIN +WMAX = 4; # Maximum frequency = 10^WMAX +WSTEPS = 200; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/Fixed_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/Fixed_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/Fixed_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 1800 5400 1800 5175 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4230 2700 5355 2700 5130 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 1575 5400 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 2475 5400 2925 +4 0 0 100 0 18 20 0.0000 4 225 1065 5625 1890 Sf:zero\001 +4 0 0 100 0 18 20 0.0000 4 225 585 5625 2790 Sf:u\001 +4 2 4 100 0 18 20 0.0000 4 300 1230 4140 1890 SS:[y_in]\001 +4 2 4 100 0 18 20 0.0000 4 300 1785 4140 2790 SS:[theta_in]\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/Free_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/Free_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/Free_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 1800 5400 1800 5175 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4230 2700 5355 2700 5130 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 1575 5400 2025 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5400 2475 5400 2925 +4 2 0 100 0 18 20 0.0000 4 300 585 4140 1890 Df:y\001 +4 2 0 100 0 18 20 0.0000 4 225 1125 4140 2790 Se:zero\001 +4 0 4 100 0 18 20 0.0000 4 300 1440 5490 1890 SS:[y_out]\001 +4 0 4 100 0 18 20 0.0000 4 300 1995 5445 2790 SS:[theta_out]\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/frequencies.m Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/frequencies.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/CantileverBeam/frequencies.m @@ -0,0 +1,14 @@ +function [w_r,w_a,n_null] = frequencies (A,B,C,D) + + ## usage: [w_r,w_a] = frequencies (A,B,C,D) + ## + ## Resonant and antiresonant frequencies for undampled beam + + poles = eig(A); + Np = length(poles); + zeros = tzero(A,B,C,D); + Nz = length(zeros); + w_r = sort(imag(poles)); w_r = w_r(Np/2+1:Np); + w_a = sort(imag(zeros)); w_a = nozeros(w_a(Nz/2+1:Nz))'; + n_null = (Nz/2-length(w_a))*2; +endfunction ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/MakeFreqTable.m Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/MakeFreqTable.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/MakeFreqTable.m @@ -0,0 +1,64 @@ +# ## Makes the table of resonant frequencies + +# ## Actual resonant freqs +# fr_measured = [ +# 2.0683e+01 +# 7.5310e+01 +# 1.7080e+02 +# 3.0532e+02 +# 4.7414e+02]; + +# fa_measured = [ +# 2.0896e+01 +# 7.6867e+01 +# 1.7794e+02 +# 3.1890e+02 +# 4.8768e+02]; + +## Parameters - ideal pinned beam +PinnedBeam_numpar; + +## Ideal pinned beam - theory +[fr_theory] = beam_frequencies("pinned",ei,rhoa,beamlength)/(2*pi); +[fa_theory] = beam_frequencies("clamped-pinned",ei,rhoa,beamlength)/(2*pi); + +## SM form to get poles and zeros of the model +# ## Ideal pinned +# [A,B,C,D] = PinnedBeam_sm; +# fr_model_ideal = frequencies(A,B,C,D)/(2*pi); + +# ## Actual with non-ideal pins +# PinnedBeam_numpar; + +[A,B,C,D] = PinnedBeam_sm; + +[w_r, w_a] = frequencies(A,B,C,D); +fr_model = w_r/(2*pi); +fa_model = w_a/(2*pi); + + +printf("\nIndex \t& Theory \t& Model \t& Theory \t& Model \\\\ \n"); +printf("\\hline\n"); +for i = 1:5 + printf("%i \t& %3.2f \t& %3.2f \t& %3.2f \t& %3.2f\\\\ \n", i, \ + fr_theory(i), fr_model(i), fa_theory(i), fa_model(i)); +endfor + +# printf("\nMode \t& Theory \t& Model(ideal) \t& Model \t& Actual \\\\ \n"); +# printf("\\hline\n"); +# for i = 1:5 +# printf("%i \t& %3.2f \t& %3.2f \t& %3.2f \t& %3.2f\\\\ \n", i, fr_theory(i), \ +# fr_model_ideal(i), fr_model(i), fr_measured(i)); +# endfor + +# printf("\nMode \t& Theory \t& Model \t& Actual \\\\ \n"); +# printf("\\hline\n"); +# for i = 1:5 +# printf("%i \t& %3.2f \t& %3.2f \t& %3.2f \\\\ \n", i, fa_theory(i), fa_model(i), fa_measured(i)); +# endfor + + + + + + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_abg.fig @@ -0,0 +1,50 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2925 1980 3015 2520 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2970 2025 2970 2475 +-6 +6 4005 2880 4095 3420 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4050 2925 4050 3375 +-6 +6 8955 1980 9045 2520 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 9000 2025 9000 2475 +-6 +6 7830 2880 7920 3420 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 7875 2925 7875 3375 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4770 2700 5895 2700 5670 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6300 2700 7425 2700 7200 2925 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2970 2250 4095 2250 3870 2475 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2925 3150 4050 3150 3825 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7875 2250 9000 2250 8775 2475 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 7875 3150 9000 3150 8775 3375 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 1125 225 1125 5400 10800 5400 10800 225 1125 225 +4 1 0 100 0 18 20 1.5708 4 360 3855 4635 2700 BernoulliEuler:LumpL\001 +4 1 0 100 0 18 20 1.5708 4 360 4170 6165 2700 BernoulliEuler:Lump*18\001 +4 1 0 100 0 18 20 1.5708 4 360 3885 7740 2700 BernoulliEuler:LumpR\001 +4 2 4 100 0 18 14 0.0000 4 210 585 3915 2070 [y_in]\001 +4 2 4 100 0 18 14 0.0000 4 210 990 3915 2970 [theta_in]\001 +4 0 4 100 0 18 14 0.0000 4 210 735 7965 1980 [y_out]\001 +4 0 4 100 0 18 14 0.0000 4 210 1140 7965 2970 [theta_out]\001 +4 2 0 100 0 18 20 0.0000 4 285 1230 2835 3285 SS:ssL\001 +4 0 0 100 0 18 20 0.0000 4 285 1515 9135 2385 Sf:zeroR\001 +4 0 0 100 0 18 20 0.0000 4 285 1260 9135 3285 SS:ssR\001 +4 2 0 100 0 18 20 0.0000 4 285 1485 2835 2385 Sf:zeroL\001 Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_desc.tex ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_desc.tex +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_desc.tex @@ -5,10 +5,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.2 1999/11/24 22:17:26 peterg +% %% Updated to correspond to Reza's beam +% %% % %% Revision 1.1 1999/10/11 05:08:14 peterg % %% Initial revision % %% % %% Revision 1.1 1999/05/18 04:01:50 peterg % %% Initial revision @@ -67,32 +70,32 @@ \Ref{sec:PinnedBeam_numpar.tex}. \begin{table}[htbp] \begin{center} - \begin{tabular}{||l|l|l|l||} + \begin{tabular}{||l|l|l|l|l||} \hline \hline -Index & Theory & Model & Theory & Model \\ +Index & $f_r$ (theory) & $f_r$ (model)& $f_a$ (theory) & $f_a$ (model) \\ \hline 1 & 19.05 & 19.01 & 29.72 & 31.28\\ 2 & 76.24 & 75.57 & 96.50 & 100.80\\ 3 & 171.58 & 168.29 & 200.73 & 208.20\\ 4 & 304.76 & 294.89 & 344.13 & 350.88\\ 5 & 476.34 & 452.25 & 524.98 & 525.23\\ \hline \hline \end{tabular} - \caption{Mode frequencies (rad $s^{-1}$)} + \caption{Resonant and anti-resonant frequencies (Hz)} \label{tab:freq} \end{center} \end{table} Standard modal analysis give the theoretical system resonant -frequencies (based on the Bernoulli-Euler beam with the same values of -$EI$ and $\rho A$). The system anti-resonances correspond to those of +frequencies $f_r$ (based on the Bernoulli-Euler beam with the same values of +$EI$ and $\rho A$). The system anti-resonances $f_a$ correspond to those of the \emph{inverse} system with reversed causality, that the driven pinned end is replaced by a clamped end; again modal analysis of the inverse system gives the system anti resonances. The model and theoretical values are compared in Table \ref{tab:freq} for the first 5 modes. (This table was generated using the script MakeFreqTable.m) ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_input.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_input.txt @@ -0,0 +1,14 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (PinnedBeam_input.txt) +# Generated by MTT at Thu Apr 22 00:12:54 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +mttu(1) = exp(-t/0.1); # tau (PinnedBeam) + +# Set the switches ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_numpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_numpar.txt @@ -0,0 +1,30 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (pPinnedBeam_numpar.txt) +# Generated by MTT at Mon Apr 19 06:24:08 BST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +## Number of lumps +Lumps = 20; # Number of lumps + +## Beam physical parameters +BeamLength = 0.60; +BeamWidth = 0.05; +BeamThickness = 0.003; +Youngs = 68.94e9; +Density = 2712.8; +Area = BeamWidth*BeamThickness; +AreaMoment = (BeamWidth*BeamThickness^3)/12; +EI = Youngs*AreaMoment; +rhoA = Density*Area; + +## Segments +dz = BeamLength/Lumps; # Incremental length +dm = rhoA*dz; # Incremental mass +dk = EI/dz; # Incremental stiffness +dr = 0; # Damping ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_simpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/Beams/PinnedBeam/PinnedBeam_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system PinnedBeam (PinnedBeam_simpar.txt) +# Generated by MTT on Mon Apr 19 06:32:42 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 1.0; # Last time in simulation +DT = 0.01; # Print interval +STEPFACTOR = 10; # Integration steps per print interval +WMIN = 1; # Minimum frequency = 10^WMIN +WMAX = 4; # Maximum frequency = 10^WMAX +WSTEPS = 200; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_abg.fig @@ -0,0 +1,132 @@ +#FIG 3.1 +Portrait +Center +Inches +1200 2 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2706 4806 3606 4806 3456 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2406 5106 2406 6006 2556 5856 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3906 5106 3906 6006 4056 5856 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7208 4808 8108 4808 7958 4958 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8708 4808 9608 4808 9458 4958 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8408 5108 8408 6008 8558 5858 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7208 4508 8108 3608 8108 3833 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8708 3608 9608 4508 9383 4508 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9909 5109 9909 6009 10059 5859 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6908 5108 6908 6008 7058 5858 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 8405 2405 8405 3305 8555 3155 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11407 5107 11407 6007 11557 5857 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11406 3306 11406 2406 11556 2556 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4206 4806 5106 4806 4956 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5406 5106 5406 6006 5556 5856 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4206 4506 5106 3606 5106 3831 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5405 3305 5405 2405 5555 2555 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2405 3305 2405 2405 2555 2555 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11707 4807 12607 4807 12457 4957 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11707 3607 12607 4507 12382 4507 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2105 1805 2105 905 2255 1055 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2705 1805 2705 905 2855 1055 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5706 4806 6606 4806 6456 4956 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5706 3606 6606 4506 6381 4506 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2704 3604 3604 4504 3379 4504 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1208 4808 2108 4808 1958 4958 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1208 4508 2108 3608 2108 3833 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 681 3606 1131 3606 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 906 4506 906 3606 1056 3756 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12905 4505 12905 3605 13055 3755 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10207 4807 11107 4807 10957 4957 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10207 4507 11107 3607 11107 3832 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8400 3300 8625 3300 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12900 3600 13125 3600 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 12675 3600 12900 3600 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8175 3300 8400 3300 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 1501 5401 301 5401 301 3001 1501 3001 1501 5401 +2 2 1 2 1 7 1 0 -1 6.000 1 0 0 0 0 5 + 1502 452 3302 452 3302 3377 1502 3377 1502 452 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 4501 6601 3301 6601 3301 3901 4501 3901 4501 6601 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 6000 6600 4800 6600 4800 1800 6000 1800 6000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 7501 6601 6301 6601 6301 3901 7501 3901 7501 6601 +2 4 1 2 1 7 2 0 -1 6.000 0 0 7 0 0 5 + 9000 6600 7800 6600 7800 1800 9000 1800 9000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 10501 6601 9301 6601 9301 3901 10501 3901 10501 6601 +2 4 1 2 1 -1 1 0 -1 6.000 0 0 7 0 0 5 + 12000 6600 10800 6600 10800 1800 12000 1800 12000 6600 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 13501 5401 12301 5401 12301 3001 13501 3001 13501 5401 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2406 4881 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 3906 6381 I:m1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 2405 6380 R:b1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2405 3680 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 3906 4881 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8408 4883 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 8408 3683 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 8483 6383 R:b3\001 +4 1 -1 0 0 0 20 0.0000000 4 210 675 8407 2182 SS:f2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 9906 6381 I:m3\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 6905 6380 I:m2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 11407 4882 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 11407 3682 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 525 11406 2181 C:kt\001 +4 1 -1 0 0 0 20 0.0000000 4 210 525 11482 6382 R:bt\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5406 4881 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5406 3681 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 5481 6381 R:b2\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 12909 4884 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 6908 4883 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 2404 2179 1\001 +4 1 -1 0 0 0 20 0.0000000 4 270 585 2779 754 C:p1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 2104 754 R:d1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 910 4885 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 675 902 3377 SS:fb\001 +4 1 -1 0 0 0 20 0.0000000 4 210 615 12905 3380 SS:ft\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 9909 4884 1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 585 5405 2180 C:k2\001 +4 1 1 1 0 3 20 0.0000000 4 240 1530 3901 6901 Macro mass\001 +4 1 1 1 0 3 20 0.0000000 4 240 1800 2401 376 Macro control\001 +4 1 1 1 0 3 20 0.0000000 4 240 1455 900 5700 Macro base\001 +4 1 1 1 0 3 20 0.0000000 4 270 1890 5400 1650 Compliant link\001 +4 1 1 1 0 3 20 0.0000000 4 240 1470 6901 6901 Micro mass\001 +4 1 1 1 0 3 20 0.0000000 4 240 1890 8475 1650 Micro actuator\001 +4 1 1 1 0 3 20 0.0000000 4 270 1125 9901 6901 Tip mass\001 +4 1 1 1 0 3 20 0.0000000 4 270 2985 11400 1650 Compliant environment\001 +4 1 1 1 0 3 20 0.0000000 4 270 1305 12901 5701 Tip sensor\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_desc.tex Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_desc.tex @@ -0,0 +1,18 @@ +% Verbal description for system MacroMicro (MacroMicro_desc.tex) +% Generated by MTT on Tue Dec 9 17:55:41 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{MacroMicro} is + displayed in Figure \Ref{MacroMicro_abg} and its label + file is listed in Section \Ref{sec:MacroMicro_lbl}. + The subsystems are listed in Section \Ref{sec:MacroMicro_sub}. + +This is a Bond Graph model of the macro-micro manipulation system +discussed by Sharon in his thesis and BY Sharon, Hogan and Hardt in +various papers. ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_lbl.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_lbl.txt @@ -0,0 +1,32 @@ +%% Label file (macmic_lbl.txt) +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Masses +m1 lin flow,m_1 +m2 lin flow,m_2 +m3 lin flow,m_3 + +%Springs +k2 lin state,k_2 +kt lin state,k_t + +%Dampers +b1 lin flow,b_1 +b2 lin flow,b_2 +b3 lin flow,b_3 +bt lin flow,b_t + +%Source/sensors +f2 SS external,internal +ft SS external,0 +fb SS internal,0 + +%Control +p1 lin flow,p_1 +d1 lin flow,d_1 + + + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_numpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_numpar.txt @@ -0,0 +1,12 @@ + +m_1 = 0.0169; # m_1; +m_2 = 0.0169; # m_2; +b_1 = 0.13; # b_1; +b_2 = 0.013; # b_2; +k_2 = 24; # k_2; +k_t = 150; # k_t; +b_t = 0.16; # b_t; +b_3 = 0.13; # b_3; +m_3 = 0.005; # m_3; +p_1 = 10; # p_1; +d_1 = 0.9; # d_1; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_rep.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_rep.txt @@ -0,0 +1,19 @@ +# Outline report file for system MacroMicro (MacroMicro_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt MacroMicro abg tex +mtt MacroMicro cbg ps +mtt MacroMicro struc tex +mtt MacroMicro dae tex +mtt MacroMicro dm tex +mtt MacroMicro tf tex +mtt MacroMicro numpar txt +mtt MacroMicro lmfr ps +mtt MacroMicro sro ps + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_simpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_simpar.txt @@ -0,0 +1,19 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system MacroMicro (MacroMicro_simpar.txt) +# Generated by MTT on Thu Nov 9 15:19:17 GMT 2000. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +FIRST = 0.0; # First time in simulation output +DT = 0.01; # Print interval +LAST = 1.0; # Last time in simulation +STEPFACTOR = 10; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_state.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-1D/MacroMicro/MacroMicro_state.txt @@ -0,0 +1,14 @@ +## -*-octave-*- Put Emacs into octave-mode ## + +## +## System MacroMicro, representation state, language txt; +## File MacroMicro_state.txt; +## Generated by MTT on Thu Nov 9 15:19:28 GMT 2000; + + +MacroMicro_k2 = 0.0; # Default +MacroMicro_kt = 0.0; # Default +MacroMicro_m1 = 0.0; # Default +MacroMicro_m2 = 0.0; # Default +MacroMicro_m3 = 0.0; # Default +MacroMicro_p1 = 0.0; # Default ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/Cart_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/Cart_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/Cart_abg.fig @@ -0,0 +1,49 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 90 3915 6615 4320 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 4050 3825 4050 3600 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 4050 5625 4050 5400 4275 +4 1 0 100 0 18 20 0.0000 4 210 165 4050 4140 1\001 +4 1 4 100 0 18 20 0.0000 4 285 870 6165 4140 SS:[y]\001 +4 2 0 100 0 18 20 0.0000 4 285 2310 2430 4140 Sf:zero_velocity\001 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4050 2925 4050 1575 4275 1800 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 3150 5625 3150 5400 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 4950 5625 4950 5400 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2475 3825 2475 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 3150 3825 3150 3600 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 4950 2475 4950 2700 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 2925 2870 1970 2870 2289 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4288 2957 5243 2002 5243 2320 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6525 3150 7875 3150 7650 3375 +4 1 1 101 0 3 20 0.0000 4 270 1290 4140 3600 x-velocity\001 +4 1 0 100 0 18 20 0.0000 4 210 165 4050 3240 1\001 +4 1 4 100 0 18 20 0.0000 4 285 1425 1710 3240 SS:[drive]\001 +4 1 1 101 0 3 20 0.0000 4 270 1275 4185 4500 y-velocity\001 +4 1 1 101 0 3 20 0.0000 4 270 2130 4050 5490 angular-velocity\001 +4 1 0 100 0 18 20 0.0000 4 210 165 4050 5040 1\001 +4 1 4 100 0 18 20 0.0000 4 285 870 6165 5040 SS:[a]\001 +4 2 0 100 0 18 20 0.0000 4 300 780 2430 5040 R:r_p\001 +4 1 0 100 0 18 20 0.0000 4 285 765 2835 1845 R:r_c\001 +4 1 4 100 0 18 20 0.0000 4 285 870 4050 1440 SS:[x]\001 +4 1 0 100 0 18 20 0.0000 4 285 795 5355 1845 I:m_c\001 +4 1 0 100 0 18 20 0.0000 4 225 660 6075 3240 INTF\001 +4 0 0 100 0 18 20 0.0000 4 225 1665 8010 3240 De:Position\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/Cart_lbl.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/Cart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/Cart_lbl.txt @@ -0,0 +1,48 @@ +%% Label file for system Cart (Cart_lbl.txt) +%SUMMARY Cart +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS +%ALIAS in drive +%ALIAS pendulum|out x,y,a + +% Argument aliases +%ALIAS $1 m_c + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type I + m_c lin flow,m_c + +% Component type R + r_c lin flow,r_c + r_p lin flow,r_p + +% Component type SS + [a] SS external,external + [drive] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Df + v_c SS external + +% Component type Sf + zero_velocity SS 0 + + + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_abg.fig @@ -0,0 +1,24 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3780 4005 3870 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3825 4050 3825 4500 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 4275 3825 4275 3600 4500 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 5175 4725 3375 4725 3375 3825 5175 3825 5175 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 4050 5230 3095 5230 3414 +2 1 0 2 1 7 101 0 -1 0.000 0 0 -1 0 0 5 + 4477 3712 5872 2317 6052 2497 4702 3847 4522 3667 +4 1 0 100 0 18 20 0.0000 4 225 600 4275 4365 Cart\001 +4 1 0 100 0 18 20 0.0000 4 225 645 2070 4365 Se:F\001 +4 1 0 100 0 18 20 0.0000 4 225 1440 5355 3060 InvertedPendulum\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_desc.tex Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_desc.tex @@ -0,0 +1,21 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system InvertedPendulumOnCart (InvertedPendulumOnCart_desc.tex) +% Generated by MTT on Thu Aug 5 10:38:16 BST 1999. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{InvertedPendulumOnCart} is + displayed in Figure \Ref{fig:InvertedPendulumOnCart_abg.ps} and its label + file is listed in Section \Ref{sec:InvertedPendulumOnCart_lbl}. + The subsystems are listed in Section \Ref{sec:InvertedPendulumOnCart_sub}. + +This is a one input, two output nonlinear system comprising an +inverted pendulum attached by a hinge to a cart constrained to move in +the horizontal direction. The input is the horizontal force acting on +the cart, and the two outputs are the horizontal position and the +pendulum angle respectively. ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_input.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_input.txt @@ -0,0 +1,14 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (InvertedPendulumOnCart_input.txt) +# Generated by MTT at Thu Aug 5 09:17:30 BST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +## Removed by MTT on Fri Nov 10 14:31:10 GMT 2000: mttu(1) = 1.0*t<1 -1.0*((t>=1)&&(t<2)); # u (InvertedPendulumOnCart_F) + +invertedpendulumoncart_f_1_u = 1.0*t<1 -1.0*((t>=1)&&(t<2)); ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_lbl.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_lbl.txt @@ -0,0 +1,29 @@ +%% Label file for system InvertedPendulumOnCart (InvertedPendulumOnCart_lbl.txt) +%SUMMARY InvertedPendulumOnCart +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type Se + F SS external + + + + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_numpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_numpar.txt @@ -0,0 +1,27 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (InvertedPendulumOnCart_numpar.txt) +# Generated by MTT at Thu Aug 5 10:07:08 BST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: ## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: e_s = 1.0; # Se +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: ## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: f_s = 1.0; # Sf +g = 1.0; # Pendulum,gRODa +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: ## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: j_m = 1.0; # gRODa +j_r = 1.0; # Pendulum +l = 1.0; # Pendulum +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: ## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: l_a = 1.0; # gRODa +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: ## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: l_b = 1.0; # gRODa +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: m = 1.0; # gRODa +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: m_c = 1.0; # Cart +## Removed by MTT on Thu Nov 9 17:21:31 GMT 2000: m_r = 1.0; # Pendulum +r_c = 0.1; # Cart +r_p = 0.1; # Cart +m_c = 1.0; # Added by MTT on Thu Nov 09 17:22:55 GMT 2000 +m_r = 1.0; # Added by MTT on Thu Nov 09 17:22:55 GMT 2000 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_rep.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_rep.txt @@ -0,0 +1,27 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system InvertedPendulumOnCart (InvertedPendulumOnCart_rep.txt) +## Generated by MTT on" Fri Oct 22 09:03:14 EST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt InvertedPendulumOnCart abg tex # The system description +mtt InvertedPendulumOnCart cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt InvertedPendulumOnCart struc tex # The system structure +mtt InvertedPendulumOnCart dae tex # The system dae +## mtt InvertedPendulumOnCart ode tex # The system ode +## mtt InvertedPendulumOnCart sspar tex # Steady-state parameters +## mtt InvertedPendulumOnCart ss tex # Steady state +## mtt InvertedPendulumOnCart dm tex # Descriptor matrices (of linearised system) +mtt InvertedPendulumOnCart sm tex # State matrices (of linearised system) +## mtt InvertedPendulumOnCart tf tex # Transfer function (of linearised system) +## mtt InvertedPendulumOnCart lmfr ps # log modulus of frequency response (of linearised system) +mtt InvertedPendulumOnCart simpar tex # Simulation parameters +mtt InvertedPendulumOnCart numpar tex # Numerical simulation parameters +mtt InvertedPendulumOnCart input tex # Simulation input +mtt -c InvertedPendulumOnCart odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_simpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system InvertedPendulumOnCart (InvertedPendulumOnCart_simpar.txt) +# Generated by MTT on Thu Aug 5 09:17:05 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 100.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_subs.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_subs.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulumOnCart_subs.r @@ -0,0 +1,16 @@ +% Default SUBS file +% File InvertedPendulumOnCart_subs.r +% Generated by MTT on Thu Nov 9 18:55:44 GMT 2000. + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Put algebraic substitution commands here + +for all x let cos(x)^2+sin(x)^2 = 1 +END; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulum_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulum_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulum_abg.fig @@ -0,0 +1,46 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3555 5085 6345 5310 +4 1 4 100 0 18 14 0.0000 4 210 510 3825 5265 [x_b]\001 +4 1 4 100 0 18 14 0.0000 4 210 525 4950 5265 [y_b]\001 +4 1 4 100 0 18 14 0.0000 4 210 525 6075 5265 [a_b]\001 +-6 +6 3780 3105 6345 4545 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 3150 4950 4500 5175 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 3150 6075 4500 6300 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 3150 3825 4500 4050 4275 +-6 +6 3780 5355 6345 6795 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 5400 4950 6750 5175 6525 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 5400 6075 6750 6300 6525 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 5400 3825 6750 4050 6525 +-6 +6 3555 4545 6345 4770 +4 1 4 100 0 18 14 0.0000 4 210 495 3825 4725 [x_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 4950 4725 [y_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 6075 4725 [a_a]\001 +-6 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6840 4950 8190 4950 7965 5175 +4 1 4 100 0 18 20 0.0000 4 285 870 3825 7065 SS:[x]\001 +4 1 4 100 0 18 20 0.0000 4 285 870 4950 7065 SS:[y]\001 +4 1 4 100 0 18 20 0.0000 4 285 870 6075 7065 SS:[a]\001 +4 1 0 100 0 18 20 0.0000 4 285 1590 4964 5040 gRODa:rod\001 +4 1 0 100 0 18 20 0.0000 4 285 960 3825 3015 Se:x_0\001 +4 1 0 100 0 18 20 0.0000 4 285 960 4950 3015 Se:y_0\001 +4 1 0 100 0 18 20 0.0000 4 285 960 6030 3015 Se:a_0\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6660 4995 [a]\001 +4 1 0 100 0 18 20 0.0000 4 225 1200 8865 5040 De:theta\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulum_lbl.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulum_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/InvertedPendulumOnCart/InvertedPendulum_lbl.txt @@ -0,0 +1,41 @@ +%% Label file for system InvertedPendulum (InvertedPendulum_lbl.txt) +%SUMMARY InvertedPendulum +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in x,y,a + + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type De + theta SS external + +% Component type SS + [a] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Se + a_0 SS 0 + x_0 SS 0 + y_0 SS 0 + +% Component type gRod + rod none l;l;j_r;m_r;g + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_abg.fig @@ -0,0 +1,51 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3017 1577 3287 1577 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5269 1579 5539 1579 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 1577 3152 3152 3377 2927 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4142 3152 4412 3152 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4277 1577 4277 3152 4502 2927 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5402 1577 5402 3152 5627 2927 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3019 4279 3289 4279 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4144 4279 4414 4279 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5271 4281 5541 4281 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4277 4277 4277 5852 4502 5627 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5402 4277 5402 5852 5627 5627 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7200 2250 7200 675 1575 675 1575 2250 7200 2250 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7200 4500 7200 2925 1575 2925 1575 4500 7200 4500 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7200 6750 7200 5175 1575 5175 1575 6750 7200 6750 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 4299 3150 5874 3375 5649 +4 1 -1 0 0 0 20 0.0000000 4 240 870 3152 1397 SS:v_x\001 +4 1 -1 0 0 0 20 0.0000000 4 240 810 4277 1397 SS:f_a\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1110 4278 3828 ROD:rod\001 +4 1 -1 0 0 0 20 0.0000000 4 240 885 3155 6305 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000000 4 240 870 4280 6305 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000000 4 270 885 5450 6305 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1920 5986 1396 ACCEL:gravity\001 +4 1 1 1 0 3 20 0.0000000 4 240 1245 7965 1440 Fixed end\001 +4 1 1 1 0 3 20 0.0000000 4 240 1110 7920 6075 Free end\001 +4 1 1 1 0 3 20 0.0000000 4 270 1755 8280 3735 Rod dynamics\001 +4 1 4 0 0 0 16 0.0000000 4 195 495 3152 3467 [x_a]\001 +4 1 4 0 0 0 16 0.0000000 4 210 885 4277 3467 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000000 4 210 495 5402 3467 [y_a]\001 +4 1 4 0 0 0 16 0.0000000 4 195 510 3154 4144 [x_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 900 4280 4145 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 510 5406 4146 [y_b]\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_desc.tex Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_desc.tex @@ -0,0 +1,25 @@ +% Verbal description for system Pendulum (Pendulum_desc.tex) +% Generated by MTT on Fri Aug 15 09:52:55 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Pendulum} is + displayed in Figure \Ref{Pendulum_abg} and its label + file is listed in Section \Ref{sec:Pendulum_lbl}. + The subsystems are listed in Section \Ref{sec:Pendulum_sub}. + +This is a heirachical version of the example from Section 10.3 of +``Metamodelling''. It uses two compound components: {\bf ROD} and {\bf +GRAV}. {\bf ROD} is +essentially as described in Figure 10.2 {\bf GRAV} represents gravity by a +vertical accelleration as in Section 10.9 of "Metamodelling". + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_lbl.txt +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_lbl.txt @@ -1,20 +1,24 @@ -%SUMMARY pendulum: Pendulum example from Section 10.3 of "Metamodelling" +%SUMMARY Pendulum: Pendulum example from Section 10.3 of "Metamodelling" %DESCRIPTION This is a heirachical version of the %DESCRIPTION example from Section 10.3 of "Metamodelling". %DESCRIPTION It uses two compound components: ROD and GRA %DESCRIPTION ROD is essentially as described in Figure 10.2 %DESCRIPTION GRAV represents gravity by a vertical accelleration %DESCRIPTION as in Section 10.9 of "Metamodelling". +%ALIAS ACCEL Mechanical-2D/ACCEL # Constant acceleration %% Label file for system pend (pend_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.2 1997/08/15 09:46:22 peterg +% %% New labeled ports version +% %% % Revision 1.1 1996/11/09 18:44:58 peterg % Initial revision % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -25,22 +29,22 @@ %Rod parameters rod none l;l;j;m %Zero velocity sources -v_x internal 0 +v_x SS internal,0 %Zero force/torque sources -F_x 0 internal -F_y 0 internal -F_a 0 internal +F_x SS 0,internal +F_y SS 0,internal +F_a SS 0,internal %Torque at end -f_a external external +f_a SS external,external %Gravity gravity Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_simpar.txt ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_simpar.txt +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_simpar.txt @@ -4,12 +4,15 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +## Revision 1.3 1999/12/23 20:16:47 peterg +## Removed MTHOD +## ## Revision 1.2 1999/02/22 10:08:05 peterg -## method to Euler +## ## ## Revision 1.1 1998/07/27 11:29:13 peterg ## Initial revision ## ############################################################### ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_subs.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_subs.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/Pendulum/Pendulum_subs.r @@ -0,0 +1,17 @@ +%% Reduce comands to sunstitute in system Pendulum (Pendulum_subs.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLink/TwoLink_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLink/TwoLink_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLink/TwoLink_abg.fig @@ -0,0 +1,88 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.0000000 1 0.000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.0000000 1 0.000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 7650 450 9405 450 9405 675 7650 675 7650 450 +4 1 -1 0 0 0 20 0.0000000 4 240 870 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000000 4 210 150 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000000 4 240 960 2432 5717 SS:f_a2\001 +4 1 -1 0 0 0 20 0.0000000 4 240 885 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000000 4 240 870 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000000 4 270 885 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1260 4729 3379 ROD:rod1\001 +4 1 -1 0 0 0 20 0.0000000 4 210 1260 4731 8196 ROD:rod2\001 +4 1 -1 0 0 0 20 0.0000000 4 240 960 4771 946 SS:f_a1\001 +4 0 1 1 0 3 20 0.0000000 4 240 810 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000000 4 240 870 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000000 4 240 810 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000000 4 270 420 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000000 4 240 870 6750 1260 Joint 1\001 +4 1 4 0 0 0 16 0.0000000 4 195 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000000 4 210 885 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000000 4 195 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 900 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000000 4 195 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000000 4 210 885 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000000 4 210 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000000 4 195 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 900 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000000 4 210 510 5859 8514 [y_b]\001 +4 1 -1 0 0 0 20 0.0000000 4 270 870 5850 945 SS:v_y\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_abg.fig @@ -0,0 +1,86 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 2432 5717 SS:f_a2\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4729 3379 ROD:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4731 8196 ROD:rod2\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 4771 946 SS:f_a1\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1170 5850 945 ACCEL:g\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_desc.tex Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_desc.tex @@ -0,0 +1,31 @@ +% Verbal description for system TwoLinkxyc (TwoLinkxyc_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TwoLinkxyc} is + displayed in Figure \Ref{TwoLinkxyc_abg} and its label + file is listed in Section \Ref{sec:TwoLinkxyc_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkxyc_sub}. + +This system is identical to \textbf{twolink} except that the two +colocated {\bf SS} components act at the tip in the $x$ and $y$ +directions instead of at the two joints. + +It uses two compound components: {\bf ROD} and {\bf GRAV}. {\bf ROD} +is essentially as described in Figure 10.2 of "Metamodelling" and {\bf +GRAV} represents gravity by a vertical acceleration as in Section +10.9 of "Metamodelling" + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_input.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_input.txt @@ -0,0 +1,14 @@ +# Numerical parameter file (TwoLinkxyc_input.txt) +# Generated by MTT at Fri Jun 13 16:56:09 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = (t<1.0); +u(2) = 0.0; # +u(3) = 0.0; # gravity Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_lbl.txt +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_lbl.txt @@ -1,29 +1,23 @@ -%SUMMARY twolinkxyc: two-link manipulator with collocated tip source-sensors. +%SUMMARY TwoLinkxyc: two-link manipulator with collocated tip source-sensors. %DESCRIPTION This is related to a heirachical version of the %DESCRIPTION example from Section 10.5 of "Metamodelling". %DESCRIPTION It uses two compound components: ROD and GRA %DESCRIPTION ROD is essentially as described in Figure 10.2 %DESCRIPTION GRAV represents gravity by a vertical accelleration %DESCRIPTION as in Section 10.9 of "Metamodelling" %DESCRIPTION except that the collocated source-sensors act at the %DESCRIPTION tip rather than at the joints. -%% Label (twolinkxyc_lbl.txt) +%% Label (TwoLinkxyc_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ -% %% Revision 1.2 1996/12/05 12:39:49 peterg -% %% Documentation -% %% -% %% Revision 1.1 1996/12/05 12:17:15 peterg -% %% Initial revision -% %% -% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Revision 1.1 1998/01/06 15:56:31 peterg % %% Initial revision % %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: @@ -34,24 +28,24 @@ %Rod parameters - identical rods rod1 none l;l;j;m;mg rod2 none l;l;j;m;mg %Zero velocity sources -v_x internal 0 +v_x SS internal,0 %Zero force/torque sources -F_a 0 internal +F_a SS 0,internal %Torque at joints -f_a1 0 internal -f_a2 0 internal +f_a1 SS 0,internal +f_a2 SS 0,internal %Forces at tip -F_x external external -F_y external external +F_x SS external,external +F_y SS external,external %Gravity g ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_rep.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_rep.txt @@ -0,0 +1,18 @@ +# Outline report file for system TwoLinkxyc (TwoLinkxyc_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt TwoLinkxyc abg tex +mtt TwoLinkxyc struc tex +mtt TwoLinkxyc dae tex +mtt TwoLinkxyc cse tex +mtt TwoLinkxyc rfe tex +mtt TwoLinkxyc ode tex +mtt TwoLinkxyc input txt +mtt TwoLinkxyc numpar txt +mtt -c TwoLinkxyc odeso ps ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_simp.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_simp.r @@ -0,0 +1,17 @@ +%% Reduce comands to simplify output for system TwoLinkxyc (TwoLinkxyc_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_sspar.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyc/TwoLinkxyc_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for TwoLinkxyc (TwoLinkxyc_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_abg.fig @@ -0,0 +1,86 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 2432 5717 SS:f_a2\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4729 3379 ROD:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4731 8196 ROD:rod2\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 4771 946 SS:f_a1\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1170 5850 945 ACCEL:g\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_desc.tex ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_desc.tex +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_desc.tex @@ -1,22 +1,21 @@ -% Verbal description for system twolinkxyn (twolinkxyn_desc.tex) +% Verbal description for system TwoLinkxyn (TwoLinkxyn_desc.tex) % Generated by MTT on Fri Jun 13 16:30:23 BST 1997. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ -% Revision 1.1 1997/08/15 13:31:00 peterg +% Revision 1.1 1998/01/06 17:36:33 peterg % Initial revision -% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - The acausal bond graph of system \textbf{twolinkxyn} is - displayed in Figure \Ref{twolinkxyn_abg} and its label - file is listed in Section \Ref{sec:twolinkxyn_lbl}. - The subsystems are listed in Section \Ref{sec:twolinkxyn_sub}. + The acausal bond graph of system \textbf{TwoLinkxyn} is + displayed in Figure \Ref{TwoLinkxyn_abg} and its label + file is listed in Section \Ref{sec:TwoLinkxyn_lbl}. + The subsystems are listed in Section \Ref{sec:TwoLinkxyn_sub}. This system is identical to \textbf{twolink} except that there are now two non-collocated input-output pairs: The torque input to joint 1 -- x velocity of the tip and the torque input to joint 2 -- y velocity of the tip. ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_input.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_input.txt @@ -0,0 +1,14 @@ +# Numerical parameter file (TwoLinkxyn_input.txt) +# Generated by MTT at Fri Jun 13 16:56:09 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = (t<1.0); +u(2) = 0.0; # +u(3) = 0.0; # gravity Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_lbl.txt +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_lbl.txt @@ -1,23 +1,23 @@ -%SUMMARY twolinkxyn: two-link manipulator with collocated tip source-sensors. +%SUMMARY TwoLinkxyn: two-link manipulator with collocated tip source-sensors. %DESCRIPTION This is related to a heirachical version of the %DESCRIPTION example from Section 10.5 of "Metamodelling". %DESCRIPTION It uses two compound components: ROD and GRA %DESCRIPTION ROD is essentially as described in Figure 10.2 %DESCRIPTION GRAV represents gravity by a vertical accelleration %DESCRIPTION as in Section 10.9 of "Metamodelling" %DESCRIPTION except that the source sensors are not collocated: %DESCRIPTION sources at the joints, sensors at the xy motion of the tip. -%% Label (twolinkxyn_lbl.txt) +%% Label (TwoLinkxyn_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ -% %% Revision 1.1 1998/01/06 15:56:31 peterg +% %% Revision 1.1 1998/01/06 17:37:55 peterg % %% Initial revision % %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: @@ -28,24 +28,24 @@ %Rod parameters - identical rods rod1 none l;l;j;m;mg rod2 none l;l;j;m;mg %Zero velocity sources -v_x internal 0 +v_x SS internal,0 %Zero force/torque sources -F_a 0 internal +F_a SS 0,internal %Torque at joints -f_a1 external internal -f_a2 external internal +f_a1 SS external,internal +f_a2 SS external,internal %Forces at tip -F_x 0 external -F_y 0 external +F_x SS 0,external +F_y SS 0,external %Gravity g ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_simp.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_simp.r @@ -0,0 +1,17 @@ +%% Reduce comands to simplify output for system TwoLinkxyn (TwoLinkxyn_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_simpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system TwoLinkxyn (TwoLinkxyn_simpar.txt) +# Generated by MTT on Mon Feb 22 09:53:04 GMT 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 10.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 10; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_sspar.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/TwoLinkxyn/TwoLinkxyn_sspar.r @@ -0,0 +1,10 @@ +%% Reduce steady-state parameter file for TwoLinkxyn (TwoLinkxyn_sspar.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_abg.fig Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_abg.fig @@ -0,0 +1,86 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 1125 485 485 8550 1125 8730 1575 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 8550 5625 485 485 8550 5625 9035 6110 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3468 1128 3738 1128 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5720 1130 5990 1130 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4593 2703 4863 2703 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4728 1128 4728 2703 4953 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4502 5492 4502 5762 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2927 5627 4502 5627 4277 5852 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 5851 4726 7426 4951 7201 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3472 8647 3742 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4597 8647 4867 8647 +2 1 0 1 25 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5724 8649 5994 8649 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4730 8645 4730 10220 4955 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5855 8645 5855 10220 6080 9995 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3601 3826 3601 7426 3826 7201 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5851 3826 5851 7426 6076 7201 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 8775 6525 7200 2925 7200 2925 8775 6525 8775 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 2025 6525 450 2925 450 2925 2025 6525 2025 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 6435 6525 4860 2925 4860 2925 6435 6525 6435 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 11250 6525 9675 2925 9675 2925 11250 6525 11250 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 11475 9450 225 180 225 180 11475 9450 11475 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3603 1128 3603 2703 3828 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5853 1128 5853 2703 6078 2478 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4726 3826 4726 5401 4951 5176 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 6525 4050 2925 4050 2925 2475 6525 2475 6525 4050 +2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 8622 3600 10197 3825 9972 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 5175 8775 1575 8325 1575 8325 5175 8775 5175 +2 4 0 2 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 8775 9675 8775 6075 8325 6075 8325 9675 8775 9675 +4 1 -1 0 0 0 20 0.0000 4 255 810 3603 948 SS:v_x\001 +4 0 -1 0 0 0 20 0.0000 4 195 135 4683 5718 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 2432 5717 SS:f_a2\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 3608 10673 SS:F_x\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 4733 10673 SS:F_a\001 +4 1 -1 0 0 0 20 0.0000 4 255 840 5903 10673 SS:F_y\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4729 3379 ROD:rod1\001 +4 1 -1 0 0 0 20 0.0000 4 195 1200 4731 8196 ROD:rod2\001 +4 1 -1 0 0 0 20 0.0000 4 255 900 4771 946 SS:f_a1\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6795 3375 Link 1\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 5760 Joint 2\001 +4 0 1 1 0 3 20 0.0000 4 210 720 6750 8190 Link 2\001 +4 0 1 1 0 3 20 0.0000 4 270 375 6750 10485 Tip\001 +4 0 1 1 0 3 20 0.0000 4 225 795 6750 1260 Joint 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1170 5850 945 ACCEL:g\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3600 2970 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4725 2970 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3600 3780 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4725 3780 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5850 3780 [y_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5850 2970 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 495 3605 7835 [x_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 900 4730 7835 [alpha_a]\001 +4 1 4 0 0 0 16 0.0000 4 225 495 5855 7835 [y_a]\001 +4 1 4 0 0 0 16 0.0000 4 210 510 3607 8512 [x_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 915 4733 8513 [alpha_b]\001 +4 1 4 0 0 0 16 0.0000 4 225 510 5859 8514 [y_b]\001 ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_desc.tex Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_desc.tex @@ -0,0 +1,43 @@ +% Verbal description for system gTwoLink (gTwoLink_desc.tex) +% Generated by MTT on Fri Jun 13 16:30:23 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/01/19 14:20:07 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/08/15 13:31:00 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{gTwoLink} is + displayed in Figure \Ref{gTwoLink_abg} and its label + file is listed in Section \Ref{sec:gTwoLink_lbl}. + The subsystems are listed in Section \Ref{sec:gTwoLink_sub}. + +This is a heirachical version of the example from Section 10.5 of +"Metamodelling". It uses the compound components: {\bf ROD}. {\bf +ROD} is essentially as described in Figure 10.2. +Gravity is included as discussed in "Metamodelling" by accelerating +the manipulator vertically using the {\bf ACCEL} component. + +This system has a number of dynamic elements (those corresponding to +translation motion) in derivative causality, thus the system is +represnted as a Differential-Algebraic Equation (Section +\Ref{sec:gTwoLink_dae.tex}). Hovever, this +is of contrained-state form and therfore can be written as a set of +constrained-state equations (Section \Ref{sec:gTwoLink_cse.tex}). The +corresponding ordinary differential equation is complicated due to the +trig functions involved in inverting the E matrix. + +As well as the standard representation the ``robot-form'' equations +appear in Section \Ref{sec:gTwoLink_rfe.tex}. + +%%% Local Variables: +%%% mode: plain-tex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_input.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_input.txt @@ -0,0 +1,14 @@ +# Numerical parameter file (gTwoLink_input.txt) +# Generated by MTT at Fri Jun 13 16:56:09 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = (t<1.0); +u(2) = 0.0; # +u(3) = 0.0; # gravity ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_lbl.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_lbl.txt @@ -0,0 +1,53 @@ +%SUMMARY gTwoLink: two-link manipulator from Section 10.5 of "Metamodelling" +%DESCRIPTION This is a heirachical version of the +%DESCRIPTION example from Section 10.5 of "Metamodelling". +%DESCRIPTION It uses two compound components: ROD and GRA +%DESCRIPTION ROD is essentially as described in Figure 10.2 +%DESCRIPTION GRAV represents gravity by a vertical accelleration +%DESCRIPTION as in Section 10.9 of "Metamodelling" + + +%% Label (gTwoLink_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1996/12/05 12:39:49 peterg +% %% Documentation +% %% +% %% Revision 1.1 1996/12/05 12:17:15 peterg +% %% Initial revision +% %% +% %% Revision 1.1 1996/11/14 10:48:42 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%Rod parameters - identical rods +rod1 none l;l;j;m;mg +rod2 none l;l;j;m;mg + +%Zero velocity sources +v_x SS internal,0 + + +%Zero force/torque sources +F_x SS 0,internal +F_a SS 0,internal +F_y SS 0,internal + + +%Torque at joints +f_a1 SS external,external +f_a2 SS external,external + +%Gravity +g + ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_numpar.txt Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_numpar.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (gTwoLink_numpar.txt) +# Generated by MTT at Fri Jun 13 16:39:41 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +l = 1.0; # Default value +m = 1.0; # Default value +j = m*l*l/12.0; # Uniform rod + Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_rep.txt +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_rep.txt @@ -3,10 +3,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/22 09:18:53 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt gTwoLink abg tex mtt gTwoLink struc tex mtt gTwoLink sympar tex @@ -14,6 +17,6 @@ mtt gTwoLink cse tex mtt gTwoLink rfe tex mtt gTwoLink ode tex mtt gTwoLink input txt mtt gTwoLink numpar txt -mtt gTwoLink odeso ps +mtt -c gTwoLink odeso ps ADDED mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_simp.r Index: mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Mechanical/Mechanical-2D/gTwoLink/gTwoLink_simp.r @@ -0,0 +1,17 @@ +%% Reduce comands to simplify output for system gTwoLink (gTwoLink_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + trig1 := {cos(~x)*cos(~y) => (cos(x+y)+cos(x-y))/2, + cos(~x)*sin(~y) => (sin(x+y)-sin(x-y))/2, + sin(~x)*sin(~y) => (cos(x-y)-cos(x+y))/2, + cos(~x)^2 => (1+cos(2*x))/2, + sin(~x)^2 => (1-cos(2*x))/2}; + LET trig1; + +END; ADDED mttroot/mtt/lib/examples/Sensitivity/sRCc/sRCc_abg.fig Index: mttroot/mtt/lib/examples/Sensitivity/sRCc/sRCc_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Sensitivity/sRCc/sRCc_abg.fig @@ -0,0 +1,69 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 1800 1125 162 162 1800 1125 1890 1260 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1802 4277 2702 4277 2477 4502 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 4277 4052 4277 3827 4502 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4502 4277 5402 4277 5177 4502 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 4051 2926 3151 3151 3376 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 4051 4276 3151 4501 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 4276 2701 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5401 4051 5401 4276 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5401 4276 5401 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 4051 2701 4276 +2 2 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 5 + 2475 585 3375 585 3375 765 2475 765 2475 585 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4050 1215 4500 1215 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4050 1080 4500 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 675 2475 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3375 675 5400 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4275 675 4275 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4275 1215 4275 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 1575 5400 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 945 1800 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 1575 1800 1260 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 5400 1530 5400 765 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6750 5625 6750 225 675 225 675 5625 6750 5625 +4 1 -1 0 0 0 20 0.0000 4 255 180 2927 4367 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 4277 4367 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 2926 2926 sR:r\001 +4 1 -1 0 0 0 20 0.0000 4 255 645 4276 2926 sC:c\001 +4 1 -1 0 0 0 20 0.0000 4 255 945 1395 4365 sSe:e1\001 +4 0 1 1 0 0 20 0.0000 4 180 120 2880 450 r\001 +4 0 1 1 0 0 20 0.0000 4 180 165 4680 1215 c\001 +4 0 1 1 0 0 20 0.0000 4 180 165 5625 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 255 180 5715 1305 2\001 +4 0 1 1 0 0 20 0.0000 4 180 165 1260 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 255 180 1350 1305 1\001 +4 1 1 1 0 0 20 0.0000 4 330 1725 3600 4995 Bond graph\001 +4 1 1 1 0 0 20 0.0000 4 255 1545 3600 2025 Schematic\001 +4 1 -1 0 0 0 20 0.0000 4 255 1005 5987 4367 sDe:e2\001 +4 1 4 100 0 18 4 0.0000 4 120 270 4500 4005 [1,2]\001 +4 1 4 100 0 18 4 0.0000 4 120 270 3105 4005 [1,2]\001 ADDED mttroot/mtt/lib/examples/Sensitivity/sRCc/sRCc_rep.txt Index: mttroot/mtt/lib/examples/Sensitivity/sRCc/sRCc_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Sensitivity/sRCc/sRCc_rep.txt @@ -0,0 +1,27 @@ +## -*-octave-*- Put Emacs into octave-mode +## Outline report file for system sRCc (sRCc_rep.txt) +## Generated by MTT on" Thu Jul 29 06:02:47 BST 1999. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt sRCc abg tex # The system description +## mtt sRCc cbg ps # The causal bond graph +## Uncomment the following lines or add others +mtt sRCc struc tex # The system structure +## mtt sRCc dae tex # The system dae +mtt sRCc ode tex # The system ode +## mtt sRCc sspar tex # Steady-state parameters +## mtt sRCc ss tex # Steady state +## mtt sRCc dm tex # Descriptor matrices (of linearised system) +mtt sRCc sm tex # State matrices (of linearised system) +mtt sRCc tf tex # Transfer function (of linearised system) +mtt sRCc lmfr ps # log modulus of frequency response (of linearised system) +## mtt sRCc simpar tex # Simulation parameters +## mtt sRCc numpar tex # Numerical simulation parameters +## mtt sRCc input tex # Simulation input + mtt sRCc odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Sensitivity/sRCr/sRCr_abg.fig Index: mttroot/mtt/lib/examples/Sensitivity/sRCr/sRCr_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Sensitivity/sRCr/sRCr_abg.fig @@ -0,0 +1,69 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +1 3 0 2 1 7 1 0 -1 0.000 1 0.0000 1800 1125 162 162 1800 1125 1890 1260 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1802 4277 2702 4277 2477 4502 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3152 4277 4052 4277 3827 4502 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4502 4277 5402 4277 5177 4502 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2926 4051 2926 3151 3151 3376 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4276 4051 4276 3151 4501 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 4276 2701 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5401 4051 5401 4276 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5401 4276 5401 4501 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2701 4051 2701 4276 +2 2 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 5 + 2475 585 3375 585 3375 765 2475 765 2475 585 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4050 1215 4500 1215 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4050 1080 4500 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 675 2475 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 3375 675 5400 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4275 675 4275 1080 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 4275 1215 4275 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 1575 5400 1575 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 945 1800 675 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 0 0 2 + 1800 1575 1800 1260 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 1 2.00 120.00 240.00 + 5400 1530 5400 765 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6750 5625 6750 225 675 225 675 5625 6750 5625 +4 1 -1 0 0 0 20 0.0000 4 255 180 2927 4367 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 180 4277 4367 0\001 +4 1 -1 0 0 0 20 0.0000 4 255 600 2926 2926 sR:r\001 +4 1 -1 0 0 0 20 0.0000 4 255 645 4276 2926 sC:c\001 +4 1 -1 0 0 0 20 0.0000 4 255 945 1395 4365 sSe:e1\001 +4 0 1 1 0 0 20 0.0000 4 180 120 2880 450 r\001 +4 0 1 1 0 0 20 0.0000 4 180 165 4680 1215 c\001 +4 0 1 1 0 0 20 0.0000 4 180 165 5625 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 255 180 5715 1305 2\001 +4 0 1 1 0 0 20 0.0000 4 180 165 1260 1170 e\001 +4 0 1 1 0 0 20 0.0000 4 255 180 1350 1305 1\001 +4 1 1 1 0 0 20 0.0000 4 330 1725 3600 4995 Bond graph\001 +4 1 1 1 0 0 20 0.0000 4 255 1545 3600 2025 Schematic\001 +4 1 -1 0 0 0 20 0.0000 4 255 1005 5987 4367 sDe:e2\001 +4 1 4 100 0 18 10 0.0000 4 150 345 4545 4005 [1,2]\001 +4 1 4 100 0 18 10 0.0000 4 150 345 3195 4005 [1,2]\001 Index: mttroot/mtt/lib/examples/Sensitivity/sRCr/sRCr_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Sensitivity/sRCr/sRCr_lbl.txt +++ mttroot/mtt/lib/examples/Sensitivity/sRCr/sRCr_lbl.txt @@ -5,10 +5,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/07/29 05:18:59 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Port aliases @@ -20,15 +23,15 @@ % blank % ---- Component labels ---- % Component type sSe - e1 + e1 lin external;0 % Component type sDe e2 % Component type sC c lin;lin effort,c;0 % Component type sR r lin;lin flow,r;1 ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_abg.fig Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_abg.fig @@ -0,0 +1,37 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 3150 5850 3150 5625 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 4275 5850 4275 5625 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1800 3150 3150 3150 2925 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 2925 3150 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 4050 1800 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1777 4275 3127 4275 2902 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4500 4095 4500 4545 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 3150 8325 3150 8100 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6975 2925 6975 3375 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 2925 2025 4725 2025 4725 5400 2925 5400 2925 2025 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 5850 9450 1575 450 1575 450 5850 9450 5850 +4 0 -1 0 0 0 20 0.0000000 4 240 870 6030 3240 RT:r_2\001 +4 2 4 0 0 0 20 0.0000000 4 240 690 2835 3060 [t_in]\001 +4 0 4 0 0 0 20 0.0000000 4 240 840 4770 3015 [t_out]\001 +4 2 4 0 0 0 20 0.0000000 4 240 735 2880 4185 [e_in]\001 +4 0 4 0 0 0 20 0.0000000 4 240 885 4770 4185 [e_out]\001 +4 2 -1 0 0 0 20 0.0000000 4 240 900 1620 3240 SS:T_1\001 +4 0 -1 0 0 0 20 0.0000000 4 240 900 8460 3240 SS:T_2\001 +4 2 -1 0 0 0 20 0.0000000 4 240 780 1665 4365 SS:I_r\001 +4 0 -1 0 0 0 20 0.0000000 4 240 930 5985 4365 SS:V_0\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1575 3780 3825 Segment:s*100\001 ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_input.txt Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_input.txt @@ -0,0 +1,12 @@ +# Numerical parameter file (BigHeatedRod_input.txt) +# Generated by MTT at Thu Sep 4 16:11:06 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 10.0*(t<5.0); # I_r ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_lbl.txt Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_lbl.txt @@ -0,0 +1,48 @@ +%SUMMARY BigHeatedRod: Thermal/Electrical model of Electric rod +%DESCRIPTION Introduces the idea of the ES component which +%DESCRIPTION transforms a relative-temperature/enthalpy pseudo bond +%DESCRIPTION (at the [e]port) into an absolute-temperature/enntropy +%DESCRIPTION energy bond (at the [s] port) and vice versa. + +%VAR rod_length +%VAR rod_radius +%VAR electrical_resistivity +%VAR thermal_resistivity +%VAR thermal_capacity +%VAR segments +%VAR area +%VAR delta_x +%VAR volume +%VAR density +%VAR mass + +%% Label file for system BigHeatedRod (BigHeatedRod_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/09/11 16:16:29 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type RT + r_2 lin flow,r_2 + +% Component type SS + I_r SS internal,external + T_1 SS t_0,internal + T_2 SS t_0,internal + V_0 SS internal,internal + +% Component type Segment + s ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_numpar.txt Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_numpar.txt @@ -0,0 +1,36 @@ +# Numerical parameter file (BigHeatedRod_numpar.txt) +# Generated by MTT at Thu Sep 4 16:11:04 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +# Constants for copper +density = 8.96; +rod_length = 1.0; +rod_radius = 1e-3; +electrical_resistivity = 16.8*0.000000001; +thermal_resistivity = 1/390.0; +thermal_capacity = 380.0; + + +segments = 100; +area = pi*rod_radius*rod_radius; +delta_x = rod_length/segments; +volume = area*delta_x; +mass = volume*density; + +# Parameters +c_t = thermal_capacity*mass; +r = electrical_resistivity*delta_x/area; +r_t = thermal_resistivity*delta_x/area; +r_2 = r_t; +t_0 = 300; # Ambient + + + + ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_simpar.txt Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_simpar.txt @@ -0,0 +1,20 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system BigHeatedRod (BigHeatedRod_simpar.txt) +# Generated by MTT on Tue Aug 24 01:20:41 BST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 10.0; # Last time in simulation +DT = 0.1; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input + +DT = 1.0; # Print interval ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_state.txt Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/BigHeatedRod_state.txt @@ -0,0 +1,111 @@ +# -*-octave-*- Put Emacs into octave-mode +# Initial state file (BigHeatedRod_state.txt) +# Generated by MTT at Friday August 14 18:38:47 BST 1998 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the states +mttx(1) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(2) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(3) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(4) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(5) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(6) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(7) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(8) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(9) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(10) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(11) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(12) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(13) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(14) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(15) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(16) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(17) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(18) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(19) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(20) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(21) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(22) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(23) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(24) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(25) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(26) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(27) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(28) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(29) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(30) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(31) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(32) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(33) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(34) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(35) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(36) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(37) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(38) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(39) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(40) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(41) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(42) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(43) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(44) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(45) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(46) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(47) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(48) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(49) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(50) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(51) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(52) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(53) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(54) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(55) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(56) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(57) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(58) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(59) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(60) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(61) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(62) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(63) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(64) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(65) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(66) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(67) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(68) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(69) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(70) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(71) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(72) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(73) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(74) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(75) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(76) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(77) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(78) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(79) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(80) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(81) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(82) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(83) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(84) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(85) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(86) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(87) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(88) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(89) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(90) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(91) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(92) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(93) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(94) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(95) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(96) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(97) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(98) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(99) = c_t*t_0; # c (BigHeatedRod_s_c_t) +mttx(100) = c_t*t_0; # c (BigHeatedRod_s_c_t) ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Segment_abg.fig Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Segment_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Segment_abg.fig @@ -0,0 +1,64 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2835 2205 2925 2745 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2880 2250 2880 2700 +-6 +6 8505 2250 8595 2790 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 8550 2295 8550 2745 +-6 +6 5310 6255 5400 6795 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5355 6300 5355 6750 +-6 +6 5805 6255 5895 6795 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5850 6300 5850 6750 +-6 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1306 2476 2881 2476 2656 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3781 2476 5356 2476 5131 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5761 2476 8550 2475 8325 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5581 4276 5581 2701 5806 2926 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5581 6301 5581 4726 5806 4951 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 6525 5356 6526 5131 6751 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5806 6526 8550 6525 8325 6750 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5806 2701 6920 3815 6601 3815 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5581 2251 5581 676 5806 901 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5356 676 5806 676 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9900 7425 9900 90 45 90 45 7425 9900 7425 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7650 4455 7650 1800 1575 1800 1575 4455 7650 4455 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7650 6975 7650 4545 1575 4545 1575 6975 7650 6975 +4 1 -1 0 0 0 20 0.0000 4 240 810 3331 2566 RT:r_t\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 5581 2566 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 555 5581 4591 RS:r\001 +4 1 -1 0 0 0 20 0.0000 4 195 150 5581 6616 1\001 +4 1 -1 0 0 0 20 0.0000 4 240 840 7021 4141 CT:c_t\001 +4 1 -1 0 0 0 20 0.0000 4 255 870 5581 586 SS:T_s\001 +4 2 4 0 0 0 20 0.0000 4 255 1110 1261 2566 SS:[t_in]\001 +4 0 4 0 0 0 20 0.0000 4 255 1260 8685 2565 SS:[t_out]\001 +4 2 4 0 0 0 20 0.0000 4 255 1155 1260 6615 SS:[e_in]\001 +4 0 4 0 0 0 20 0.0000 4 255 1305 8685 6615 SS:[e_out]\001 +4 0 1 1 0 0 20 0.0000 4 210 1875 1845 4050 Thermal model\001 +4 0 1 1 0 0 20 0.0000 4 210 2025 1800 5175 Electrical model\001 +4 0 1 1 0 0 20 0.0000 4 255 2415 6075 585 Temperature sensor\001 Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Segment_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Segment_lbl.txt +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Segment_lbl.txt @@ -5,21 +5,22 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.2 1998/08/10 12:29:48 peterg +% %% Added missing ports. +% %% % %% Revision 1.1 1997/09/11 16:17:14 peterg % %% Initial revision % %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn % blank - - % Component type CT c_t lin effort,c_t % Component type RS @@ -28,9 +29,10 @@ % Component type RT r_t lin flow,r_t % Component type SS T_s SS external,0 - [t_in] SS external,external - [t_out] SS external,external - [e_in] SS external,external - [e_out] SS external,external + [t_in] SS external,internal + [t_out] SS internal,external + [e_in] SS external,internal + [e_out] SS external,internal + ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/examples.m Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/examples.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/examples.m @@ -0,0 +1,17 @@ + +mttdt = 1; +mttx=(zeros(200,1)); +mttu=(zeros(200,1)); +BigHeatedRod_numpar; +alpha = BigHeatedRod_smx(mttx,mttu,mttdt); +show_matrix (alpha); +psfig("sparsity.ps"); + + +[N,junk] = size(alpha); +A = eye(N) - alpha; +plot(log10(abs(eig(A)))) +grid; +xlabel("i"); +ylabel("e_i"); +psfig("eig.ps"); ADDED mttroot/mtt/lib/examples/Simulation/BigHeatedRod/time_svdlu.m Index: mttroot/mtt/lib/examples/Simulation/BigHeatedRod/time_svdlu.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/BigHeatedRod/time_svdlu.m @@ -0,0 +1,16 @@ +function [N,Ts,Tl]=time_svdlu; + + N=[100:100:700]; + + Ts=[]; Tl=[]; + for n=N + n + M=rand(n,n); + ts=time; svd(M); ts=time-ts + tl=time; lu(M); tl=time-tl + Ts=[Ts,ts]; + Tl=[Tl,tl]; + endfor; + +endfunction; + ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_abg.fig Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_abg.fig @@ -0,0 +1,21 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 900 3150 2250 3150 2025 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 3150 4950 3150 4725 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6075 3150 7425 3150 7200 3375 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8550 5175 8550 900 45 900 45 5175 8550 5175 +4 1 -1 0 0 10 20 0.0000 4 210 570 495 3240 Se:u\001 +4 1 -1 0 0 10 20 0.0000 4 210 1095 2925 3240 RC:slow\001 +4 1 -1 0 0 10 20 0.0000 4 210 1005 5535 3240 RC:fast\001 +4 1 -1 0 0 10 20 0.0000 4 270 600 7830 3240 De:y\001 ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_desc.tex Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_desc.tex @@ -0,0 +1,165 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system ImplicitRC (ImplicitRC_desc.tex) +% Generated by MTT on Wednesday June 24 09:50:17 BST 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +This report describes the \emph{implicit} integration methods +available in MTT. They are introduced to provide simulation +of systems within the following context: +\begin{enumerate} +\item The system may be stiff with a mixture of slow and fast + (possibly due to approximating algebraic loops) subsystems. +\item The fast parts of the response are of no interest +\item A fixed sample interval is required -- possibly for real-time + simulation or control +\item The system is nonlinear. +\item The solution of nonlinear algebraic equations is to be avaided. +\end{enumerate} + +The following sections consider the linear and nonlinear versions +respectively. The ideas are based on a standard textbook +\footnote{Press et al: \emph{Numerical Recipes in C}, 2nd edition, + 1992. Cambridge, Section 16.6}. + + +\subsection{Implicit integration - the linear case} +\label{sec:linear} + +Consider the \emph{linear} system: +\begin{equation} + \label{eq:sys} + \dot x = A x + B u +\end{equation} + +For the purposes of simulation, it can be discretised (with sample +interval $\Delta t$) in at least two +ways: +\begin{enumerate} +\item $ \dot x \approx \frac{x_{i+1} - x_{i}}{\Delta t}$ +\item $ \dot x \approx \frac{x_{i} - x_{i-1}}{\Delta t}$ +\end{enumerate} +The former is gives rise to the \emph{forward} Euler or \emph{explicit} +integration scheme: +\begin{equation} + x_{i+1} = x_{i} + \Delta t \left [ A x_{i} + B_{i} u \right ] +\end{equation} +and the latter gives rise to the \emph{backward} Euler or \emph{implicit} +integration scheme: +\begin{equation} + x_{i} = x_{i-1} + \Delta t \left [ A x_{i} + B_{i} u \right ] +\end{equation} +which must be rewritten as: +\begin{equation} + x_{i} = \left [ I - \Delta t A \right ]^{-1} x_{i-1} + \Delta t B_{i} u +\end{equation} +for the purposes of implementation. + +The explicit method gives simple implementation whereas the implicit +method requires matrix inversion. However, the explicit method is only +stable if: +\begin{equation} + \Delta t < \frac{2}{| \lambda |} +\end{equation} +where $\lambda$ is the \emph{largest} eigenvalue of $A$. If this +largest eigenvalue is real so $\lambda = \frac{1}{\tau}$ where $\tau$ +is the \emph{smallest} system time constant: +\begin{equation} + \Delta t < 2 \tau +\end{equation} + +If the system is stiff, that is it contains at least one small time +constant relative to the dominant time constants, Euler integration is +not feasible due to the very small sample interval $\Delta t$ +required. + +In contrast, the implicit method is stable. + + +\subsubsection{Example} + The acausal bond graph of system \textbf{ImplicitRC} is + displayed in Figure \Ref{ImplicitRC_abg} and its label + file is listed in Section \Ref{sec:ImplicitRC_lbl}. + The subsystems are listed in Section \Ref{sec:ImplicitRC_sub}. + +The system represents two simple RC circuits in series with +differential equations as given in Section \Ref{sec:ImplicitRC_ode.tex} and +transfer function as given in Section \Ref{sec:ImplicitRC_tf.tex}. + +For the purposes of this example the two time constants are $1$ and +$\epsilon=10^{-3}$ -- this is a stiff system. All of the simulations +use a sample interval of $\Delta t = 0.1$ ang the input is a unit +step. Section \Ref{sec:ImplicitRC_sro} shows the exact (computed from +the matrix exponential) solution, and Section \Ref{sec:ImplicitRC_odeso} +shows the solution by implicit integration. + +The explicit solution is not shown, but was found to be unstable for +$\Delta t > 0.002$ as predicted. + +\subsection{Implicit integration - the nonlinear case}} +\label{sec:nonlinear} + +Consider the \emph{nonlinear} system: +\begin{equation} + \label{eq:sys} + \dot x = f(x,u) +\end{equation} +and suppose it can be linearised about any state and input to give: +\begin{equation} + A(x,u) = \frac{\partial f(x,u)}{\partial x} +\end{equation} + +The corresponding \emph{implicit} scheme is: +\begin{equation} + x_{i} = x_{i-1} + \Delta t f(x_{i},u_{i}) +\end{equation} +This is not easy to solve in general due to the set of non-linear +equations that need to be solved. To avoid this, consider a further +approximation: +\begin{equation} + f(x_{i},u_{i}) \approx f(x_{i-1},u_{i}) + A(x_{i-1},u_i) ( x_{i} - x_{i-1} ) +\end{equation} +This then gives the \emph{semi-implicit} scheme +\begin{equation} + x_{i} = x_{i-1} + \Delta t \left [ f(x_{i-1},u_{i}) + A(x_{i-1},u_i) ( + x_{i} - x_{i-1} ) \right ] +\end{equation} +which can be rewritten as: +\begin{equation}\label{eq:implicit} + x_{i} = \left [ I - \Delta t A(x_{i-1},u_i) \right ]^{-1} + \Delta t \left [ f(x_{i-1},u_{i}) - A(x_{i-1},u_i) x_{i-1} \right ] +\end{equation} + + +Because of the approximations invoved, Equation \ref{eq:implicit} is +not guarenteed to be stable. Nevertheless, it should do a much better +job than the corresponding \emph{explicit} method for reasonably +smooth systems. +This method is chosen by setting +\begin{verbatim} +METHOD='Implicit' +\end{verbatim} +in the MTT simpar.txt file. + +A further approximation arises by setting $A(x_{i-1},u_i) = +A(x_{0},u_0)$ ie computing it one only at the beginning of the +simulation. +This method is chosen by setting +\begin{verbatim} +METHOD='ImplicitL' +\end{verbatim} +in the MTT simpar.txt file. + +Both methods make use of the \textbf{smx} ``state-matrix with state $x$'' +representation of MTT which is generated symbolically from the system +bond graph. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_lbl.txt Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_lbl.txt @@ -0,0 +1,30 @@ +%SUMMARY ImplicitRC +%DESCRIPTION +%% Label file for system ImplicitRC (ImplicitRC_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type RC + fast lin epsilon;1 + slow lin 1;1 + +% Component type SS + u SS external + y SS external + + + + + ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_numpar.txt Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_numpar.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (ImplicitRC_numpar.txt) +# Generated by MTT at Wednesday June 24 09:21:23 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +epsilon = 1e-3; # ImplicitRC +c = 1.0; +r = 1.0; + ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_rep.txt Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_rep.txt @@ -0,0 +1,22 @@ +# Outline report file for system ImplicitRC (ImplicitRC_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt ImplicitRC abg tex +mtt ImplicitRC struc tex +mtt ImplicitRC ode tex +mtt ImplicitRC sm tex +mtt ImplicitRC sm m +mtt ImplicitRC tf tex + +mtt ImplicitRC sro ps + +mtt ImplicitRC numpar tex + +mtt ImplicitRC simpar tex +mtt -c ImplicitRC odeso ps ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_simpar.txt Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/ImplicitRC_simpar.txt @@ -0,0 +1,15 @@ +%% Simulation parameters for system ImplicitRC (ImplicitRC_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1998/08/12 13:29:02 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=10.0 +DT=0.1 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Simulation/ImplicitRC/examples.sh Index: mttroot/mtt/lib/examples/Simulation/ImplicitRC/examples.sh ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Simulation/ImplicitRC/examples.sh @@ -0,0 +1,28 @@ +#! /bin/sh + +mv ImplicitRC_simpar.txt SAVE +Delta="0.01 0.2 1.0" +for delta in $Delta; do + echo Doing with sample interval = $delta + + cp SAVE ImplicitRC_simpar.txt +cat <>ImplicitRC_simpar.txt +DT=$delta +EOF + mtt -q ImplicitRC odeso dat + cp ImplicitRC_odeso.dat ImplicitRC_odeso.$delta +done + +gnuplot <1) - 0.2*t_3*(t>5); # SimpleGasTurbine (T3) +simplegasturbine_fuel_1_t3_1_u = t_3 + 0.1*t_3*(t>1) - 0.2*t_3*(t>5); + Index: mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_lbl.txt @@ -1,76 +1,87 @@ -%SUMMARY SimpleGasTurbine: single-spool gas turbine producing shaft power -%DESCRIPTION SimpleGasTurbine can be regarded as an single-spool gas -%DESCRIPTION turbine (producing shaft power) with an ideal-gas working fluid. It -%DESCRIPTION corresponds to the simple Joule Cycle as described in Chapter 12 of -%DESCRIPTION Rogers and Mayhew and in Chapter 2 of Cohen, Rogers and -%DESCRIPTION Saravanamutto. However, unlike those examples, the system is -%DESCRIPTION written with dynamics in mind. - -%ALIAS Comb CompressibleFlow/Comb -%ALIAS Pump CompressibleFlow/Pump - -%VAR t_2; -%VAR t_3; -%VAR t_4; -%VAR p_2; -%VAR p_3; -%VAR p_4; -%VAR mdot; -%VAR gamma_0; -%VAR q_0; -%VAR w_0; -%VAR omega_0; -%VAR r_p; -%VAR c_p; -%VAR mom_0; - -%% Label file for system SimpleGasTurbine (SimpleGasTurbine_lbl.txt) - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% %% Version control history -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% %% $Id$ -% %% $Log$ -% %% Revision 1.3 1998/07/03 14:54:45 peterg -% %% k_p --> k -% %% k_t --> k -% %% -% %% Revision 1.2 1998/07/03 14:53:38 peterg -% %% Renames tank to comb to be consistent. -% %% -% %% Revision 1.1 1998/05/18 15:46:02 peterg -% %% Initial revision -% %% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% Each line should be of one of the following forms: -% a comment (ie starting with %) -% Component-name CR_name arg1,arg2,..argn -% blank - -% Component type Comb +#SUMMARY SimpleGasTurbine: single-spool gas turbine producing shaft power +#DESCRIPTION SimpleGasTurbine can be regarded as an single-spool gas +#DESCRIPTION turbine (producing shaft power) with an ideal-gas working fluid. It +#DESCRIPTION corresponds to the simple Joule Cycle as described in Chapter 12 of +#DESCRIPTION Rogers and Mayhew and in Chapter 2 of Cohen, Rogers and +#DESCRIPTION Saravanamutto. However, unlike those examples, the system is +#DESCRIPTION written with dynamics in mind. + +#ALIAS Comb CompressibleFlow/Comb +#ALIAS Pump CompressibleFlow/Pump + +#PAR t_2 +#PAR t_3 +#PAR t_4 +#PAR p_2 +#PAR p_3 +#PAR p_4 +#PAR mdot +#PAR gamma_0 +#PAR q_0 +#PAR w_0 +#PAR omega_0 +#PAR r_p +#PAR c_p +#PAR mom_0 + +#NOTPAR density +#NOTPAR ideal_gas +#NOTPAR q_0 + +## Label file for system SimpleGasTurbine (SimpleGasTurbine_lbl.txt) + +# ############################################################### +# ## Version control history +# ############################################################### +# ## $Id$ +# ## $Log$ +# ## Revision 1.4 1998/07/30 15:27:42 peterg +# ## Use #VAR inplace of dummy component. +# ## +# ## Revision 1.3 1998/07/03 14:54:45 peterg +# ## k_p --> k +# ## k_t --> k +# ## +# ## Revision 1.2 1998/07/03 14:53:38 peterg +# ## Renames tank to comb to be consistent. +# ## +# ## Revision 1.1 1998/05/18 15:46:02 peterg +# ## Initial revision +# ## +# ############################################################### + +## Each line should be of one of the following forms: +# a comment (ie starting with #) +# Component-name CR_name arg1,arg2,..argn +# blank + +# Component type Fuel + fuel + +# Component type In + in + +# Component type Pump + comp none c_v;density,ideal_gas,r;alpha;effort,k + +# Component type Comb c1 none m_c;v_c;r -% Component type I - j_s lin flow,j_s - -% Component type Pump - comp none c_v;density,ideal_gas,r;alpha;effort,k +# Component type Pump turb none c_v;density,ideal_gas,r;alpha;effort,k - -% Component type SS - Work SS 0,external - Heat SS 0,external - Speed SS 0,external - T3 SS external,external - -% Component type In - in - -% Component type Out - out +# Component type Out + out + +# Component type Shaft + shaft none j_s + +# Component type Load + load none r_l + + + ADDED mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_numpar.txt @@ -0,0 +1,56 @@ +# Numerical parameter file (SimpleGasTurbine_numpar.txt) +# Generated by MTT at Tue Mar 31 12:15:00 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_p = 1005.0; +c_v = 718.0; +gamma_0 = c_p/c_v; +alpha = (gamma_0-1)/gamma_0; +k = 1.0; +p_1 = 1e5; # 1 bar +p_4 = p_1; +r = c_p-c_v; +t_1 = 288.0; # In +v_c = 1.0; + +%Set the CC pressure and temperature +t_3 = 1000.0; +r_p = 6.0; +p_3 = r_p*p_1; + +%Find stored mass to give combustion chamber pressure p_3 (at +% temperature t_3 +m_c = (p_3*v_c)/(t_3*r); + +%Equate pressures +p_4 = p_1; +p_2 = p_3; + +%Compute ss temperatures (isentropic) +t_2 = t_1*(p_2/p_1)^alpha; +t_4 = t_3*(p_4/p_3)^alpha; + +%Find the steady-state work output +w_0 = c_p*(t_3-t_4) - c_p*(t_2-t_1); + +%Unit mass flow +mdot = 1; + +%Corresponding shaft speed +omega_0 = mdot/k; + +%Compute the corresponding load resistance (to absorb that work) +r_l = w_0/(omega_0)^2; + +%Compute shaft inertia to give unit time constant (j_s*r_l) +j_s = r_l; + +%Find angular momentum to give shaft speed omega_0 +mom_0 = omega_0*j_s; Index: mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_rep.txt +++ mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_rep.txt @@ -3,10 +3,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 2000/11/27 18:16:18 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -o -ss SimpleGasTurbine abg tex mtt -o -ss SimpleGasTurbine struc tex mtt -o -ss SimpleGasTurbine sympar tex @@ -18,21 +21,17 @@ mtt -o -ss SimpleGasTurbine numpar tex mtt -o -ss SimpleGasTurbine input tex mtt -o -ss SimpleGasTurbine state tex mtt -o -ss SimpleGasTurbine simpar tex -mtt -o -ss -c SimpleGasTurbine odeso ps \ - 'SimpleGasTurbine_comp_1_T,SimpleGasTurbine_c1_1_T,SimpleGasTurbine_turb_1_T' - -mtt -o -ss -c SimpleGasTurbine odeso ps \ - 'SimpleGasTurbine_fuel_1_Heat_1_y,SimpleGasTurbine_load_1_Work_1_y' - -mtt -o -ss -c SimpleGasTurbine odeso ps \ - 'SimpleGasTurbine_shaft_1_speed_1_y' - -mtt -o -ss -c SimpleGasTurbine odeso ps \ - 'SimpleGasTurbine_c1_1_P' +mtt -o -ss -c SimpleGasTurbine odeso ps 'SimpleGasTurbine_comp_1_T,SimpleGasTurbine_c1_1_T,SimpleGasTurbine_turb_1_T' + +mtt -o -ss -c SimpleGasTurbine odeso ps 'SimpleGasTurbine_fuel_1_Heat_1_y,SimpleGasTurbine_load_1_Work_1_y' + +mtt -o -ss -c SimpleGasTurbine odeso ps 'SimpleGasTurbine_shaft_1_speed_1_y' + +mtt -o -ss -c SimpleGasTurbine odeso ps 'SimpleGasTurbine_c1_1_P' ADDED mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_simp.r Index: mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_simp.r @@ -0,0 +1,11 @@ +%% Reduce commands to simplify output for system SimpleGasTurbine (SimpleGasTurbine_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LET c_v = c_p - r; +END; ADDED mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_sspar.r Index: mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_sspar.r @@ -0,0 +1,48 @@ +% Steady-state parameter file (SimpleGasTurbine_sspar.r) +% Generated by MTT at Thu Mar 26 16:28:59 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%Find stored mass to give combustion chamber pressure p_3 (at +% temperature t_3 +m_c := (p_3*v_c)/(t_3*r); + +%Equate pressures +p_4 := p_1; +p_2 := p_3; + +%Compute ss temperatures (isentropic) +t_2 := t_1*(p_2/p_1)^alpha; +t_4 := t_3*(p_4/p_3)^alpha; + +%Find the steady-state work output +w_0 := c_p*(t_3-t_4) - c_p*(t_2-t_1); + +%Compute the corresponding load resistance (to absorb that work) +r_l := w_0/(omega_0)^2; + +%Unit mass flow +mdot := 1; + +%Corresponding shaft speed +omega_0 := mdot/k; + +%Compute shaft inertia to give unit time constant (j_s*r_l) +j_s := r_l; + +%Find angular momentum to give shaft speed omega_0 +mom_0 := omega_0*j_s; + +% Steady-state states +MTTX1 := mom_0; + +% Steady-state inputs - combustion temperature +MTTU1 := t_3; % SimpleGasTurbine (T3) + +;;END; + ADDED mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_state.txt Index: mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/GasTurbines/SimpleGasTurbine/SimpleGasTurbine_state.txt @@ -0,0 +1,15 @@ +# State initialisation file (SimpleGasTurbine_state.txt) +# Generated by MTT at Tue Mar 31 12:37:17 BST 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +# Set the states +## Removed by MTT on Mon Nov 27 15:20:21 GMT 2000: x(1) = j_s/k ; # SimpleGasTurbine (j_s) + +simplegasturbine_shaft_1_j_s = j_s/k ; ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_abg.fig @@ -0,0 +1,32 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 1351 4051 1351 3826 1576 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4051 1126 4051 1576 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2027 2702 4052 2702 3827 2927 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 2702 6976 2702 6751 2927 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 1351 6976 1351 6751 1576 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8550 3375 8550 405 450 405 450 3375 8550 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 2475 4050 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 2475 4950 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 1125 4950 1575 +4 2 4 0 0 0 20 0.0000000 4 240 930 4096 991 [Th_in]\001 +4 2 -1 0 0 22 20 0.0000000 4 285 1065 1936 1441 SS:Th_in\001 +4 2 -1 0 0 22 20 0.0000000 4 285 1080 1937 2792 SS:Hy_in\001 +4 2 4 0 0 0 20 0.0000000 4 270 960 4097 2342 [Hy_in]\001 +4 0 -1 0 0 22 20 0.0000000 4 285 1215 7111 1441 SS:Th_out\001 +4 0 4 0 0 0 20 0.0000000 4 240 1080 4951 991 [Th_out]\001 +4 0 4 0 0 0 20 0.0000000 4 270 1110 4951 2342 [Hy_out]\001 +4 0 -1 0 0 22 20 0.0000000 4 285 1230 7111 2792 SS:Hy_out\001 +4 1 -1 0 0 22 20 0.0000000 4 285 1110 4545 1980 Pipe:pipe\001 Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_lbl.txt @@ -5,10 +5,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1998/11/20 08:02:53 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -18,9 +21,9 @@ % Component type Pipe pipe lin rho;c_p;lin,r % Component type SS - Hy_in external external - Hy_out external external - Th_in external external - Th_out external external + Hy_in SS external,external + Hy_out SS external,external + Th_in SS external,external + Th_out SS external,external ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_rep.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPipe/TestPipe_rep.txt @@ -0,0 +1,26 @@ +# Outline report file for system TestPipe (TestPipe_rep.txt) +# Generated by MTT on" Fri Nov 20 08:16:40 GMT 1998. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt TestPipe abg tex # The system description +mtt TestPipe cbg ps # The causal bond graph +# Uncomment the following lines or add others +mtt TestPipe struc tex # The system structure +mtt TestPipe dae tex # The system dae +# mtt TestPipe ode tex # The system ode +# mtt TestPipe sspar tex # Steady-state parameters +# mtt TestPipe ss tex # Steady state +# mtt TestPipe dm tex # Descriptor matrices (of linearised system) +# mtt TestPipe sm tex # State matrices (of linearised system) +# mtt TestPipe tf tex # Transfer function (of linearised system) +# mtt TestPipe lmfr ps # log modulus of frequency response (of linearised system) +# mtt TestPipe simpar tex # Simulation parameters +# mtt TestPipe numpar tex # Numerical simulation parameters +# mtt TestPipe input tex # Simulation input +# mtt TestPipe odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_abg.fig @@ -0,0 +1,38 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 1351 4051 1351 3826 1576 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2027 2702 4052 2702 3827 2927 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 2702 6976 2702 6751 2927 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 1351 6976 1351 6751 1576 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8550 3375 8550 405 450 405 450 3375 8550 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 4500 4500 2475 4725 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4275 4500 4725 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 2475 4050 2925 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 2476 4950 2926 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 1125 4950 1575 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 1125 4050 1575 +4 2 4 0 0 0 20 0.0000 4 255 870 4096 991 [Th_in]\001 +4 2 -1 0 0 22 20 0.0000 4 270 1200 1936 1441 SS:Th_in\001 +4 2 -1 0 0 22 20 0.0000 4 270 1245 1937 2792 SS:Hy_in\001 +4 0 -1 0 0 22 20 0.0000 4 270 1395 7111 1441 SS:Th_out\001 +4 0 4 0 0 0 20 0.0000 4 255 1020 4951 991 [Th_out]\001 +4 0 -1 0 0 22 20 0.0000 4 270 1440 7111 2792 SS:Hy_out\001 +4 2 4 0 0 0 20 0.0000 4 255 885 3735 2565 [Hy_in]\001 +4 0 4 0 0 0 20 0.0000 4 255 1035 5355 2565 [Hy_out]\001 +4 1 4 0 0 0 20 0.0000 4 240 810 4545 2340 [Shaft]\001 +4 1 -1 0 0 22 20 0.0000 4 210 1200 4500 4815 SS:Shaft\001 +4 1 -1 0 0 22 20 0.0000 4 270 1740 4545 1980 lPump:pump\001 Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_lbl.txt @@ -5,10 +5,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.5 1998/11/20 13:00:27 peterg +% %% Replaces Pump by lPump in ALIAS +% %% % %% Revision 1.4 1998/11/20 08:31:24 peterg % %% Fixed alias error % %% % %% Revision 1.3 1998/11/20 08:28:41 peterg % %% Tidied @@ -31,10 +34,10 @@ % Component type lPump pump lin;lin rho;c_p;flow,r_p;k_p;flow,r_l % Component type SS - Hy_in external external - Hy_out external external - Shaft external external - Th_in external external - Th_out external external + Hy_in SS external,external + Hy_out SS external,external + Shaft SS external,external + Th_in SS external,external + Th_out SS external,external ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_rep.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestPump/TestPump_rep.txt @@ -0,0 +1,26 @@ +# Outline report file for system TestPump (TestPump_rep.txt) +# Generated by MTT on" Fri Nov 20 08:19:56 GMT 1998. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt TestPump abg tex # The system description +mtt TestPump cbg ps # The causal bond graph +# Uncomment the following lines or add others +mtt TestPump struc tex # The system structure +#mtt TestPump dae tex # The system dae +mtt TestPump ode tex # The system ode +# mtt TestPump sspar tex # Steady-state parameters +# mtt TestPump ss tex # Steady state +# mtt TestPump dm tex # Descriptor matrices (of linearised system) +# mtt TestPump sm tex # State matrices (of linearised system) +# mtt TestPump tf tex # Transfer function (of linearised system) +# mtt TestPump lmfr ps # log modulus of frequency response (of linearised system) +# mtt TestPump simpar tex # Simulation parameters +# mtt TestPump numpar tex # Numerical simulation parameters +# mtt TestPump input tex # Simulation input +# mtt TestPump odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_abg.fig @@ -0,0 +1,36 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 1351 4051 1351 3826 1576 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2027 2702 4052 2702 3827 2927 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 2702 6976 2702 6751 2927 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4951 1351 6976 1351 6751 1576 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8550 3375 8550 405 450 405 450 3375 8550 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2025 1125 2025 1575 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6975 1126 6975 1576 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6975 2476 6975 2926 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2025 2476 2025 2926 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4502 4500 4502 2475 4727 2700 +4 2 4 0 0 0 20 0.0000000 4 240 930 4096 991 [Th_in]\001 +4 2 -1 0 0 22 20 0.0000000 4 285 1065 1936 1441 SS:Th_in\001 +4 2 -1 0 0 22 20 0.0000000 4 285 1080 1937 2792 SS:Hy_in\001 +4 0 -1 0 0 22 20 0.0000000 4 285 1215 7111 1441 SS:Th_out\001 +4 0 4 0 0 0 20 0.0000000 4 240 1080 4951 991 [Th_out]\001 +4 0 -1 0 0 22 20 0.0000000 4 285 1230 7111 2792 SS:Hy_out\001 +4 1 -1 0 0 22 20 0.0000000 4 225 1140 4545 1980 Tank:tank\001 +4 1 4 0 0 0 20 0.0000000 4 240 1170 4590 2295 [Heat_in]\001 +4 2 4 0 0 0 20 0.0000000 4 270 960 3915 2565 [Hy_in]\001 +4 0 4 0 0 0 20 0.0000000 4 270 1110 5130 2565 [Hy_out]\001 +4 1 -1 0 0 0 20 0.0000000 4 240 1590 4500 4860 SS:[Heat_in]\001 Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_lbl.txt @@ -5,10 +5,13 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.3 1998/11/20 08:36:30 peterg +% %% Corrected alias +% %% % %% Revision 1.2 1998/11/20 08:09:20 peterg % %% Added alias for Tank % %% % %% Revision 1.1 1998/11/20 08:07:20 peterg % %% Initial revision @@ -21,13 +24,14 @@ % blank %ALIAS Tank IncompressibleFlow/Tank % Component type SS - Hy_in external external - Hy_out external external - Th_in external external - Th_out external external + Heat_in SS external,external + Hy_in SS external,external + Hy_out SS external,external + Th_in SS external,external + Th_out SS external,external % Component type Tank tank none rho;c_p;c ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_rep.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Components/TestTank/TestTank_rep.txt @@ -0,0 +1,26 @@ +# Outline report file for system TestTank (TestTank_rep.txt) +# Generated by MTT on" Fri Nov 20 08:11:01 GMT 1998. + +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +mtt TestTank abg tex # The system description +mtt TestTank cbg ps # The causal bond graph +# Uncomment the following lines or add others +mtt TestTank struc tex # The system structure +# mtt TestTank dae tex # The system dae +mtt TestTank ode tex # The system ode +# mtt TestTank sspar tex # Steady-state parameters +# mtt TestTank ss tex # Steady state +# mtt TestTank dm tex # Descriptor matrices (of linearised system) +# mtt TestTank sm tex # State matrices (of linearised system) +# mtt TestTank tf tex # Transfer function (of linearised system) +# mtt TestTank lmfr ps # log modulus of frequency response (of linearised system) +# mtt TestTank simpar tex # Simulation parameters +# mtt TestTank numpar tex # Numerical simulation parameters +# mtt TestTank input tex # Simulation input +# mtt TestTank odeso ps # Simulation output ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2253 2253 3198 2253 3018 2433 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2252 4952 3197 4952 3017 5132 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3196 2026 3196 2476 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3195 4725 3195 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3602 4950 4547 4950 4367 5130 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3602 2250 4547 2250 4367 2430 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 7200 5670 7200 1530 675 1530 675 5670 7200 5670 +4 2 -1 0 0 0 20 0.0000 4 255 1095 2026 2341 SS:Th_in\001 +4 2 -1 0 0 0 20 0.0000 4 255 1110 2071 5041 SS:Hy_in\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3376 5041 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3376 2341 0\001 +4 0 4 0 0 0 20 0.0000 4 255 2235 4727 5042 SS:[Hydraulic_out]\001 +4 0 4 0 0 0 20 0.0000 4 255 2085 4772 2342 SS:[Thermal_out]\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_desc.tex Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_desc.tex @@ -0,0 +1,14 @@ +% Verbal description for system In (In_desc.tex) +% Generated by MTT on Tue Jan 13 18:02:36 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{In} is + displayed in Figure \Ref{In_abg} and its label + file is listed in Section \Ref{sec:In_lbl}. + The subsystems are listed in Section \Ref{sec:In_sub}. ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/In_lbl.txt @@ -0,0 +1,27 @@ +%SUMMARY In: Inflow conditions +%DESCRIPTION +%% Label file for system In (In_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%ALIAS out Thermal_out,Hydraulic_out +%ALIAS Th_out Thermal_out +%ALIAS Hy_out Hydraulic_out + + + +% Component type SS + Hy_in SS p_0,external + Th_in SS t_0,external + [Hydraulic_out] SS external,external + [Thermal_out] SS external,external ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_abg.fig @@ -0,0 +1,41 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6302 1127 6302 2252 6527 2027 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6077 1127 6527 1127 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9495 2700 10534 2703 10309 2928 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 6075 5175 3600 5175 3600 3150 3849 3399 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6076 5401 6526 5401 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6300 4950 6300 4050 6525 4275 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 4 + 8775 3150 8775 5175 6525 5175 6750 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6301 6299 6301 5399 6526 5624 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 2700 3060 2700 2835 2925 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4497 2698 5715 2700 5490 2925 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6930 2700 8145 2700 7920 2925 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11925 7200 11925 225 900 225 900 7200 11925 7200 +4 1 4 0 0 2 16 0.0000 4 210 750 3602 3062 [Shaft]\001 +4 1 4 0 0 2 16 0.0000 4 225 1005 6302 2477 [Heat_in]\001 +4 1 4 0 0 2 16 0.0000 4 210 750 8733 3063 [Shaft]\001 +4 1 -1 0 0 2 20 0.0000 4 255 1185 3737 2792 lPump:p1\001 +4 1 -1 0 0 22 20 0.0000 4 210 1110 6257 1037 SS:Heat\001 +4 1 -1 0 0 22 20 0.0000 4 195 150 6301 5266 1\001 +4 1 -1 0 0 22 20 0.0000 4 210 1170 6391 6751 SS:Work\001 +4 1 -1 0 0 22 20 0.0000 4 270 555 6300 3915 I:j_s\001 +4 1 -1 0 0 2 20 0.0000 4 195 1065 6302 2792 Tank:C1\001 +4 1 -1 0 0 2 20 0.0000 4 255 1140 8868 2793 lPump:t1\001 +4 1 -1 0 0 22 20 0.0000 4 210 570 1620 2790 In:in\001 +4 1 -1 0 0 22 20 0.0000 4 210 1005 11116 2791 Out:out\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_desc.tex Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_desc.tex @@ -0,0 +1,37 @@ +% -*-latex-*- used to set EMACS into LaTeX-mode +% Verbal description for system LiquidTurbine (LiquidTurbine_desc.tex) +% Generated by MTT on Tue Jan 13 18:01:55 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{LiquidTurbine} is + displayed in Figure \Ref{LiquidTurbine_abg} and its label + file is listed in Section \Ref{sec:LiquidTurbine_lbl}. + The subsystems are listed in Section \Ref{sec:LiquidTurbine_sub}. + +\textbf{LiquidTurbine} can be regarded as a single-spool gas turbine +with an incompressible working fluid. Of course, such a device cannot +convert heat to work; however, it provides a useful first step towards +modelling a gas turbine. + +There are three main components: +\begin{enumerate} +\item p1 -- a leaky pump \textbf{lPump} component. This is analogous + to the gas turbine compressor. +\item c1 -- a tank \textbf{Tank} component. This is analogous + to the gas turbine combustion chamber. +\item t1 -- a leaky turbine \textbf{lTurb} component. This is analogous + to the gas turbine turbine. +\end{enumerate} +The components \textbf{In} and \textbf{Out} provide the inlet and +outlet conditions. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_lbl.txt @@ -0,0 +1,46 @@ +%SUMMARY LiquidTurbine +%DESCRIPTION +%% Label file for system LiquidTurbine (LiquidTurbine_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%ALIAS lPump IncompressibleFlow/lPump +%ALIAS Tank IncompressibleFlow/Tank + +%VAR p_0 +%VAR q_0 +%VAR t_0 + + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +% Component type I + j_s lin flow,j_s + +% Component type Pump + p1 lin;lin rho;c_p;flow,r_p;k_p;flow,r_pl + +% Component type SS + Heat SS external,external + Work SS external,external + +% Component type Turb + t1 lin;lin rho;c_p;flow,r_t;k_t;flow,r_tl + +% Component type Tank + C1 none rho;c_p;c_t + +% Component type In + in + +% Component type Out + out + ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_numpar.txt @@ -0,0 +1,25 @@ +# Numerical parameter file (LiquidTurbine_numpar.txt) +# Generated by MTT at Mon Mar 9 09:16:28 GMT 1998 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c = 1.0; +c_p = 1.0; # LiquidTurbine +c_t = 1.0; # LiquidTurbine +j_s = 1.0; # LiquidTurbine +k_p = 1.0; # LiquidTurbine +k_t = 1.0; # LiquidTurbine +p_0 = 1e5; # In,Out +q_0 = 1e5; # Heat in +r_p = 1.0; # LiquidTurbine +r_pl = 100.0; # LiquidTurbine +r_t = 1.0; # LiquidTurbine +r_tl = 100.0; # LiquidTurbine +rho = 1.0; # LiquidTurbine +t_0 = 300.0; # In,Out ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_sspar.r Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/LiquidTurbine_sspar.r @@ -0,0 +1,20 @@ +% Steady-state parameter file (LiquidTurbine_sspar.r) +% Generated by MTT at Fri Nov 20 11:42:16 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +% Steady-state states +MTTX1 := 1; % LiquidTurbine (j_s) +MTTX2 := p_0*c/rho; % LiquidTurbine_C1 (tank) - pressure = p0 +MTTX3 := t_0*p_0*c*c_p; % LiquidTurbine_C1 (tank) - temp = t0 +% Steady-state inputs +MTTU1 := q_0; % LiquidTurbine (Heat) +MTTU2 := 0; % LiquidTurbine (Work) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2252 4952 3197 4952 3017 5132 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2205 2250 3150 2250 2970 2430 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2250 4725 2250 5175 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2205 2025 2205 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4950 4545 4950 4365 5130 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3555 2250 4500 2250 4320 2430 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6075 5850 6075 1530 45 1530 45 5850 6075 5850 +4 2 4 0 0 0 20 0.0000 4 255 2085 2160 5040 SS:[Hydraulic_in]\001 +4 2 4 0 0 0 20 0.0000 4 255 1935 2115 2340 SS:[Thermal_in]\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3375 5040 0\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3375 2340 0\001 +4 0 -1 0 0 0 20 0.0000 4 255 1245 4590 2340 SS:Th_out\001 +4 0 -1 0 0 0 20 0.0000 4 255 1260 4635 5040 SS:Hy_out\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_desc.tex Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_desc.tex @@ -0,0 +1,14 @@ +% Verbal description for system Out (Out_desc.tex) +% Generated by MTT on Tue Jan 13 18:02:44 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Out} is + displayed in Figure \Ref{Out_abg} and its label + file is listed in Section \Ref{sec:Out_lbl}. + The subsystems are listed in Section \Ref{sec:Out_sub}. ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/LiquidTurbine/Out_lbl.txt @@ -0,0 +1,27 @@ +%SUMMARY Out: Outflow conditions +%DESCRIPTION +%% Label file for system Out (Out_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%ALIAS in Thermal_in,Hydraulic_in +%ALIAS Th_in Thermal_in +%ALIAS Hy_in Hydraulic_in + + +% Component type SS + Hy_out SS p_0,external + Th_out SS t_0,external + [Hydraulic_in] SS external,external + [Thermal_in] SS external,external + ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_abg.fig @@ -0,0 +1,29 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2253 2253 3198 2253 3018 2433 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2252 4952 3197 4952 3017 5132 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3196 2026 3196 2476 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3602 4950 4547 4950 4367 5130 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3602 2250 4547 2250 4367 2430 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 7200 5670 7200 1530 675 1530 675 5670 7200 5670 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2250 4725 2250 5175 +4 2 -1 0 0 0 20 0.0000 4 285 1140 2026 2341 SS:Th_in\001 +4 2 -1 0 0 0 20 0.0000 4 285 1125 2071 5041 SS:Hy_in\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 3376 5041 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 3376 2341 0\001 +4 0 4 0 0 0 20 0.0000 4 285 2295 4727 5042 SS:[Hydraulic_out]\001 +4 0 4 0 0 0 20 0.0000 4 285 2175 4772 2342 SS:[Thermal_out]\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_desc.tex Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_desc.tex @@ -0,0 +1,14 @@ +% Verbal description for system In (In_desc.tex) +% Generated by MTT on Tue Jan 13 18:02:36 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{In} is + displayed in Figure \Ref{In_abg} and its label + file is listed in Section \Ref{sec:In_lbl}. + The subsystems are listed in Section \Ref{sec:In_sub}. ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/In_lbl.txt @@ -0,0 +1,27 @@ +%SUMMARY In: Inflow conditions +%DESCRIPTION +%% Label file for system In (In_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%ALIAS out Thermal_out,Hydraulic_out +%ALIAS Th_out Thermal_out +%ALIAS Hy_out Hydraulic_out + + + +% Component type SS + Hy_in SS internal,external + Th_in SS external,internal + [Hydraulic_out] SS external,external + [Thermal_out] SS external,external ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_abg.fig @@ -0,0 +1,29 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2252 4952 3197 4952 3017 5132 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2205 2250 3150 2250 2970 2430 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2250 4725 2250 5175 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2205 2025 2205 2475 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 4950 4545 4950 4365 5130 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3555 2250 4500 2250 4320 2430 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 6075 5850 6075 1530 45 1530 45 5850 6075 5850 +4 2 4 0 0 0 20 0.0000 4 285 2145 2160 5040 SS:[Hydraulic_in]\001 +4 2 4 0 0 0 20 0.0000 4 285 2025 2115 2340 SS:[Thermal_in]\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 3375 5040 0\001 +4 1 -1 0 0 0 20 0.0000 4 210 150 3375 2340 0\001 +4 0 -1 0 0 0 20 0.0000 4 285 1290 4590 2340 SS:Th_out\001 +4 0 -1 0 0 0 20 0.0000 4 285 1275 4635 5040 SS:Hy_out\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_desc.tex Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_desc.tex @@ -0,0 +1,14 @@ +% Verbal description for system Out (Out_desc.tex) +% Generated by MTT on Tue Jan 13 18:02:44 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Out} is + displayed in Figure \Ref{Out_abg} and its label + file is listed in Section \Ref{sec:Out_lbl}. + The subsystems are listed in Section \Ref{sec:Out_sub}. ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/Out_lbl.txt @@ -0,0 +1,26 @@ +%SUMMARY Out: Outflow conditions +%DESCRIPTION +%% Label file for system Out (Out_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + +%ALIAS in Thermal_in,Hydraulic_in +%ALIAS Th_in Thermal_in +%ALIAS Hy_in Hydraulic_in + + +% Component type SS + Hy_out SS p_0,internal + Th_out SS t_0,internal + [Hydraulic_in] SS external,external + [Thermal_in] SS external,external ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_abg.fig @@ -0,0 +1,39 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 6210 4140 6390 4365 +4 1 0 100 0 18 18 0.0000 4 195 150 6300 4365 0\001 +-6 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9495 2700 10534 2703 10309 2928 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2025 2700 3060 2700 2835 2925 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4497 2698 5715 2700 5490 2925 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6930 2700 8145 2700 7920 2925 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 11925 7200 11925 225 900 225 900 7200 11925 7200 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6300 4050 6300 2925 6525 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6525 4275 7650 4275 7425 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4950 4275 6075 4275 5850 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2475 4275 3600 4275 3375 4500 +4 1 4 0 0 2 16 0.0000 4 240 1020 6302 2477 [Heat_in]\001 +4 1 -1 0 0 2 20 0.0000 4 210 1245 6302 2792 TankC:t1\001 +4 1 -1 0 0 2 20 0.0000 4 285 945 8868 2793 Pipe:p2\001 +4 1 -1 0 0 22 20 0.0000 4 225 600 1620 2790 In:in\001 +4 1 -1 0 0 22 20 0.0000 4 225 1080 11116 2791 Out:out\001 +4 1 -1 0 0 2 20 0.0000 4 285 945 3737 2792 Pipe:p1\001 +4 1 0 100 0 18 18 0.0000 4 210 1305 4275 4365 RS:heater\001 +4 1 0 100 0 18 18 0.0000 4 270 1020 1935 4365 Se:V_in\001 +4 1 0 100 0 18 18 0.0000 4 270 1215 8280 4365 De:T_out\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_input.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_input.txt @@ -0,0 +1,16 @@ +# -*-octave-*- Put Emacs into octave-mode +# Input specification (ShowerHeater_input.txt) +# Generated by MTT at Tue Dec 14 10:03:59 EST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the inputs +mttu(1) = 1e-4*(t>30); # Inflow +mttu(2) = 280; # In temperature +mttu(3) = 240*((t<60)&&(t>1)); # Input voltage + +# Set the switches ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_lbl.txt @@ -0,0 +1,41 @@ +%SUMMARY ShowerHeater +%DESCRIPTION +%% Label file for system ShowerHeater (ShowerHeater_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%ALIAS Pipe IncompressibleFlow/Pipe + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + +% Component type Pipe + p1 lin rho;c_p;flow,0 + p2 lin rho;c_p;flow,0 + + +% Component type TankC + t1 TankC rho;c_p;v + +% Component type In + in + +% Component type Out + out + +% Component type RS + heater lin flow,r_h + +% Component type Se + V_in SS external + +% Component type De + T_out SS external ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_numpar.txt @@ -0,0 +1,19 @@ +# -*-octave-*- Put Emacs into octave-mode +# Numerical parameter file (ShowerHeater_numpar.txt) +# Generated by MTT at Tue Dec 14 09:52:42 EST 1999 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Parameters +c_p = 4.184*1e3; # Specific heat +p_0 = 0.0; # Ambient pressure +r = 1.0; # Pipe flow resistance (no idea what + # this should be) +r_h = 10.0; # Heater resistance +rho = 1e3; # Density +v = 1e-3; # Volume (1 lit) ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_rep.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_rep.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_rep.txt @@ -0,0 +1,23 @@ +# Outline report file for system ShowerHeater (ShowerHeater_rep.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1999/02/21 02:13:25 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +mtt ShowerHeater abg tex +mtt ShowerHeater struc tex +mtt ShowerHeater sympar tex +mtt ShowerHeater ode tex + + +mtt ShowerHeater numpar txt +mtt ShowerHeater input txt + +mtt -c ShowerHeater odeso ps + ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_simpar.txt @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system ShowerHeater (ShowerHeater_simpar.txt) +# Generated by MTT on Tue Dec 14 10:05:57 EST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 100.0; # Last time in simulation +DT = 0.5; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_simpar.txt_old Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_simpar.txt_old @@ -0,0 +1,18 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system ShowerHeater (ShowerHeater_simpar.txt) +# Generated by MTT on Tue Dec 14 10:05:57 EST 1999. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + + +LAST = 100.0; # Last time in simulation +DT = 0.5; # Print interval +STEPFACTOR = 1; # Integration steps per print interval +WMIN = -1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps +INPUT = 1; # Index of the input ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_sspar.r Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_sspar.r @@ -0,0 +1,20 @@ +% Steady-state parameter file (ShowerHeater_sspar.r) +% Generated by MTT at Fri Nov 20 11:42:16 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +% Steady-state states +MTTX1 := 1; % ShowerHeater (j_s) +MTTX2 := p_0*c/rho; % ShowerHeater_C1 (tank) - pressure = p0 +MTTX3 := t_0*p_0*c*c_p; % ShowerHeater_C1 (tank) - temp = t0 +% Steady-state inputs +MTTU1 := q_0; % ShowerHeater (Heat) +MTTU2 := 0; % ShowerHeater (Work) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_state.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/ShowerHeater_state.txt @@ -0,0 +1,15 @@ +# -*-octave-*- Put Emacs into octave-mode +# Initial state file (ShowerHeater_state.txt) +# Generated by MTT at Tue Dec 14 10:06:08 EST 1999 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the states +mttx(1) = 280*rho*v*c_p; # Initial heat in tank + + + ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_TankC_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_TankC_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_TankC_abg.fig @@ -0,0 +1,81 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2430 2070 3600 3105 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2445 2477 3570 2477 3345 2702 +4 1 1 1 0 3 20 0.0000 4 210 180 2850 2297 T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 2985 2387 1\001 +4 1 1 1 0 3 20 0.0000 4 210 150 2985 3062 1\001 +4 1 1 1 0 3 20 0.0000 4 210 180 2850 2927 S\001 +4 1 1 1 0 3 30 0.0000 4 60 120 2850 2657 .\001 +-6 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5865 2477 6990 2477 6765 2702 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4065 5627 6990 5627 6765 5852 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7440 2478 8565 2478 8340 2703 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9241 2479 10366 2479 10141 2704 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7440 5626 10365 5626 10140 5851 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 8609 6571 5864 6571 5864 1801 8609 1801 8609 6571 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6989 2701 7439 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7214 2702 7214 3827 7439 3602 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 5850 4050 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 1127 3825 2252 4050 2027 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4065 2475 5190 2475 4965 2700 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 12825 7155 12825 225 225 225 225 7155 12825 7155 +4 0 4 0 0 0 20 0.0000 4 285 2295 10546 5719 SS:[Hydraulic_out]\001 +4 0 4 0 0 0 20 0.0000 4 285 2175 10501 2569 SS:[Thermal_out]\001 +4 2 4 0 0 0 20 0.0000 4 285 2145 4019 5716 SS:[Hydraulic_in]\001 +4 1 -1 0 0 22 20 0.0000 4 225 390 5550 2567 ES\001 +4 1 1 1 0 3 20 0.0000 4 210 150 4606 5538 1\001 +4 1 1 1 0 3 30 0.0000 4 60 120 4471 5808 .\001 +4 1 1 1 0 3 20 0.0000 4 210 180 4471 5448 P\001 +4 1 1 1 0 3 20 0.0000 4 210 210 4471 6078 V\001 +4 1 4 0 0 0 20 0.0000 4 270 300 5280 2252 [s]\001 +4 1 4 0 0 0 20 0.0000 4 270 315 5820 2252 [e]\001 +4 1 1 1 0 3 20 0.0000 4 210 150 6406 2388 1\001 +4 1 1 1 0 3 20 0.0000 4 210 660 6584 2206 T - T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 6899 2386 0\001 +4 1 1 1 0 3 30 0.0000 4 60 120 6497 2659 .\001 +4 1 1 1 0 3 20 0.0000 4 210 195 6497 2929 E\001 +4 1 -1 0 0 22 20 0.0000 4 225 915 7214 4186 C:tank\001 +4 1 -1 0 0 22 20 0.0000 4 210 165 7215 5762 0\001 +4 1 -1 0 0 22 20 0.0000 4 225 390 8925 2568 ES\001 +4 1 1 1 0 3 30 0.0000 4 60 120 9648 5811 .\001 +4 1 1 1 0 3 20 0.0000 4 210 180 9648 5451 P\001 +4 1 1 1 0 3 20 0.0000 4 210 210 9648 6081 V\001 +4 1 1 1 0 3 20 0.0000 4 210 150 9783 5541 2\001 +4 1 1 1 0 3 20 0.0000 4 210 195 7846 2930 E\001 +4 1 4 0 0 0 20 0.0000 4 270 315 8655 2208 [e]\001 +4 1 4 0 0 0 20 0.0000 4 270 300 9150 2208 [s]\001 +4 1 1 1 0 3 20 0.0000 4 210 180 9648 2301 T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 9783 2391 2\001 +4 1 1 1 0 3 20 0.0000 4 210 180 9648 2931 S\001 +4 1 1 1 0 3 30 0.0000 4 60 120 9648 2661 .\001 +4 1 1 1 0 3 20 0.0000 4 210 150 9783 3066 2\001 +4 1 1 1 0 3 30 0.0000 4 60 120 7846 2660 .\001 +4 1 1 1 0 3 20 0.0000 4 210 660 7936 2209 T - T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 8251 2389 0\001 +4 1 1 1 0 3 20 0.0000 4 210 150 7758 2391 2\001 +4 1 1 1 0 3 20 0.0000 4 285 2550 7259 6346 Pseudo Bond Graph\001 +4 1 4 0 0 0 20 0.0000 4 285 1530 3870 945 SS:[Heat_in]\001 +4 1 -1 0 0 22 20 0.0000 4 210 165 7245 2565 0\001 +4 1 -1 0 0 22 20 0.0000 4 210 165 3825 2565 0\001 +4 2 4 0 0 0 20 0.0000 4 285 2025 2385 2565 SS:[Thermal_in]\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_abg.fig Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_abg.fig @@ -0,0 +1,81 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 2430 2070 3600 3105 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2445 2477 3570 2477 3345 2702 +4 1 1 1 0 3 20 0.0000 4 210 180 2850 2297 T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 2985 2387 1\001 +4 1 1 1 0 3 20 0.0000 4 210 150 2985 3062 1\001 +4 1 1 1 0 3 20 0.0000 4 210 180 2850 2927 S\001 +4 1 1 1 0 3 30 0.0000 4 60 120 2850 2657 .\001 +-6 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5865 2477 6990 2477 6765 2702 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4065 5627 6990 5627 6765 5852 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7440 2478 8565 2478 8340 2703 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 9241 2479 10366 2479 10141 2704 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7440 5626 10365 5626 10140 5851 +2 4 1 2 1 7 1 0 -1 6.000 0 0 7 0 0 5 + 8609 6571 5864 6571 5864 1801 8609 1801 8609 6571 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6989 2701 7439 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7214 2702 7214 3827 7439 3602 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4050 5850 4050 5400 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3825 1127 3825 2252 4050 2027 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4065 2475 5190 2475 4965 2700 +2 4 0 2 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 12825 7155 12825 225 225 225 225 7155 12825 7155 +4 0 4 0 0 0 20 0.0000 4 285 2295 10546 5719 SS:[Hydraulic_out]\001 +4 0 4 0 0 0 20 0.0000 4 285 2175 10501 2569 SS:[Thermal_out]\001 +4 2 4 0 0 0 20 0.0000 4 285 2145 4019 5716 SS:[Hydraulic_in]\001 +4 1 -1 0 0 22 20 0.0000 4 225 390 5550 2567 ES\001 +4 1 1 1 0 3 20 0.0000 4 210 150 4606 5538 1\001 +4 1 1 1 0 3 30 0.0000 4 60 120 4471 5808 .\001 +4 1 1 1 0 3 20 0.0000 4 210 180 4471 5448 P\001 +4 1 1 1 0 3 20 0.0000 4 210 210 4471 6078 V\001 +4 1 4 0 0 0 20 0.0000 4 270 300 5280 2252 [s]\001 +4 1 4 0 0 0 20 0.0000 4 270 315 5820 2252 [e]\001 +4 1 1 1 0 3 20 0.0000 4 210 150 6406 2388 1\001 +4 1 1 1 0 3 20 0.0000 4 210 660 6584 2206 T - T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 6899 2386 0\001 +4 1 1 1 0 3 30 0.0000 4 60 120 6497 2659 .\001 +4 1 1 1 0 3 20 0.0000 4 210 195 6497 2929 E\001 +4 1 -1 0 0 22 20 0.0000 4 225 915 7214 4186 C:tank\001 +4 1 -1 0 0 22 20 0.0000 4 210 165 7215 5762 0\001 +4 1 -1 0 0 22 20 0.0000 4 225 390 8925 2568 ES\001 +4 1 1 1 0 3 30 0.0000 4 60 120 9648 5811 .\001 +4 1 1 1 0 3 20 0.0000 4 210 180 9648 5451 P\001 +4 1 1 1 0 3 20 0.0000 4 210 210 9648 6081 V\001 +4 1 1 1 0 3 20 0.0000 4 210 150 9783 5541 2\001 +4 1 1 1 0 3 20 0.0000 4 210 195 7846 2930 E\001 +4 1 4 0 0 0 20 0.0000 4 270 315 8655 2208 [e]\001 +4 1 4 0 0 0 20 0.0000 4 270 300 9150 2208 [s]\001 +4 1 1 1 0 3 20 0.0000 4 210 180 9648 2301 T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 9783 2391 2\001 +4 1 1 1 0 3 20 0.0000 4 210 180 9648 2931 S\001 +4 1 1 1 0 3 30 0.0000 4 60 120 9648 2661 .\001 +4 1 1 1 0 3 20 0.0000 4 210 150 9783 3066 2\001 +4 1 1 1 0 3 30 0.0000 4 60 120 7846 2660 .\001 +4 1 1 1 0 3 20 0.0000 4 210 660 7936 2209 T - T\001 +4 1 1 1 0 3 20 0.0000 4 210 150 8251 2389 0\001 +4 1 1 1 0 3 20 0.0000 4 210 150 7758 2391 2\001 +4 1 1 1 0 3 20 0.0000 4 285 2550 7259 6346 Pseudo Bond Graph\001 +4 1 4 0 0 0 20 0.0000 4 285 1530 3870 945 SS:[Heat_in]\001 +4 1 -1 0 0 22 20 0.0000 4 210 165 7245 2565 0\001 +4 1 -1 0 0 22 20 0.0000 4 210 165 3825 2565 0\001 +4 2 4 0 0 0 20 0.0000 4 285 2025 2385 2565 SS:[Thermal_in]\001 ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_cr.r Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_cr.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_cr.r @@ -0,0 +1,15 @@ +% Constitutive relation file for TankC (TankC_cr.r) +% Generated by MTT at Thu Mar 5 10:30:23 GMT 1998 + +OPERATOR TankC; + +%Pressure +% -- not relevant here + +%Temperature +FOR ALL rho,c_p,volume,Energy +LET TankC(rho,c_p,volume,effort,1, + Energy,state,1 + ) = Energy/(volume*rho*c_p); + +END; ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_desc.tex Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_desc.tex @@ -0,0 +1,14 @@ +% Verbal description for system TankC (TankC_desc.tex) +% Generated by MTT on Tue Jan 13 18:03:04 GMT 1998. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{TankC} is + displayed in Figure \Ref{TankC_abg} and its label + file is listed in Section \Ref{sec:TankC_lbl}. + The subsystems are listed in Section \Ref{sec:TankC_sub}. ADDED mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/Incompressible/Incompressible-Systems/ShowerHeater/TankC_lbl.txt @@ -0,0 +1,58 @@ +%% Label file for system TankC (TankC_lbl.txt) +%SUMMARY TankC: TankC of hot incompressible liquid - fixed volume +%DESCRIPTION rho - density; c_p - specific heat; v - volume +%DESCRIPTION Typical lable: tank TankC rho;c_p;v + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.3 1998/11/20 13:20:27 peterg +% %% Aliased ports +% %% +% %% Revision 1.2 1998/11/20 09:46:34 peterg +% %% Modernised lbl syntax +% %% +% %% Revision 1.1 1998/11/20 08:57:19 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in Thermal_in,Hydraulic_in +%ALIAS out Thermal_out,Hydraulic_out + +%ALIAS Th_in Thermal_in +%ALIAS Hy_in Hydraulic_in + +%ALIAS Th_out Thermal_out +%ALIAS Hy_out Hydraulic_out + +%ALIAS Heat Heat_in + +% Argument aliases +%ALIAS $1 rho +%ALIAS $2 c_p +%ALIAS $3 v + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type C + tank TankC rho,c_p,v + +% Component type SS + [Heat_in] SS external,external + [Hydraulic_in] SS external,external + [Hydraulic_out] SS external,external + [Thermal_in] SS external,external + [Thermal_out] SS external,external + + + ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_abg.fig @@ -0,0 +1,37 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 3150 5850 3150 5625 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 4500 4275 5850 4275 5625 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1800 3150 3150 3150 2925 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 2925 3150 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 4050 1800 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1777 4275 3127 4275 2902 4500 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4500 4095 4500 4545 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6975 3150 8325 3150 8100 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6975 2925 6975 3375 +2 2 0 2 1 7 1 0 -1 0.000 0 0 0 0 0 5 + 2925 2025 4725 2025 4725 5400 2925 5400 2925 2025 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9450 5850 9450 1575 450 1575 450 5850 9450 5850 +4 0 -1 0 0 0 20 0.0000000 4 240 870 6030 3240 RT:r_2\001 +4 2 4 0 0 0 20 0.0000000 4 240 690 2835 3060 [t_in]\001 +4 0 4 0 0 0 20 0.0000000 4 240 840 4770 3015 [t_out]\001 +4 2 4 0 0 0 20 0.0000000 4 240 735 2880 4185 [e_in]\001 +4 0 4 0 0 0 20 0.0000000 4 240 885 4770 4185 [e_out]\001 +4 2 -1 0 0 0 20 0.0000000 4 240 900 1620 3240 SS:T_1\001 +4 0 -1 0 0 0 20 0.0000000 4 240 900 8460 3240 SS:T_2\001 +4 2 -1 0 0 0 20 0.0000000 4 240 780 1665 4365 SS:I_r\001 +4 0 -1 0 0 0 20 0.0000000 4 240 930 5985 4365 SS:V_0\001 +4 1 -1 0 0 0 20 0.0000000 4 270 1575 3780 3825 Segment:s*20\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_desc.tex @@ -0,0 +1,67 @@ +% Verbal description for system HeatedRod (HeatedRod_desc.tex) +% Generated by MTT on Thu Sep 4 18:05:09 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/09/11 16:16:50 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{table}[htbp] + \begin{center} + \leavevmode + \begin{tabular}{l l l} + \hline + Parameter & Symbol & Value \\ + \hline + Length & $L_r$ & 1m \\ + Diameter & $D_r$ & 1mm \\ + Resistivity & $\rho$ & $1.68\times10^{-9} \Omega$m \\ + Thermal conductivity & $\sigma$ & 390 W$\text{m}^{-1}$\\ + Thermal capacity & $\kappa$ & 380 J$\text{m}^{-3}$\\ + \hline + \end{tabular} + \caption{Heated rod parameters} + \label{tab:rod} + \end{center} +\end{table} + + System \textbf{HeatedRod} is a model of a well-insulated rod of copper with an + electric current passing through it which warms it up. The two ends of + the rod are fixed at ambient temperature; this is where all the heat + loss occurs. + + This example introduces the idea of the {\bf FP}, \textbf{RT} and + \textbf{CT} components in the context of thermal conduction. + + The model is similar to that described in chapter 8 of \citeN{Cel91}. + However, instead of representing the thermal resistance by {\bf RS} + components and reinserting the entropy flow, the {\bf RT} component + uses two {\bf FP} components to convert from true to pseudo bonds and + back again. Similary, the thermal capacity is modelled by the {\bf + CT} component. + + This distributed system (which strictly speaking has a partial + differential equation model) is approximated by an ordinary + diffferential equation model by modelling the system by a number of + discrete segments of length $\Delta x$. Each segment model consists + of two conceptual parts. + \begin{itemize} + \item An ideal lump of copper with no thermal resistance but with the + normal attributes of electrical resistance (modelled by the + \textbf{RS} component and thermal capacity (modelled by the + \textbf{CF} component). + \item A thin lump wtih thermal resistance but no thermal capacity or + electrical resistance (modeled by the \textbf{RT} component). + \end{itemize} +At this level of the hierarchy, all bonds are true energy bonds and +thus energy conservation is assured. Note that the \textbf{RS} +component correctely transforms electrical to thermal energy. + +The system was simulated with a total of nine lumps whilst passing a +current of 1A though the rod for a total of 10s. The initial +temperature and the end temperatures were all set at 300K. ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_input.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (HeatedRod_input.txt) +# Generated by MTT at Thu Sep 4 16:11:06 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/08/15 13:40:20 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs +u(1) = 10.0*(t<5.0); # I_r ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_lbl.txt @@ -0,0 +1,48 @@ +%SUMMARY HeatedRod: Thermal/Electrical model of Electric rod +%DESCRIPTION Introduces the idea of the ES component which +%DESCRIPTION transforms a relative-temperature/enthalpy pseudo bond +%DESCRIPTION (at the [e]port) into an absolute-temperature/enntropy +%DESCRIPTION energy bond (at the [s] port) and vice versa. + +%VAR rod_length +%VAR rod_radius +%VAR electrical_resistivity +%VAR thermal_resistivity +%VAR thermal_capacity +%VAR segments +%VAR area +%VAR delta_x +%VAR volume +%VAR density +%VAR mass + +%% Label file for system HeatedRod (HeatedRod_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 1997/09/11 16:16:29 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type RT + r_2 lin flow,r_2 + +% Component type SS + I_r SS internal,external + T_1 SS t_0,internal + T_2 SS t_0,internal + V_0 SS internal,internal + +% Component type Segment + s ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_numpar.txt @@ -0,0 +1,39 @@ +# Numerical parameter file (HeatedRod_numpar.txt) +# Generated by MTT at Thu Sep 4 16:11:04 BST 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/08/15 13:40:33 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +# Constants for copper +density = 8.96; +rod_length = 1.0; +rod_radius = 1e-3; +electrical_resistivity = 16.8*0.000000001; +thermal_resistivity = 1/390.0; +thermal_capacity = 380.0; + + +segments = 20; +area = pi*rod_radius*rod_radius; +delta_x = rod_length/segments; +volume = area*delta_x; +mass = volume*density; + +# Parameters +c_t = thermal_capacity*mass; +r = electrical_resistivity*delta_x/area; +r_t = thermal_resistivity*delta_x/area; +r_2 = r_t; +t_0 = 300; # Ambient + + + + ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_simpar.txt @@ -0,0 +1,21 @@ +# -*-octave-*- Put Emacs into octave-mode +# Simulation parameters for system HR (HR_simpar.txt) +# Generated by MTT on Wednesday July 29 13:59:50 BST 1998. +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +## Revision 1.1 1998/08/15 13:40:47 peterg +## Initial revision +## +############################################################### + + +LAST = 10; # Last time in simulation +WMIN = 1; # Minimum frequency = 10^WMIN +WMAX = 2; # Maximum frequency = 10^WMAX +WSTEPS = 100; # Number of frequency steps + +STEPFACTOR = 1; # Added automatically +DT = 0.1; # Added automatically ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_sspar.r @@ -0,0 +1,27 @@ +% Steady-state parameter file (HeatedRod_sspar.r) +% Generated by MTT at Thu Jun 25 09:32:38 BST 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +% Steady-state states +MTTX1 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX2 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX3 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX4 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX5 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX6 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX7 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX8 := t_0*c_t; % HeatedRod_s_c_t (c) +MTTX9 := t_0*c_t; % HeatedRod_s_c_t (c) + +% Steady-state inputs +MTTU1 := 1.0; % HeatedRod (I_r) + +;;END; ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_state.txt Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_state.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/HeatedRod_state.txt @@ -0,0 +1,31 @@ +# -*-octave-*- Put Emacs into octave-mode +# Initial state file (HeatedRod_state.txt) +# Generated by MTT at Sat Aug 15 15:34:41 BST 1998 +############################################################### +## Version control history +############################################################### +## $Id$ +## $Log$ +############################################################### + +# Set the states +mttx(1) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(2) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(3) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(4) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(5) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(6) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(7) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(8) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(9) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(10) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(11) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(12) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(13) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(14) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(15) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(16) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(17) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(18) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(19) = c_t*t_0; # c (HeatedRod_s_c_t) +mttx(20) = c_t*t_0; # c (HeatedRod_s_c_t) ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_abg.fig @@ -0,0 +1,44 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1306 2476 2881 2476 2656 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3781 2476 5356 2476 5131 2701 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5761 2476 8550 2475 8325 2700 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5581 4276 5581 2701 5806 2926 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5581 6301 5581 4726 5806 4951 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1350 6525 5356 6526 5131 6751 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5806 6526 8550 6525 8325 6750 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5806 2701 6920 3815 6601 3815 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5581 2251 5581 676 5806 901 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5356 676 5806 676 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9900 7425 9900 90 45 90 45 7425 9900 7425 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7650 4455 7650 1800 1575 1800 1575 4455 7650 4455 +2 4 0 1 1 7 1 0 -1 0.000 0 0 7 0 0 5 + 7650 6975 7650 4545 1575 4545 1575 6975 7650 6975 +4 1 -1 0 0 0 20 0.0000000 4 240 810 3331 2566 RT:r_t\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5581 2566 0\001 +4 1 -1 0 0 0 20 0.0000000 4 210 555 5581 4591 RS:r\001 +4 1 -1 0 0 0 20 0.0000000 4 210 150 5581 6616 1\001 +4 1 -1 0 0 0 20 0.0000000 4 240 840 7021 4141 CT:c_t\001 +4 1 -1 0 0 0 20 0.0000000 4 240 870 5581 586 SS:T_s\001 +4 2 4 0 0 0 20 0.0000000 4 240 1020 1261 2566 SS:[t_in]\001 +4 0 4 0 0 0 20 0.0000000 4 240 1020 8685 2565 SS:[t_out]\001 +4 2 4 0 0 0 20 0.0000000 4 240 1065 1260 6615 SS:[e_in]\001 +4 0 4 0 0 0 20 0.0000000 4 240 1065 8685 6615 SS:[e_out]\001 +4 0 1 1 0 0 20 0.0000000 4 240 1875 1845 4050 Thermal model\001 +4 0 1 1 0 0 20 0.0000000 4 240 2025 1800 5175 Electrical model\001 +4 0 1 1 0 0 20 0.0000000 4 270 2415 6075 585 Temperature sensor\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_desc.tex @@ -0,0 +1,19 @@ +% Verbal description for system Segment (Segment_desc.tex) +% Generated by MTT on Thu Sep 4 18:05:43 BST 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + The acausal bond graph of system \textbf{Segment} is + displayed in Figure \ref{Segment_abg} and its label + file is listed in Section \ref{sec:Segment_lbl}. + The subsystems are listed in Section \ref{sec:Segment_sub}. + + + ADDED mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermalConduction/HeatedRod/Segment_lbl.txt @@ -0,0 +1,39 @@ +%SUMMARY Segment: Segment of HeatedRod +%DESCRIPTION Part of the HeatedRod example. +%% Label file for system Segment (Segment_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1998/08/10 12:29:48 peterg +% %% Added missing ports. +% %% +% %% Revision 1.1 1997/09/11 16:17:14 peterg +% %% Initial revision +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type CT + c_t lin effort,c_t + +% Component type RS + r lin flow,r + +% Component type RT + r_t lin flow,r_t + +% Component type SS + T_s SS external,0 + [t_in] SS external,external + [t_out] SS external,external + [e_in] SS external,external + [e_out] SS external,external ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_abg.fig @@ -0,0 +1,26 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3827 3152 5402 3152 5177 3377 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 6977 3152 8552 3152 8327 3377 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8552 2927 8552 3377 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1352 3150 2927 3150 2702 3375 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 9900 5850 9900 450 0 450 0 5850 9900 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2925 2925 2925 3375 +4 1 -1 0 0 0 20 0.0000000 4 270 1440 6212 3242 Cycle:cycle\001 +4 0 -1 0 0 0 20 0.0000000 4 210 1110 8687 3242 SS:Work\001 +4 1 1 1 0 3 20 0.0000000 4 210 735 4456 3466 dS/dT\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 4501 2926 T\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 7921 2926 P\001 +4 1 1 1 0 3 20 0.0000000 4 210 765 7786 3466 dV/dT\001 +4 2 -1 0 0 0 20 0.0000000 4 210 990 1170 3285 SS:Heat\001 +4 1 1 1 0 3 30 0.0000000 4 390 2310 5085 4635 Carnot cycle\001 +4 1 -1 0 0 0 20 0.0000000 4 210 570 3375 3240 RT:r\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_input.txt @@ -0,0 +1,42 @@ +# Numerical parameter file (CarnotCycle_input.txt) +# Generated by MTT at Mon Dec 8 20:05:30 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +alpha = 0.553; + +# Set the inputs +if ((t>=0.0)&&(t<1.0)) #Cooling + u(1) = 300.0; # Source temperature + r = 1e-5; # Small r - isothermal + u(2) = -alpha; # Volume rate-of-change +endif; + +if ((t>=1.0)&&(t<2.0)) #Compression + u(1) = 300.0; # Source temperature + r = 1e5; # Large resistance -- isentropic + u(2) = -(0.8-alpha); # Volume rate-of-change + TopTemp = x(1)/(m_g*c_v); +endif; + +if ((t>=2.0)&&(t<3.0)) #Heating + u(1) = TopTemp; # Source temperature + r = 1e-5; # Small r - isothermal + u(2) = (0.8-alpha); # Volume rate-of-change +endif; + +if (t>=3.0) #Cooling +% Temp = x(1)/(m_g*c_v); # + u(1) = 300.0; # Source temperature + r = 1e5; # Large resistance -- no entropy flow + u(2) = alpha; # Volume rate-of-change +endif; + + + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_numpar.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_numpar.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_numpar.txt @@ -4,14 +4,24 @@ # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% Version control history # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% $Id$ # %% $Log$ +# %% Revision 1.1 1998/03/04 11:49:01 peterg +# %% Initial revision +# %% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Initial states -- needed to choose an approppriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; # Parameters +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v); # Parameter m for CU + + r = 1.0; # Parameter r for CarnotCycle -c_v = 718.0; # Parameter c_v for CT2 -gamma = 1.4; # Parameter gamma for CT2 -m = 1.0; # Parameter m for CT2 -t_0 = 300.0; # Parameter t_0 for CT + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_params.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_params.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_params.r @@ -0,0 +1,11 @@ +%% Parameter file for system CarnotCycle (CarnotCycle_params.r) +%% This file provides symbolic parameters for simplification + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_rep.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_rep.txt @@ -3,21 +3,24 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/21 02:15:05 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -ss -o CarnotCycle abg tex mtt -ss -o CarnotCycle struc tex mtt -ss -o CarnotCycle ode tex mtt -ss -o CarnotCycle ss tex mtt -ss -o CarnotCycle numpar txt mtt -ss -o CarnotCycle input txt -mtt -ss -o CarnotCycle odes h -mtt -ss -o CarnotCycle odeso ps 'CarnotCycle_cycle_V' -mtt -ss -o CarnotCycle odeso ps 'CarnotCycle_cycle_P' -mtt -ss -o CarnotCycle odeso ps 'CarnotCycle_cycle_S' -mtt -ss -o CarnotCycle odeso ps 'CarnotCycle_cycle_T' -mtt -ss -o CarnotCycle odeso ps 'CarnotCycle_cycle_V:CarnotCycle_cycle_P' -mtt -ss -o CarnotCycle odeso ps 'CarnotCycle_cycle_S:CarnotCycle_cycle_T' + +mtt -ss -c -o CarnotCycle odeso ps 'CarnotCycle_cycle_V' +mtt -ss -c -o CarnotCycle odeso ps 'CarnotCycle_cycle_P' +mtt -ss -c -o CarnotCycle odeso ps 'CarnotCycle_cycle_S' +mtt -ss -c -o CarnotCycle odeso ps 'CarnotCycle_cycle_T' +mtt -ss -c -o CarnotCycle odeso ps 'CarnotCycle_cycle_V:CarnotCycle_cycle_P' +mtt -ss -c -o CarnotCycle odeso ps 'CarnotCycle_cycle_S:CarnotCycle_cycle_T' ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_simp.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_simp.r @@ -0,0 +1,10 @@ +%% Reduce comands to simplify output for system CarnotCycle (CarnotCycle_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system OttoCycle (OttoCycle_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=4.0 +DT=0.01 +STEPFACTOR=10 Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_sspar.r ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_sspar.r +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/CarnotCycle/CarnotCycle_sspar.r @@ -4,19 +4,41 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % $Id$ % % $Log$ +% % Revision 1.1 1998/03/04 11:49:14 peterg +% % Initial revision +% % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; % Steady-state states -MTTX1 := t_0*m*c_v; % CarnotCycle_cycle_gas (c) -MTTX2 := 10.0; % CarnotCycle_cycle_gas (c) -MTTX3 := m*c_v; % CarnotCycle_cycle_entropy (3) -MTTX4 := 10.0; % CarnotCycle_cycle_volume (3) +MTTX1 := U_0; % CarnotCycle_cycle_gas (c) +MTTX2 := V_0; % CarnotCycle_cycle_gas (c) +MTTX3 := S_0; % CarnotCycle_cycle_entropy (3) +MTTX4 := V_0; % CarnotCycle_cycle_volume (3) % Steady-state inputs MTTU1 := 0; % CarnotCycle (Heat) MTTU2 := 0; % CarnotCycle (Work) ;;END; + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_abg.fig @@ -0,0 +1,33 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 3151 3601 3151 3376 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5176 3151 6751 3151 6526 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6751 2926 6751 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2026 2926 2026 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 10350 5850 10350 450 675 450 675 5850 10350 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7425 2925 7425 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7426 3150 9001 3150 8776 3375 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7065 2924 7065 1349 7290 1574 +4 1 4 0 0 0 20 0.0000 4 240 735 3601 2926 [Heat]\001 +4 1 -1 0 0 0 20 0.0000 4 255 1290 4411 3241 Cycle:cycle\001 +4 1 4 0 0 0 20 0.0000 4 240 825 5176 2926 [Work]\001 +4 2 -1 0 0 0 20 0.0000 4 195 960 1936 3241 SS:Heat\001 +4 1 1 1 0 3 20 0.0000 4 210 690 2655 3465 dS/dT\001 +4 1 1 1 0 3 20 0.0000 4 195 165 2700 2925 T\001 +4 1 1 1 0 3 20 0.0000 4 195 165 6120 2925 P\001 +4 1 1 1 0 3 20 0.0000 4 210 720 5985 3465 dV/dT\001 +4 0 -1 0 0 0 20 0.0000 4 195 1050 9091 3241 SS:Work\001 +4 1 1 1 0 3 30 0.0000 4 405 2085 5535 4500 Diesel cycle\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 7066 3241 1\001 +4 1 -1 0 0 0 20 0.0000 4 195 375 7021 1261 R:r\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_input.txt @@ -0,0 +1,44 @@ +# Numerical parameter file (DieselCycle_input.txt) +# Generated by MTT at Thu Dec 4 11:17:09 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +# Set the inputs + +if ((t>=0.0)&&(t<1.0)) #Compression + u(1) = 0.0; # Entropy flow + r = 1e10; # Big R to make a flow source + u(2) = 0.8*r; #- Volume rate-of-change + TopPressure = (gamma_g-1)*(x(1)/x(2)) +endif; + +if ((t>=1.0)&&(t<2.0)) #Heating + u(1) = 1000; # Entropy flow + r = 1e4; # small r constant pressure + u(2) = TopPressure; # Pressure source + Volume = x(4); +endif; + +if ((t>=2.0)&&(t<3.0)) #Expansion + u(1) = 0.0; # Entropy flow + r = 1e10; # Big R to make a flow source + u(2) = -(1-Volume)*r; # Volume rate-of-change +endif; + +if (t>=3.0) #Cooling + Pressure = (gamma_g-1)*x(1)/x(2); + u(1) = -1000*(Pressure>1e5); # Entropy flow + r = 1e10; # Big R to make a flow source + u(2) = 0.0*r; # Volume rate-of-change +endif; + + + + + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_lbl.txt @@ -4,18 +4,29 @@ %DESCRIPTION o Isentropic compression %DESCRIPTION o Heating at constant pressure %DESCRIPTION o Isentropic expansion %DESCRIPTION o Cooling at constant volume +%VAR P_0 +%VAR T_0 +%VAR V_0 +%VAR S_0 +%VAR U_0 +%VAR TopPressure +%VAR Volume +%VAR Pressure %% Label file for system DieselCycle (DieselCycle_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1998/07/21 15:25:50 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -22,13 +33,13 @@ % blank % Component type Cycle - cycle + cycle none ideal_gas;c_v;gamma_g;m_g % Component type R r lin flow,r % Component type SS Heat SS internal,external Work SS external,internal ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (DieselCycle_numpar.txt) +# Generated by MTT at Thu Dec 4 11:44:46 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/03/04 11:45:49 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Initial states -- needed to choose an approppriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; + +# Parameters +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma_g for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v);# Parameter m for CU + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system DieselCycle (DieselCycle_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=4.0 +DT=0.01 +STEPFACTOR=10 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/DieselCycle_sspar.r @@ -0,0 +1,39 @@ +% Steady-state parameter file (DieselCycle_sspar.r) +% Generated by MTT at Wed Mar 4 11:02:40 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; + +% Steady-state states +MTTX1 := U_0; % DieselCycle_cycle_gas (c) +MTTX2 := V_0; % DieselCycle_cycle_gas (c) +MTTX3 := S_0; % DieselCycle_cycle_entropy (3) +MTTX4 := V_0; % DieselCycle_cycle_volume (3) + +% Steady-state inputs +MTTU1 := 0; % DieselCycle (Heat) +MTTU2 := 0; % DieselCycle (Work) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_abg.fig @@ -0,0 +1,16 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1125 2925 2475 2925 2250 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3150 2925 4500 2925 4275 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1125 2700 1125 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4500 2700 4500 3150 +4 1 -1 0 0 0 20 0.0000 4 195 600 2790 3015 CU:c\001 +4 2 -1 0 0 0 20 0.0000 4 195 960 1035 3015 SS:Heat\001 +4 0 -1 0 0 0 20 0.0000 4 195 1050 4635 3015 SS:Work\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_cr.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_cr.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_cr.r @@ -0,0 +1,6 @@ +% Constitutive relation file for TestCU (TestCU_cr.r) +% Generated by MTT at Sat Jun 27 12:13:42 BST 1998 + +in "CU_cr.r"; +in "lin.cr"; +END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_lbl.txt @@ -0,0 +1,24 @@ +%SUMMARY TestCU +%DESCRIPTION +%% Label file for system TestCU (TestCU_lbl.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% Component-name CR_name arg1,arg2,..argn +% blank + + + +% Component type CU + c CU ideal_gas,c_v,gamma,m + +% Component type SS + Heat external external + Work external external ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_simp.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/DieselCycle/TestCU_simp.r @@ -0,0 +1,12 @@ +%% Reduce commands to simplify output for system TestCU (TestCU_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +On Factor; +Off Div; +END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_abg.fig @@ -0,0 +1,23 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 3151 3601 3151 3376 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5176 3151 6751 3151 6526 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6751 2926 6751 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2026 2926 2026 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 5850 8325 450 675 450 675 5850 8325 5850 +4 1 -1 0 0 0 20 0.0000000 4 270 1440 4411 3241 Cycle:cycle\001 +4 0 -1 0 0 0 20 0.0000000 4 210 1110 6886 3241 SS:Work\001 +4 2 -1 0 0 0 20 0.0000000 4 210 990 1936 3241 SS:Heat\001 +4 1 1 1 0 3 20 0.0000000 4 210 735 2655 3465 dS/dT\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 2700 2925 T\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 6120 2925 P\001 +4 1 1 1 0 3 20 0.0000000 4 210 765 5985 3465 dV/dT\001 +4 1 1 1 0 3 30 0.0000000 4 390 1800 4365 4770 Otto cycle\001 Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_input.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_input.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_input.txt @@ -4,35 +4,35 @@ # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% Version control history # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% $Id$ # %% $Log$ +# %% Revision 1.1 1998/08/10 14:42:13 peterg +# %% Initial revision +# %% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Set the inputs if ((t>=0.0)&&(t<1.0)) #Compression u(1) = 0.0; # Entropy flow -else u(2) = -0.8; # Volume rate-of-change endif; if ((t>=1.0)&&(t<2.0)) #Heating u(1) = 1000; # Entropy flow -else u(2) = 0.0; # Volume rate-of-change endif; if ((t>=2.0)&&(t<3.0)) #Expansion u(1) = 0.0; # Entropy flow -else u(2) = 0.8; # Volume rate-of-change endif; if (t>=3.0) #Cooling u(1) = -1000; # Entropy flow -else u(2) = 0.0; # Volume rate-of-change endif; + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_numpar.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_numpar.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_numpar.txt @@ -4,13 +4,20 @@ # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% Version control history # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # %% $Id$ # %% $Log$ +# %% Revision 1.1 1998/03/04 11:45:49 peterg +# %% Initial revision +# %% # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# Initial states -- needed to choose an appropriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; + # Parameters -c_v = 718.0; # Parameter c_v for CT2 -gamma = 1.4; # Parameter gamma for CT2 -m = 1.0; # Parameter m for CT2 -t_0 = 300.0; # Parameter t_0 for CT2 +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v);# Parameter m for CU Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_rep.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_rep.txt @@ -3,25 +3,28 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/21 02:16:17 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -o -ss OttoCycle abg tex mtt -o -ss OttoCycle struc tex mtt -o -ss OttoCycle ode tex mtt -o -ss OttoCycle ss tex mtt -o -ss OttoCycle numpar txt mtt -o -ss OttoCycle input txt -mtt -o -ss OttoCycle odes h -mtt -o -ss OttoCycle odeso ps 'OttoCycle_cycle_V' -mtt -o -ss OttoCycle odeso ps 'OttoCycle_cycle_P' -mtt -o -ss OttoCycle odeso ps 'OttoCycle_cycle_S' -mtt -o -ss OttoCycle odeso ps 'OttoCycle_cycle_T' -mtt -o -ss OttoCycle odeso ps 'OttoCycle_cycle_V:OttoCycle_cycle_P' -mtt -o -ss OttoCycle odeso ps 'OttoCycle_cycle_S:OttoCycle_cycle_T' + +mtt -o -ss -c OttoCycle odeso ps 'OttoCycle_cycle_V' +mtt -o -ss -c OttoCycle odeso ps 'OttoCycle_cycle_P' +mtt -o -ss -c OttoCycle odeso ps 'OttoCycle_cycle_S' +mtt -o -ss -c OttoCycle odeso ps 'OttoCycle_cycle_T' +mtt -o -ss -c OttoCycle odeso ps 'OttoCycle_cycle_V:OttoCycle_cycle_P' +mtt -o -ss -c OttoCycle odeso ps 'OttoCycle_cycle_S:OttoCycle_cycle_T' ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system OttoCycle (OttoCycle_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=4.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicCycles/OttoCycle/OttoCycle_sspar.r @@ -0,0 +1,39 @@ +% Steady-state parameter file (OttoCycle_sspar.r) +% Generated by MTT at Wed Mar 4 11:02:40 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; + +% Steady-state states +MTTX1 := U_0; % OttoCycle_cycle_gas (c) +MTTX2 := V_0; % OttoCycle_cycle_gas (c) +MTTX3 := S_0; % OttoCycle_cycle_entropy (3) +MTTX4 := V_0; % OttoCycle_cycle_volume (3) + +% Steady-state inputs +MTTU1 := 0; % OttoCycle (Heat) +MTTU2 := 0; % OttoCycle (Work) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 3151 3601 3151 3376 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5176 3151 6751 3151 6526 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6751 2926 6751 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2026 2926 2026 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 5850 8325 450 675 450 675 5850 8325 5850 +4 1 -1 0 0 0 20 0.0000000 4 270 1440 4411 3241 Cycle:cycle\001 +4 0 -1 0 0 0 20 0.0000000 4 210 1110 6886 3241 SS:Work\001 +4 2 -1 0 0 0 20 0.0000000 4 210 990 1936 3241 SS:Heat\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 2700 2925 T\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 6120 2925 P\001 +4 1 1 1 0 3 30 0.0000000 4 390 3360 4365 4770 Isentropic process\001 +4 1 1 1 0 3 20 0.0000000 4 210 480 2700 3555 S=0\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 2565 3330 .\001 +4 1 1 1 0 3 20 0.0000000 4 210 195 6120 3555 V\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 6165 3285 .\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_desc.tex @@ -0,0 +1,16 @@ +% Verbal description for system Isentropic (Isentropic_desc.tex) +% Generated by MTT on Thu Dec 4 15:59:55 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/12/09 12:30:26 peterg +% Initial revision +% +% Revision 1.1 1997/12/08 09:37:04 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_input.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (Isentropic_input.txt) +# Generated by MTT at Thu Dec 4 11:17:09 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs + u(1) = -0.8; # Volume rate-of-change + + + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_lbl.txt @@ -1,17 +1,24 @@ %SUMMARY Isentropic: Isentropic thermodynamic process - ideal gas %DESCRIPTION A dynamic simulation of an isentropic process using %DESCRIPTION the Cycle component and the two-prt CU component. +%VAR P_0 +%VAR T_0 +%VAR V_0 + %% Label file for system Isentropic (Isentropic_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1998/07/21 14:27:44 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -18,10 +25,10 @@ % blank % Component type Cycle - cycle + cycle none ideal_gas;c_v;gamma_g;m_g % Component type SS Heat SS internal,0 Work SS internal,external ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (Isentropic_numpar.txt) +# Generated by MTT at Thu Dec 4 11:44:46 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/03/04 11:45:49 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Initial states -- needed to choose an approppriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; + +# Parameters +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v); # Parameter m for CU + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_rep.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_rep.txt @@ -3,25 +3,24 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/21 02:18:41 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -o -ss Isentropic abg tex mtt -o -ss Isentropic struc tex mtt -o -ss Isentropic ode tex mtt -o -ss Isentropic ss tex mtt -o -ss Isentropic numpar txt mtt -o -ss Isentropic input txt -mtt -o -ss Isentropic odes h -mtt -o -ss Isentropic odeso ps 'Isentropic_cycle_V' -mtt -o -ss Isentropic odeso ps 'Isentropic_cycle_P' -mtt -o -ss Isentropic odeso ps 'Isentropic_cycle_S' -mtt -o -ss Isentropic odeso ps 'Isentropic_cycle_T' -mtt -o -ss Isentropic odeso ps 'Isentropic_cycle_V:Isentropic_cycle_P' -mtt -o -ss Isentropic odeso ps 'Isentropic_cycle_S:Isentropic_cycle_T' - - - - + +mtt -o -ss -c Isentropic odeso ps 'Isentropic_cycle_V' +mtt -o -ss -c Isentropic odeso ps 'Isentropic_cycle_P' +mtt -o -ss -c Isentropic odeso ps 'Isentropic_cycle_S' +mtt -o -ss -c Isentropic odeso ps 'Isentropic_cycle_T' +mtt -o -ss -c Isentropic odeso ps 'Isentropic_cycle_V:Isentropic_cycle_P' +mtt -o -ss -c Isentropic odeso ps 'Isentropic_cycle_S:Isentropic_cycle_T' ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_simpar.txt @@ -0,0 +1,13 @@ +%% Simulation parameters for system Isentropic (Isentropic_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_simpar.txt_old Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_simpar.txt_old @@ -0,0 +1,13 @@ +%% Simulation parameters for system Isentropic (Isentropic_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isentropic/Isentropic_sspar.r @@ -0,0 +1,39 @@ +% Steady-state parameter file (Isentropic_sspar.r) +% Generated by MTT at Wed Mar 4 11:02:40 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; + +% Steady-state states +MTTX1 := U_0; % Isentropic_cycle_gas (c) +MTTX2 := V_0; % Isentropic_cycle_gas (c) +MTTX3 := S_0; % Isentropic_cycle_entropy (3) +MTTX4 := V_0; % Isentropic_cycle_volume (3) + +% Steady-state inputs +MTTU1 := 0; % Isentropic (Heat) +MTTU2 := 0; % Isentropic (Work) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_abg.fig @@ -0,0 +1,81 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 1800 6750 1800 6525 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 2025 5175 3375 5400 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3825 5175 5175 5400 4950 +2 2 0 3 1 7 1 0 -1 0.000 1 0 -1 0 0 5 + 6075 900 9000 900 9000 2700 6075 2700 6075 900 +2 2 0 2 1 3 1 0 20 0.000 0 0 -1 0 0 5 + 8325 900 8550 900 8550 2700 8325 2700 8325 900 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10125 3825 10125 5175 10350 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 1800 9900 1800 9675 2025 +2 2 0 2 1 3 1 0 20 0.000 0 0 -1 0 0 5 + 8550 1665 9585 1665 9585 1935 8550 1935 8550 1665 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 2.00 120.00 240.00 + 4725 1440 5805 1440 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 2.00 120.00 240.00 + 9675 1440 10755 1440 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 2.00 120.00 240.00 + 7785 3465 8415 2835 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 1800 4950 1800 4725 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1755 1800 3105 1800 2880 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3375 2025 3375 5175 3600 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 5175 3600 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10350 1800 11700 1800 11475 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12150 1800 13500 1800 13275 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 11700 5175 12150 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11925 2025 11925 5175 12150 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10125 2025 10125 3375 10350 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 2025 5400 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 2025 10350 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 5175 10350 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 5175 5400 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5400 1575 5400 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7875 1575 7875 2025 +4 1 -1 0 0 0 20 0.0000 4 255 855 7290 1890 CU:gas\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5175 1890 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1590 5175 3690 INTF:entropy\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 10125 1890 1\001 +4 1 1 1 0 3 20 0.0000 4 270 1035 7200 1440 Ideal gas\001 +4 1 1 1 0 3 20 0.0000 4 210 885 4635 1305 Heat in\001 +4 1 1 1 0 3 20 0.0000 4 210 1080 10170 1305 Work out\001 +4 1 1 1 0 3 20 0.0000 4 270 1800 5130 5895 Entropy change\001 +4 1 1 1 0 3 20 0.0000 4 270 1365 7110 3690 Ideal piston\001 +4 1 -1 0 0 0 20 0.0000 4 195 1560 10125 3690 INTF:volume\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3375 1890 0\001 +4 2 4 0 0 0 20 0.0000 4 240 1140 1575 1890 SS:[Heat]\001 +4 1 -1 0 0 0 20 0.0000 4 195 585 3375 5490 SS:T\001 +4 1 1 1 0 3 20 0.0000 4 255 1485 3240 5895 Temperature\001 +4 1 -1 0 0 0 20 0.0000 4 195 570 5130 5490 SS:S\001 +4 1 -1 0 0 0 20 0.0000 4 195 615 10125 5490 SS:V\001 +4 1 -1 0 0 0 20 0.0000 4 195 570 11880 5490 SS:P\001 +4 0 4 0 0 0 20 0.0000 4 240 1230 13680 1890 SS:[Work]\001 +4 1 1 1 0 3 20 0.0000 4 270 1815 10080 5850 Volume change\001 +4 1 1 1 0 3 20 0.0000 4 195 975 11925 5850 Pressure\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 11925 1890 0\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_desc.tex @@ -0,0 +1,74 @@ +% Verbal description for system Cycle (Cycle_desc.tex) +% Generated by MTT on Thu Dec 4 15:59:55 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1998/06/30 12:46:49 peterg +% %% Changed CT2 to CU +% %% +% %% Revision 1.1 1998/06/30 12:46:24 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/12/08 09:37:04 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Cycle} is + displayed in Figure \Ref{Cycle_abg} and its label + file is listed in Section \Ref{sec:Cycle_lbl}. + The subsystems are listed in Section \Ref{sec:Cycle_sub}. + +The system has two heat engine ports: +\begin{enumerate} +\item \textbf{[Heat]} and +\item \textbf{[Work]} +\end{enumerate} +By convention, energy flows in to the \textbf{[Heat]} port and out of +the \textbf{[Work]} port. Both ports are true energy ports. + + +The subsystem \textbf{CU} (Section \Ref{sec:CU}) is a two-port +component describing an ideal gas. It has two energy ports which, with +integral causality correspond to +\begin{enumerate} +\item Entropy flow in; temperature out +\item Volume rate of change in; pressure out +\end{enumerate} + +Four \textbf{SS} components are set up as sensors to measure the +important quantities pertaining to the cycle: +\begin{enumerate} +\item \textbf{S} to measure the integrated entropy flow +\item \textbf{T} to measure the (absolute) temperature +\item \textbf{V} to measure the integrated volume change +\item \textbf{P} to measure the pressure +\end{enumerate} + + \begin{table}[htbp] + \begin{center} + \leavevmode + \begin{tabular}{|l|l|l|l|l|} + \hline + Cycle & Compression & Heating & Expansion & Cooling \\ + \hline + Otto & II & II & II & II \\ + Carnot & II & DI & II & DI \\ + Diesel & II & ID & II & II \\ + Joule & II & ID & II & ID \\ + \hline + \end{tabular} + \caption{Cycles and their causality} + \label{tab:cycles} + \end{center} + \end{table} + + A number of cycles can be built depending on the causality of the + two ports \textbf{[Heat]} and \textbf{[Work]} of \textbf{Cycle} + Some possible cycles listed in Tables \Ref{tab:cycles} where each + table entry gives the causality on the heat and work ports + respectively. + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_lbl.txt @@ -0,0 +1,54 @@ +#SUMMARY Cycle: Closed cycle with ideal gas +#DESCRIPTION Uses the CU two-port thermal capacitor. + +#ALIAS in Heat +#ALIAS out Work + +#ALIAS $1 ideal_gas +#ALIAS $2 c_v +#ALIAS $3 gamma_g +#ALIAS $4 m_g + +## Label file for system Cycle (Cycle_lbl.txt) + +# ############################################################### +# ## Version control history +# ############################################################### +# ## $Id$ +# ## $Log$ +# ## Revision 1.2 1998/07/21 14:21:04 peterg +# ## New style file +# ## +# ## Revision 1.1 1997/12/08 20:24:43 peterg +# ## Initial revision +# ## +# ## Revision 1.1 1997/12/07 20:38:05 peterg +# ## Initial revision +# ## +# ############################################################### + +## Each line should be of one of the following forms: +# a comment (ie starting with #) +# Component-name CR_name arg1,arg2,..argn +# blank + + + + +# Component type CU + gas CU ideal_gas,c_v,gamma_g,m_g + +# Component type INTF + entropy + volume + +# Component type SS + S SS external,0 + T SS external,0 + V SS external,0 + P SS external,0 + [Heat] SS external,external + [Work] SS external,external + + + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_simp.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Cycle_simp.r @@ -0,0 +1,10 @@ +%% Reduce commands to simplify output for system Cycle (Cycle_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 3151 3601 3151 3376 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5176 3151 6751 3151 6526 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2026 2926 2026 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 5850 8325 450 675 450 675 5850 8325 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 5175 2925 5175 3375 +4 1 -1 0 0 0 20 0.0000000 4 270 1440 4411 3241 Cycle:cycle\001 +4 0 -1 0 0 0 20 0.0000000 4 210 1110 6886 3241 SS:Work\001 +4 2 -1 0 0 0 20 0.0000000 4 210 990 1936 3241 SS:Heat\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 2700 2925 T\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 6120 2925 P\001 +4 1 1 1 0 3 30 0.0000000 4 390 3015 4365 4770 Isobaric process\001 +4 1 1 1 0 3 20 0.0000000 4 210 480 2700 3555 S=0\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 2565 3330 .\001 +4 1 1 1 0 3 20 0.0000000 4 210 195 6120 3555 V\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 6165 3285 .\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_desc.tex @@ -0,0 +1,16 @@ +% Verbal description for system Isobaric (Isobaric_desc.tex) +% Generated by MTT on Thu Dec 4 15:59:55 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/12/09 12:30:26 peterg +% Initial revision +% +% Revision 1.1 1997/12/08 09:37:04 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_input.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (Isobaric_input.txt) +# Generated by MTT at Thu Dec 4 11:17:09 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs + u(1) = 1000; #Entropy flow + + + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_lbl.txt @@ -1,16 +1,23 @@ %SUMMARY Isobaric: Isobaric thermodynamic process - ideal gas %DESCRIPTION A dynamic simulation of an isobaric (constant pressure) %DESCRIPTION process using the Cycle component and the two-port CU component. + +%VAR P_0 +%VAR T_0 +%VAR V_0 %% Label file for system Isobaric (Isobaric_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1998/07/21 14:32:49 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -17,10 +24,10 @@ % blank % Component type Cycle - cycle + cycle none ideal_gas;c_v;gamma_g;m_g % Component type SS Heat SS internal,external Work SS P_0,internal ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (Isobaric_numpar.txt) +# Generated by MTT at Thu Dec 4 11:44:46 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/03/04 11:45:49 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Initial states -- needed to choose an approppriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; + +# Parameters +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma_g for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v); # Parameter m for CU + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_rep.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_rep.txt @@ -3,25 +3,28 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/21 02:19:31 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -ss Isobaric abg tex mtt -ss Isobaric struc tex mtt -ss Isobaric ode tex mtt -ss Isobaric ss tex mtt -ss Isobaric numpar txt mtt -ss Isobaric input txt -mtt -ss Isobaric odes h -mtt -ss Isobaric odeso ps 'Isobaric_cycle_V' -mtt -ss Isobaric odeso ps 'Isobaric_cycle_P' -mtt -ss Isobaric odeso ps 'Isobaric_cycle_S' -mtt -ss Isobaric odeso ps 'Isobaric_cycle_T' -mtt -ss Isobaric odeso ps 'Isobaric_cycle_V:Isobaric_cycle_P' -mtt -ss Isobaric odeso ps 'Isobaric_cycle_S:Isobaric_cycle_T' + +mtt -ss -c Isobaric odeso ps 'Isobaric_cycle_V' +mtt -ss -c Isobaric odeso ps 'Isobaric_cycle_P' +mtt -ss -c Isobaric odeso ps 'Isobaric_cycle_S' +mtt -ss -c Isobaric odeso ps 'Isobaric_cycle_T' +mtt -ss -c Isobaric odeso ps 'Isobaric_cycle_V:Isobaric_cycle_P' +mtt -ss -c Isobaric odeso ps 'Isobaric_cycle_S:Isobaric_cycle_T' ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system Isobaric (Isobaric_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_simpar.txt_old Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_simpar.txt_old @@ -0,0 +1,12 @@ +%% Simulation parameters for system Isobaric (Isobaric_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isobaric/Isobaric_sspar.r @@ -0,0 +1,38 @@ +% Steady-state parameter file (Isobaric_sspar.r) +% Generated by MTT at Wed Mar 4 11:02:40 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; + +% Steady-state states +MTTX1 := U_0; % Isobaric_cycle_gas (c) +%MTTX2 := V_0; % Isobaric_cycle_gas (c) +MTTX2 := S_0; % Isobaric_cycle_entropy (3) +MTTX3 := V_0; % Isobaric_cycle_volume (3) + +% Steady-state inputs +MTTU1 := 0; % Isobaric (Heat) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_abg.fig @@ -0,0 +1,81 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5400 1800 6750 1800 6525 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 2025 5175 3375 5400 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5175 3825 5175 5175 5400 4950 +2 2 0 3 1 7 1 0 -1 0.000 1 0 -1 0 0 5 + 6075 900 9000 900 9000 2700 6075 2700 6075 900 +2 2 0 2 1 3 1 0 20 0.000 0 0 -1 0 0 5 + 8325 900 8550 900 8550 2700 8325 2700 8325 900 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10125 3825 10125 5175 10350 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 7875 1800 9900 1800 9675 2025 +2 2 0 2 1 3 1 0 20 0.000 0 0 -1 0 0 5 + 8550 1665 9585 1665 9585 1935 8550 1935 8550 1665 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 2.00 120.00 240.00 + 4725 1440 5805 1440 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 2.00 120.00 240.00 + 9675 1440 10755 1440 +2 1 0 2 1 7 1 0 -1 0.000 0 0 -1 1 0 2 + 1 0 2.00 120.00 240.00 + 7785 3465 8415 2835 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3600 1800 4950 1800 4725 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 1755 1800 3105 1800 2880 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 3375 2025 3375 5175 3600 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3150 5175 3600 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10350 1800 11700 1800 11475 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 12150 1800 13500 1800 13275 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 11700 5175 12150 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 11925 2025 11925 5175 12150 4950 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 10125 2025 10125 3375 10350 3150 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 2025 5400 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 2025 10350 2025 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 5175 10350 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4950 5175 5400 5175 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6750 2025 6750 1575 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 9900 2025 9900 1575 +4 1 -1 0 0 0 20 0.0000 4 255 855 7290 1890 CU:gas\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 5175 1890 1\001 +4 1 -1 0 0 0 20 0.0000 4 255 1590 5175 3690 INTF:entropy\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 10125 1890 1\001 +4 1 1 1 0 3 20 0.0000 4 270 1035 7200 1440 Ideal gas\001 +4 1 1 1 0 3 20 0.0000 4 210 885 4635 1305 Heat in\001 +4 1 1 1 0 3 20 0.0000 4 210 1080 10170 1305 Work out\001 +4 1 1 1 0 3 20 0.0000 4 270 1800 5130 5895 Entropy change\001 +4 1 1 1 0 3 20 0.0000 4 270 1365 7110 3690 Ideal piston\001 +4 1 -1 0 0 0 20 0.0000 4 195 1560 10125 3690 INTF:volume\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 3375 1890 0\001 +4 2 4 0 0 0 20 0.0000 4 240 1140 1575 1890 SS:[Heat]\001 +4 1 -1 0 0 0 20 0.0000 4 195 585 3375 5490 SS:T\001 +4 1 1 1 0 3 20 0.0000 4 255 1485 3240 5895 Temperature\001 +4 1 -1 0 0 0 20 0.0000 4 195 570 5130 5490 SS:S\001 +4 1 -1 0 0 0 20 0.0000 4 195 615 10125 5490 SS:V\001 +4 1 -1 0 0 0 20 0.0000 4 195 570 11880 5490 SS:P\001 +4 0 4 0 0 0 20 0.0000 4 240 1230 13680 1890 SS:[Work]\001 +4 1 1 1 0 3 20 0.0000 4 270 1815 10080 5850 Volume change\001 +4 1 1 1 0 3 20 0.0000 4 195 975 11925 5850 Pressure\001 +4 1 -1 0 0 0 20 0.0000 4 195 135 11925 1890 0\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_desc.tex @@ -0,0 +1,74 @@ +% Verbal description for system Cycle (Cycle_desc.tex) +% Generated by MTT on Thu Dec 4 15:59:55 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.2 1998/06/30 12:46:49 peterg +% %% Changed CT2 to CU +% %% +% %% Revision 1.1 1998/06/30 12:46:24 peterg +% %% Initial revision +% %% +% Revision 1.1 1997/12/08 09:37:04 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{Cycle} is + displayed in Figure \Ref{Cycle_abg} and its label + file is listed in Section \Ref{sec:Cycle_lbl}. + The subsystems are listed in Section \Ref{sec:Cycle_sub}. + +The system has two heat engine ports: +\begin{enumerate} +\item \textbf{[Heat]} and +\item \textbf{[Work]} +\end{enumerate} +By convention, energy flows in to the \textbf{[Heat]} port and out of +the \textbf{[Work]} port. Both ports are true energy ports. + + +The subsystem \textbf{CU} (Section \Ref{sec:CU}) is a two-port +component describing an ideal gas. It has two energy ports which, with +integral causality correspond to +\begin{enumerate} +\item Entropy flow in; temperature out +\item Volume rate of change in; pressure out +\end{enumerate} + +Four \textbf{SS} components are set up as sensors to measure the +important quantities pertaining to the cycle: +\begin{enumerate} +\item \textbf{S} to measure the integrated entropy flow +\item \textbf{T} to measure the (absolute) temperature +\item \textbf{V} to measure the integrated volume change +\item \textbf{P} to measure the pressure +\end{enumerate} + + \begin{table}[htbp] + \begin{center} + \leavevmode + \begin{tabular}{|l|l|l|l|l|} + \hline + Cycle & Compression & Heating & Expansion & Cooling \\ + \hline + Otto & II & II & II & II \\ + Carnot & II & DI & II & DI \\ + Diesel & II & ID & II & II \\ + Joule & II & ID & II & ID \\ + \hline + \end{tabular} + \caption{Cycles and their causality} + \label{tab:cycles} + \end{center} + \end{table} + + A number of cycles can be built depending on the causality of the + two ports \textbf{[Heat]} and \textbf{[Work]} of \textbf{Cycle} + Some possible cycles listed in Tables \Ref{tab:cycles} where each + table entry gives the causality on the heat and work ports + respectively. + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_lbl.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_lbl.txt @@ -0,0 +1,54 @@ +#SUMMARY Cycle: Closed cycle with ideal gas +#DESCRIPTION Uses the CU two-port thermal capacitor. + +#ALIAS in Heat +#ALIAS out Work + +#ALIAS $1 ideal_gas +#ALIAS $2 c_v +#ALIAS $3 gamma_g +#ALIAS $4 m_g + +## Label file for system Cycle (Cycle_lbl.txt) + +# ############################################################### +# ## Version control history +# ############################################################### +# ## $Id$ +# ## $Log$ +# ## Revision 1.2 1998/07/21 14:21:04 peterg +# ## New style file +# ## +# ## Revision 1.1 1997/12/08 20:24:43 peterg +# ## Initial revision +# ## +# ## Revision 1.1 1997/12/07 20:38:05 peterg +# ## Initial revision +# ## +# ############################################################### + +## Each line should be of one of the following forms: +# a comment (ie starting with #) +# Component-name CR_name arg1,arg2,..argn +# blank + + + + +# Component type CU + gas CU ideal_gas,c_v,gamma_g,m_g + +# Component type INTF + entropy + volume + +# Component type SS + S SS external,0 + T SS external,0 + V SS external,0 + P SS external,0 + [Heat] SS external,external + [Work] SS external,external + + + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_simp.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_simp.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Cycle_simp.r @@ -0,0 +1,10 @@ +%% Reduce commands to simplify output for system Cycle (Cycle_simp.r) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 3151 3601 3151 3376 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5176 3151 6751 3151 6526 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6751 2926 6751 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 5850 8325 450 675 450 675 5850 8325 5850 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3600 2925 3600 3375 +4 1 -1 0 0 0 20 0.0000000 4 270 1440 4411 3241 Cycle:cycle\001 +4 0 -1 0 0 0 20 0.0000000 4 210 1110 6886 3241 SS:Work\001 +4 2 -1 0 0 0 20 0.0000000 4 210 990 1936 3241 SS:Heat\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 6120 2925 P\001 +4 1 1 1 0 3 30 0.0000000 4 390 3510 4365 4770 Isothermal process\001 +4 1 1 1 0 3 20 0.0000000 4 210 195 6120 3555 V\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 6165 3285 .\001 +4 1 1 1 0 3 20 0.0000000 4 210 165 2700 3555 S\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 2700 3285 .\001 +4 1 1 1 0 3 20 0.0000000 4 210 1005 2700 2925 T=const\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_desc.tex @@ -0,0 +1,16 @@ +% Verbal description for system Isothermal (Isothermal_desc.tex) +% Generated by MTT on Thu Dec 4 15:59:55 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/12/09 12:30:26 peterg +% Initial revision +% +% Revision 1.1 1997/12/08 09:37:04 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_input.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (Isothermal_input.txt) +# Generated by MTT at Thu Dec 4 11:17:09 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs + u(1) = -0.8; # Volume rate-of-change + + + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_lbl.txt @@ -1,16 +1,23 @@ %SUMMARY Isothermal: Isothermal thermodynamic process - ideal gas %DESCRIPTION A dynamic simulation of an isothermal process using %DESCRIPTION the Cycle component and the two-port CU component. + +%VAR P_0 +%VAR T_0 +%VAR V_0 %% Label file for system Isothermal (Isothermal_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1998/07/21 14:30:29 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -17,10 +24,10 @@ % blank % Component type Cycle - cycle + cycle none ideal_gas;c_v;gamma_g;m_g % Component type SS Heat SS t_0,internal Work SS internal,external ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (Isothermal_numpar.txt) +# Generated by MTT at Thu Dec 4 11:44:46 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/03/04 11:45:49 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Initial states -- needed to choose an approppriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; + +# Parameters +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma_g for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v); # Parameter m for CU + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_rep.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_rep.txt @@ -3,25 +3,28 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/21 02:20:18 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -ss Isothermal abg tex mtt -ss Isothermal struc tex mtt -ss Isothermal ode tex mtt -ss Isothermal ss tex mtt -ss Isothermal numpar txt mtt -ss Isothermal input txt -mtt -ss Isothermal odes h -mtt -ss Isothermal odeso ps 'Isothermal_cycle_V' -mtt -ss Isothermal odeso ps 'Isothermal_cycle_P' -mtt -ss Isothermal odeso ps 'Isothermal_cycle_S' -mtt -ss Isothermal odeso ps 'Isothermal_cycle_T' -mtt -ss Isothermal odeso ps 'Isothermal_cycle_V:Isothermal_cycle_P' -mtt -ss Isothermal odeso ps 'Isothermal_cycle_S:Isothermal_cycle_T' + +mtt -ss -c Isothermal odeso ps 'Isothermal_cycle_V' +mtt -ss -c Isothermal odeso ps 'Isothermal_cycle_P' +mtt -ss -c Isothermal odeso ps 'Isothermal_cycle_S' +mtt -ss -c Isothermal odeso ps 'Isothermal_cycle_T' +mtt -ss -c Isothermal odeso ps 'Isothermal_cycle_V:Isothermal_cycle_P' +mtt -ss -c Isothermal odeso ps 'Isothermal_cycle_S:Isothermal_cycle_T' ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system Isothermal (Isothermal_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_simpar.txt_old Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_simpar.txt_old @@ -0,0 +1,12 @@ +%% Simulation parameters for system Isothermal (Isothermal_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isothermal/Isothermal_sspar.r @@ -0,0 +1,37 @@ +% Steady-state parameter file (Isothermal_sspar.r) +% Generated by MTT at Wed Mar 4 11:02:40 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; + +% Steady-state states +MTTX1 := V_0; % Isothermal_cycle_gas (c) +MTTX2 := S_0; % Isothermal_cycle_entropy (3) +MTTX3 := V_0; % Isothermal_cycle_volume (3) + +% Steady-state inputs +MTTU1 := 0; % Isothermal (Work) +;;END; ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_abg.fig Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_abg.fig @@ -0,0 +1,25 @@ +#FIG 3.1 +Portrait +Center +Metric +1200 2 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 2026 3151 3601 3151 3376 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 3 + 5176 3151 6751 3151 6526 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6751 2926 6751 3376 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2026 2926 2026 3376 +2 4 0 1 31 7 1 0 -1 0.000 0 0 7 0 0 5 + 8325 5850 8325 450 675 450 675 5850 8325 5850 +4 1 -1 0 0 0 20 0.0000000 4 270 1440 4411 3241 Cycle:cycle\001 +4 0 -1 0 0 0 20 0.0000000 4 210 1110 6886 3241 SS:Work\001 +4 2 -1 0 0 0 20 0.0000000 4 210 990 1936 3241 SS:Heat\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 2700 2925 T\001 +4 1 1 1 0 3 20 0.0000000 4 210 180 6120 2925 P\001 +4 1 1 1 0 3 30 0.0000000 4 390 4020 4365 4770 Isovolumetric process\001 +4 1 1 1 0 3 20 0.0000000 4 210 510 6120 3555 V=0\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 5940 3285 .\001 +4 1 1 1 0 3 20 0.0000000 4 210 165 2700 3555 S\001 +4 1 1 1 0 3 30 0.0000000 4 60 105 2700 3285 .\001 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_desc.tex Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_desc.tex @@ -0,0 +1,16 @@ +% Verbal description for system Isovolumetric (Isovolumetric_desc.tex) +% Generated by MTT on Thu Dec 4 15:59:55 GMT 1997. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% Revision 1.1 1997/12/09 12:30:26 peterg +% Initial revision +% +% Revision 1.1 1997/12/08 09:37:04 peterg +% Initial revision +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_input.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_input.txt @@ -0,0 +1,15 @@ +# Numerical parameter file (Isovolumetric_input.txt) +# Generated by MTT at Thu Dec 4 11:17:09 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Set the inputs + u(1) = 1000; #Entropy flow + + + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_lbl.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_lbl.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_lbl.txt @@ -1,16 +1,25 @@ %SUMMARY Isovolumetric: Isovolumetric thermodynamic process - ideal gas %DESCRIPTION A dynamic simulation of an Isovolumetric (constant volume) %DESCRIPTION process using the Cycle component and the two-port CU component. %DESCRIPTION +%DESCRIPTION the Cycle component and the two-port CU component. + +%VAR P_0 +%VAR T_0 +%VAR V_0 + %% Label file for system Isovolumetric (Isovolumetric_lbl.txt) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1998/07/21 14:37:03 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Each line should be of one of the following forms: % a comment (ie starting with %) % Component-name CR_name arg1,arg2,..argn @@ -17,10 +26,10 @@ % blank % Component type Cycle - cycle + cycle none ideal_gas;c_v;gamma_g;m_g % Component type SS Heat SS internal,external Work SS internal,0 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_numpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_numpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_numpar.txt @@ -0,0 +1,23 @@ +# Numerical parameter file (Isovolumetric_numpar.txt) +# Generated by MTT at Thu Dec 4 11:44:46 GMT 1997 + +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% Version control history +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# %% $Id$ +# %% $Log$ +# %% Revision 1.1 1998/03/04 11:45:49 peterg +# %% Initial revision +# %% +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# Initial states -- needed to choose an approppriate mass +P_0 = 1e5; +V_0 = 1; +T_0 = 300; + +# Parameters +c_v = 718.0; # Parameter c_v for CU +gamma_g = 1.4; # Parameter gamma_g for CU +m_g = P_0*V_0/(T_0*(gamma_g-1)*c_v); # Parameter m for CU + Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_rep.txt ================================================================== --- mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_rep.txt +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_rep.txt @@ -3,25 +3,28 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ +% %% Revision 1.1 1999/02/21 02:21:03 peterg +% %% Initial revision +% %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mtt -o -ss Isovolumetric abg tex mtt -o -ss Isovolumetric struc tex mtt -o -ss Isovolumetric ode tex mtt -o -ss Isovolumetric ss tex mtt -o -ss Isovolumetric numpar txt mtt -o -ss Isovolumetric input txt -mtt -o -ss Isovolumetric odes h -mtt -o -ss Isovolumetric odeso ps 'Isovolumetric_cycle_V' -mtt -o -ss Isovolumetric odeso ps 'Isovolumetric_cycle_P' -mtt -o -ss Isovolumetric odeso ps 'Isovolumetric_cycle_S' -mtt -o -ss Isovolumetric odeso ps 'Isovolumetric_cycle_T' -mtt -o -ss Isovolumetric odeso ps 'Isovolumetric_cycle_V:Isovolumetric_cycle_P' -mtt -o -ss Isovolumetric odeso ps 'Isovolumetric_cycle_S:Isovolumetric_cycle_T' + +mtt -o -ss -c Isovolumetric odeso ps 'Isovolumetric_cycle_V' +mtt -o -ss -c Isovolumetric odeso ps 'Isovolumetric_cycle_P' +mtt -o -ss -c Isovolumetric odeso ps 'Isovolumetric_cycle_S' +mtt -o -ss -c Isovolumetric odeso ps 'Isovolumetric_cycle_T' +mtt -o -ss -c Isovolumetric odeso ps 'Isovolumetric_cycle_V:Isovolumetric_cycle_P' +mtt -o -ss -c Isovolumetric odeso ps 'Isovolumetric_cycle_S:Isovolumetric_cycle_T' ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_simpar.txt Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_simpar.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_simpar.txt @@ -0,0 +1,12 @@ +%% Simulation parameters for system Isovolumetric (Isovolumetric_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_simpar.txt_old Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_simpar.txt_old ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_simpar.txt_old @@ -0,0 +1,12 @@ +%% Simulation parameters for system Isovolumetric (Isovolumetric_simpar.txt) + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LAST=1.0 +DT=0.01 +STEPFACTOR=1 ADDED mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_sspar.r Index: mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_sspar.r ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Thermal/ThermodynamicProcesses/Isovolumetric/Isovolumetric_sspar.r @@ -0,0 +1,39 @@ +% Steady-state parameter file (Isovolumetric_sspar.r) +% Generated by MTT at Wed Mar 4 11:02:40 GMT 1998 + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % $Id$ +% % $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Set a pressure of 1 bar +P_0 := 10^5; + +% Unit initial volume +V_0 := 1; + +% Internal energy +U_0 := P_0*V_0/(gamma_g-1); + +% Set initial temperature of 300k +T_0 := 300; + +% Deduce the mass of gas +m := U_0/(T_0*c_v); + +% Entropy +S_0 := U_0/T_0; + +% Steady-state states +MTTX1 := U_0; % Isovolumetric_cycle_gas (c) +MTTX2 := V_0; % Isovolumetric_cycle_gas (c) +MTTX3 := S_0; % Isovolumetric_cycle_entropy (3) +MTTX4 := V_0; % Isovolumetric_cycle_volume (3) + +% Steady-state inputs +MTTU1 := 0; % Isovolumetric (Heat) +MTTU2 := 0; % Isovolumetric (Work) +;;END;