/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N S   R E L A T I V E S   A   L A   D E R I V A T I O N   F O R M E L L E                                */
/*        D E   L ' I N F L A T I O N  :                                                                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrs/inflation.11$I' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 20130220081000).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   T R O I S   F O N C T I O N S   ' F '  :                                                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition ('v $xrs/inflation.11$K') :                                                                                     */
/*                                                                                                                                   */
/*                    Le cylindre est defini parametriquement                                                                        */
/*                  en fonction des deux parametres 'u'                                                                              */
/*                  (appele aussi 'distance polaire' ou                                                                              */
/*                  'theta' ou encore 'latitude') et 'v'                                                                             */
/*                  (appele aussi 'longitude' ou 'phi') :                                                                            */
/*                                                                                                                                   */
/*                                                 pA+tanh(pB.(u-pD)+pE)                                                             */
/*                                      R1(u,v) = -----------------------                                                            */
/*                                                          pF                                                                       */
/*                                                                                                                                   */
/*                                                              pH                                                                   */
/*                                      R2(u,v) = pI.(pG.(u-pC))                                                                     */
/*                                                                                                                                   */
/*                                                        2       1                                                                  */
/*                                      R3(u,v) = pJ.(pK.u  + pL.u  + pM)                                                            */
/*                                                                                                                                   */
/*                                      R(u,v)  = R3(u,v).R1(u,v)               si u<pC                                              */
/*                                              = R3(u,v).(R1(pC,v)+R2(u,v))    si u>=pC                                             */
/*                                                                                                                                   */
/*                                      F (u,v) = R(u,v).cos(v)                                                                      */
/*                                       x                                                                                           */
/*                                                                                                                                   */
/*                                      F (u,v) = R(u,v).sin(v)                                                                      */
/*                                       y                                                                                           */
/*                                                                                                                                   */
/*                                                    pO                                                                             */
/*                                      F (u,v) = pN.u                                                                               */
/*                                       z                                                                                           */
/*                                                                                                                                   */
/*                  avec :                                                                                                           */
/*                                                                                                                                   */
/*                                      u E [ 0 , 1 ]                                                                                */
/*                                                                                                                                   */
/*                                      v E [ 0 , 2.p ]                                                                              */
/*                                                                                                                                   */
/*                  (ou 'p' designe 'pi').                                                                                           */
/*                                                                                                                                   */
/*                    Ces formules ont ete mises au point et                                                                         */
/*                  testees grace a 'v $xtc/inflation.11$c'.                                                                         */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
                                        /* ATTENTION, il est imperatif que les fonctions derivables formellement soient definies     */
                                        /* dans un fichier a part afin qu'elles ne soient pas l'objet d'une double definition. En    */
                                        /* effet, on trouve dans 'v $xcc/cpp$Z' :                                                    */
                                        /*                                                                                           */
                                        /*                  $CA  $module$w                                                           */
                                        /*                                 | $xcp/cpp$X          ... -c$PASSE_D -e$PASSE_5           */
                                        /*                                                                              > $fichierR  */
                                        /*                                                                                           */
                                        /* Ainsi, si par exemple la definition de 'Fx(u,v)' etait faite localement dans le           */
                                        /* fichier '$xrf/recursif.11$K', cette definition apparaitrait deux fois dans le fichier     */
                                        /* '$module$w' : une premiere fois en tete, provenant de '$PASSE_D' ou l'on ne trouve que    */
                                        /* les definitions du type '-define ...', puis une deuxieme fois a la suite, la ou se trouve */
                                        /* concatene au fichier '$module$W' des '-define ...' le fichier '$fichierA' a compiler...   */

-define   Rayon1_Inflation_1(u,v)                                                                                                       \
-_-_-_-             DIVI(ADD2(parametre_a                                                                                               \
-_-_-_-                      ,TANH(AXPB(parametre_b,SOUS(u,parametre_d),parametre_e))                                                   \
-_-_-_-                       )                                                                                                         \
-_-_-_-                 ,parametre_f                                                                                                    \
-_-_-_-                  )
-define   Rayon2_Inflation_1(u,v)                                                                                                       \
-_-_-_-             MUL2(parametre_i                                                                                                    \
-_-_-_-                 ,PUIX(MUL2(parametre_g,SOUS(u,parametre_c)),parametre_h)                                                        \
-_-_-_-                  )
-define   Rayon3_Inflation_1(u,v)                                                                                                       \
-_-_-_-             MUL2(parametre_j,HORNER_1_02(u,parametre_k,parametre_l,parametre_m))
-define   Rayon__Inflation_1(u,v)                                                                                                       \
-_-_-_-             MUL2(Rayon3_Inflation_1(u,v)                                                                                        \
-_-_-_-                 ,COND(IFLT(u,parametre_c)                                                                                       \
-_-_-_-                      ,Rayon1_Inflation_1(u,v)                                                                                   \
-_-_-_-                      ,ADD2(Rayon1_Inflation_1(parametre_c,v),Rayon2_Inflation_1(u,v))                                           \
-_-_-_-                       )                                                                                                         \
-_-_-_-                  )
                                        /* Definition du rayon...                                                                    */
                                        /*                                                                                           */
                                        /* On notera qu'on utilise 'TANH(...)' (et non pas 'TAHX(...)' plus logique a cause de       */
                                        /* la derivation formelle...) pour des raisons de performance (compilation...).              */

-define   Fx_Inflation_1(u,v)                                                                                                           \
-_-_-_-             Xcartesienne_2D(Rayon__Inflation_1(u,v)                                                                             \
-_-_-_-                            ,v                                                                                                   \
-_-_-_-                             )
                                        /* Definition de la fonction F (u,v).                                                        */
                                        /*                            x                                                              */
-define   Fy_Inflation_1(u,v)                                                                                                           \
-_-_-_-             Ycartesienne_2D(Rayon__Inflation_1(u,v)                                                                             \
-_-_-_-                            ,v                                                                                                   \
-_-_-_-                             )
                                        /* Definition de la fonction F (u,v).                                                        */
                                        /*                            y                                                              */
-define   Fz_Inflation_1(u,v)                                                                                                           \
-_-_-_-             MUL2(parametre_n,PUIX(u,parametre_o))
                                        /* Definition de la fonction F (u,v).                                                        */
                                        /*                            z                                                              */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N I T I A L I S A T I O N S   R E L A T I V E S   A   L A   P S E U D O - P R O J E C T I O N  :                         */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
-define   Pxyz_Inflation_1                                                                                                              \
-_-_-_-             Bblock                                                                                                              \
-_-_-_-             BLOC(VIDE;);                                                                                                        \
-_-_-_-             Eblock
                                        /* Initialisations specifiques a cette surface destinees a permettre la reinjection des      */
                                        /* trois pseudo-projections {Projection_de_Fx,Projection_de_Fy,Projection_de_Fz} dans        */
                                        /* 'v $xrs/project2D.11$K' (introduit le 20050203090301)...                                  */



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.