/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L ' I N T E R A C T I O N   S U B I E   P A R   U N   C O R P S  :                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrr/N_corps.12$I' :                                                                                            */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 1998??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   D E   L ' I N T E R A C T I O N   S U B I E   P A R   U N   C O R P S  :                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
                    Bblock
                    Test(EST_VRAI(LOGI(ACCES_LISTE(liste_initiale_des_MOBILITE,corps))))
                         Bblock
                                        /* Cas des corps mobiles...                                                                  */
                         Test(TOUJOURS_VRAI)
                              Bblock
                                        /* Cas general...                                                                            */
                              DEPILER_UN_POINT_LORS_DE_L_INTEGRATION_O2(ASD1(ACCES_COORDONNEES_INITIALES(corps),x)
                                                                       ,ASD1(ACCES_VITESSE_INITIALE(corps),dx)
                                                                       ,ASD1(ACCES_COORDONNEES_COURANTES(corps),x)
                                                                       ,ASD1(ACCES_VITESSE_COURANTE(corps),dx)
                                                                       ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),x)

                                                                       ,ASD1(ACCES_COORDONNEES_INITIALES(corps),y)
                                                                       ,ASD1(ACCES_VITESSE_INITIALE(corps),dy)
                                                                       ,ASD1(ACCES_COORDONNEES_COURANTES(corps),y)
                                                                       ,ASD1(ACCES_VITESSE_COURANTE(corps),dy)
                                                                       ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),y)

                                                                       ,ASD1(ACCES_COORDONNEES_INITIALES(corps),z)
                                                                       ,ASD1(ACCES_VITESSE_INITIALE(corps),dz)
                                                                       ,ASD1(ACCES_COORDONNEES_COURANTES(corps),z)
                                                                       ,ASD1(ACCES_VITESSE_COURANTE(corps),dz)
                                                                       ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),z)
                                                                        );
                                        /* Mise en place du corps courant 'corps'.                                                   */

                              INTEGRATION_POUR_UN_POINT_D_UN_SYSTEME_D_EQUATIONS_DIFFERENTIELLES_O2(temps_courant,dct);
                                        /* Integration du systeme d'equations differentielles pour le corps courant 'corps'.         */

                              EMPILER_UN_POINT_LORS_DE_L_INTEGRATION_O2(ASD1(ACCES_COORDONNEES_INITIALES(corps),x)
                                                                       ,ASD1(ACCES_VITESSE_INITIALE(corps),dx)
                                                                       ,ASD1(ACCES_COORDONNEES_COURANTES(corps),x)
                                                                       ,ASD1(ACCES_VITESSE_COURANTE(corps),dx)
                                                                       ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),x)

                                                                       ,ASD1(ACCES_COORDONNEES_INITIALES(corps),y)
                                                                       ,ASD1(ACCES_VITESSE_INITIALE(corps),dy)
                                                                       ,ASD1(ACCES_COORDONNEES_COURANTES(corps),y)
                                                                       ,ASD1(ACCES_VITESSE_COURANTE(corps),dy)
                                                                       ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),y)

                                                                       ,ASD1(ACCES_COORDONNEES_INITIALES(corps),z)
                                                                       ,ASD1(ACCES_VITESSE_INITIALE(corps),dz)
                                                                       ,ASD1(ACCES_COORDONNEES_COURANTES(corps),z)
                                                                       ,ASD1(ACCES_VITESSE_COURANTE(corps),dz)
                                                                       ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),z)
                                                                        );
                                        /* Sauvegarde de l'etat du corps courant 'corps'.                                            */
                              Eblock
                         ATes
                              Bblock
                                        /* Pour faire des tests sur le cas du mouvement inertiel...                                  */
                              INITIALISATION_POINT_3D(ACCES_COORDONNEES_COURANTES(corps)
                                                     ,AXPB(ASD1(ACCES_VITESSE_INITIALE(corps),dx)
                                                          ,dct
                                                          ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),x)
                                                           )
                                                     ,AXPB(ASD1(ACCES_VITESSE_INITIALE(corps),dy)
                                                          ,dct
                                                          ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),y)
                                                           )
                                                     ,AXPB(ASD1(ACCES_VITESSE_INITIALE(corps),dz)
                                                          ,dct
                                                          ,ASD1(ACCES_COORDONNEES_PRECEDENTES(corps),z)
                                                           )
                                                      );
                              Eblock
                         ETes

                         Eblock
                    ATes
                         Bblock
                                        /* Cas des corps immobiles...                                                                */
                         Eblock
                    ETes
                    Eblock



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