Géophysique
La géophysique est une branche des sciences de la Terre utilisant les principes de la physique pour étudier la structure, la composition et les dynamiques internes et externes de la planète. Elle s'appuie sur des disciplines telles que la gravimétrie, la sismologie, l'électromagnétisme et la radioactivité pour analyser les propriétés du sous-sol et les phénomènes terrestres. Grâce à ces méthodes, la géophysique permet de mieux comprendre les processus qui façonnent la Terre, comme la tectonique des plaques, la formation des montagnes et les mouvements du manteau. Elle s'applique à des domaines variés, notamment la recherche des ressources naturelles, la prévention des catastrophes naturelles et l'étude des interactions entre la Terre et l'espace. En combinant des approches théoriques et expérimentales, elle contribue à des avancées majeures dans les sciences géologiques et environnementales. Ses applications sont vastes, allant de l'exploration pétrolière à l'évaluation des risques géologiques, en passant par la surveillance des variations du champ magnétique terrestre. Cette discipline est essentielle pour comprendre l'évolution de notre planète et ses implications pour l'humanité.
Calcul de l'anomalie gravimétrique de Bouguer
Ce programme calcule l'anomalie de Bouguer en fonction de la gravité mesurée, de la densité et de l'altitude :
- Program BouguerAnomaly;
-
- Const
- G = 9.81; { Gravité moyenne en m/s au carré }
- RHO = 2670; { Densité moyenne des roches en kg/m au cube }
- GAMA = 0.0003086; { Correction de Bouguer en mGal/m }
-
- Var
- g_measured,Altitude,Anomaly:Real;
-
- BEGIN
- Write('Entrez la gravité mesurée (mGal): ');
- ReadLn(g_measured);
- Write('Entrez l''altitude (m): ');
- ReadLn(altitude);
- Anomaly := g_measured - G + GAMA * RHO * altitude;
- Writeln('Anomalie de Bouguer: ', anomaly:0:3, ' mGal');
- END.
Simulation d'ondes Sismiques (Onde P et Onde S)
Calcule les vitesses des ondes P et S en fonction de la densité et des modules élastiques :
- Program SeismicWaves;
-
- Var
- rho,k,mu,v_p,v_s:Real;
-
- BEGIN
- Write('Entrez la densité (kg/m au cube) : ');
- ReadLn(rho);
- Write('Entrez le module de compressibilité (Pa) : ');
- ReadLn(k);
- Write('Entrez le module de cisaillement (Pa) : ');
- ReadLn(mu);
- v_p := Sqrt((k + 4/3 * mu) / rho);
- v_s := Sqrt(mu / rho);
- Writeln('Vitesse de l''onde P : ', v_p:0:2, ' m/s');
- Writeln('Vitesse de l''onde S : ', v_s:0:2, ' m/s');
- END.
Calcul de l'inclinaison du champ magnétique terrestre
Ce programme approxime l'inclinaison du champ magnétique en fonction des coordonnées :
- Program MagneticInclination;
-
- Var
- Latitude,Inclination:Real;
-
- Function TAN(x:Real):Real;Begin
- If Cos(x)=0 Then Begin
- WriteLn('Erreur : tangente indéfinie pour x = ', x:0:2);
- Halt; { Arrête le programme pour éviter une division par zéro }
- End;
- TAN:=Sin(x)/Cos(x);
- End;
-
- BEGIN
- Write('Entrez la latitude (en degrés) : ');
- ReadLn(latitude);
- inclination := ArcTan(2*Tan(latitude * pi / 180)) * 180 / pi;
- WriteLn('Inclinaison magnétique : ', inclination:0:2, ' degrés');
- END.
Loi de Darcy pour l'écoulement des fluides dans un sol
Calcule le débit d'un fluide à travers un sol perméable :
- Program DarcyLaw;
-
- Var
- k,area,dp,Len,flow:Real;
-
- BEGIN
- Write('Perméabilité du sol (m²) : ');
- ReadLn(k);
- Write('Section transversale (m²) : ');
- ReadLn(Area);
- Write('Différence de pression (Pa) : ');
- ReadLn(dp);
- Write('Longueur de l''échantillon (m) : ');
- ReadLn(Len);
- Flow := k*Area*DP/Len;
- Writeln('Débit du fluide : ', flow:0:5, ' m au cube/s');
- END.
Atténuation d'une onde sismique
Ce programme simule l'atténuation d'une onde sismique en fonction de la distance :
- Program SeismicAttenuation;
-
- const
- Q=100; { Facteur de qualité (énergie dissipée) }
-
- Var
- amplitude0,distance,amplitude:Real;
-
- BEGIN
- Write('Amplitude initiale : ');
- ReadLn(amplitude0);
- Write('Distance parcourue (km) : ');
- ReadLn(distance);
- Amplitude:=Amplitude0*Exp(-distance/Q);
- WriteLn('Amplitude atténuée : ', amplitude:0:5);
- END.
Température en fonction de la profondeur (Gradient Géothermique)
Calcule la température en fonction de la profondeur en utilisant un gradient constant :
- Program GeothermalGradient;
-
- Const
- GRADIENT = 0.03; { Gradient géothermique moyen en °C/m }
-
- Var
- Depth,Temp_surface,Temp_depth:Real;
-
- BEGIN
- Write('Température de surface (°C) : ');
- ReadLn(temp_surface);
- Write('Profondeur (m) : ');
- ReadLn(depth);
- Temp_Depth := temp_surface + GRADIENT * Depth;
- WriteLn('Température à ',depth:0:1,' m : ',temp_depth:0:2,' °C');
- END.
Détermination de l'âge d'une roche par la loi de désintégration radioactive
Utilise la loi de décroissance radioactive pour estimer l'âge d'un échantillon :
- Program RadiometricDating;
-
- const
- LAMBDA = 1.42e-11; { Constante de désintégration de l'Uranium-238 (1/s) }
-
- Var
- Parent, Daughter, Ratio, Age:Real;
-
- BEGIN
- Write('Nombre d''atomes parents restants : ');
- Readln(Parent);
- Write('Nombre d''atomes fils produits : ');
- Readln(Daughter);
- Ratio:=Daughter / Parent;
- Age := ln(1 + ratio) / LAMBDA / (365.25 * 24 * 3600 * 1e6); { en millions d'années }
- WriteLn('Age estimé : ', age:0:2, ' millions d''années');
- END.