Comode Posté(e) 19 août 2009 Partager Posté(e) 19 août 2009 Bonjour, J'ai essayé (juste pour le plaisir) de programmer un petit modèle numérique qui appliquerais à un corps mobile sur la surface de la terre cette fameuse force... Je voudrais donc avoir des avis sur les 1er résultats que j'obtiens, notamment si ça vous semble cohérent... il s'agit d'une simulation sur 6 jours d'un corps partant (point rouge) de 50 km au dessus de l'équateur avec une vitesse initiale de 20 kts (10.22 m/s) vers l'ouest (cap 270). Je ne tiens pas encore compte de la réduction de la circonférence de la terre avec la latitude, mais par contre, je tiens comte de la modification de cette force avec la latitude. Je ne sais pas si le fait de ne pas tenir compte de cette réduction de circonférence doit avoir un impact sur la trajectoire... Alors, d'après vous, cohérent ou pas cohérent ? (source non publié pour pas surcharger mais dispo sur demande) Lien à poster Partager sur d’autres sites More sharing options...
Météofun Posté(e) 19 août 2009 Partager Posté(e) 19 août 2009 La forme convient bien. Ce sont ce qu’on appelle des oscillations d’inertie. Elles seraient circulaires si tu fais l’approximation de ne pas faire varier la force de Coriolis avec la latitude. Le fait de ne pas tenir compte de la variation circonférence de la Terre avec la latitude ne doit avoir aucune influence importante car tu ne t’éloigne jamais beaucoup de l’équateur (variation suivant le sinus de la latitude). En revanche à vue de nez, je trouve les oscillations un peu rapide. En théorie la période est 2.PI/f (d’où l’aspect circulaire si f est constant sur la trajectoire) avec f= 2.PI.OM.sin(PHI) avec OM=3600*24 (le nombre de secondes en 1 journée) et PHI la latitude. En disant que sur ton schéma on a environ 1.7 période en 6 jours, je trouve une latitude moyenne d’environ 8.1°, ce qui est un peu trop élevé par rapport à l’échelle de latitude que tu mets. Bon, après, j’ai peut-être fais une petite erreur dans le calcul ou c’est moi qui fait un petite erreur d’interprétation … Donc éventuellement je veux bien voir ton code source (éventuellement en MP si tu préfères) s’il n’est pas dans un langage trop ésotérique … Sinon, pour info, le rayon de giration R est : R=U/f avec U le module du vent horizontal total, mais c’est difficilement applicable dans ton cas où tu es très proche de l’équateur et où du coup f varie énormément au cours de la trajectoire (très peu circulaire et proche d’une cycloïde). Lien à poster Partager sur d’autres sites More sharing options...
Comode Posté(e) 19 août 2009 Auteur Partager Posté(e) 19 août 2009 Merci pour cette réponse. Pour le langage, c'est du PHP. Sans avoir les perf du C, je fais au moins pas mal d'économies sur le nombre de ligne de code /emoticons/tongue@2x.png 2x" width="20" height="20"> <?phpdefine(ECHELLE, 0.0001); // facteur d'echelle metres / pixelsdefine (LARGEUR, 20000000); // 20.000 km couverts d'est en ouesdefine (HAUTEUR, 10000000); // 10.000 km de l'equateur au pole nord, soit a peu pres les 90° dela terredefine (X_DEPART, 18000000); // point de depart X en metresdefine (Y_DEPART, 50000); // point de depart Y en metresdefine(PI, 3.1415926535898);$duree_simulation = 86400 * 6; // 6 joursfunction Coriolis($latitude, $vitesse){ return ( 12.566370614359 * sin(0.034906585039887 * $latitude) / 86164 ) * $vitesse;}function GetLatitude($kmH) // détermine la latitude en ° en fonction de la distance à l'équateur{ return sin(($kmH / HAUTEUR) * (PI / 2) ) * 90;}function GetVecteur90D($x, $y, $f) // Donne un vecteur de 90° et d'amplitude F par raport à un vecteur passé en paramètre{ $hyp = sqrt(pow($x, 2) + pow($y, 2)); return array('x' => ($y / $hyp) * $f, 'y' => (-$x / $hyp) * $f );}function Point(&$img, $x, $y, &$couleur) // trace un point{ imageline($img, $x-3, $y, $x + 3, $y, $couleur); imageline($img, $x, $y-3, $x, $y+3, $couleur);}// Creation de l'image$img = imagecreatetruecolor(LARGEUR * ECHELLE, HAUTEUR * ECHELLE);// Definition des couleurs$blanc = imagecolorallocate($img, 255, 255, 255);$noir = imagecolorallocate($img, 0, 0, 0);$rouge = imagecolorallocate($img, 255, 0, 0);imagefill($img,0, 0, $blanc);$vitesse = -10.28; // Vitesse initiale de 20 knots// Coloration rouge du point de départ de la simulationimagefilledrectangle($img, X_DEPART * ECHELLE - 5, (HAUTEUR - Y_DEPART) * ECHELLE + 5, X_DEPART * ECHELLE + 5, (HAUTEUR - Y_DEPART) * ECHELLE - 5, $rouge); // Definition point de départ$lastVecteur = array('Xa' => X_DEPART , 'Ya' => Y_DEPART, 'Xb' => X_DEPART + $vitesse, 'Yb' => Y_DEPART);// Boucle de simulation avec un pas de temps de 1 secondefor($i=0;$i<$duree_simulation;$i+=1){ // création du vecteur correspondant au deplacement entre et t-1 et t $v = array('x' => $lastVecteur['Xb'] - $lastVecteur['Xa'], 'y' => $lastVecteur['Yb'] - $lastVecteur['Ya']); // Vecteur perpendiculaire $Vd = GetVecteur90D($v['x'], $v['y'], Coriolis(GetLatitude($lastVecteur['Yb']), sqrt(pow($v['x'], 2) + pow($v['y'], 2)))); // création des nouvelles coordonnées $tmp = array( 'Xa' => $lastVecteur['Xb'], 'Ya' => $lastVecteur['Yb'], 'Xb' => $lastVecteur['Xb'] + $v['x'] + $Vd['x'], 'Yb' => $lastVecteur['Yb'] + $v['y'] + $Vd['y'] ); // Trace la ligne imageline($img, $tmp['Xa']* ECHELLE, 1000 - $tmp['Ya'] * ECHELLE, $tmp['Xb'] * ECHELLE, 1000 - $tmp['Yb'] * ECHELLE, $noir); // on trace un point toutes les 24 heures de simulation if($i % 86400 == 0) Point($img, $tmp['Xb'] * ECHELLE, 1000 - $tmp['Yb'] * ECHELLE, $noir); // Stockage des coordonnées $lastVecteur = $tmp; }// Affichageheader('Content-type: image/jpg');imagejpeg($img);?> et quand tu dis Le fait de ne pas tenir compte de la variation circonférence de la Terre avec la latitude ne doit avoir aucune influence importante car tu ne t’éloigne jamais beaucoup de l’équateur a quoi devrait ressembler ma simi près des pôles si j'en tenais compte ? Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 19 août 2009 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Partager Posté(e) 19 août 2009 a quoi devrait ressembler ma simi près des pôles si j'en tenais compte ? Au pôle ça donnerait un point qui tourne sur lui-même. Ensuite plus tu descend en latitude plus cela va ressembler à ta simulation, avec des boucles de plus en plus grandes. Ta 1ere simulation te donne je pense les boucles les plus amples, car situé au plus près de l'équateur. Près des pôles, les boucles seront bien plus petites et rapides. Lien à poster Partager sur d’autres sites More sharing options...
Comode Posté(e) 19 août 2009 Auteur Partager Posté(e) 19 août 2009 Au pôle ça donnerait un point qui tourne sur lui-même. Ensuite plus tu descend en latitude plus cela va ressembler à ta simulation, avec des boucles de plus en plus grandes. Ta 1ere simulation te donne je pense les boucles les plus amples, car situé au plus près de l'équateur. Près des pôles, les boucles seront bien plus petites et rapides. En terme de force, ça va de soit, mais c'est rapport au fait que je ne tienne pas compte de la diminution de circonférence en fonction de la latitude que je me pose la question... Pour bien faire, la largeur de mon support devrait dépendre de la latitude en respectant une formule du style : largeur = sin(1/2pi + latitude) * 40.000... Lien à poster Partager sur d’autres sites More sharing options...
Comode Posté(e) 19 août 2009 Auteur Partager Posté(e) 19 août 2009 Je viens de trouver une couille dans le potage en effectuant ma simulation simultanément tous les 500 km de latitude... La faute à un Pi à la place de Pi/2 qui me donnait ma force max à 45° au lieu de 90° dans ma fonction Coriolis... Une fois corriger, j'obtiens (de l'équateur en bas au pole en haut, 1er simu a 1 km de l'équateur) : Ca reste serré non ? Lien à poster Partager sur d’autres sites More sharing options...
Météofun Posté(e) 19 août 2009 Partager Posté(e) 19 août 2009 OK, je pense que c’est à cette ligne qu’il y a un petit problème : return ( 12.566370614359 * sin(0.034906585039887 * $latitude) / 86164 ) * $vitesse; La valeur « 0.03490… » que tu utilises pour la conversion des degrés en radiant n’est pas la bonne car elle correspond à PI/90, or il faut PI/180 . A ce moment la force de Coriolis est environ deux fois moins forte et on devrait trouver quelque chose de plus raisonnable.Sinon, le changement de la circonférence n’affecterait en rien le phénomène en lui-même. Ca ne changerait que la représentation sur la carte en fonction de la projection. C’est une question de référentiel. Sinon au pôle le point ne tournerait pas autour de lui-même mais effectuerait un cercle (ou presque) avec une période de 12h (ou presque). EDIT : En fait tu viens de me devancer d'une petite minute ! lol Donc je pense que maintenant ça doit être les bonnes valeurs ! Lien à poster Partager sur d’autres sites More sharing options...
M. Gagnard Posté(e) 19 août 2009 Violay, Loire, 830 m alt. Partager Posté(e) 19 août 2009 Bonjour, J'ai essayé (juste pour le plaisir) de programmer un petit modèle numérique qui appliquerais à un corps mobile sur la surface de la terre cette fameuse force... Je voudrais donc avoir des avis sur les 1er résultats que j'obtiens, notamment si ça vous semble cohérent... il s'agit d'une simulation sur 6 jours d'un corps partant (point rouge) de 50 km au dessus de l'équateur avec une vitesse initiale de 20 kts (10.22 m/s) vers l'ouest (cap 270). Je ne tiens pas encore compte de la réduction de la circonférence de la terre avec la latitude, mais par contre, je tiens comte de la modification de cette force avec la latitude. Je ne sais pas si le fait de ne pas tenir compte de cette réduction de circonférence doit avoir un impact sur la trajectoire... Alors, d'après vous, cohérent ou pas cohérent ? (source non publié pour pas surcharger mais dispo sur demande) Bizarre votre affaire : vous dites partir de l'équateur avec une vitesse initiale horizontale (je suppose ?) zonale (plein ouest). Donc vous ne devriez pas avoir de force de Coriolis puisqu'à ces endroits, le vecteur vitesse de la particule vis-à-vis de la terre est orthogonal au vecteur vitesse de rotation de la terre vis-à-vis du repère absolu... Bref, il ne faut pas que votre vitesse initiale soit zonale si votre position initiale est à l'équateur. ????? Lien à poster Partager sur d’autres sites More sharing options...
Comode Posté(e) 19 août 2009 Auteur Partager Posté(e) 19 août 2009 Bizarre votre affaire : vous dites partir de l'équateur avec une vitesse initiale horizontale (je suppose ?) zonale (plein ouest). Donc vous ne devriez pas avoir de force de Coriolis puisqu'à ces endroits, le vecteur vitesse de la particule vis-à-vis de la terre est orthogonal au vecteur vitesse de rotation de la terre vis-à-vis du repère absolu... Bref, il ne faut pas que votre vitesse initiale soit zonale si votre position initiale est à l'équateur. ????? d'un corps partant (point rouge) de 50 km au dessus de l'équateur /emoticons/wink@2x.png 2x" width="20" height="20"> Sinon, le résultat final : Lien à poster Partager sur d’autres sites More sharing options...
M. Gagnard Posté(e) 19 août 2009 Violay, Loire, 830 m alt. Partager Posté(e) 19 août 2009 Euh... toujours pas compris... A moins que... "50 km au dessus de l'équateur" signifie pour vous "50 km au nord de l'équateur" ? Dans ce cas là, parlez de latitude initiale non nulle... ça fera plus... pro(pre). C'est ça ? Lien à poster Partager sur d’autres sites More sharing options...
Comode Posté(e) 20 août 2009 Auteur Partager Posté(e) 20 août 2009 Euh... toujours pas compris... A moins que... "50 km au dessus de l'équateur" signifie pour vous "50 km au nord de l'équateur" ? Dans ce cas là, parlez de latitude initiale non nulle... ça fera plus... pro(pre). C'est ça ? 50km au nord de l'équateur alors... Lien à poster Partager sur d’autres sites More sharing options...
M. Gagnard Posté(e) 20 août 2009 Violay, Loire, 830 m alt. Partager Posté(e) 20 août 2009 50km au nord de l'équateur alors... Ok, ça marche alors. Maintenant, il peut il y avoir une confusion à propos de vos courbes : vous parlez (dans le titre) de "modélisation de la force de Coriolis" et vos résultats sont des courbes... Or un effort appliqué à 1 point est représenté par un vecteur, donc difficile de parler d'évolution de vecteur et d'en sortir une courbe... Peut-être (à confirmer ?) avez-vous tracé la trajectoire vis-à-vis de la Terre d'une particule soumise aux seules actions de Coriolis ? Vous seriez passé du concept de force à celui d'accélération en utilisant le Principe Fondamental de la Dynamique (qui ici donne une équation différentielle du second degré non linéaire puisque l'effort de Coriolis est lui-même fonction de la vitesse de la particule vis-à-vis du sol). C'est ça ? Sinon, c'est une belle réalisation théorique, mais qui doit être mieux expliquée si vous voulez que les débutants s'y intéressent et -par la même occasion- valorisent votre travail ! Correction : elles sont bien linéaires les 3 èquations différentielles scalaires, en revanche elles sont couplées. Lien à poster Partager sur d’autres sites More sharing options...
Comode Posté(e) 20 août 2009 Auteur Partager Posté(e) 20 août 2009 Pour faire simple, je simule l'évolution (bidimensionnelle) d'une particule soumise à la force de Coriolis toutes les secondes... Je lui donne une vitesse initiale, et à chaque pas de temps, je détermine son vecteur vitesse par la relation (Position(t) - Position(t-1)) / delta t, avec delta t = 1 seconde. A ce vecteur vitesse j'additionne l'accélération de la force de Coriolis recalculée à chaque pas de temps en fonction de la nouvelle coordonnée Y (en fait, delta t * accélération, mais delta t = 1). J'ai donc plus qu'a additionner les composantes de ce vecteur (vitesse * delta t) à la dernière position connue pour obtenir la nouvelle position, et je répète l'opération des centaines de millier de fois. Maintenant, pour rigoler, j'ai rajouté dans ma simu un nouveau point (carré bleu) qui génère une force attractive d'une intensité 1 / (distance + C), C étant une constante destinée à borner la force max exercée par ce vecteur. J'applique de la même façon l'accélération correspondante à ce vecteur à ma dernière position connue. Le but avoué est de voir si une particule d'air s'enroule effectivement de façon anti-horaire autour d'une basse pression générant une force attractive... Le résultat est un peu surprenant vous trouvez pas ? Lien à poster Partager sur d’autres sites More sharing options...
Météofun Posté(e) 20 août 2009 Partager Posté(e) 20 août 2009 Le résultat est un peu surprenant vous trouvez pas ? Cest jolie … mais pour le coup ça na plus trop à voir avec la météo … Ca fait plus "météoritique" ou "cométique" quautre chose ! lol /emoticons/biggrin@2x.png 2x" width="20" height="20">Par contre, dans ce qui suit, je vais tenter dexpliquer quelques exemples pour associer ton petit exemple théorique avec le concret et la réalité. Ce que tu avais avant est quelque chose qui se voit beaucoup en océano : après un fort coup de vent qui sarrête brutalement le courant de surface généré par le vent continue quelque temps sur sa lancée et on observe parfois des oscillations de ce type sur des bouées ou la dérive des glaces. Cest très parlant sur ces deux graphiques qui sont très proches de tes cas théoriques : http://oceanworld.tamu.edu/resources/ocng_textbook/chapter09/Images/Fig9-1.htm http://www.cleonis.nl/physics/inertosc_img/inertia_circle.png Dans la pratique je vais mentionner une petite différence entre les spirales étirées des schémas et celles que tu obtiens lorsque tu es près de léquateur sur tes exemples théoriques. Sur tes simulation théorique, tu vois que lorsque tu commence à téloigner de léquateur tu obtiens des cercles quasi-parfait (cest logique, le rayon de giration nest pas énorme et plus on séloigne de léquateur et moins le paramètre Coriolis varie pour un décalage en latitude donnée, or, ce sont les variations de la force de Coriolis avec la latitude qui rendent laspect non-circulaire). Dans ces exemples, qui sont des bouées, donc avec une vitesse très petite et donc un rayon de giration très court, si on nobserve pas des cercles quasi-parfaits cest parce que le phénomène nest pas parfaitement pur, ce qui est différent des spirales étirées que tu obtiens avec tes simulation pures près de léquateur. En météo ce type doscillation est moins pertinent même si apparemment quelques faibles oscillations de ce type on put être observées sur des ballons qui restent plusieurs jours dans la haute atmosphère à une même pression. Sinon, je ne sais pas si tu en a déjà entendu parlé, mais une des explications (ou une partie de lexplication) des courants jet nocturne de basse couche tient en partie là-dessus avec une excitation dû au forçage thermique diurne et au transport de quantité de mouvement apporté par la turbulence et la modification du profil thermique apporté par le forçage. Mais là cest plus technique et très particulier. Sinon pour lajout de force pour simuler une dépression, il y a un gros problème conceptuel qui explique que lexemple foire. En effet, pour ce genre détude, on ne peut considérer une particule prise indépendamment des autres. Dans latmosphère, les particules sont « touche-touche » et interagissent alors entre-elles. Par exemple, on voit bien le problème lorsque ta particule commence à séloigner de lattraction du point bleu : fatalement elle ne peut faire cette trajectoire puisquelle va rencontrer (et percuter) une particule qui accélère vers se point bleu. En gros, il faut faire intervenir une sorte de friction entre ces particules (rien à voire avec la friction entre les molécules dair, on nest pas du cout aux mêmes échelles !). Lensemble de déplace en lien avec des oscillations plutôt limité autour de léquilibre (du moins à léchelle synoptique dans latmosphère sur le plan horizontal). Lorsquil ya des ruptures de léquilibre les particules tendent à se percuter et à se monter les unes sur les autres : on produit des vitesses verticales ! Cest très imagée, mais cest plus ou moins ça qui se passe. Cest un peu technique, mais jespère que cest un minimum compréhensible. Cest en tout cas particulièrement intéressant de montrer ce genre de simulations et ensuite danalyser ce quelles apportent, ce quelles expliquent, mais aussi ce quelles ne montrent pas. Lien à poster Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant