Skip to main content

A package to visualize AMR data from the RAMSES code

Project description

demo.png

Osiris

A python visualization utility for RAMSES data. It's purpose is to plot quick diagnostics while a simulation is running, and also produce publication grade figures.

Installation

You will need matplotlib installed on your system. Clone the Osiris repository and append its location to your PYTHONPATH.

From within ipython

#!python
import osiris
mydata = osiris.RamsesData(71,scale="au")
osiris.plot_slice(mydata.log_rho,direction="z",vec=mydata.velocity,dx=100)

Demo (see more demos here)

You can download the sample data here.

#!python

import osiris

# Load data
mydata = osiris.RamsesData(nout=71,center="max:density",scale="au")

# Create figure
fig = osiris.plt.figure()
ratio = 0.5
sizex = 20.0
fig.set_size_inches(sizex,ratio*sizex)
ax1 = fig.add_subplot(231)
ax2 = fig.add_subplot(232)
ax3 = fig.add_subplot(233)
ax4 = fig.add_subplot(234)
ax5 = fig.add_subplot(235)
ax6 = fig.add_subplot(236)

# Density vs B field with AMR level contours
osiris.plot_histogram(mydata.log_rho,mydata.log_B,axes=ax1,scalar=True,scalar_args={"cmap":"log,YlGnBu"},contour=mydata.level,contour_args={"fmt":"%i","label":True,"colors":"k","cmap":None,"levels":range(5,20),"cbar":False})

# Create new field with log of velocity
mydata.new_field(name="log_vel",operation="np.log10(np.sqrt(velocity_x**2+velocity_y**2+velocity_z**2))",unit="cm/s",label="log(Velocity)")

# Density vs log_vel in scatter mode with a grey outline
osiris.plot_histogram(mydata.log_rho,mydata.log_vel,axes=ax2,scatter=mydata.log_T,scatter_args={"iskip":100,"cmap":"gnuplot"},outline=True)

#x,z density slice with B field streamlines
osiris.plot_slice(mydata.density,direction="y",stream=mydata.B,dx=100,axes=ax3,scalar_args={"cmap":"log"})
# x,y density slice with velocity vectors in color
osiris.plot_slice(scalar=mydata.log_rho,direction="z",vec=mydata.velocity,dx=100,axes=ax4,vec_args={"cmap":"seismic","vskip":4})
# x,y temperature slice with velocity vectors
osiris.plot_slice(mydata.log_T,direction="z",vec=mydata.velocity,dx=100,axes=ax5,scalar_args={"cmap":"hot"},contour=mydata.level,contour_args={"fmt":"%i","label":True,"colors":"w","cmap":None,"levels":range(9,17)})

# Now update values with later snapshot
mydata.update_values(201)
# Re-plot x,y density slice with velocity vectors
osiris.plot_slice(mydata.log_rho,direction="z",vec=mydata.velocity,dx=100,axes=ax6)

fig.savefig("demo.pdf",bbox_inches="tight")

Have a problem or need a new feature?

Use the Issue tracker on the Bitbucket website.

Contributors

  • Neil Vaytet (StarPlan/NBI)
  • Tommaso Grassi (StarPlan/NBI)
  • Matthias Gonzalez (CEA Saclay)
  • Troels Haugbolle (StarPlan/NBI)
  • Lucas Beeres

License

Osiris is distributed under the GPLv3 license.

Funding

Neil Vaytet gratefully acknowledges support from the European Commission through the Horizon 2020 Marie Sklodowska-Curie Actions Individual Fellowship 2014 programme (Grant Agreement no. 659706).

funding-logos.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osyris-1.0.0.tar.gz (37.5 kB view hashes)

Uploaded Source

Built Distribution

osyris-1.0.0-py3-none-any.whl (51.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page