Getting Started --------------- Here's a quick start guide to help you begin using WWINPy: 1. **Import the Library** ~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: python import wwinpy 2. **Read a WWINP File and access its data** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Read the WWINP file. .. code-block:: python ww = wwinpy.from_file('path/to/wwinp_file') Access the data in the header, the mesh data or the weight windows values directly. .. code-block:: python print(ww) ================= WWData Object Information ================= Mesh Type : Cartesian Number of Voxels : 392 Geometry Details: ------------------------------------------------------------------- Axis | From | To | No. Bins ------------------------------------------------------------------- I | -25.0 | 112.5 | 8 J | -40.0 | 40.0 | 7 K | -40.0 | 40.0 | 7 ------------------------------------------------------------------- The weight window contains 1 particle type(s). ----------------------- Particle Type 0 --------------------------- Metric : Value ------------------------------------------------------------------- Energy Bins : [1e-08, 3e-08, 5e-08, 1e-07, 2.25e-07, 3.25e-07, 4.1399e-07, 8e-07, 1e-06, 1.1253e-06, 1.3e-06, 1.8554e-06, 3.059e-06, 1.0677e-05, 2.9023e-05, 0.0001013, 0.00058295, 0.0030354, 0.015034, 0.11109, 0.40762, 0.90718, 1.4227, 1.8268, 3.0119, 6.3763, 20.0] Min Value : 1.95E+04 Max Value : 6.72E+12 No. Bins > 0 (%) : 100.0 Average Ratio : 3.53E+00 Max Ratio : 7.11E+01 ------------------------------------------------------------------- .. code-block:: python ww.header.number_of_energy_bins # Same as ww.header.ne [27] .. code-block:: python ww.mesh.energy_mesh[0] # For particle_type 0 array([1.0000e-08, 3.0000e-08, 5.0000e-08, 1.0000e-07, 2.2500e-07, 3.2500e-07, 4.1399e-07, 8.0000e-07, 1.0000e-06, 1.1253e-06, 1.3000e-06, 1.8554e-06, 3.0590e-06, 1.0677e-05, 2.9023e-05, 1.0130e-04, 5.8295e-04, 3.0354e-03, 1.5034e-02, 1.1109e-01, 4.0762e-01, 9.0718e-01, 1.4227e+00, 1.8268e+00, 3.0119e+00, 6.3763e+00, 2.0000e+01]) .. code-block:: python ww.mesh.fine_geometry_mesh {'x': array([-25. , 1.5 , 28. , 54.5 , 81. , 107.5 , 109.16699982, 110.83300018, 112.5 ]), 'y': array([-40. , -21.25 , -2.5 , -0.83333302, 0.83333302, 2.5 , 21.25 , 40. ]), 'z': array([-40. , -21.25 , -2.5 , -0.83333302, 0.83333302, 2.5 , 21.25 , 40. ])} .. code-block:: python ww.values.ww_values[0] # For particle_type 0 array([[[3.74716e+11, 4.62784e+10, 2.04099e+10, ..., 1.61974e+09, 1.59127e+09, 1.57594e+09], [2.97558e+11, 4.26816e+10, 1.99507e+10, ..., 1.59839e+09, 1.57100e+09, 1.55731e+09], [2.51297e+11, 4.04473e+10, 1.97289e+10, ..., 1.58933e+09, 1.56242e+09, 1.54924e+09], ..., [3.08912e+09, 1.24770e+09, 6.99321e+08, ..., 4.39785e+07, 4.37943e+07, 4.39171e+07], [2.25040e+09, 9.90649e+08, 5.80925e+08, ..., 3.90302e+07, 3.89225e+07, 3.90854e+07], [1.49079e+09, 7.66075e+08, 4.95798e+08, ..., 4.03358e+07, 4.05160e+07, 4.09321e+07]]]) 3. **Query Weight Windows** ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Query weight windows by specifying parameters such as particle type, time, energy, and position coordinates. You can define each parameter as a single value or a range. Exact matches are not required—WWINPy will automatically find the closest match for you. .. code-block:: python ww.query_ww( particle_type=0, energy=(1, 20), x=(-20, 20), y=0, z=0 ).to_dataframe() Example output: .. raw:: html
| particle_type | time_start | time_end | energy_start | energy_end | x_start | x_end | y_start | y_end | z_start | z_end | ww_value | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0.0 | inf | 0.90718 | 1.4227 | -25.0 | 1.5 | -0.833 | 0.833 | -0.833 | 0.833 | 3.257030e+10 |
| 1 | 0 | 0.0 | inf | 0.90718 | 1.4227 | 1.5 | 28.0 | -0.833 | 0.833 | -0.833 | 0.833 | 2.141830e+09 |
| 2 | 0 | 0.0 | inf | 1.4227 | 1.8268 | -25.0 | 1.5 | -0.833 | 0.833 | -0.833 | 0.833 | 1.918890e+10 |
| 3 | 0 | 0.0 | inf | 1.4227 | 1.8268 | 1.5 | 28.0 | -0.833 | 0.833 | -0.833 | 0.833 | 1.468830e+09 |
| 4 | 0 | 0.0 | inf | 1.8268 | 3.0119 | -25.0 | 1.5 | -0.833 | 0.833 | -0.833 | 0.833 | 1.378580e+10 |
| 5 | 0 | 0.0 | inf | 1.8268 | 3.0119 | 1.5 | 28.0 | -0.833 | 0.833 | -0.833 | 0.833 | 1.190380e+09 |
| 6 | 0 | 0.0 | inf | 3.0119 | 6.3763 | -25.0 | 1.5 | -0.833 | 0.833 | -0.833 | 0.833 | 9.248920e+09 |
| 7 | 0 | 0.0 | inf | 3.0119 | 6.3763 | 1.5 | 28.0 | -0.833 | 0.833 | -0.833 | 0.833 | 9.358320e+08 |
| 8 | 0 | 0.0 | inf | 6.3763 | 20.0 | -25.0 | 1.5 | -0.833 | 0.833 | -0.833 | 0.833 | 5.637660e+09 |
| 9 | 0 | 0.0 | inf | 6.3763 | 20.0 | 1.5 | 28.0 | -0.833 | 0.833 | -0.833 | 0.833 | 7.149460e+08 |