Beispiel #1
0
 def test_solar_rho(self):
     """Solar values work for rho(log(T),log(P),mu) : X=0.70, Y=0.28, log(T)=6.91, log(P)=16.87"""
     X = 0.70
     Y = 0.28
     logT = 6.91
     logP = 16.87
     dens = ldensity(logT=logT,logP=logP,X=X,Y=Y)
     dens_sol = 68.189717584403212
     assert dens - dens_sol < 1e-10, u"ρ mismatch: %g, %g" % (dens, dens_sol)
Beispiel #2
0
 def test_solar_rho(self):
     """Solar values work for rho(log(T),log(P),mu) : X=0.70, Y=0.28, log(T)=6.91, log(P)=16.87"""
     X = 0.70
     Y = 0.28
     logT = 6.91
     logP = 16.87
     dens = ldensity(logT=logT, logP=logP, X=X, Y=Y)
     dens_sol = 68.189717584403212
     assert dens - dens_sol < 1e-10, u"ρ mismatch: %g, %g" % (dens,
                                                              dens_sol)
Beispiel #3
0
import numpy as np

print "Stellar Structure Problem Set 1"

# Problem #5
print "\nProblem #5:"

Xs = [0, 0.70]
Ys = [0.98, 0.28]
logTs = [7.55, 6.91]
logPs = [16.85, 16.87]

for X, Y, logT, logP in zip(Xs, Ys, logTs, logPs):
    mu = mmw(X=X, Y=Y)
    beta = lbeta(logT=logT, logP=logP, mu=mu)
    dens = ldensity(logT=logT, logP=logP, mu=mu)
    print u"For X=%5.3f, Y=%5.3f, log(T)=%5.3f, log(P)=%5.3f\n → μ=%5.3f → ρ=%5.3f, β=%5.3f" % (
        X, Y, logT, logP, mu, dens, beta)

# Problem #6
print "\nProblem #6:"

logTs = [6.3, 5.0]
logrhos = [0.3, -4.0]
X = 0.700
Y = 0.280
opacity = OpacityTable("GN93hz", load=True)
opacity.composition(X=X, Y=Y)
print u"Fixed composition at X=%.3g,Y=%.3g,Z=%.3g" % (opacity.X, opacity.Y,
                                                      opacity.Z)
print u"Using table %d" % (opacity.n + 1)