Overview
Comment:Modified for ident DIY rep (was ippp).
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | origin/master | trunk
Files: files | file ages | folders
SHA3-256: 44acabfcc8466b319216c24c1eb1bb561182c59d400b4887abfaa6baa6c7d8c6
User & Date: gawthrop@users.sourceforge.net on 2003-08-18 16:40:44
Other Links: branch diff | manifest | tags
Context
2003-08-18
16:49:20
Can't get this working check-in: fab62f34e5 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
16:40:44
Modified for ident DIY rep (was ippp). check-in: 44acabfcc8 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
08:06:17
A working version with more explantion check-in: fccfb9e1a3 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
Changes

Modified mttroot/mtt/lib/examples/Identification/idNonlinearTanks/conical.cr from [7eab0220f3] to [91a01114ea].

1
2
3
4
5
6


7
8
9
1
2
3
4


5
6
7
8
9




-
-
+
+



%% CR for conical tank example

OPERATOR conical;
%% State input.
FOR ALL rho,g,V_0,V LET
    conical(rho,g,V_0,effort,1,V,state,1) = rho*g*(12*(V+V_0)/pi)^(1/3);
FOR ALL COMP, rho,g,V_0,V LET
    conical(COMP, rho,g,V_0,effort,1,V,state,1) = rho*g*(12*(V+V_0)/pi)^(1/3);


END;;

Modified mttroot/mtt/lib/examples/Identification/idNonlinearTanks/discharge.cr from [28f3427960] to [aa3df12262].

1
2
3
4
5
6
7


8
9
10
11


12
13
1
2
3
4
5


6
7
8
9


10
11
12
13





-
-
+
+


-
-
+
+


%% CR for pipe discharge


OPERATOR discharge;
%% Flow input
FOR ALL alpha,beta,F LET
    discharge(alpha,beta,effort,1,F,flow,1) = beta*F^alpha;
FOR ALL COMP, alpha,beta,F LET
    discharge(COMP, alpha,beta,effort,1,F,flow,1) = beta*F^alpha;

%% Effort input
FOR ALL alpha,beta,P LET
    discharge(alpha,beta,flow,1,P,effort,1) = (P/beta)^(1/alpha);
FOR ALL COMP, alpha,beta,P LET
    discharge(COMP, alpha,beta,flow,1,P,effort,1) = (P/beta)^(1/alpha);

END;;

Modified mttroot/mtt/lib/examples/Identification/idNonlinearTanks/idNonlinearTanks_rep.txt from [cf637754a5] to [b96574c869].

1
2
3
4
5
6
7
8
9



10
11
12
13
14
15
16
17
18
19
20
21


22
23
24
25
26
27
28
29
30
31
32
33
34


35
36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22


23
24
25
26
27
28
29
30
31
32
33
34
35


36
37
38
39









+
+
+










-
-
+
+











-
-
+
+


## -*-octave-*- Put Emacs into octave-mode
## Outline report file for system idNonlinearTanks (idRC_rep.txt)
## Generated by MTT on" Thu Apr  5 11:17:27 BST 2001.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.1  2001/04/05 12:00:18  gawthrop
## Identification example
##
## Revision 1.1  2000/12/28 11:58:07  peterg
## Put under RCS
##
###############################################################

mtt idNonlinearTanks abg tex			# The system description
mtt idNonlinearTanks cbg ps 		        # The causal bond graph
mtt idNonlinearTanks struc tex	        # The system structure
mtt idNonlinearTanks sympar tex	        # The system parameters
## Uncomment the following lines or add others
## mtt idNonlinearTanks dae tex	        # The system dae
## mtt idNonlinearTanks ode tex	        # The system ode 
##mtt idNonlinearTanks dae tex	        # The system dae
 mtt idNonlinearTanks ode tex	        # The system ode 
## mtt idNonlinearTanks sspar tex		# Steady-state parameters
## mtt idNonlinearTanks ss tex 		# Steady state
## mtt idNonlinearTanks dm tex		# Descriptor matrices (of linearised system)
## mtt idNonlinearTanks sm tex		# State matrices (of linearised system)
## mtt idNonlinearTanks tf tex		# Transfer function (of linearised system)
## mtt idNonlinearTanks lmfr ps		# log modulus of frequency response (of linearised system)
## mtt idNonlinearTanks simpar tex		# Simulation parameters
## mtt idNonlinearTanks numpar tex		# Numerical simulation parameters
## mtt idNonlinearTanks state tex		# Simulation initial state
## mtt idNonlinearTanks input tex		# Simulation input
## mtt idNonlinearTanks logic tex		# Logic control
 mtt -oct -s sidNonlinearTanks odeso ps		# Simulation output
 mtt -oct -i euler idNonlinearTanks ippp ps
## mtt -oct -s sidNonlinearTanks odeso ps		# Simulation output
 mtt -i euler idNonlinearTanks ident ps

mtt idNonlinearTanks rep txt		# This file

Modified mttroot/mtt/lib/examples/Identification/idNonlinearTanks/sconical.cr from [6e21d13445] to [8f55376ab8].

1
2
3
4
5
6
7
8


9
10
11

12
13
14
15


16
17
18
19


20
21
1
2
3
4
5
6


7
8
9
10

11
12
13


14
15
16
17


18
19
20
21






-
-
+
+


-
+


-
-
+
+


-
-
+
+


%% CR for conical tank example - sensitivity

in "conical.cr";

OPERATOR sconical;
%% The actual port (1) 
FOR ALL rho,g,V_0,V_0s,V,sV LET
    sconical(rho,g,V_0,V_0s,effort,1,
FOR ALL COMP, rho,g,V_0,V_0s,V,sV LET
    sconical(COMP, rho,g,V_0,V_0s,effort,1,
               V,state,1,
               sV,state,2)
    = conical(rho,g,V_0,effort,1,V,state,1);
    = conical(COMP, rho,g,V_0,effort,1,V,state,1);

%% The sensitivity port (2) 
FOR ALL rho,g,V_0,V_0s,V,sV LET
    sconical(rho,g,V_0,V_0s,effort,2,
FOR ALL COMP, rho,g,V_0,V_0s,V,sV LET
    sconical(COMP, rho,g,V_0,V_0s,effort,2,
               V,state,1,
               sV,state,2)
    = df(conical(rho,g,V_0,effort,1,V,state,1),V) * sV
    + df(conical(rho,g,V_0,effort,1,V,state,1),V_0)* V_0s;
    = df(conical(COMP, rho,g,V_0,effort,1,V,state,1),V) * sV
    + df(conical(COMP, rho,g,V_0,effort,1,V,state,1),V_0)* V_0s;

END;;

Modified mttroot/mtt/lib/examples/Identification/idNonlinearTanks/sdischarge.cr from [8d882eb23f] to [12ca25468f].

1
2
3
4
5
6
7
8
9

10
11

12
13
14
15
16
17
18


19
20
21

22
23
24
25


26
27
28
29
30



31
1
2
3
4
5
6
7
8

9
10

11
12
13
14
15
16


17
18
19
20

21
22
23


24
25
26
27



28
29
30
31








-
+

-
+





-
-
+
+


-
+


-
-
+
+


-
-
-
+
+
+

%% CR file for the sR component. - 2 port.
%% Special version just for this example.

%% CR for non-linear pipe discharge
%% Just do for flow input causality.

in "discharge.cr";

PROCEDURE l_discharge(alpha,beta,P);
PROCEDURE l_discharge(COMP, alpha,beta,P);
BEGIN
  result := sub({x=P},df(discharge(alpha,beta,flow,1,x,effort,1), x));
  result := sub({x=P},df(discharge(COMP, alpha,beta,flow,1,x,effort,1), x));
  return result;
END;

OPERATOR sdischarge;
%% The actual port (1) -- Pressure input
FOR ALL alpha,beta,alpha_s,beta_s,P,sP LET
    sdischarge(alpha,beta,alpha_s,beta_s,flow,1,
FOR ALL COMP, alpha,beta,alpha_s,beta_s,P,sP LET
    sdischarge(COMP, alpha,beta,alpha_s,beta_s,flow,1,
               P,effort,1,
               sP,effort,2)
    = discharge(alpha,beta,flow,1,P,effort,1);
    = discharge(COMP, alpha,beta,flow,1,P,effort,1);

%% The sensitivity port (2) -- Pressure input
FOR ALL alpha,beta,alpha_s,beta_s,P,sP LET
    sdischarge(alpha,beta,alpha_s,beta_s,flow,2,
FOR ALL COMP, alpha,beta,alpha_s,beta_s,P,sP LET
    sdischarge(COMP, alpha,beta,alpha_s,beta_s,flow,2,
               P,effort,1,
               sP,effort,2)
    =  l_discharge(alpha,beta,P) * sP
    + df(discharge(alpha,beta,flow,1,P,effort,1), alpha)* alpha_s
    + df(discharge(alpha,beta,flow,1,P,effort,1), beta) * beta_s;
    =  l_discharge(COMP, alpha,beta,P) * sP
    + df(discharge(COMP, alpha,beta,flow,1,P,effort,1), alpha)* alpha_s
    + df(discharge(COMP, alpha,beta,flow,1,P,effort,1), beta) * beta_s;
END;;

Modified mttroot/mtt/lib/examples/Identification/idNonlinearTanks/sidNonlinearTanks_numpar.txt from [e78bd62c33] to [9e73863b4f].

1
2
3
4
5
6
7
8
9



10
11
12
13
14
15
16


17
18
19
20
21

22
23
24

25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


18
19
20
21
22
23

24
25
26

27
28
29
30
31
32
33
34









+
+
+





-
-
+
+




-
+


-
+







# -*-octave-*- Put Emacs into octave-mode
# Numerical parameter file (sNonlinearTanks_numpar.txt)
# Generated by MTT at Mon Nov 29 17:36:54 EST 1999

# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% Version control history
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% $Id$
# %% $Log$
# %% Revision 1.1  2001/04/05 12:00:18  gawthrop
# %% Identification example
# %%
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

## Parameters

## States 
v_1 = 	0.5;			# Tank 1
v_2 = 	0.25;			# Tank 2
v_1 = 	2.0;			# Tank 1
v_2 = 	1.0;			# Tank 2

## Tank parameters
g = 	1;			#Gravity
rho = 	1;			# sC,sNonlinearTanks
alpha = 	1.5;
alpha = 	1.0;

## Pipe parameters
beta = 	1; 
beta = 	2.0; 

## Sensitivity.
v_1s = 	0;			# Tank 1
v_2s = 	0;			# Tank 2

alphas = 	0;
betas  = 	0;


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