opale.ode.ker
Class TimeScheme

java.lang.Object
  |
  +--opale.ode.ker.ObjectODE
        |
        +--opale.ode.ker.TimeScheme
Direct Known Subclasses:
ExplicitEuler, Heun, RK

public abstract class TimeScheme
extends ObjectODE

Classe abstraite servant à designer un schéma en temps pour les équations différentielles ordinaires. Une méthode est à implementer pour construire une classe instanciable : la méthode forward(Equation eq) qui définit comme effectuer un pas de temps.

Since:
Opale-ODE 0.1
Author:
O.C.

Constructor Summary
TimeScheme()
           
 
Method Summary
 double dt()
          Renvoie la valeur du pas de temps calculé comme constante.
abstract  void forward(Equation eq)
          Cette méthode doit être implémenter par une classe fille pour définir un schéma en temps.
 int getNstep()
          Renvoie le nombre d epas de temps du calcul.
 Problem getPb()
          Renvoie le problème attaché au schéma en temps courant.
 void init()
          Initialise le calcul (réservation mémoire, calcul du pas de temps...).
 DVect present()
          Renvoie l'inconnue au temps présent.
 int readKeyWord(java.lang.String word, RFile f, ODE ode)
          Méthode abstraite permettant la relecture d'un mot clé dans un fichier .ode.
 void set(double t0, double t1)
          Fixe les bornes du domaine d'étude en temps.
 void setNstep(int n)
          Fixe le nombre de pas de temps à effectuer dans le calcul.
 void setPb(Problem pb)
          Permet d'attacher un problème d'ODE au schéma en temps.
 double time()
          Renvoie le temps courant.
 double tmax()
          Renvoie la borne supérieure du domaine détude.
 double tmin()
          Renvoie la borne inférieure du domaine détude.
 void update()
          Met à jour le calcul (incrémente le pas de temps, stocke les inconnues...).
 void writeFile(WFile f, ODE ode)
          Méthode abstraite qui permet d'ecrire les données relatives à l'objet courant dans un fichier.
 
Methods inherited from class opale.ode.ker.ObjectODE
readFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeScheme

public TimeScheme()
Method Detail

forward

public abstract void forward(Equation eq)
Cette méthode doit être implémenter par une classe fille pour définir un schéma en temps. Elle prend en argument une équation et elle est chargéé de calculer l'inconnue au temps courant (accessible par la méthode present()). A l'entrée dans cette méthode pour le calcul du temps n, la méthode present() renvoie l'inconnue au temps n juste précédent.
Parameters:
Equation, - l'équation pour laquelle on veut avancer en temps.

present

public final DVect present()
Renvoie l'inconnue au temps présent. ATTENTION : l'instance de DVect renvoyée contient en première composante le temps courant, puis les composantes suivantes (égal à la dimension du problème traité) contiennent les valeurs de l'inconnue.
Returns:
DVect, l'inconnue au temps présent.

set

public final void set(double t0,
                      double t1)
Fixe les bornes du domaine d'étude en temps.
Parameters:
double - t0, le temps de départ.
double - t1, le temps final.

setNstep

public final void setNstep(int n)
Fixe le nombre de pas de temps à effectuer dans le calcul.
Parameters:
int - n, le nombre de pas de temps.

getNstep

public final int getNstep()
Renvoie le nombre d epas de temps du calcul.
Returns:
int, le nombre de pas de temps.

setPb

public final void setPb(Problem pb)
Permet d'attacher un problème d'ODE au schéma en temps. Aucun calcul ne peut démarrer sans attacher de problème.
Parameters:
Problem, - le problème à attacher.

getPb

public final Problem getPb()
Renvoie le problème attaché au schéma en temps courant.
Returns:
Problem, le problème attaché.

tmin

public final double tmin()
Renvoie la borne inférieure du domaine détude.
Returns:
double, le temps minimum.

tmax

public final double tmax()
Renvoie la borne supérieure du domaine détude.
Returns:
double, le temps maximum.

dt

public final double dt()
Renvoie la valeur du pas de temps calculé comme constante.
Returns:
double, le pas de temps.

time

public final double time()
Renvoie le temps courant.
Returns:
double, le temps courant.

init

public void init()
Initialise le calcul (réservation mémoire, calcul du pas de temps...). A appeller OBLIGATOIREMENT avant chaque calcul.

update

public void update()
Met à jour le calcul (incrémente le pas de temps, stocke les inconnues...). A appeller à chaque fin de calcul d'un pas de temps OBLIGATOIREMENT.

readKeyWord

public int readKeyWord(java.lang.String word,
                       RFile f,
                       ODE ode)
                throws java.io.IOException,
                       MalformedFileException
Description copied from class: ObjectODE
Méthode abstraite permettant la relecture d'un mot clé dans un fichier .ode.
Overrides:
readKeyWord in class ObjectODE
Following copied from class: opale.ode.ker.ObjectODE
Parameters:
String - s, le mot clé à lire.
RFile - f, le fichier de lecture.
ODE - ode, désigne le 'paquet' d'objet de type ObjectODE dans lequel on va stocker les informations lues.
Returns:
int, 0 si le mot clé est reconnu, -1 sinon.

writeFile

public void writeFile(WFile f,
                      ODE ode)
Description copied from class: ObjectODE
Méthode abstraite qui permet d'ecrire les données relatives à l'objet courant dans un fichier.
Overrides:
writeFile in class ObjectODE
Following copied from class: opale.ode.ker.ObjectODE
Parameters:
WFile - f, le fichier d'ecriture.
ODE - ode, désigne le 'paquet' d'objet de type ObjectODE contenant les informations à stocker.