1
subroutine icsest(ind,nu,u,co,g,itv,rtv,dtv)
3
external stsec,icsec2,icsei
5
c identification de parametres d'un systeme lineaire
8
call icse(ind,nu,u,co,g,itv,rtv,dtv,stsec,icsec2,icsei)
11
subroutine stsec(indf,t,y,uc,uv,f,fy,fu,b,itu,dtu,
12
& t0,tf,dti,dtf,ermx,iu,nuc,nuv,ilin,nti,ntf,ny,nea,
13
& itmx,nex,nob,ntob,ntobi,nitu,ndtu)
15
c Second membre de l'equation d'etat :
16
c Parametres d'entree :
17
c indf : vaut 1,2,3 suivant qu'on veut calculer f,fy,fu
19
c y(ny) : etat a un instant donne
20
c uc(nuc) : controle independant du temps
21
c uv(nuv) : controle dependant du temps, a l'instant t
22
c b(ny) : terme constant dans le cas lineaire quadratique
23
c Parametres de sortie :
24
c indf : >0 si le calcul s'est correctement effectue,<=0
26
c f(ny) : second membre
27
c fy(ny,ny): jacobien de f par rapport a y
28
c fu(ny,nuc+nuv) : derivee de f par rapport au controle
29
c Tableaux de travail reserves a l'utilisateur :
30
c itu(nitu): tableau entier
31
c dtu(ndtu): tableau double precision
32
c (nitu et ndtu sont initialises par le common icsez).
34
implicit double precision (a-h,o-z)
35
dimension y(ny),uc(*),uv(*),f(ny),fy(ny,ny),fu(ny,*),
36
& b(ny),itu(*),dtu(*),iu(5)
38
call seros(indf,t,y,uc,uv,f,fy,fu,itu,dtu,
39
& ny,nuc,nuv,nitu,ndtu)
42
subroutine seros(indf,t,y,uc,uv,f,fy,fu,itu,dtu,
43
& ny,nuc,nuv,nitu,ndtu)
44
c sous programme appele par icse.fortran qui donne :
45
c pour indf=1,les seconds membres du systeme:f(ny)
46
c pour indf=2,la matrice derivee des seconds membres par
47
c rapport a l'etat:fy(ny,ny)
48
c pour indf=3,la matrice derivee des seconds membres par
49
c rapport aux parametres:fu(ny,nu)
50
c on prend ici un modele lineaire ,en supposant que toute la 5HT
51
c excretee est degradee avant d'arriver dans le milieu exterieur
52
implicit double precision (a-h,o-z)
53
dimension y(ny),uc(*),uv(*),f(ny),fy(ny,ny),fu(ny,*),
57
f(1)=-(uc(1)+uc(2))*y(1)
58
f(2)=uc(1)*y(1)-(uc(5)+uc(3))*y(2)
59
f(3)=uc(2)*y(1)+uc(3)*y(2)-(uc(4)+uc(6))*y(3)
60
f(4)=uc(4)*y(3)-uc(7)*y(4)
63
c derivee des seconds membres par rapport a l'etat:
64
c pour 1<=i<=ny et 1<=j<=ny,fy(i,j)=d(f(i))/dyj
79
c derivee des seconds membres par rapport aux parametres:
80
c pour 1<=i<=ny et 1<=j<=nu,fu(i,j)=d(f(i))/duj