Skip to content

Latest commit

 

History

History
108 lines (80 loc) · 5.65 KB

File metadata and controls

108 lines (80 loc) · 5.65 KB

Frequency-based nanoparticle sensing over large field ranges using the ferromagnetic resonances of a magnetic nanodisc: supplementary material

DOI arxiv Binder MIT license

This repository accompanies the paper "Frequency-based nanoparticle sensing over large field ranges using the ferromagnetic resonances of a magnetic nanodisc", published in Nanotechnology, Volume 27, Number 45. It provides the data underlying the figures in the paper, as well as Jupyter notebooks to reproduce those figures.

The latest version of this repository can be found at https://github.com/maxalbert/paper-supplement-nanoparticle-sensing


Authors: Maximilian Albert, Marijan Beg, Dmitri Chernyshenko, Marc-Antonio Bisotti, Rebecca L. Carey, Hans Fangohr and Peter Metaxas.

Contents

The directory notebooks/ contains Jupyter notebooks for the relevant figures in the paper. On Github you can view them directly in the browser:

The raw data is available in the file data/eigenmode_info_data_frame.csv, which is a CSV (= comma-separated values) file containing the simulation parameters and computed resonant frequencies for all performed simulations. All notebooks use this data to generate the figures. The data format is explained in the notebook Explanation of the data format.

Executing the notebooks

Using a cloud Jupyter server via Binder (no installation required)

The easiest way to execute the notebooks without installing anything is to launch a cloud Jupyter server using Binder. You can access it here:

http://mybinder.org/repo/maxalbert/paper-supplement-nanoparticle-sensing

After clicking on the link you may need to wait for a minute or so while a fresh Jupyter server is being generated. Once this process is complete it will show a dashboard with the contents of this repository. Navigate to the notebooks folder and click on any of the .ipynb files to open the corresponding Jupyter notebook. To reproduce the associated paper figure execute all cells through the the menu item Cell -> Run All. For more information on Jupyter notebooks see their documentation.

Running the notebooks locally on your machine

In order to run the notebooks on your own computer, follow the steps below.

  1. Clone this repository and change into the newly created directory:

    git clone https://github.com/maxalbert/paper-supplement-nanoparticle-sensing.git
    cd paper-supplement-nanoparticle-sensing
    
  2. Make sure that you have all required dependencies installed (see below; we recommend the installation using conda if possible).

  3. Start a notebook server:

    jupyter notebook
    

    This will open a browser window with a dashboard showing the contents of this repository.

  4. Navigate to the notebooks/ folder and open any of the .ipynb files. You can reproduce the associated figure by selecting the menu item Cell -> Run All.

Required dependencies

In order to execute the notebooks, the following dependencies are required.

  • python
  • ipython
  • jupyter
  • matplotlib (>= 1.5)
  • numexpr
  • pandas (>= 0.18)
  • statsmodels

You can install them using pip as follows:

pip install ipython jupyter matplotlib numexpr pandas statsmodels

However, be aware that this may potentially take a long time (and you may need to install additional dependencies via your distribution's package manager).

Alternatively, if you have conda installed (which comes with the Anaconda distribution or can be installed via Miniconda) then the recommended (and much faster) way to install these dependencies is by running the following command from the toplevel of this repository:

conda env create -f environment.yml

This will create a conda environment called particle-sensing which contains all the required dependencies. Don't forget to activate the new environment before running the notebooks:

source activate particle-sensing  # on Linux/Unix
activate particle-sensing         # on Windows