Bonjour à tous,
Je suis nouveau sur ce forum et je crée cette conversation pour vous exposer mon problème. Je suis en 3ème année de Licence Génie de Système Industriels et j'ai quelques soucis en programmation. Je dois, pour dans quelques jours, rendre un programme complet en Fortran 90 et je bloque pas mal. Voici le sujet, je ne vous cache pas qu'il est assez long mais j'ai déjà réalisé une petite partie de celui-ci, je suis à la question 4.
Méthodologie à utiliser :
On souhaite représenter la consommation d’une voiture. Pour cela on va exprimer la
consommation entrainée d’une part par une variation de position dx et d’autre part par une
variation de la vitesse du véhicule.
On utilise la forme différentielle suivante pour modéliser la consommation:
FD : P(x,v)dx + Q(x,v)dv
P(x,v)dx est la consommation à la position x à la vitesse v entrainer par un déplacement dx.
Q(x ,v)dv est la consommation à la position x à la vitesse v entrainer par une variation de la
vitesse dv.
Ainsi la consommation lors d’un parcours de A à B le long T (trajectoire dans l’espace x,v) est
obtenue par l’intégrale curviligne :
P x,v dx Qx,v dv
On prendra la consommation en litre, la distance en km et la vitesse en km/h
1) Variables :
a) Ecrire un fichier ‘caracauto.txt’ contenant les caractéristiques de la voiture :
· « m », la masse de la voiture.
· « conso90 », la consommation à 90 km/h de la voiture.
· « consomini », la consommation minimale de la voiture.
· « energyfuel », l’énergie calorifique du fuel par litre.
· …
b) Créer une Subroutine permettant la lecture et l’affichage de votre fichier caracauto.txt
Open(20,file=’… .txt’)
Read(20,*) ….
Write(*,*) ‘bidule=’, bidule, ‘[mm]’
2) Subroutine VarconsoPDx :
Ecrire un programme qui retourne la consommation pour une distance parcourue dx en km,
sachant la position x, la vitesse v.
a) Ecrire la structure du programme
b) Préciser les arguments de la subroutine : données d’entré et données de sortie
c) Proposer une forme mathématique pour P(x,v)
d) Programmer et tester cette forme mathématique
Indication :
ConsoDx =variation de consommation suivant la vitesse
Conso=consommation suivant le nombre de kilomètres effectués
X=nombre de kilomètres effectués
Chaque nouvelle variable doit être déclaré
3) Subroutine VarconsoQdv :
Ecrire un programme qui retourne la consommation en litre pour une variation de vitesse dv
en km/h sachant la position x et la vitesse v.
e) Ecrire la structure du programme
f) Préciser les arguments de la subroutine : données d’entré et données de sortie
g) Proposer une forme mathématique pour P(x,v)
h) On pourra associer la consommation à la variation d’énergie cinétique du véhicule.
i) Programmer et tester cette forme mathématique
Indication :
ConsoDx =variation de consommation suivant la vitesse
Conso=consommation suivant le nombre de kilomètres effectués
X=nombre de kilomètres effectués
Chaque nouvelle variable doit être déclarée
4) Parcours :
Ecrire un programme permettant de relire un parcours quelconque. Le parcours est défini
comme un ensemble de point de passage caractérisé par une position Xp et une vitesse Vp.
Exemple :
P1(0,0) P2(10,90) P3(90,90)P4(1000,50)
a) Créer un fichier texte récapitulant le parcours « parcours.txt ». La structure du
parcours sera telle que le nombre d’étape doit être quelconque.
b) Ecrire un programme parcours.f90 qui relit et stocke les données du parcours.
5) Subroutine computestep.f90 :
Écrire un programme calculant entre deux points du parcours le temps de parcours, la
consommation total, la consommation entrainée par le déplacement uniquement et la
consommation entrainée par la variation de vitesse uniquement.
a) Ecrire la structure du programme
b) Préciser les arguments de la subroutine : données d’entré et données de sortie
c) Ecrire le programme en utilisant VarconsoPDx et VarconsoQdv créés précédemment.
d) Tester et montrer le bon fonctionnement du programme à l’aide d’un exemple.
6) Programme principale conso.f90
A l’aide des programmes précédents écrire un programme permettant de lire les fichiers
caracauto.txt et parcours.txt et de calculer le temps de parcours ainsi que les différentes
consommations durant un parcours quelconque.
Postprocessing
a) Modifier le programme précédent pour qu’il génère des fichiers de données
permettant de tracer les différentes consommations en fonction du temps ou de la
distance parcourue.
b) Générer deux parcours pour un déplacement de Rouen à Marseille un économique et
un privilégiant la vitesse. Analyser grâce au programme conso les consommations lors
de ces deux parcours.
c) Proposer une modification de la fonction Q pour modéliser un système de
récupération d’énergie durant le freinage.
d) Programmer la modification précédente et analyser les conséquences pour les deux
parcours que vous avez proposés.
Si vous pouviez m'aider ce serait vraiment cool, j'ai beau y passer pas mal de temps, j'ai vraiment beaucoup de mal. Inutile de vous préciser que j'ai commencer la programmation en Fortran que depuis cette année et que mon prof n'est pas spécialement pédagogue, ça n'aide pas...
Je vous remercie d'avance!
Gabriel.
-----