Page MenuHomec4science

pycool_integrate_cooling
No OneTemporary

File Metadata

Created
Sun, Oct 20, 13:33

pycool_integrate_cooling

#!/usr/bin/env python
from optparse import OptionParser
import Ptools as pt
from pNbody import *
from pNbody import units
import string
from scipy import optimize
from PyCool import cooling
UnitLength_in_cm = 3.085e+21
UnitMass_in_g = 1.989e+43
UnitVelocity_in_cm_per_s = 20725573.785998672
UnitTime_in_s = 148849920000000.0
def parse_options():
usage = "usage: %prog [options] file"
parser = OptionParser(usage=usage)
parser = pt.add_postscript_options(parser)
parser = pt.add_ftype_options(parser)
parser = pt.add_reduc_options(parser)
parser = pt.add_center_options(parser)
parser = pt.add_select_options(parser)
parser = pt.add_cmd_options(parser)
parser = pt.add_display_options(parser)
parser = pt.add_info_options(parser)
parser = pt.add_limits_options(parser)
parser = pt.add_log_options(parser)
parser.add_option("--x",
action="store",
dest="x",
type="string",
default = 'r',
help="x value to plot",
metavar=" STRING")
parser.add_option("--y",
action="store",
dest="y",
type="string",
default = 'T',
help="y value to plot",
metavar=" STRING")
parser.add_option("--z",
action="store",
dest="z",
type="string",
default = None,
help="z value to plot",
metavar=" STRING")
parser.add_option("--legend",
action="store_true",
dest="legend",
default = False,
help="add a legend")
(options, args) = parser.parse_args()
#pt.check_files_number(args)
files = args
return files,options
########################################################################
# MAIN
########################################################################
param = {}
param["CoolingType"]=2
param["CutofCoolingTemperature"]=1e1
param["InitGasMetallicity"]=-10
param["CoolingParameters_FeHSolar"]=0.00176604
param["CoolingParameters_FeHSolar"]=0.00176604
param["HubbleParam"]=1.0
'''
CoolingType
CutofCoolingTemperature
InitGasMetallicity
CoolingParameters_FeHSolar
'''
files,opt = parse_options()
# do
cooling.init_cooling('cooling.dat',param)
# get parameters
params = cooling.GetParameters()
print params
cooling.init_cooling_with_metals()
#cooling.check_cooling_table_with_metals()
density=4.2245e-06 * 100
entropy=0.788347
metal=0
n = 100
energys = zeros(n,float)
ts = zeros(n,float)
ls = zeros(n,float
)
energy = cooling.Energy_from_Entropy(entropy,density,1)
t = 0.
dt = 0.1
for i in xrange(n):
energys[i]=energy
ts[i]=t
l = cooling.lambda_fct(density,entropy,metal)
dudt = -l
ls[i]=l
energy = energy + dudt * dt
t = t + dt
print cooling.Temperature_from_Energy(energy)
################################
# plot
################################
#print ts
#print energys
#print ls
pt.plot(ts,energys)
pt.show()

Event Timeline