kwant中如何定义垂直电场
时间: 2024-04-12 15:31:29 浏览: 11
在 Kwant 中定义垂直电场,可以使用两种方法:通过添加势能项或者通过添加磁场。
1. 添加势能项:
要在 Kwant 中定义垂直电场,可以通过在系统的哈密顿量中添加一个与位置有关的势能项。假设我们希望在 y 方向上施加一个垂直电场 E,可以使用以下代码来定义势能项:
```python
def onsite(site, E):
return (site.pos[1] - 0.5 * L) * E
```
这里的 `site` 是 Kwant 中的站点对象,`site.pos[1]` 是站点在 y 方向上的位置坐标,`L` 是系统的长度。然后,将该函数作为参数传递给系统的哈密顿量构造函数。
2. 添加磁场:
另一种方法是通过添加磁场来模拟垂直电场的效果。在 Kwant 中,可以通过设置系统中的磁场强度来实现。假设我们希望在 y 方向上施加一个垂直电场 E,可以使用以下代码来定义磁场强度:
```python
def vector_potential(site):
return [0, E * site.pos[0], 0]
syst = kwant.Builder()
syst[...] = ...
syst.mag_field(vector_potential)
```
这里的 `E` 是垂直电场的强度,在 `vector_potential` 函数中,我们返回一个矢量势(电磁矢势),其中只有 y 方向的分量与电场强度 E 相关。然后,我们将该矢量势传递给系统的 `mag_field` 方法来设置磁场。
这些方法可以根据具体的系统和需求进行调整和扩展。希望对你有所帮助!