Module gestion de fluides

Summary
la création d’un fluide, l’ajout d’obstacle et son évolution
Type abstrait permettant la gestion des fluides
Le destroyeur de classe
Permet l’ajout d’un obtacle
Permet de récuperer le champs de vecteurs correspondant à la vitesse
Permet de récuperer le champs de scalaires correspond à la diffusion
Permet de récuperer le champs de scalaires correspond à la Pression
Permet de récuperer le champs de scalaires utilisé dans la détection des vortex
Fait évoluer la vitesse sur le pas de temps dtin
Inscrit dans le champs recupérable par la méthode getPressiion() la pression à cet instant
Calcul le champs de diffusion, attention, si l’on souhaite utiliser le champs de diffusion cette méthode doit être appelé à chaque fois que la méthode evoluerVitesse est appelée
Calcul dans le champs recupérable par la méthode getVortex() la détection de vortex
Doit être obligatoirement appelé si l’on souhaite modifier le vecteur vitesse (à cause d’optimisations)

Document du module sur la gestion des fluides, ce module permet

la création d’un fluide, l’ajout d’obstacle et son évolution

Fluide

Type abstrait permettant la gestion des fluides

Summary
Le destroyeur de classe
Permet l’ajout d’un obtacle
Permet de récuperer le champs de vecteurs correspondant à la vitesse
Permet de récuperer le champs de scalaires correspond à la diffusion
Permet de récuperer le champs de scalaires correspond à la Pression
Permet de récuperer le champs de scalaires utilisé dans la détection des vortex
Fait évoluer la vitesse sur le pas de temps dtin
Inscrit dans le champs recupérable par la méthode getPressiion() la pression à cet instant
Calcul le champs de diffusion, attention, si l’on souhaite utiliser le champs de diffusion cette méthode doit être appelé à chaque fois que la méthode evoluerVitesse est appelée
Calcul dans le champs recupérable par la méthode getVortex() la détection de vortex
Doit être obligatoirement appelé si l’on souhaite modifier le vecteur vitesse (à cause d’optimisations)

Functions

Fluide

Fluide(int n,
int m,
float nuin,
float dtin,
float rhoin)

Paramètres

ntaille horizontale sans les bords
mtaille verticale sans les bords
dtinpas de discrétisation temporelle
rhoincoefficient de pression (pas important car souvent non utilisé Précondition: n et m supérieur à 3 au moins.

~Fluide

~Fluide()

Le destroyeur de classe

ajouterObstacle

void ajouterObstacle(Obstacle obs)

Permet l’ajout d’un obtacle

Paramètres

obsl’obstacle à ajouter, en cas de dépassement par rapport au fluide, l’obstacle sera redimensionner

getVitesse

ChampsVecteurs* getVitesse() const

Permet de récuperer le champs de vecteurs correspondant à la vitesse

getDiffusion

ChampsScalaires* getDiffusion() const

Permet de récuperer le champs de scalaires correspond à la diffusion

Attention: Ce champs est susceptible de changer lors de l’appel de evoluerVitesse() ou de calculDiffusion()

getPression

ChampsScalaires* getPression() const

Permet de récuperer le champs de scalaires correspond à la Pression

Attention: Ce champs est susceptible de changer lors de l’appel de evoluerVitesse() ou de calculDiffusion()

getVortex

ChampsScalaires* getVortex() const

Permet de récuperer le champs de scalaires utilisé dans la détection des vortex

Attention: Ce champs est susceptible de changer lors de l’appel de evoluerVitesse() ou de calculDiffusion()

evoluerVitesse

void evoluerVitesse()

Fait évoluer la vitesse sur le pas de temps dtin

Attention: Ce champs est susceptible de changer lors de l’appel de evoluerVitesse() ou de calculDiffusion()

calculPression

void calculPression()

Inscrit dans le champs recupérable par la méthode getPressiion() la pression à cet instant

calculDiffusion

void calculDiffusion()

Calcul le champs de diffusion, attention, si l’on souhaite utiliser le champs de diffusion cette méthode doit être appelé à chaque fois que la méthode evoluerVitesse est appelée

calculVortex

void calculVortex()

Calcul dans le champs recupérable par la méthode getVortex() la détection de vortex

modifierVitesse

void modifierVitesse(int i,
int j,
float ix,
float jy)

Doit être obligatoirement appelé si l’on souhaite modifier le vecteur vitesse (à cause d’optimisations)

Paramètres

iposition horizontale que l’on souhaite modifier
jposition verticale
ixvaleur selon l’axe x
jyvaleur selon l’axe y
Fluide(int n,
int m,
float nuin,
float dtin,
float rhoin)
~Fluide()
Le destroyeur de classe
void ajouterObstacle(Obstacle obs)
Permet l’ajout d’un obtacle
ChampsVecteurs* getVitesse() const
Permet de récuperer le champs de vecteurs correspondant à la vitesse
ChampsScalaires* getDiffusion() const
Permet de récuperer le champs de scalaires correspond à la diffusion
ChampsScalaires* getPression() const
Permet de récuperer le champs de scalaires correspond à la Pression
ChampsScalaires* getVortex() const
Permet de récuperer le champs de scalaires utilisé dans la détection des vortex
void evoluerVitesse()
Fait évoluer la vitesse sur le pas de temps dtin
void calculPression()
Inscrit dans le champs recupérable par la méthode getPressiion() la pression à cet instant
void calculDiffusion()
Calcul le champs de diffusion, attention, si l’on souhaite utiliser le champs de diffusion cette méthode doit être appelé à chaque fois que la méthode evoluerVitesse est appelée
void calculVortex()
Calcul dans le champs recupérable par la méthode getVortex() la détection de vortex
void modifierVitesse(int i,
int j,
float ix,
float jy)
Doit être obligatoirement appelé si l’on souhaite modifier le vecteur vitesse (à cause d’optimisations)