this is for holding javascript data
Jacob Hummel Python scripts for code examples.
about 8 years ago
Commit id: 174083b7310498b0bb325d3ae68e60f8f3b1037c
deletions | additions
diff --git a/figures/code_units.py b/figures/code_units.py
new file mode 100644
index 0000000..9ae98a4
--- /dev/null
+++ b/figures/code_units.py
...
Specifying code unit conversions:
>>> import gadfly as gdf
>>> sim = gdf.Simulation('path_to_simulation_directory',
UnitMass_in_g = 1.989e43,
UnitLength_in_cm = 3.085678e21,
UnitVelocity_in_cm_per_s = 1e5)
Specify default units:
>>> sim = gdf.Simulation('path_to_simulation_directory',
length='kpc',
mass = 'solar',
velocity = 'kms',
time = 'gyr')
Change default units on the fly:
>>> sim.units.length_unit
'kpc'
>>> sim.units.set_length('AU')
>>> sim.units.length_unit
'AU'
Specify units at load time:
>>> sim.units.mass_unit
'g'
>>> snap.gas.load_masses(unit='solar')
>>> sim.units.mass_unit
'solar'
diff --git a/figures/code_usage.py b/figures/code_usage.py
new file mode 100644
index 0000000..06741f9
--- /dev/null
+++ b/figures/code_usage.py
...
Import gadfly and initialize the simulation.
>>> import gadfly as gdf
>>> sim = gdf.Simulation('path_to_simulation_directory')
Load a snapshot:
>>> snap = sim.load_snapshot(100)
>>> snap.file_id
>>> snap.file_id.keys()
[u'Header', u'PartType0', u'PartType1']
Inspect the Header:
>>> snap.header.Redshift
26.663827788885538
>>> snap.header.BoxSize
100.0
Load a particle dataset:
>>> snap.define_ptype('dm', 1, gdf.nbody.PartTypeNbody)
>>> snap.dm.load_masses()
>>> snap.dm.info()
Int64Index: 13347573 entries, 25272898 to 25272897
Data columns (total 1 columns):
masses float64
dtypes: float64(1)
memory usage: 203.7 MB
>>> snap.dm.cleanup()
>>> snap.dm.load_quantity('coordinates', 'particleIDs')
>>> snap.dm.info()
Int64Index: 13347573 entries, 25272898 to 25272897
Data columns (total 4 columns):
x float64
y float64
z float64
particleIDs uint32
dtypes: float64(3), uint32(1)
memory usage: 458.3 MB
Load non-standard particle field:
>>> snap.define_ptype('gas', 0, gdf.sph.PartTypeSPH)
>>> snap.gas.load_quantity('Adiabatic index')
>>> snap.gas.info()
Int64Index: 13347573 entries, 23325038 to 23308525
Data columns (total 1 columns):
Adiabatic index float64
dtypes: float64(1)
memory usage: 203.7 MB
Load dataset using a custom class:
>>> from custom_ptype import PartTypeCustom
>>> snap.define_ptype('gas', 0, PartTypeCustom)
>>> snap.gas.calculate_temperature()
>>> snap.gas.info()
Int64Index: 13347573 entries, 23325038 to 23308525
Data columns (total 3 columns):
adiabatic_index float64
internal_energy float64
temperature float64
dtypes: float64(3)
memory usage: 407.3 MB
diff --git a/figures/process.py b/figures/process.py
new file mode 100644
index 0000000..d5366dd
--- /dev/null
+++ b/figures/process.py
...
import os
import sys
import glob
import subprocess
def process(filename):
base = filename.replace('.py', '')
script = """
pygmentize -l pycon -f latex -O style=default -O full -o {base}-tmp.tex {base}.py
""".format(base=base)
subprocess.call(script, shell=True)
fout = open('{base}-tmp-2.tex'.format(base=base), 'w')
for line in open('{base}-tmp.tex'.format(base=base), 'r'):
fout.write(line)
if 'documentclass' in line:
fout.write("\\usepackage[paperheight=20in]{geometry}\n")
fout.write("\pagestyle{empty}\n")
script = """
pdflatex {base}-tmp-2.tex
pdfcrop --bbox "0 100 1000 10000" {base}-tmp-2.pdf {base}-tmp-3.pdf
pdfcrop -margins "2 2 2 2" {base}-tmp-3.pdf {base}.pdf
""".format(base=base)
fout.close()
print script
subprocess.call(script, shell=True)
os.remove('{base}-tmp.tex'.format(base=base))
os.remove('{base}-tmp-2.tex'.format(base=base))
os.remove('{base}-tmp-2.log'.format(base=base))
os.remove('{base}-tmp-2.aux'.format(base=base))
os.remove('{base}-tmp-2.pdf'.format(base=base))
os.remove('{base}-tmp-3.pdf'.format(base=base))
for script in glob.glob('code_*.py'):
process(script)