|
k-dot-p 0.1
|
#include <hamiltonians.h++>
Collaboration diagram for kdotp::libkdotp::hamiltonian::hamiltonian: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 () | |
Definition at line 49 of file hamiltonians.h++.
| kdotp::libkdotp::hamiltonian::hamiltonian::hamiltonian | ( | struct libmodelxx::structure::generic_structure * | struc, |
| enum model | model_, | ||
| boundary_condition | bc, | ||
| bool | second_neighbor | ||
| ) |
Sets up the Hamiltonian
| struct | the 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++.
{}
| 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:Definition at line 53 of file hamiltonians.h++.
Definition at line 52 of file hamiltonians.h++.
Referenced by get_eigenvectors().
Definition at line 51 of file hamiltonians.h++.
Referenced by get_eigenvectors(), and hamiltonian().