• Comment Calculer (approximativement) la masse d'une étoile ?

  • Les étoiles et les constellations - Le Soleil, notre étoile
Les étoiles et les constellations - Le Soleil, notre étoile
 #29761  par Aristide
 
Bonsoir.

Actuellement, je suis en train de tenter de représenter une étoile dans une classe « Star » en langage Python. Là n'est pas le problème. J'établie manuellement les propriétés du diamètre Ø ainsi que la température.

Un problème massif arrive cependant : Je ne suis pas en mesure de comprendre comment fonctionnent les graphiques que j'ai trouvé jusque là pour déterminer cette fameuse masse. En conséquence de quoi, deux questions germent dans mon esprit :

0-icon_arrow Est-il possible de déterminer cette masse par le biais d'une formule mathématique ?

Si toutefois une réponse satisfaisante venait à valider la susdite question, une autre vient. En effet, j'ai compris qu'il n'était pas possible d'obtenir un résultat précis. D'autant plus qu'une multitude de résultats sont possible.

0-icon_arrow Comment et quel serait le pourcentage d'approximation ?

C'est à dire quelle est l'intervalle de masse que l'on pourrait obtenir ? Je ne suis pas vraiment un féru de la précision dans le cadre de ma classe « Star » mais j'aimerais juste que les valeurs soient au minium réalistes :)

Vous remerciant par avance ^^
Dernière modification par bongo le mardi 4 février 2014 à 20:23, modifié 1 fois. Raison : Faute d'orthographe dans le titre
 #29766  par bongo
 
Je ne comprends pas le contexte de ta question.

Quel est ton but ? Est-ce que tu veux modéliser une étoile ? Et dans ce cas à partir de quelles données tu pars ?

Ou bien tu veux avoir un ordre de grandeur de la masse d'une étoile ?

Explique-nous ta démarche.

 #29768  par Aristide
 
En fait un peu des deux.

Mon but est de représenter une étoile (que je veux créer en fait). Quant aux données initiales, j'ai la Température (°K), et le Diamètre (Ø km).

Nota : Concernant les données elles sont définies par moi même et peuvent ne pas exister dans la réalité (bien que mon but est de faire quelque chose de minimum crédible quand même ^^)

Re:

 #29770  par bongo
 
Mon but est de représenter une étoile (que je veux créer en fait). Quant aux données initiales, j'ai la Température (°K), et le Diamètre (Ø km).
La masse d’une étoile varie en général entre 8% de la masse solaire, et 100 à 200 fois la masse solaire. La masse du soleil est de 2e30 kg.
Par contre… qu’est-ce que tu veux modéliser ? Tu as un modèle hydrostatique ?
La température du soleil n’est pas homogène, plus faible à la surface, et bien plus élevée au centre.
Nota : Concernant les données elles sont définies par moi même et peuvent ne pas exister dans la réalité (bien que mon but est de faire quelque chose de minimum crédible quand même ^^)
Tu modélises les réactions nucléaires ? En fait quel est le but de ton modèle ?

 #29772  par Aristide
 
En fait j'essaie de faire un jeux un peu à la OGame mais en Python. Je pense que la température. Voici le programme tel qu'il est actuellement :
Code : Tout sélectionner
class Star:
    """
        Représentation d'une étoile.

        À propos de la température
        ==========================
        Dans l'idéal, la température d'une étoile devrait se trouver entre
        3 000 et 30 000.

        À propos de la taille
        =====================
        TODO: A compléter

        À propos de la masse
        ====================
        La masse d'une étoile est comprise entre 0.08 à 300x la masse du soleil
        (La masse du soleil est de 2 Milliards de Milliards de Milliards de
        tonnes)
    """
    def __init__(self):
        self.size = Size()
        self.position = Position()
        self._temperature = 0

    def getTemperature(self):
        return self._temperature
    def getType(self):
        """
            Obtient le type de l'étoile en fonction de sa température.

            Type        Couleur         Température (kelvins)
            ==============================================
            0 --------- Violet-Blanc    > 30 000
            B --------- Bleu-Blanc      12 000  à   30 000
            A --------- Blanc           8 000   à   12 000
            F --------- Jaune-Blanc     6 000   à   8 000
            G --------- Blanc-Jaune     5 000   à   6 000
            K --------- Orange          3 000   à   5 000
            M --------- Rouge           < 3 000
        """
        if self._temperature > 30000:
            typeOfStar = "O"
        elif isBetween(self._temperature, 12000, 30000):
            typeOfStar = "B"
        elif isBetween(self._temperature, 8000, 12000):
            typeOfStar = "A"
        elif isBetween(self._temperature, 6000, 8000):
            typeOfStar = "F"
        elif isBetween(self._temperature, 5000, 6000):
            typeOfStar = "G"
        elif isBetween(self._temperature, 3000, 5000):
            typeOfStar = "K"
        elif self._temperature < 3000:
            typeOfStar = "M"


    def setTemperature(self, temperature):
        """
            Définit la température de l'étoile.

            À propos de la température
            ==========================
            Dans l'idéal, la température d'une étoile devrait se trouver entre
            3 000 et 30 000.

            :param temperature: Température en Kelvin.
            /!\ Prendre en considération le message au dessus.
            :type temperature: int

        """
        self._temperature = temperature


Je mettrais à jour la documentation dans le code pour s'adapter à ce que vous me dites :)

En tout cas je veux rester très simple (juste le minimum, Température, Masse, Taille et « Position »)
 #29777  par bongo
 
En fait tu as une relation entre la masse de l'étoile, sa température au centre, sa pression au centre et sa masse volumique au centre.