#1 Le 13/03/2010, à 17:13
- ianbox
C++ - Calcul de la masse volumique de l'air
Bonjour, je dois fair un script en C++ pour calculer la masse volumique de l'air
Pour ce faire, je dois récupérer 3 variables:
- Humidité de l'air (en %)
- Pression atmosphérique (en Pa)
- Température (en °C)
Comment puis-je faire cela ?
Hors ligne
#2 Le 13/03/2010, à 17:20
- Grünt
Re : C++ - Calcul de la masse volumique de l'air
Tu coinces sur le développement, ou sur la formule mathématique?
(Dans les deux cas, on n'est pas là pour faire tes devoirs )
Red flashing lights. I bet they mean something.
Hors ligne
#3 Le 13/03/2010, à 18:29
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
sur le developpement , la formule je la connait ...
Hors ligne
#4 Le 13/03/2010, à 18:45
- nicolas66
Re : C++ - Calcul de la masse volumique de l'air
Bah une fois que t'as défini des trois variables, tu n'as qu'à afficher la valeur de ta formule, non ?
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#5 Le 13/03/2010, à 18:55
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Vu comme ça oui, mais j'ai pas envie de surveiiler la météo pour changer les variables à la main , donc en fait la question c'est comment récupérer ces variable depuis un site de météo comme weather.com par exemple.
Hors ligne
#6 Le 13/03/2010, à 19:04
- helly
Re : C++ - Calcul de la masse volumique de l'air
je verrai plutôt du shell pour ça , beaucoup plus simple pour l'affichage de pages internet !
En c++ j'ai pas de libs en tête qui fassent ça
edit :du wget , du cat et le tour est joué ! Par contre faut encore trouver le site ^^'
edit2: par contre si c'est juste le résultat que tu veux, pas la partie prog : t'as un applet météo qui fait ca sur GNOME
Dernière modification par helly (Le 13/03/2010, à 19:06)
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#7 Le 13/03/2010, à 19:10
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
En fait j'aurai préférer en C parceque cela doit s'intégrer dans un programme qui simule le fonctionnement d'un moteur à explosion...
Hors ligne
#8 Le 13/03/2010, à 22:36
- Teofifil
Re : C++ - Calcul de la masse volumique de l'air
je verrai plutôt du shell pour ça , beaucoup plus simple pour l'affichage de pages internet !
En c++ j'ai pas de libs en tête qui fassent ça
Via Qt. Un début de piste : http://doc.trolltech.com/4.5/qwebview.html
Dernière modification par Teofifil (Le 13/03/2010, à 22:36)
Hors ligne
#9 Le 14/03/2010, à 16:47
- Le Farfadet Spatial
Re : C++ - Calcul de la masse volumique de l'air
Salut à tous !
je dois fair un script en C++
C'est-à-dire que C++ n'est pas un langage de script.
En fait j'aurai préférer en C
Que veux-tu faire ? Du C ou du C++ : ce sont deux langages différents.
c'est comment récupérer ces variable depuis un site de météo comme weather.com
Tout d'abord, il faut se connecter au site.
Ensuite, il faut connaître le format des fichier, ensuite l'adresse où ils sont accessibles.
Après, il s'agit simplement, peu ou prou, de télécharger un fichier et de le lire, ce n'est pas la mer à boire. Donc, déjà : où vas-tu chercher les données ? Un site comme Weather.com n'est pas très bien fait pour avoir un champ météorologique complet.
Cela dit :
cela doit s'intégrer dans un programme qui simule le fonctionnement d'un moteur à explosion
Est-il vraiment nécessaire de prendre en compte les variations de densité de l'air ambiant ? Ce qui va se passer dans le moteur ne va-t-il pas totalement l'emporter sur les faibles variations dues à la météo ? Pour l'air à 20°C, on prend généralement une masse volumique de 1,204 kg/m³ et c'est réglé. Ma première impression, c'est que tu te lances dans une sophistication inutile. Dans la mesure où tes interventions me donnent l'impression que tu n'es pas encore très à l'aise dans la programmation, je pense qu'il n'est pas utile de te lancer dans des choses compliquées dont l'impact sera totalement marginal.
À bientôt.
Le Farfadet Spatial
Hors ligne
#10 Le 14/03/2010, à 18:06
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Je sais bien que cela a peu d'impact sur la pression qui regnera dans la chambre de combustion en fin de compression
mais cela a un intérêt quant au comportement du système d'admission, dépression dans le collecteur, effets de suralimentation naturelle, admission variables ...
En fait au départ, je pensait intégrer ces variables en temps réel dans le programme, mais vu le nombre de calcuuls qui devraient être effectués dans des temps très courts, je m'oriente plus vers le calcul des variables et autres paramètres avant la simulation ...
Donc la solution de fouiller dans les pages web est maintenant acceptable vu que cela ne mangera pas les ressources pour la simulation en fonctionnement ....
Hors ligne
#11 Le 14/03/2010, à 18:27
- gilbert
Re : C++ - Calcul de la masse volumique de l'air
Salut,
quel est ton niveau d'étude ? Et surtout quel domaine ? Mécanique ou informatique ?
à mon avis, sans être méchant, tu essaies de réinventer l'eau chaude... Il existe déjà des simulateurs pour ça.. N'importe quel logiciel de CAO fait l'affaire (solidworks, catia) ok ils ne sont pas libres, et tournent encore moins sous linux, mais l'industrie n'est pas libre..
Quelle est la finalité de réécrire un tel programme? Surtout que entre ton post #1 et #5, tu as fais un sacré virage dans ta question.. Le second balayant radicalement le premier..
Simplement moi-même..
Hors ligne
#12 Le 14/03/2010, à 18:30
- Le Farfadet Spatial
Re : C++ - Calcul de la masse volumique de l'air
Salut à tous !
Je reste dubitatif, Ianbox. Enfin, si tu y tiens.
Toutefois, vu que tu vas calculer cela une fois pour toutes, le plus simple consiste à faire de la température, de la pression et de l'humidité des variables du programme que l'utilisateur entre au début, soit via l'entrée standard, soit dans un fichier de configuration que lira le code.
Cela te permettra d'ailleurs de faire des tests, pour quantifier l'influence réelle des conditions météorologiques sur le fonctionnement de ton moteur.
À bientôt.
Le Farfadet Spatial
Hors ligne
#13 Le 15/03/2010, à 11:19
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Pour ce qui est du niveau d'études, je crois qu'on s'en fout ...
Sinon effectivement un fichier de configuration lu par le programme me semble être une bonne solution ...
Je vous tiens au courant de l'avancée des choses et merci à tous.
Hors ligne
#14 Le 15/03/2010, à 13:43
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Bon, voila une ebauche :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
const int P = 102700; // Pression atmosphérique en Pascal
const int T = 10; // Température en ° Celsius
const int H = 62; // Humidité relative en %
// Calcul de la pression de vapeur d'eau saturante dans l'air en Pascal
float Psat = (611.213*exp((17.5043*T)/(241.02+T)));
// Calcul de la constante de l'air humide
float Rh = (287.06/(1-(((H/100)/P)*(1-(287.06/461)))));
// Calcul de la masse volumique de l'air humide en kg/m3
float Mvah = (P/(Rh*(T+273.15)));
// Affichage des valeurs
printf("Température : %d °C\n", T);
printf("Pression atmosphérique : %d Pa\n", P);
printf("Humidité relative : %d %\n", H);
printf("Pression de vapeur d'eau saturante : %f Pa\n", Psat);
printf("Constante de l'air humide : %f\n", Rh);
printf("Masse volumique de l'air humide : %f kg/m3\n", Mvah);
return 0;
}
Les variables sont initialisées au début, il suffira ensuite de les récupérer comme on le disait dans un fichier de configuration initialisé au lancement du programme.
J'ai fait un ptit tour du monde vite fait, on trouve des variations de la masse volumique de l'ordre de 100 g/m3.
Ce qui m'intéresserai maintenant, c'est d'en déduire la masse de vapeur d'eau, on connait l'humidité relative, mais vu que c'est le poucentage d'un pourcentage, celui de la saturation maximum en fonction de la température , je n'ai pas trouvé de façon de calculer cela sans me référer à un graphique.
Quelqu'un aurait-il une piste ?
Hors ligne
#15 Le 15/03/2010, à 13:46
- helly
Re : C++ - Calcul de la masse volumique de l'air
La c'est des maths que tu demandes, c'est pas notre domaine, cherches un peu !
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#16 Le 15/03/2010, à 14:09
- no_spleen
Re : C++ - Calcul de la masse volumique de l'air
bonjour,
Mon domaine étant justement la thermodynamique, je peux te répondre.
la teneur en eau de l'air, en kg eau / kg air sec est égale à
X = 0.622 * ( (ft) / (Patm - ft) )
ou ft est la pression partielle de vapeur d'eau, en Pa.
Maintenant, je ne pense pas que ce soit le bon forum pour ce genre de question !
Hors ligne
#17 Le 15/03/2010, à 14:10
- no_spleen
Re : C++ - Calcul de la masse volumique de l'air
et biensur, ft = Psat * 0.01 * H
Hors ligne
#18 Le 15/03/2010, à 14:22
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Merci pour ta réponse, c'est nickel !
C'est vrai que cela n'est pas de la programmation, mais ce que je fais regroupe de la programmation, de la mécanique, de la physique, des maths, etc ...
J'ai poster ici car le domaine que je maitrise le moins est la programmation (je me suis mis au C++ avant-hier ...)
Maintenant, je pense que le sujet peut tout de même intéresser des gens qui aiment l'informatique et la physique ou les maths ou l'automobile, etc ...
Non ???
Hors ligne
#19 Le 15/03/2010, à 15:45
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Dis moi no_spleen, voici les résultats, cela te semble correct ?
pour 13 °C, 47 % humidité, pression atmo 102600 Pa
masse d'eau: 5.341 g/m3
masse air sec 1243.709 g/m3
Sinon par curiosité, pourquoi 0.622, c'est une constante ?
Hors ligne
#20 Le 15/03/2010, à 16:45
- no_spleen
Re : C++ - Calcul de la masse volumique de l'air
j'ai +- les mêmes résultats en effet.
Pour le 0.622 cela vient du développement de la formule mais je ne l'ai plus en tête, si je retombe dessus je le poste ici.
Hors ligne
#21 Le 15/03/2010, à 18:28
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Ok je te remercie fort bien ;-)
Hors ligne
#22 Le 15/03/2010, à 18:44
- no_spleen
Re : C++ - Calcul de la masse volumique de l'air
0.622 est le rapport de la masse molaire de l'eau et de l'air. Sachant cela, l'origine de la formule est facile à retrouver.
Hors ligne
#23 Le 16/03/2010, à 01:32
- Le Farfadet Spatial
Re : C++ - Calcul de la masse volumique de l'air
Salut à tous !
Maintenant, je pense que le sujet peut tout de même intéresser des gens qui aiment l'informatique et la physique ou les maths ou l'automobile, etc ...
De toute façon, difficile, lorsque tu parles de programmation, de ne pas parler de ce que tu veux faire. Pour moi, il n'y a rien de hors-sujet. Cela dit, je fais confiance aux modérateurs pour savoir s'il y a hors-sujet ou non.
je me suis mis au C++ avant-hier
Hé bien, le code que tu as posté n'est pas du C++. Veux-tu faire ton code en C ou en C++ ?
À bientôt.
Le Farfadet Spatial
Hors ligne
#24 Le 16/03/2010, à 16:12
- ianbox
Re : C++ - Calcul de la masse volumique de l'air
Vraiment ? Pourtant j'utilise code blocks, et j'ai choisi application console, C++ à la création du projet et le code fonctionne...
Hors ligne
#25 Le 16/03/2010, à 16:19
- helly
Re : C++ - Calcul de la masse volumique de l'air
Vraiment ? Pourtant j'utilise code blocks, et j'ai choisi application console, C++ à la création du projet et le code fonctionne...
Un compilateur C++ peut compiler du C
Un compilateur C ne peut pas (forcément) compiler du C++
Voila pourquoi ton code C passe sous un compilateur C++
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne