|
k-dot-p 0.1
|
| typedef libmodelxx::grid::cartesian_grid<libmodelxx::structure::material*,1,1> kdotp::libkdotp::hamiltonian::matgrid |
Definition at line 41 of file hamiltonian_cartesian_8band.c++.
| typedef libmodelxx::grid::cartesian_grid<libmodelxx::structure::material*,1,1> kdotp::libkdotp::hamiltonian::matgrid_t |
Definition at line 42 of file hamiltonian_cartesian_effective_mass.c++.
| typedef libmodelxx::grid::cartesian_grid<double,1,1> kdotp::libkdotp::hamiltonian::potgrid |
Definition at line 42 of file hamiltonian_cartesian_8band.c++.
| typedef libmodelxx::grid::cartesian_grid<double,1,1> kdotp::libkdotp::hamiltonian::potgrid_t |
Definition at line 43 of file hamiltonian_cartesian_effective_mass.c++.
Definition at line 44 of file hamiltonians.h++.
Definition at line 41 of file hamiltonian_cartesian_8band.h++.
Definition at line 50 of file hamiltonian_cartesian_effective_mass.h++.
| HAMILTONIAN_CARTESIAN_EFFECTIVE_MASS_GERROR_DOMAIN | |
| HAMILTONIAN_CARTESIAN_8BAND_GERROR_DOMAIN |
Definition at line 31 of file hamiltonians.h++.
Definition at line 39 of file hamiltonians.h++.
| static int kdotp::libkdotp::hamiltonian::check_constants_hermiticity | ( | unsigned short * | eye | ) | [static] |
does a quick check to make sure the constants matrix is truly Hermitean
| eye | pointer to a short unsigned int to store the row index of the invalid constant. |
Definition at line 139 of file hamiltonian_cartesian_8band.c++.
Referenced by kdotp::libkdotp::hamiltonian::cartesian_8band::cartesian_8band().
{
for(unsigned short i=0; i<8; i++) {
for(unsigned short j=0; j<8; j++) {
/*
*This is buggy and this file currently unused, so it's been commented out so that things will build.
if(consts_8band[get_consts_index(i, j)].re
!= consts_8band[get_consts_index(i, j)].re) {
*eye = i;
return -j;
}
if(consts_8band[get_consts_index(i, j)].im
!= -consts_8band[get_consts_index(i, j)].im) {
*eye = i;
return j;
}
*/
}
}
return 0;
}
Here is the caller graph for this function:| static short kdotp::libkdotp::hamiltonian::get_consts_index | ( | short unsigned | row, |
| short unsigned | col | ||
| ) | [inline, static] |
Simple helper function to get the appropriate constant out of consts_8band[]
Definition at line 128 of file hamiltonian_cartesian_8band.c++.
{
return row*8 + col;
}
| static GError* kdotp::libkdotp::hamiltonian::store_reduced_material_parameters | ( | struct parameters_8band_nostrain * | params, |
| matgrid * | mg, | ||
| potgrid * | pg | ||
| ) | [static] |
Definition at line 160 of file hamiltonian_cartesian_8band.c++.
References kdotp::libmodelxx::grid::cartesian_grid< T, D, Nc >::data, kdp::constants::e, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::Ec, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::Eso, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::Ev, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::gamma1, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::gamma2, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::gamma3, kdotp::libmodelxx::structure::material::get_name(), kdotp::libmodelxx::structure::material::get_property(), HAMILTONIAN_CARTESIAN_8BAND_GERROR_DOMAIN, kdp::constants::hbar, kdotp::libmodelxx::grid::cartesian_grid< T, D, Nc >::L, kdp::constants::m0, kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::oo_mstar, and kdotp::libkdotp::hamiltonian::parameters_8band_nostrain::P.
Referenced by kdotp::libkdotp::hamiltonian::cartesian_8band::cartesian_8band().
{
int e;
char *s;
const char* paramstring[] = {"E_g_Gamma", "E_v", "Delta", "m_e_Gamma", "gamma1", "gamma2", "gamma3", "Ep"};
double temp_params[8];
for(long unsigned i=0; i<mg->L[0]; i++) {
for(short unsigned p=0; p<8; p++) {
temp_params[i] = mg->data[i]->get_property(paramstring[p], &e);
if(e != 0) {
return g_error_new(HAMILTONIAN_CARTESIAN_8BAND_GERROR_DOMAIN, 10+e, "Got error %d getting property (%s) at site %lu (material %s).\n", e, paramstring[p], i, s=mg->data[i]->get_name());
}
}
params[i].Ec = temp_params[0]+temp_params[1];
params[i].Ev = temp_params[1];
params[i].Eso = temp_params[1]-temp_params[2];
params[i].P = sqrt(hbar*hbar/(2*m0)*temp_params[7]);
/*For the reduced param terms, see Winkler's Spin-orbit book page 216*/
params[i].oo_mstar = 1.0/temp_params[4] - temp_params[7]/(3*m0)*(2/(temp_params[0]+temp_params[1]) + 1/(temp_params[0]+temp_params[1]+temp_params[2]));
params[i].gamma1 = temp_params[4] - temp_params[7]/(3*(temp_params[0] + temp_params[1]));
params[i].gamma2 = temp_params[5] - temp_params[7]/(6*(temp_params[0] + temp_params[1]));
params[i].gamma3 = temp_params[6] - temp_params[7]/(6*(temp_params[0] + temp_params[1]));
}
return NULL;
}
Here is the call graph for this function:
Here is the caller graph for this function:const struct llw_complex_double kdotp::libkdotp::hamiltonian::consts_8band[] [static] |
Definition at line 50 of file hamiltonian_cartesian_8band.c++.