From e895e12bc0642939ef16cbc38c3a0d5ead6afb00 Mon Sep 17 00:00:00 2001
From: e3fm8 <wolf.widdra@physik.uni-halle.de>
Date: Wed, 14 Feb 2024 15:31:28 +0100
Subject: [PATCH] add summ rule; added LFO, BFO to materials

---
 libhreels/calcHREELS20.py  |  4 ++--
 libhreels/dielectrics20.py |  8 ++++++++
 libhreels/materials20.json | 28 +++++++++++++++++++++++-----
 3 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/libhreels/calcHREELS20.py b/libhreels/calcHREELS20.py
index e3bc30e..f01ab6e 100755
--- a/libhreels/calcHREELS20.py
+++ b/libhreels/calcHREELS20.py
@@ -176,8 +176,8 @@ class lambin:
 
                 norm=integrate.simps(cropped_spectra, dx=x[areanormalize_xstart+1]-x[areanormalize_xstart])
 
-        else:
-            print("not normalized")
+        # else:
+        #     print("not normalized")
         return xOut[:len(x)], spectrum[:len(x)]/norm
 
     def calcEps(self, x):
diff --git a/libhreels/dielectrics20.py b/libhreels/dielectrics20.py
index af0fc8b..52f3370 100755
--- a/libhreels/dielectrics20.py
+++ b/libhreels/dielectrics20.py
@@ -2,6 +2,7 @@
 import matplotlib.pyplot as plt
 import numpy as np
 from scipy import constants
+from scipy.integrate import cumulative_trapezoid
 
 def plasmaFrequency(n): 
     '''Returns the plasma frequency for a given doping.'''
@@ -42,6 +43,13 @@ def sigma(eps,w):
     '''Returns the complex conductivity for a given eps'''
     return (eps-1)*w/1j
 
+def int_sigma(eps,w):       
+    '''Cumulatively integrates the optical conductivity for a given eps'''
+    # Note that one value less is returned than the number of w values.
+    # The following factor depends on the unit cell volume:
+    fac = 0.67e-06
+    return fac*cumulative_trapezoid(np.real(sigma(eps,x)), x=w)
+
 def plotDielectrics(x,eps, title=" ", plot_show=True):
     '''This method plots a given (x,eps)-dataset as Re/Im(eps), SurfaceLoss and Reflectivity 
     '''
diff --git a/libhreels/materials20.json b/libhreels/materials20.json
index e9dee5f..2a656ac 100755
--- a/libhreels/materials20.json
+++ b/libhreels/materials20.json
@@ -29,9 +29,9 @@
     "Willet": {
         "eps": 4.12,
         "wTO": [188.0, 427.0, 495.72, 650.79, 708.2],
-        "gTO": [0.4,   5.0,    3.8,   22.5,    55.3],
-        "wLO": [276.4, 596.1, 495.5,  744.1,  702.2],
-        "gLO": [3.7,    7.2,   3.8,   12.1,    66.0],
+        "gTO": [  0.4,   5.0,   3.8,   22.5,   55.3],
+        "wLO": [276.4, 495.5, 596.1,  702.2,  744.1],
+        "gLO": [  3.7,   7.2,   3.8,   12.1,   66.0],
         "reference": "Willet-Gies'14",
         "name": "LaAlO_3"
     },
@@ -132,9 +132,9 @@
     "STO_DEG1": {
         "eps": 5.14285,
         "wTO": [ 98.0    , 174.367  , 548.821, 0.0  ],
-        "gTO": [ 62.488  ,   9.89216,  25.0  , -100 ],
+        "gTO": [ 62.488  ,   9.89216,  25.0  , 100 ],
         "wLO": [171.679  , 475.624  , 817.369, 200  ],
-        "gLO": [  6.11124,  29.9772 ,  60.0  , 0.0  ],
+        "gLO": [  6.11124,  29.9772 ,  60.0  , 100  ],
         "reference": "not working",
         "name": "SrTiO_3"
     },
@@ -201,6 +201,24 @@
         "reference": "Weaver'75, Seignac'72",
         "name": "Platinum"
     },
+    "LaFeO3": {
+        "eps": 4.74,
+        "wTO": [154.45,222.25, 533.10],
+        "gTO": [  17.4,  47.6,  49.9 ],
+        "wLO": [183.57,479.18, 670.46],
+        "gLO": [  15.3,  38.2,  43.7 ],
+        "reference": "Oelschläger'24",
+        "name": "LaFeO_3"
+    },
+    "BiFeO3": {
+        "eps": 5.17,
+        "wTO": [163.93,286.97, 529.86],
+        "gTO": [  20.0,  58.8,  44.7 ],
+        "wLO": [174.61,479.39, 609.05],
+        "gLO": [  10.5,  66.1,  54.6 ],
+        "reference": "Oelschläger'24",
+        "name": "BiFeO_3"
+    },    
     "test": {
         "eps": 5.25,
         "wTO": [493.7,	-10.0],
-- 
GitLab