Overview
Comment:New implicit method - solves numerical prob with ISW
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | origin/master | trunk
Files: files | file ages | folders
SHA3-256: 7edaf287cee91cd849b50b62b5709174c8302ba4f87f3455844b88bf10240c3e
User & Date: gawthrop@users.sourceforge.net on 1999-04-02 06:29:25
Other Links: branch diff | manifest | tags
Context
1999-04-02
06:30:37
New _switchopen
Removed switcha
check-in: 4993e8787e user: gawthrop@users.sourceforge.net tags: origin/master, trunk
06:29:25
New implicit method - solves numerical prob with ISW check-in: 7edaf287ce user: gawthrop@users.sourceforge.net tags: origin/master, trunk
06:27:55
Modified for new implicit method with swoitches check-in: 439fc7db96 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
Changes

Modified mttroot/mtt/bin/mtt from [93cadbdf36] to [3ab84bd27d].

10
11
12
13
14
15
16



17
18
19
20
21
22
23
# Copyright (c) P.J.Gawthrop, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1997,1998,1999

###############################################################
## Version control history
###############################################################
## $Header$
## $Log$



## Revision 1.204  1999/03/15 05:53:33  peterg
## Put in user-defined representations
##
## Revision 1.203  1999/03/08 03:51:12  peterg
## Version 3.5 for Linux Red Hat 5.2 (Newcastle)
##
## Revision 1.202  1999/02/17 01:59:20  peterg







>
>
>







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Copyright (c) P.J.Gawthrop, 1989, 1990, 1991, 1993, 1994, 1995, 1996, 1997,1998,1999

###############################################################
## Version control history
###############################################################
## $Header$
## $Log$
## Revision 1.205  1999/03/15 23:27:43  peterg
## Modified generation of odes.dat2 data
##
## Revision 1.204  1999/03/15 05:53:33  peterg
## Put in user-defined representations
##
## Revision 1.203  1999/03/08 03:51:12  peterg
## Version 3.5 for Linux Red Hat 5.2 (Newcastle)
##
## Revision 1.202  1999/02/17 01:59:20  peterg
1435
1436
1437
1438
1439
1440
1441


1442
1443
1444
1445
1446
1447
1448
#SUMMARY switch	Dynamic switch information (txt)
$1_switch.txt: $1_struc.txt
	struc2switch_txt $1
$1_switch.m: $1_switch.txt $1_sympars.txt
	switch_txt2m $1
$1_switcha.m: $1_switch.m
	touch $1_switcha.m



#SUMMARY sympars sympar + dynamic switch information (txt)
$1_sympars.txt: $1_sympar.txt $1_switch.txt
	   echo Creating $1_sympars.txt
	   cat $1_sympar.txt $1_switch.txt > $1_sympars.txt

#SUMMARY simp	simplification information (r)







>
>







1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
#SUMMARY switch	Dynamic switch information (txt)
$1_switch.txt: $1_struc.txt
	struc2switch_txt $1
$1_switch.m: $1_switch.txt $1_sympars.txt
	switch_txt2m $1
$1_switcha.m: $1_switch.m
	touch $1_switcha.m
$1_switchopen.m: $1_switch.m
	touch $1_switchopen.m

#SUMMARY sympars sympar + dynamic switch information (txt)
$1_sympars.txt: $1_sympar.txt $1_switch.txt
	   echo Creating $1_sympars.txt
	   cat $1_sympar.txt $1_switch.txt > $1_sympars.txt

#SUMMARY simp	simplification information (r)
1811
1812
1813
1814
1815
1816
1817


1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
	mtt_m2p $1_odeo.m
$1_smx.p : $1_def.r $1_smx.m
	mtt_m2p $1_smx.m
$1_switch.p : $1_def.r $1_switch.m
	mtt_m2p $1_switch.m
$1_switcha.p : $1_def.r $1_switcha.m
	mtt_m2p $1_switcha.m


$1_ode2odes.p : $1_ode2odes.m $1_def.r\
                $1_simpar.p $1_numpar.p $1_state.p $1_input.p \
                $1_ode.p $1_odeo.p  $1_switch.p $1_switcha.p
	mtt_m2p $1_ode2odes.m

$1_ode2odes.c: $1_ode2odes.p 
	mtt_p2c $info_switch $1 ode2odes

#SUMMARY obs	observer equations for CGPC (r)
#SUMMARY obs*	observer equations for CGPC (m)







>
>


|







1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
	mtt_m2p $1_odeo.m
$1_smx.p : $1_def.r $1_smx.m
	mtt_m2p $1_smx.m
$1_switch.p : $1_def.r $1_switch.m
	mtt_m2p $1_switch.m
$1_switcha.p : $1_def.r $1_switcha.m
	mtt_m2p $1_switcha.m
$1_switchopen.p : $1_def.r $1_switchopen.m
	mtt_m2p $1_switchopen.m
$1_ode2odes.p : $1_ode2odes.m $1_def.r\
                $1_simpar.p $1_numpar.p $1_state.p $1_input.p \
                $1_ode.p $1_odeo.p  $1_switch.p $1_switcha.p  $1_switchopen.p
	mtt_m2p $1_ode2odes.m

$1_ode2odes.c: $1_ode2odes.p 
	mtt_p2c $info_switch $1 ode2odes

#SUMMARY obs	observer equations for CGPC (r)
#SUMMARY obs*	observer equations for CGPC (m)

Modified mttroot/mtt/bin/trans/make_ode2odes from [db3c414234] to [6c35e3e4df].

1
2
3
4
5
6
7
8
9
10
11



12
13
14
15
16
17
18
#! /bin/sh

     ###################################### 
     ##### Model Transformation Tools #####
    ######################################

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



## Revision 1.19  1999/03/30 21:39:25  peterg
## In implicit approach, set derivatives to zero (when switch is off)
## before update. This seems to stop numerical leakage though non-return
## switches.
##
## Revision 1.18  1999/03/15 01:17:07  peterg
## Removed some spurious debugging code











>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#! /bin/sh

     ###################################### 
     ##### Model Transformation Tools #####
    ######################################

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.20  1999/04/02 02:13:58  peterg
## Back to RCS
##
## Revision 1.19  1999/03/30 21:39:25  peterg
## In implicit approach, set derivatives to zero (when switch is off)
## before update. This seems to stop numerical leakage though non-return
## switches.
##
## Revision 1.18  1999/03/15 01:17:07  peterg
## Removed some spurious debugging code
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
	[MTTx] = mtt_euler(MTTx,MTTdx,MTTddt,$Nx); # Euler update
	[MTTx] = $1_switch(MTTx);	# Switches
	MTTt = MTTt + MTTddt;
      endfor;
    endif;
    if mttmethod==2		# Implicit 
      [MTTdx] = $1_ode(MTTx,MTTu,MTTt); # State derivative
      #[MTTdx] = $1_switch(MTTx);	# Set derivs to zero if states to zero
      [mttAA,mttAAx] = $1_smx(MTTx,MTTu,mttdt);	# (I-Adt) and (I-Adt)x
      [mttAA] = $1_switcha(mttAA,MTTx);	# Switches
      [MTTx] = mtt_implicit(MTTx,MTTdx,mttAA,mttAAx,mttdt,$Nx); # Implicit update
      MTTt = MTTt + mttdt;
    endif;
    else
      MTTt = MTTt + mttdt;
  endif;			# $Nx>0

  [MTTy] = $1_odeo(MTTx,MTTu,MTTt);     # Output 







<

|
|







129
130
131
132
133
134
135

136
137
138
139
140
141
142
143
144
145
	[MTTx] = mtt_euler(MTTx,MTTdx,MTTddt,$Nx); # Euler update
	[MTTx] = $1_switch(MTTx);	# Switches
	MTTt = MTTt + MTTddt;
      endfor;
    endif;
    if mttmethod==2		# Implicit 
      [MTTdx] = $1_ode(MTTx,MTTu,MTTt); # State derivative

      [mttAA,mttAAx] = $1_smx(MTTx,MTTu,mttdt);	# (I-Adt) and (I-Adt)x
      [MTTopen] = $1_switchopen(MTTx);        # Open switches
      [MTTx] = mtt_implicit(MTTx,MTTdx,mttAA,mttAAx,mttdt,$Nx,MTTopen); # Implicit update
      MTTt = MTTt + mttdt;
    endif;
    else
      MTTt = MTTt + mttdt;
  endif;			# $Nx>0

  [MTTy] = $1_odeo(MTTx,MTTu,MTTt);     # Output 


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