Coder Social home page Coder Social logo

caicheng-sicnu / giftbte Goto Github PK

View Code? Open in Web Editor NEW

This project forked from giftbte-developer/giftbte

0.0 0.0 0.0 8.47 MB

An efficient deterministic solver for phonon BTE

License: GNU General Public License v3.0

Shell 0.06% C++ 59.16% C 1.12% Verilog 38.80% MATLAB 0.43% Gnuplot 0.03% CMake 0.40%

giftbte's Introduction

GiftBTE

What is GiftBTE

GiftBTE is a powerful tool designed to investigate submicron heat conduction. At the submicron scale, the characteristic length of heat conduction becomes comparable to the phonon mean free path, rendering the macroscopic Fourier's law inapplicable. Instead, at this scale, the phonon Boltzmann transport equation accurately describes heat conduction. GiftBTE employs numerical methods to solve this equation and simulates submicron heat conduction. It takes phonon properties from first-principles simulations as input and provides a built-in database for some materials. Additionally, GiftBTE offers an interface with two external unstructured mesh generators and provides several examples. The tool is easy to use, as it only requires an environment with g++, MPI, and Cmake.

Video Links

https://www.bilibili.com/video/BV1BW4y1d7jn/?share_source=copy_web&vd_source=200fa4770a16926e2993543e680fef05

https://www.bilibili.com/video/BV1sX4y1J7bK/?share_source=copy_web&vd_source=200fa4770a16926e2993543e680fef05

https://www.bilibili.com/video/BV1r14y1Q7je/?share_source=copy_web&vd_source=200fa4770a16926e2993543e680fef05

https://www.bilibili.com/video/BV19u4y1S7ao/?share_source=copy_web&vd_source=200fa4770a16926e2993543e680fef05

Features

General

  • Deterministic solver of phonon Boltzmann transport equation
  • Applicable to any crystalline materials and structures
  • Applicable to steady-state and transient problem
  • Interface to ShengBTE, ALAMODE, GMSH, COMSOL, and Paraview packages
  • Mainly written in C++, parallelized in MPI

Application

  • Computing thermal conductivity of nanostructures such as nano-porous media, superlattice, nanowires, nano-composite
  • Predicting temperature rise in transistors
  • Simulating laser heating process
  • Other submicron heat conduction problems

Workflow

method-figure1

Links

License

This software is distributed under the GNU General Public License v3.0 license. See the LICENSE.txt file for license rights and limitations.

How to cite GiftBTE

Please cite the following papers when you use GiftBTE:

Yue Hu, Ru Jia, Jiaxuan Xu, Yufei Sheng, Minhua Wen, James Lin, Yongxing Shen, Hua Bao, GiftBTE: An efficient deterministic solver for non-gray phonon Boltzmann transport equation, J. Phys.: Condens. Matter (2023). https://doi.org/10.1088/1361-648X/acfdea.

Yue Hu, Yongxing Shen, Hua Bao, Ultra-efficient and parameter-free computation of submicron thermal transport with phonon Boltzmann transport equation, Fundamental Research (2022). https://doi.org/10.1016/j.fmre.2022.06.007.

Issues & Bug report

  • If you find a bug or issue related to GiftBTE, please report it at Github Issues
  • Other questions and suggestions can be posted on the Github Disccusions Github Disccusions

Acknowledgment

This project is/was partially supported by the following projects:

  • National Key R & D Project from Ministery of Science and Technology of China (Grant No. 2022YFA1203100)
  • National Natural Science Foundation of China (Grant No. 52122606)

Contributors & Contact

Authors: Yue Hu, Ru Jia, Jiaxuan Xu, Yufei Sheng, Minhua Wen, James Lin, Yongxing Shen, Hua Bao*

GiftBTE developers in TPEC Lab (Contact: [email protected])

TPEC Lab: https://sites.ji.sjtu.edu.cn/hua-bao/

Global Institute of Future Technology (GIFT)

Shanghai Jiao Tong University

China

Download

You can download the package from the git repository as: https://github.com/GiftBTE-developer/GiftBTE

Please download the ‘master’ branch.

Installation

Requirement

  • C++ compiler (gcc is recommended)
  • Cmake
  • MPI library (openmpi is recommended)
  • Linux environment is recommended

Install and compile

Step 1. Install all required packages

All packages are widely used packages. The installation of these packages can be easily found in web.

Ensure that the C++ compiler is installed

Type in command line

屏幕快照 2023-06-12 上午11 00 30

when output the version of gcc like:

屏幕快照 2023-06-12 上午11 01 09

Ensure that the MPI library is installed

Type in command line

屏幕快照 2023-06-12 上午11 02 57

when output the folder of mpirun like

屏幕快照 2023-06-12 上午11 03 30

Ensure that the Cmake is installed

Type in command line

屏幕快照 2023-06-12 上午11 04 59

when output the folder of cmake like

屏幕快照 2023-06-12 上午11 05 03

Step 2. Download source

You can download the package from the git repository as: https://github.com/GiftBTE-developer/GiftBTE

  • $ unzip GiftBTE-master.zip

Or directly clone the repository by git (may need installation)

Step 3. Build by CMake

Type in the command line under the GiftBTE folder

  • $ cd GiftBTE-master

  • $ cmake -B cpu-build -S. -DCMAKE_BUILD_TYPE=Release

  • $ cd cpu-build

  • $ make

Output in command line

1 2 3

Common error:

  • C++ compiler not found: the C++ compiler is not installed
  • MPI not found: the MPI library is not installed
  • If the CMake fails, please delete the cpu-build ($ rm -rf cpu-build) folder before retries.

Step 4. Run example

GiftBTE provides many examples under bin/examples. One can choose an example to test. For example: $ cd bin $ cd examples $ cd cross-plane $ cd 1e-6 $ mpirun -np 4 ../../../BTE_CPU

More details can be found in User's Mannual

giftbte's People

Contributors

joshuaxu7 avatar giftbte-developer avatar christyue avatar ruruujia avatar remussh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.