Skip to content

Commit

Permalink
Merge pull request #2 from eimrek/release/1.4.1
Browse files Browse the repository at this point in the history
Release/1.4.1
  • Loading branch information
eimrek authored May 11, 2021
2 parents bbe2091 + dfd8a72 commit 3bea42f
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
},
"outputs": [],
"source": [
"mfh_model.report(num_orb=2, sts_h=3.0, sts_broad=0.04)"
"mfh_model.report(num_orb=2, sts_h=10.0, sts_broad=0.05)"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setuptools.setup(
name="tb-mean-field-hubbard",
version="1.4.0",
version="1.4.1",
author="Kristjan Eimre",
author_email="[email protected]",
description="Package to run tight-binding mean field hubbard calculations",
Expand Down
2 changes: 1 addition & 1 deletion tb_mean_field_hubbard/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from .mfh import MeanFieldHubbardModel

__version__ = "1.4.0"
__version__ = "1.4.1"
14 changes: 7 additions & 7 deletions tb_mean_field_hubbard/mfh.py
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ def _get_atoms_extent(self, atoms, edge_space):
ymax = np.max(atoms.positions[:, 1]) + edge_space
return xmin, xmax, ymin, ymax

def calc_orb_ldos_map(self, i_spin, i_orb, h=6.0, edge_space=5.0, dx=0.1, z_eff=1):
def calc_orb_map(self, i_spin, i_orb, h=10.0, edge_space=5.0, dx=0.1, z_eff=3.25):

extent = self._get_atoms_extent(self.ase_geom, edge_space)

Expand All @@ -336,9 +336,9 @@ def calc_orb_ldos_map(self, i_spin, i_orb, h=6.0, edge_space=5.0, dx=0.1, z_eff=
pz_orb = utils.carbon_2pz_slater(local_grid[0] - p[0], local_grid[1] - p[1], h, z_eff)
orb_map[local_i[0]:local_i[1], local_i[2]:local_i[3]] += coef * pz_orb

return np.abs(orb_map)**2
return orb_map

def calc_sts_map(self, energy, broadening=0.05, h=6.0, edge_space=5.0, dx=0.1, z_eff=1):
def calc_sts_map(self, energy, broadening=0.05, h=10.0, edge_space=5.0, dx=0.1, z_eff=3.25):

extent = self._get_atoms_extent(self.ase_geom, edge_space)
# define grid
Expand All @@ -351,20 +351,20 @@ def calc_sts_map(self, energy, broadening=0.05, h=6.0, edge_space=5.0, dx=0.1, z
for i_orb, evl in enumerate(self.evals[i_spin]):
if np.abs(energy - evl) <= 3.0 * broadening:
broad_coef = utils.gaussian(energy - evl, broadening)
orb_ldos_map = self.calc_orb_ldos_map(i_spin, i_orb, h, edge_space, dx, z_eff)
orb_ldos_map = np.abs(self.calc_orb_map(i_spin, i_orb, h, edge_space, dx, z_eff))**2
final_map += broad_coef * orb_ldos_map
return final_map

def plot_sts_map(self,
ax,
energy,
broadening=0.05,
h=6.0,
h=10.0,
edge_space=5.0,
dx=0.1,
title=None,
cmap='seismic',
z_eff=1):
z_eff=3.25):

final_map = self.calc_sts_map(energy, broadening, h, edge_space, dx, z_eff)

Expand All @@ -374,7 +374,7 @@ def plot_sts_map(self,
ax.axis('off')
ax.set_title(title)

def report(self, num_orb=2, sts_h=3.5, sts_broad=0.05):
def report(self, num_orb=2, sts_h=10.0, sts_broad=0.05):

print(f"multiplicity: {self.multiplicity:12d}")
print(f"abs. magnetization: {self.abs_mag:12.4f}")
Expand Down
16 changes: 8 additions & 8 deletions tb_mean_field_hubbard/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,23 +215,23 @@ def radial(r, n, l):
return orbital


def carbon_2pz_slater(x, y, z, z_eff=1):
def carbon_2pz_slater(x, y, z, z_eff=3.25):
"""Carbon 2pz slater orbital
z_eff determines the effective nuclear charge interacting with the pz orbital
Options:
Potential options:
z_eff = 1
This corresponds to a hydrogen-like 2pz orbital
it matches best with DFT reference and is thus the default
This corresponds to a hydrogen-like 2pz orbital and in
some cases matches well with DFT reference
z_eff = 3.136
Based on https://en.wikipedia.org/wiki/Effective_nuclear_charge
Value shown in https://en.wikipedia.org/wiki/Effective_nuclear_charge
z_eff = 3.25
This is the value calculated by Slater's rules
https://en.wikipedia.org/wiki/Slater%27s_rules
This value matches with https://doi.org/10.1038/s41557-019-0316-8
This is the value calculated by Slater's rules (https://en.wikipedia.org/wiki/Slater%27s_rules)
This value is also used in https://doi.org/10.1038/s41557-019-0316-8
This is the default.
"""
r_grid = np.sqrt(x**2 + y**2 + z**2) # angstrom
Expand Down

0 comments on commit 3bea42f

Please sign in to comment.