Easy Parameter Setting#
It is useful to have every parameter in a single dictionary to be able to control everything easier. Also, having simple key-value pairs for every parameter instead of constructing each by hand makes setting up pipelines much easier.
To make your parameters out of a single dictionary and somewhat more easily, you can use
elecboltz.easy_params. For example:
import elecboltz
params = elecboltz.easy_params({
'a': 3.75,
'b': 3.75,
'c': 13.2,
'energy_scale': 160,
'band_params': {'mu': -0.8243, 't': 1, 'tp':-0.1364,
'tpp': 0.0682, 'tz': 0.0651},
'scattering_models': ['isotropic', 'cos2phi'],
'scattering_params': {'gamma_0': 12.595, 'gamma_k': 63.823, 'power': 12.0},
'resolution': 41,
'domain_size': [1.0, 1.0, 2.0]
'periodic': 2
'field': [0.0, 0.0, 1.0]
})
band = elecboltz.BandStructure(**params)
band.discretize()
cond = elecboltz.Conductivity(**params)
cond.calculate()
Here, we have just calculated the coonductivity of Nd-LSCO using a tight-binding model.
By default, easy_params generates band structures using a tight-binding model
inferred from the parameters given in 'band_params'. Since constructing the scattering
function by hand every time can be tedious (especially since there are only a handful of
them that are used frequently), 'scattering_models' and 'scattering_params'
are provided to automatically make the functions based on the information.
For more details on easy_params, see the API documentation.