def test_solar_beta(self): """Solar values work for beta(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 beta = lbeta(logT=logT,logP=logP,X=X,Y=Y) beta_sol = 0.99985149819598074 assert beta - beta_sol < 1e-10, u"β mimatch: %g, %g" % (beta, beta_sol)
def test_solar_beta(self): """Solar values work for beta(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 beta = lbeta(logT=logT, logP=logP, X=X, Y=Y) beta_sol = 0.99985149819598074 assert beta - beta_sol < 1e-10, u"β mimatch: %g, %g" % (beta, beta_sol)
from pystellar.opacity import OpacityTable 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)