nanotools.wavefunction module

Created on 2020-05-11

@author: Vincent Michaud-Rioux

class nanotools.wavefunction.Wavefunction(system, energy=NOTHING, solver=NOTHING, classname: str = NOTHING)[source]

Bases: Base

Wavefunction class.

Examples:

from nanotools import Wavefunction as WF
import numpy as np
calc = WF.from_totalenergy("nano_scf_out.json")
calc.system.kpoint.set_grid([3,3,3])
calc.solve()
system

Object containing system related parameters.

Type:

nanotools.system.System

energy

Object containing the total energy and its derivatives (force, stress, etc.).

Type:

nanotools.energy.Energy

solver

Object containing solver related parameters.

Type:

nanotools.solver.Solver

plot_isosurfaces(kpt=0, band=0, spin=1, vals=None)[source]

plot isosurface of selected wavefunction at given contour-values :param kpt: index of k-point, see system.kpoint.fractional_coordinates :type kpt: int :param band: band index :type band: int :param spin: +1/-1 spin up/down :type spin: int :param vals: contour values :type vals: list of float

solve(input='nano_wvf_in', output='nano_wvf_out')[source]

Performs a non.self-consistent calculation calling rescuplus.

Parameters:
  • filename (str) – The object is saved to an input file filename which is read by rescuplus.

  • output (str) – The results (with various extensions) are moved to files output and the results are loaded to the object.