Parent Directory | Revision Log

Revision **1162** -
(**show annotations**)
(**download**)
(**as text**)

*Wed Jan 17 04:34:59 2007 UTC*
(15 years, 10 months ago)
by *johnpye*

File MIME type: text/x-ascend

File size: 1934 byte(s)

File MIME type: text/x-ascend

File size: 1934 byte(s)

Fixed sensitivity module. It now runs as mostly external code, with just a few relics required by LSODE still in packages/sensitivity.c.

1 | (*********************************************************************\ |

2 | sensitivity_test.asc |

3 | by Ben Allan |

4 | Part of the Ascend Library |

5 | |

6 | This file is part of the Ascend modeling library. |

7 | |

8 | Copyright (C) 1996 |

9 | |

10 | The Ascend modeling library is free software; you can redistribute |

11 | it and/or modify it under the terms of the GNU General Public License as |

12 | published by the Free Software Foundation; either version 2 of the |

13 | License, or (at your option) any later version. |

14 | |

15 | The Ascend Language Interpreter is distributed in hope that it will be |

16 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |

17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |

18 | General Public License for more details. |

19 | |

20 | You should have received a copy of the GNU General Public License along with |

21 | the program; if not, write to the Free Software Foundation, Inc., 675 |

22 | Mass Ave, Cambridge, MA 02139 USA. Check the file named COPYING. |

23 | |

24 | This module is used to calculate the sensitity matrix dX/dU where |

25 | X is a vector OF vapor compositions and U is a vector OF liquid |

26 | compositions. This sensitivity matrix is THEN used to calculate |

27 | J, the Jacobian, as described IN Fidkowski et al. (1995). |

28 | |

29 | \*********************************************************************) |

30 | |

31 | REQUIRE "system.a4l"; |

32 | |

33 | IMPORT "sensitivity/sensitivity"; |

34 | |

35 | MODEL sensitivity_test; |

36 | nc IS_A integer_constant; |

37 | X[1..nc] IS_A solver_var; |

38 | U[1..nc], Unew[1..nc] IS_A solver_var; |

39 | dx_du[1..nc][1..nc] IS_A solver_var; |

40 | (* system *) |

41 | k,x,y,u IS_A solver_var; |

42 | k*x - y = 7; |

43 | y = u^2; |

44 | (* dx/du = 2*u/k *) |

45 | nc:==1; |

46 | u,U[1] ARE_THE_SAME; |

47 | x,X[1] ARE_THE_SAME; |

48 | |

49 | METHODS |

50 | |

51 | METHOD values; |

52 | END values; |

53 | |

54 | METHOD specify; |

55 | FIX u, k; |

56 | END specify; |

57 | |

58 | METHOD on_load; |

59 | RUN reset; |

60 | RUN values; |

61 | END on_load; |

62 | |

63 | METHOD analyse; |

64 | EXTERNAL do_sensitivity(SELF,U[1..nc],X[1..nc],dx_du[1..nc][1..nc]); |

65 | END analyse; |

66 | |

67 | END sensitivity_test; |

john.pye@anu.edu.au | ViewVC Help |

Powered by ViewVC 1.1.22 |