/[lmdze]/trunk/Sources/misc/coefpoly.f
ViewVC logotype

Diff of /trunk/Sources/misc/coefpoly.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/dyn3d/coefpoly.f revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC trunk/dyn3d/coefpoly.f90 revision 81 by guez, Wed Mar 5 14:38:41 2014 UTC
# Line 1  Line 1 
 !  
 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/coefpoly.F,v 1.1.1.1 2004/05/19 12:53:05 lmdzadmin Exp $  
 !  
       SUBROUTINE coefpoly ( Xf1, Xf2, Xprim1, Xprim2, xtild1,xtild2 ,  
      ,                                          a0,a1,a2,a3         )  
       IMPLICIT NONE  
 c  
 c   ...  Auteur :   P. Le Van  ...  
 c  
 c  
 c    Calcul des coefficients a0, a1, a2, a3 du polynome de degre 3 qui  
 c      satisfait aux 4 equations  suivantes :  
   
 c    a0 + a1*xtild1 + a2*xtild1*xtild1 + a3*xtild1*xtild1*xtild1 = Xf1  
 c    a0 + a1*xtild2 + a2*xtild2*xtild2 + a3*xtild2*xtild2*xtild2 = Xf2  
 c               a1  +     2.*a2*xtild1 +     3.*a3*xtild1*xtild1 = Xprim1  
 c               a1  +     2.*a2*xtild2 +     3.*a3*xtild2*xtild2 = Xprim2  
   
 c  On en revient a resoudre un systeme de 4 equat.a 4 inconnues a0,a1,a2,a3  
   
       DOUBLE PRECISION Xf1, Xf2,Xprim1,Xprim2, xtild1,xtild2, xi  
       DOUBLE PRECISION Xfout, Xprim  
       DOUBLE PRECISION a1,a2,a3,a0, xtil1car, xtil2car,derr,x1x2car  
   
       xtil1car = xtild1 * xtild1  
       xtil2car = xtild2 * xtild2  
   
       derr= 2. *(Xf2-Xf1)/( xtild1-xtild2)  
   
       x1x2car = ( xtild1-xtild2)*(xtild1-xtild2)  
   
       a3 = (derr + Xprim1+Xprim2 )/x1x2car  
       a2     = ( Xprim1 - Xprim2 + 3.* a3 * ( xtil2car-xtil1car ) )    /  
      /           (  2.* ( xtild1 - xtild2 )  )  
1    
2        a1     = Xprim1 -3.* a3 * xtil1car     -2.* a2 * xtild1  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/coefpoly.F,v 1.1.1.1 2004/05/19
3        a0     =  Xf1 - a3 * xtild1* xtil1car -a2 * xtil1car - a1 *xtild1  ! 12:53:05 lmdzadmin Exp $
4    
5        RETURN  SUBROUTINE coefpoly(xf1, xf2, xprim1, xprim2, xtild1, xtild2, a0, a1, a2, a3)
6        END    IMPLICIT NONE
7    
8      ! ...  Auteur :   P. Le Van  ...
9    
10    
11      ! Calcul des coefficients a0, a1, a2, a3 du polynome de degre 3 qui
12      ! satisfait aux 4 equations  suivantes :
13    
14      ! a0 + a1*xtild1 + a2*xtild1*xtild1 + a3*xtild1*xtild1*xtild1 = Xf1
15      ! a0 + a1*xtild2 + a2*xtild2*xtild2 + a3*xtild2*xtild2*xtild2 = Xf2
16      ! a1  +     2.*a2*xtild1 +     3.*a3*xtild1*xtild1 = Xprim1
17      ! a1  +     2.*a2*xtild2 +     3.*a3*xtild2*xtild2 = Xprim2
18    
19      ! On en revient a resoudre un systeme de 4 equat.a 4 inconnues a0,a1,a2,a3
20    
21      DOUBLE PRECISION xf1, xf2, xprim1, xprim2, xtild1, xtild2, xi
22      DOUBLE PRECISION xfout, xprim
23      DOUBLE PRECISION 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))/(2.*(xtild1-xtild2))
34    
35      a1 = xprim1 - 3.*a3*xtil1car - 2.*a2*xtild1
36      a0 = xf1 - a3*xtild1*xtil1car - a2*xtil1car - a1*xtild1
37    
38      RETURN
39    END SUBROUTINE coefpoly

Legend:
Removed from v.76  
changed lines
  Added in v.81

  ViewVC Help
Powered by ViewVC 1.1.21