k-dot-p 0.1

kdotp::libkdotp::hamiltonian::hamiltonian Class Reference

#include <hamiltonians.h++>

Collaboration diagram for kdotp::libkdotp::hamiltonian::hamiltonian:

List of all members.

Public Member Functions

 hamiltonian (struct libmodelxx::structure::generic_structure *struc, enum model model_, boundary_condition bc, bool second_neighbor)
double * get_eigenvectors_double (double eVmin, double eVmax, double **evals, int *n_eigs, GError **err) const
double * get_eigenvectors_int (int imin, int imax, double **evals, int *n_eigs, GError **err) const
double * get_eigenvectors (char VoI, double eVmin, double eVmax, int imin, int imax, double **evals, int *n_eigs, GError **err) const

Public Attributes

void * specific_hamiltonian
struct
libmodelxx::structure::generic_structure
s
enum model model

Private Member Functions

 hamiltonian ()

Detailed Description

Definition at line 49 of file hamiltonians.h++.


Constructor & Destructor Documentation

kdotp::libkdotp::hamiltonian::hamiltonian::hamiltonian ( struct libmodelxx::structure::generic_structure struc,
enum model  model_,
boundary_condition  bc,
bool  second_neighbor 
)

Sets up the Hamiltonian

Parameters:
structthe structure to be turned into a Hamiltonian
model

Definition at line 29 of file hamiltonians.c++.

References kdotp::libmodelxx::grid::CARTESIAN, kdotp::libmodelxx::structure::generic_structure::g, kdotp::libkdotp::hamiltonian::KDOTP_8BAND, kdotp::libkdotp::hamiltonian::KDOTP_EFFECTIVE_MASS, and specific_hamiltonian.

                                                                                                                                                 : s(struc), model(model_) {
  switch(model) {
  case KDOTP_EFFECTIVE_MASS:
    switch(struc->g->t) {
    case libmodelxx::grid::CARTESIAN:
      specific_hamiltonian = new cartesian_effective_mass(struc, bc, second_neighbor);
      break;
    }
    break;
  case KDOTP_8BAND:
    switch(struc->g->t) {
    case libmodelxx::grid::CARTESIAN:
      specific_hamiltonian = new cartesian_8band(struc, bc, second_neighbor);
      break;
    }
    break;
  }
      }
kdotp::libkdotp::hamiltonian::hamiltonian::hamiltonian ( ) [inline, private]

Definition at line 72 of file hamiltonians.h++.

{}

Member Function Documentation

double * kdotp::libkdotp::hamiltonian::hamiltonian::get_eigenvectors ( char  VoI,
double  eVmin,
double  eVmax,
int  imin,
int  imax,
double **  evals,
int *  n_eigs,
GError **  err 
) const

Definition at line 48 of file hamiltonians.c++.

References kdotp::libmodelxx::grid::CARTESIAN, kdotp::libmodelxx::structure::generic_structure::g, kdotp::libkdotp::hamiltonian::KDOTP_8BAND, kdotp::libkdotp::hamiltonian::KDOTP_EFFECTIVE_MASS, s, and specific_hamiltonian.

Referenced by get_eigenvectors_double(), and get_eigenvectors_int().

                                                                                                                                                    {
  switch(model) {
  case KDOTP_EFFECTIVE_MASS:
    switch(s->g->t) {
    case libmodelxx::grid::CARTESIAN:
      return ((cartesian_effective_mass*)specific_hamiltonian)->get_eigenvectors(VoI, eVmin, eVmax, imin, imax, evals, n_eigs, err);
      break;
    }
    break;
  case KDOTP_8BAND:
    switch(s->g->t) {
    case libmodelxx::grid::CARTESIAN:
      return ((cartesian_8band*)specific_hamiltonian)->get_eigenvectors(VoI, eVmin, eVmax, imin, imax, evals, n_eigs, err);
      break;
    }
    break;
  }
  return NULL;
      }

Here is the caller graph for this function:

double* kdotp::libkdotp::hamiltonian::hamiltonian::get_eigenvectors_double ( double  eVmin,
double  eVmax,
double **  evals,
int *  n_eigs,
GError **  err 
) const [inline]

Definition at line 61 of file hamiltonians.h++.

References get_eigenvectors().

                                                                                                               {
    return get_eigenvectors('V', eVmin, eVmax, 0, 0, evals, n_eigs, err);
  }

Here is the call graph for this function:

double* kdotp::libkdotp::hamiltonian::hamiltonian::get_eigenvectors_int ( int  imin,
int  imax,
double **  evals,
int *  n_eigs,
GError **  err 
) const [inline]

Definition at line 64 of file hamiltonians.h++.

References get_eigenvectors().

                                                                                                    {
    return get_eigenvectors('I', 0, 0, imin, imax, evals, n_eigs, err);
  }

Here is the call graph for this function:


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines