Exemplo n.º 1
0
        /// <summary>
        ///     This sets the spectral type of our star.
        /// </summary>
        public virtual void SetSpectralType()
        {
            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetMainbranch)
            {
                SpecType = GetStellarTypeFromMass(CurrMass) + " V";
            }

            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetSubbranch)
            {
                SpecType = GetStellarTypeFromTemp(CurrMass) + " IV";
            }

            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetGiantbranch)
            {
                SpecType = GetStellarTypeFromTemp(CurrMass) + " II";
            }

            //the fun one - white dwarf
            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetCollaspedstar)
            {
                if (EffTemp >= 1000)
                {
                    SpecType = "DA";
                }
                if (EffTemp >= 300 && EffTemp < 1000)
                {
                    SpecType = "DB";
                }
                if (EffTemp < 300)
                {
                    SpecType = "DC";
                }
            }
        }
Exemplo n.º 2
0
 //update temp.
 public virtual void UpdateTemp(double effTemp)
 {
     if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetSubbranch || EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetGiantbranch)
     {
         EffTemp  = effTemp;
         SpecType = GetStellarTypeFromTemp(EffTemp);
     }
     if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetMainbranch)
     {
         EffTemp = effTemp;
     }
 }
Exemplo n.º 3
0
        public virtual void UpdateLumin(double lumin)
        {
            var currStatus = EvoLine.FindCurrentAgeGroup(StarAge);

            if (currStatus == StarAgeLine.RetMainbranch && CurrMass < .45)
            {
                CurrLumin = lumin;
                InitLumin = lumin;
            }

            if ((currStatus == StarAgeLine.RetMainbranch && CurrMass >= .45) || currStatus == StarAgeLine.RetSubbranch || currStatus == StarAgeLine.RetGiantbranch || currStatus == StarAgeLine.RetGiantbranch)
            {
                CurrLumin = lumin;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        ///     This function sets the inital luminosity of a Star object
        /// </summary>
        public virtual void SetLumin()
        {
            var currAgeGroup = EvoLine.FindCurrentAgeGroup(StarAge);

            InitLumin = GetMinLumin(); //this applies for most stars.

            CurrLumin = GetCurrLumin(EvoLine, StarAge, CurrMass);

            //set the maximum luminosity. Used for determining the formation zones if the star is in a few phases.
            if (currAgeGroup == StarAgeLine.RetGiantbranch)
            {
                MaxLumin = CurrLumin;
            }

            if (currAgeGroup == StarAgeLine.RetCollaspedstar)
            {
                MaxLumin = GetMinLumin(CurrMass) * 10000;
            }
        }
Exemplo n.º 5
0
        //describes the age status.
        public virtual string GetStatusDesc()
        {
            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetMainbranch)
            {
                return("Main Sequence");
            }
            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetSubbranch)
            {
                return("Subgiant Branch");
            }
            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetGiantbranch)
            {
                return("Asymptotic Giant Branch");
            }
            if (EvoLine.FindCurrentAgeGroup(StarAge) == StarAgeLine.RetCollaspedstar)
            {
                return("White Dwarf");
            }

            return("INVALID STATUS");
        }
Exemplo n.º 6
0
 /// <summary>
 ///     This returns the current branch description for this star
 /// </summary>
 /// <returns>A string containing the branch description</returns>
 public string ReturnCurrentBranchDesc()
 {
     return(StarAgeLine.DescBranch(EvoLine.FindCurrentAgeGroup(StarAge)));
 }