source: LMDZ5/trunk/libf/coefpoly.F @ 1630

Last change on this file since 1630 was 1630, checked in by Laurent Fairhead, 12 years ago

Importation initiale du répertoire dyn3dmem


Initial import of dyn3dmem directory

File size: 1.3 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE coefpoly ( Xf1, Xf2, Xprim1, Xprim2, xtild1,xtild2 ,
5     ,                                          a0,a1,a2,a3         )
6      IMPLICIT NONE
7c
8c   ...  Auteur :   P. Le Van  ...
9c
10c
11c    Calcul des coefficients a0, a1, a2, a3 du polynome de degre 3 qui
12c      satisfait aux 4 equations  suivantes :
13
14c    a0 + a1*xtild1 + a2*xtild1*xtild1 + a3*xtild1*xtild1*xtild1 = Xf1
15c    a0 + a1*xtild2 + a2*xtild2*xtild2 + a3*xtild2*xtild2*xtild2 = Xf2
16c               a1  +     2.*a2*xtild1 +     3.*a3*xtild1*xtild1 = Xprim1
17c               a1  +     2.*a2*xtild2 +     3.*a3*xtild2*xtild2 = Xprim2
18
19c  On en revient a resoudre un systeme de 4 equat.a 4 inconnues a0,a1,a2,a3
20
21      REAL(KIND=8) Xf1, Xf2,Xprim1,Xprim2, xtild1,xtild2, xi
22      REAL(KIND=8) Xfout, Xprim
23      REAL(KIND=8) a1,a2,a3,a0, xtil1car, xtil2car,derr,x1x2car
24
25      xtil1car = xtild1 * xtild1
26      xtil2car = xtild2 * xtild2
27
28      derr= 2. *(Xf2-Xf1)/( xtild1-xtild2)
29
30      x1x2car = ( xtild1-xtild2)*(xtild1-xtild2)
31
32      a3 = (derr + Xprim1+Xprim2 )/x1x2car
33      a2     = ( Xprim1 - Xprim2 + 3.* a3 * ( xtil2car-xtil1car ) )    /
34     /           (  2.* ( xtild1 - xtild2 )  )
35
36      a1     = Xprim1 -3.* a3 * xtil1car     -2.* a2 * xtild1
37      a0     =  Xf1 - a3 * xtild1* xtil1car -a2 * xtil1car - a1 *xtild1
38
39      RETURN
40      END
Note: See TracBrowser for help on using the repository browser.