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
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
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
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_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
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
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
      #[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
      [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 ]