Skip to main content

Phonon Monte Carlo simulator

Project description

FreePATHS - Free Phonon And THermal Simulator

This Monte Carlo algorithm simulates trajectories of phonons or electrons in 3D models of nanostructures, which consists of a box with holes, pillars, or interfaces of various shapes. For phonons, the algorithm outputs heat fluxes, temperature maps and profiles, thermal conductivity, scattering maps and statistics, and other information. For electrons, it outputs electrical conductivity, Seebeck coefficient, electronic thermal conductivity, power factor, and related quantities as a function of Fermi level. See documentation for the details of the simulation.

Screenshot

Installation

Installation is detailed in documentation. In short, install the package from PyPi repository by entering this command into a terminal or a python console:

pip install --upgrade freepaths

Usage

FreePATHS is a command line application, so it runs inside Linux, MacOS, or Windows terminal. It takes an input file from the user, which contains all the settings, and outputs the results in a new folder.

There are two modes of using the program. Main mode traces a large number of phonons through a structure and collects statistics about their paths. The MFP sampling mode measures phonon mean free paths using a small number of phonons and calculates the thermal conductivity by integrating phonon dispersion.

Getting started

If you run freepaths without any arguments, the program will print a usage summary. To run a demo simulation with default parameters, use the --demo flag:

freepaths --demo

Example input files are available in the examples folder.

Main mode

In the main mode, the program traces large number of phonons through a structure and calculates various statistical distributions and maps. In this mode, the thermal conductivity will be calculated via Fourier law. Note that the thermal conductivity will be correct only in the absence of holes.

Run the program as:

freepaths your_input_file.py

See documentation for explanations about creating your own input files. In the examples folder, you will find examples of various input files. Try using one of them, for instance as:

freepaths simple_nanowire.py

After the simulation, see the results in a newly created Results folder.

Electron mode

FreePATHS can also simulate electron transport. In this mode, electrons are traced through the structure and thermoelectric properties — electrical conductivity, Seebeck coefficient, electronic thermal conductivity, and power factor — are computed as a function of Fermi level. To run in electron mode, add the -e flag:

freepaths -e your_input_file.py

See the tutorial and theory for details.

MFP sampling mode

Alternatively, you can run FreePATHS in the mean free path sampling mode, which is designed to calculate the thermal conductivity by integrating phonon dispersion. To run the program in this mode, it is advised to reduce the number of phonons to about 30 and add -s flag in the command:

freepaths -s simple_nanowire.py

The calculated thermal conductivity will be output in the terminal. However, other statistical quantities and plots will still be calculated and output in the Results folder.

Troubleshooting

Disclaimer

The code is still in development and provided as is. It likely contains bugs or might be inappropriate for your research. It is your responsibility to understand the underlying physics, test the code, and verify that the equations and the code are correct. See documentation and the references below for more details on the code. Please use only officially published releases of the code and not current main branch, which can be unstable.

References and acknowledgments

The code is developed by Roman Anufriev, Philipp Gassmann, Simon Defradas and other contributors in Nomura lab at the University of Tokyo since 2018. If you would like to use this code for your research, please see the disclaimer above and consider citing the papers below, if it is appropriate. Details of the code and examples of the output can be found in the following papers:

  1. Anufriev et al. Materials Today Physics 15, 100272 (2021)
  2. Anufriev et al. Nanoscale, 11, 13407-13414 (2019)
  3. Anufriev et al. ACS Nano 12, 11928 (2018)
  4. Huang et al. ACS Applied Materials & Interfaces 12, 25478 (2020)

Development of this code was funded by the following grants:

  • PRESTO JST (No. JPMJPR19I1)
  • CREST JST (No. JPMJCR19Q3)
  • Kakenhi (15H05869, 15K13270, and 18K14078)
  • Postdoctoral Fellowship program of Japan Society for the Promotion of Science.

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

freepaths-2.3.0.tar.gz (59.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freepaths-2.3.0-py3-none-any.whl (68.2 kB view details)

Uploaded Python 3

File details

Details for the file freepaths-2.3.0.tar.gz.

File metadata

  • Download URL: freepaths-2.3.0.tar.gz
  • Upload date:
  • Size: 59.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for freepaths-2.3.0.tar.gz
Algorithm Hash digest
SHA256 a9f32deeced949b4c265fd678b30cd810d492f168d01bf79474343274ddcf406
MD5 2f3dcec67a5e2ddc91d4c516689b7508
BLAKE2b-256 bb350823d520bfc31f3b6330d0a60ebeae48fc2562de5b0e72113446017ce26f

See more details on using hashes here.

File details

Details for the file freepaths-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: freepaths-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 68.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for freepaths-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7989df4df39c6790e5255cb234a67e73439d20485c210d385159639dec3af6f9
MD5 0bc924201ecd390301988d434b92efb5
BLAKE2b-256 fc18b22607439f1b7654eca1a2306f00eef7ba6dc33464e83e34bfd5c17ed5e8

See more details on using hashes here.

Supported by

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