模拟量子力学k·p哈密顿量的包
项目描述
# semicon - 使k·p模拟变得简单
注意:这是一个正在进行中的工作,欢迎提出评论和想法!
本包的目的是提供一个易于使用的框架来执行k·p模拟。
该框架将包含两个主要组件:参数和模型。
本包旨在减少进行k·p模拟时的开销和样板代码。
它旨在使事情更简单,因此用户友好的界面是优先考虑的。
## 模型
模型基于k·p Kane哈密顿量,并按照Burt-Foreman方法进行对称化。
用户应能够选择要包含哪些组件(泽曼、Dresselhaus、应变等)以及哪些能带('gamma_6c'、'gamma_8v'等)。
## 参数
参数库应包含最常见的半导体材料。
辅助函数应基于包含的能带和避免虚假解的方法进行参数归一化。
## 辅助函数
本框架的目标是使k·p模拟变得简单。
然而,构建实际的Kwant系统和进行模拟应由用户完成,本库仅提供针对k·p模拟中遇到的问题的特定辅助工具。
## 要求
* 此包应与Kwant的最新稳定版兼容。
* 此包需要[SciPy 1.2](https://github.com/scipy/scipy/milestone/36),预计于2018年11月发布。
这是由于使用了[scipy.spatial.transform.Rotation](https://scipy.github.io/devdocs/generated/scipy.spatial.transform.Rotation.html#scipy.spatial.transform.Rotation)来找到给定旋转矩阵的旋转向量。
* 由于项目基于离散化器sympy,需要sympy,但由于兼容性问题[问题](https://gitlab.kwant-project.org/kwant/kwant/issues/225),它必须低于1.2版本。
## 安装
由于此包是纯Python,从源代码进行标准Python安装应该没有问题:
```
python setup.py build
python setup.py install
```
应该没有问题。
唯一可能引起问题的非平凡依赖是Kwant,如果不事先安装,则可以通过``conda``或其他在[主页](https://kwant-project.org/)上解释的安装方式获得。
也可以直接从git安装(只要conda包还没有出来)
pip install git+https://gitlab.kwant-project.org/semicon/semicon.git
```
请注意,由于积极开发,master分支可能不稳定。
```
要安装已在研究项目中使用过的版本,请使用:
pip install git+https://gitlab.kwant-project.org/semicon/semicon.git@v0.1.0
```
## 在Docker容器内开发的技巧
```
可以轻松使用[rafalskolasinski/science](https://github.com/RafalSkolasinski/science-docker)
Docker容器用于本项目开发。
假设``semicon``文件夹是``~/work/semicon``,执行以下操作:
docker pull rafalskolasinski/science:semicon
```
docker run -d -p 8888:8888 --name semicon \
-v ~/work/semicon:/src -v ~/work/semicon/notebooks:/home/jovyan/work \
rafalskolasinski/science:semicon
This will mount source code in ``/src`` and project notebooks in ``~/work``
```
inside the container. It will also start ``jupyter notebook`` server running
at ``localhost:8888``. You will need to read jupyter's server token with
``docker logs semicon`` to access the server.
You can now use ``docker exec semicon build`` and ``docker exec semicon test``
to build the package or run the tests respectively.
您可以通过运行
docker exec -it semicon bash
```
进入容器内的bash。
```
测试的优雅格式化输出(带颜色)
```
docker exec -it semicon test -v
```
注意:这是一个正在进行中的工作,欢迎提出评论和想法!
本包的目的是提供一个易于使用的框架来执行k·p模拟。
该框架将包含两个主要组件:参数和模型。
本包旨在减少进行k·p模拟时的开销和样板代码。
它旨在使事情更简单,因此用户友好的界面是优先考虑的。
## 模型
模型基于k·p Kane哈密顿量,并按照Burt-Foreman方法进行对称化。
用户应能够选择要包含哪些组件(泽曼、Dresselhaus、应变等)以及哪些能带('gamma_6c'、'gamma_8v'等)。
## 参数
参数库应包含最常见的半导体材料。
辅助函数应基于包含的能带和避免虚假解的方法进行参数归一化。
## 辅助函数
本框架的目标是使k·p模拟变得简单。
然而,构建实际的Kwant系统和进行模拟应由用户完成,本库仅提供针对k·p模拟中遇到的问题的特定辅助工具。
## 要求
* 此包应与Kwant的最新稳定版兼容。
* 此包需要[SciPy 1.2](https://github.com/scipy/scipy/milestone/36),预计于2018年11月发布。
这是由于使用了[scipy.spatial.transform.Rotation](https://scipy.github.io/devdocs/generated/scipy.spatial.transform.Rotation.html#scipy.spatial.transform.Rotation)来找到给定旋转矩阵的旋转向量。
* 由于项目基于离散化器sympy,需要sympy,但由于兼容性问题[问题](https://gitlab.kwant-project.org/kwant/kwant/issues/225),它必须低于1.2版本。
## 安装
由于此包是纯Python,从源代码进行标准Python安装应该没有问题:
```
python setup.py build
python setup.py install
```
应该没有问题。
唯一可能引起问题的非平凡依赖是Kwant,如果不事先安装,则可以通过``conda``或其他在[主页](https://kwant-project.org/)上解释的安装方式获得。
也可以直接从git安装(只要conda包还没有出来)
pip install git+https://gitlab.kwant-project.org/semicon/semicon.git
```
请注意,由于积极开发,master分支可能不稳定。
```
要安装已在研究项目中使用过的版本,请使用:
pip install git+https://gitlab.kwant-project.org/semicon/semicon.git@v0.1.0
```
## 在Docker容器内开发的技巧
```
可以轻松使用[rafalskolasinski/science](https://github.com/RafalSkolasinski/science-docker)
Docker容器用于本项目开发。
假设``semicon``文件夹是``~/work/semicon``,执行以下操作:
docker pull rafalskolasinski/science:semicon
```
docker run -d -p 8888:8888 --name semicon \
-v ~/work/semicon:/src -v ~/work/semicon/notebooks:/home/jovyan/work \
rafalskolasinski/science:semicon
This will mount source code in ``/src`` and project notebooks in ``~/work``
```
inside the container. It will also start ``jupyter notebook`` server running
at ``localhost:8888``. You will need to read jupyter's server token with
``docker logs semicon`` to access the server.
You can now use ``docker exec semicon build`` and ``docker exec semicon test``
to build the package or run the tests respectively.
您可以通过运行
docker exec -it semicon bash
```
进入容器内的bash。
```
测试的优雅格式化输出(带颜色)
```
docker exec -it semicon test -v
```
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源代码分发
semicon-0.2.0.tar.gz (21.4 kB 查看哈希)
构建分发
semicon-0.2.0-py3-none-any.whl (25.9 kB 查看散列值)
关闭
semicon-0.2.0.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2e72b566634a005866c57d4b54dcf6b8b678ca94be526b198b715b643551c8ce |
|
MD5 | 68ed72c47b8eb4d0dff522cc0dda283d |
|
BLAKE2b-256 | b9a00f7f36f059a69f66a0dae4b28b8a3f49404031e366100fd09dcb3c8fcb1b |
关闭
semicon-0.2.0-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 5aff4855e3598e722eea8de3d96a6779f907777f3b941d4ade1c7b28eebff0ac |
|
MD5 | 1daecd5d0fde17552319f97988012c5e |
|
BLAKE2b-256 | 15858b9b0b50c4bb16bb92cfb50ffa7d9f6637b954fd471e6aff1b2785ea9e11 |