analyse
Class SectionPoincare

java.lang.Object
  extended by analyse.SectionPoincare

public class SectionPoincare
extends Object

Classe servant à tracer des sections de Poincaré.

Pour l'instant, classe en version BETA car la section est forcément à q2 = 0, et les équations du mouvement sont celles du problème à 3 corps restreint.

Since:
Projet Trois Corps 2007
Version:
27/01/2007
Author:
Mathieu HAVEL, Pierre INIZAN

Field Summary
(package private)  double H0
           
(package private)  double jacobiH0
           
(package private)  double pasSectionp10
           
(package private)  double pasSectionq10
           
(package private)  double sectionp10max
           
(package private)  double sectionp10min
           
(package private)  double sectionq10max
           
(package private)  double sectionq10min
           
 
Constructor Summary
SectionPoincare(double jacobi0, double pasSectp10, double pasSectq10, double p10SectionMin, double p10SectionMax, double q10SectionMin, double q10SectionMax)
           
 
Method Summary
 double[] calculp2H0(double q10, double q20, double p10, double mu)
          Pour l'instant, calcule p20 en utilisant les équations du mouvement du Problème à 3 corps restreint.
 double[] calculVoyager(double[] voyagerP, double mu, String fEqMvmtP, double deltaT, double precision, double q2Section, int appelmax)
           
 double choixSection()
           
 double[] paramSection()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

H0

double H0

jacobiH0

double jacobiH0

pasSectionp10

double pasSectionp10

pasSectionq10

double pasSectionq10

sectionp10min

double sectionp10min

sectionp10max

double sectionp10max

sectionq10min

double sectionq10min

sectionq10max

double sectionq10max
Constructor Detail

SectionPoincare

public SectionPoincare(double jacobi0,
                       double pasSectp10,
                       double pasSectq10,
                       double p10SectionMin,
                       double p10SectionMax,
                       double q10SectionMin,
                       double q10SectionMax)
Parameters:
jacobi0 - Variété d'énergie sur laquelle on se place (= valeur de l'intégrale de Jacobi)
pasSectp10 - Pas d'incrémenation de p1Initial (quand on change de trajectoire de Poincaré, à J fixé)
pasSectq10 - Pas d'incrémenation de q1Initial (quand on change de trajectoire de Poincaré, à J fixé)
p10SectionMin - Valeur minimum de p1Initial
p10SectionMax - Valeur maximum de p1Initial
q10SectionMin - Valeur minimum de q1Initial
q10SectionMax - Valeur maximum de q1Initial
Method Detail

paramSection

public double[] paramSection()
Returns:
Les paramètres de la section de Poincaré (J, q10 min/max, p10 min/max...)
See Also:
SectionPoincare

calculp2H0

public double[] calculp2H0(double q10,
                           double q20,
                           double p10,
                           double mu)
Pour l'instant, calcule p20 en utilisant les équations du mouvement du Problème à 3 corps restreint.

Parameters:
q10 - q1Initial de la trajectoire considérée
q20 - q2Initial de la trajectoire considérée
p10 - p1Initial de la trajectoire considérée
mu - Paramètre de masse du problème
Returns:
Les solutions de p2Initial (p20a, p20b) pour assurer J = cste (étant donnés p1Initial, q1Initial de la trajectoire)

Retourne donc un tableau [p20a, p20b, solution], où solution = 0. si il n'y a pas de solution, et 1. sinon.


calculVoyager

public double[] calculVoyager(double[] voyagerP,
                              double mu,
                              String fEqMvmtP,
                              double deltaT,
                              double precision,
                              double q2Section,
                              int appelmax)
Parameters:
voyagerP - Tableau contenant les précédentes solutions de Q1,Q2,P1,P2 pour les 2 valeurs possible de p2Initial : [Q1a, Q2a, P1a, P2a, Q1b, Q2b, P1b, P2b, appel, solution, solutionA, solutionB]
mu - Paramètre de masse du problème
fEqMvmtP - Equations du mouvement choisies (pour plus tard...)
deltaT - Pas d'intégration des équations du mouvement.
precision - Précision du calcul.
q2Section - Section de Poincaré choisie (pour l'instant q2Section <=> q2 = O).
appelmax - Nombre maximum d'itérations avant l'abandon (ie. si la trajectoire ne passe plus par q2Section).
Returns:
Les solutions [Q1,Q2,P1,P2] pour la section à q2Section, et pour les deux valeurs possibles de p2Initial

Retourne donc un tableau [Q1a, Q2a, P1a, P2a, Q1b, Q2b, P1b, P2b, appel, solution, solutionA, solutionB],

où solution(A|B) = 0. si il n'y a pas de solution, et 1. sinon,

appel est le nombre actualisé d'appel à l'intégrateur.


choixSection

public double choixSection()
Returns:
La section de Poincaré choisie (pour l'instant toujours q2=0).

A MODIFIER pour pouvoir être sur une surface de section de Poincaré du problème.

See Also:
SectionPoincare