{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hello, RAMP: a minimal example\n", "\n", "The following notebook excerpt provides a minimal example of the usage of RAMP.\n", "\n", "----------\n", "\n", "Instrument definition files in RAMP are written in Javascript Object Notation (JSON)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\n", " \"all\" : {\n", " \"linear\" : true,\n", " \"mod\" : {\n", " \"source\": true,\n", " \"position\" : [0.0, 0.0, 0.0],\n", " \"moderator_kernel\": {\n", " \"name\": \"MISIS\",\n", " \"spec_file\": \"Let_Base.mcstas\",\n", " \"mod_dim\": [0.04, 0.09],\n", " \"target_dim\": [0.04, 0.09],\n", " \"target_dist\": 1.7,\n", " \"E_min\": 0.0,\n", " \"E_max\": 30.0\n", " }\n", " },\n", "\n", " \"moderator_Emon\" : {\n", " \"position\" : [0.0, 0.0, 0.01],\n", " \"geom_kernel\" : {\n", " \"name\" : \"GPlane\",\n", " \"width\" : 0.1,\n", " \"height\" : 0.1\n", " },\n", " \"scat_kernel\" : {\n", " \"name\" : \"SDetector1D\",\n", " \"var\" : \"energy\",\n", " \"binning\" : [0.0, 0.05, 30.0],\n", " \"restore_neutron\" : true\n", " }\n", " }\n", " }\n", "}\n" ] } ], "source": [ "import json\n", "\n", "with open('inst.json', 'r') as f:\n", " IDF_str = f.read()\n", " \n", "print(IDF_str)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The file loaded above ('inst.json') specifies a simple instrument consisting of an ISIS style moderator (based on the LET moderator spectrum) and an energy monitor. Let's run the simulation and plot the monitor spectrum:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Energy range: 0.0 to 30.0 meV\n", "Time range 1e-08 to 1.0 s\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import mcramp as mcr\n", "import matplotlib.pyplot as plt\n", "import pyopencl as cl\n", "\n", "### Some necessary OpenCL internals ###\n", "\n", "ctx = cl.create_some_context()\n", "queue = cl.CommandQueue(ctx)\n", "\n", "### Create and run the Instrument simulation ###\n", "\n", "N = 10000000\n", "\n", "inst = mcr.Instrument('inst.json', ctx, queue)\n", "inst.execute(N)\n", "\n", "queue.finish()\n", "\n", "inst.plot()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }