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
%% 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);


END;;




|
|



1
2
3
4
5
6
7
8
9
%% CR for conical tank example

OPERATOR conical;
%% State input.
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
%% 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;

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

END;;





|
|


|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
%% CR for pipe discharge


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

%% Effort input
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
## -*-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  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 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 idNonlinearTanks rep txt		# This file









>
>
>










|
|











|
|


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 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 -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
%% 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,
               V,state,1,
               sV,state,2)
    = conical(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,
               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;

END;;






|
|


|


|
|


|
|


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 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(COMP, rho,g,V_0,effort,1,V,state,1);

%% The sensitivity port (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(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
%% 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);
BEGIN
  result := sub({x=P},df(discharge(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,
               P,effort,1,
               sP,effort,2)
    = discharge(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,
               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;
END;;








|

|





|
|


|


|
|


|
|
|

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(COMP, alpha,beta,P);
BEGIN
  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 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(COMP, alpha,beta,flow,1,P,effort,1);

%% The sensitivity port (2) -- Pressure input
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(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
# -*-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$



# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

## Parameters

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

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

## Pipe parameters
beta = 	1; 

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

alphas = 	0;
betas  = 	0;









>
>
>





|
|




|


|







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 = 	2.0;			# Tank 1
v_2 = 	1.0;			# Tank 2

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

## Pipe parameters
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 ]