QNANO
Public Types | Public Member Functions | Public Attributes | List of all members
TB_Model_spdsstar Class Reference
Inheritance diagram for TB_Model_spdsstar:
Inheritance graph
[legend]
Collaboration diagram for TB_Model_spdsstar:
Collaboration graph
[legend]

Public Types

typedef std::pair< const TB_Parameter *, int > PAR_TYP
 

Public Member Functions

virtual size_t get_nr_at () const
 How many atoms.
 
void read_data_from_files (const std::string matdir, const std::string pos, const std::string nei)
 
double get_average_surface_shift (const std::vector< PAR_TYP > &par_typ) const
 
double get_average_Delta_so (const std::vector< PAR_TYP > &par_typ) const
 
void add_diags10_nostrain (double *diags, const PAR_TYP &par_typ, int nr_nonzero_nei) const
 fill array of 10 doubles corresponding to the onsite diagonal energies (without strain correction) of one spin component for a single material
 
void get_diags10_nostrain (double *diags, const std::vector< PAR_TYP > &par_typs) const
 get diagonal energies from atom_index only
 
void get_offdiagonals (double *offdiags, const PAR_TYP &par_typ, const Vec3d D, bool account_for_bond_stretch=true) const
 obtain off-diagonal elements from Slater-Koster (cf. original paper from Slater and Koster for basic rules and geometry, Marek's review for the inclusion of strain)
 
void add_straincorrection (double *correction, const PAR_TYP &par_typ, const double *diags_nostrain, const double *diags_neighbor, const double *offdiags, const double *offdiags_eq) const
 
void get_surface_block (double *block, int atom_index) const
 
void get_Matrix_row_block (std::vector< col_val > &col_val_vec, const int atom_index)
 central function to generate block of Hamoltonian row corresponding to one atom in sparse matrix form
 
virtual void setup (Parameter_Map &param_map)
 
virtual void setup ()
 
 TB_Model_spdsstar (Parameter_Map &param_map)
 
- Public Member Functions inherited from TB_Model
virtual size_t get_nr_orbs_per_at (size_t atom=0) const
 
- Public Member Functions inherited from Sparse_Matrix_Generator
void dump_sparse_Matrix (const std::string &file_IA, const std::string &file_JA, const std::string &file_values)
 Support for dumping the sparse Matrix.
 
- Public Member Functions inherited from Organize_Blocks
size_t get_range_size (size_t block_start, size_t nr_blocks) const
 
- Public Member Functions inherited from Organize_Blocks_Equal
void set_block_size (size_t bs)
 
void set_nr_blocks (size_t nr)
 
virtual size_t get_block_size (size_t block=0) const
 
virtual size_t get_base_index (size_t block) const
 
virtual size_t get_nr_blocks () const
 
virtual size_t get_DIM () const
 
 Organize_Blocks_Equal (size_t bs=1, size_t nr=0)
 

Public Attributes

Atom_List atlist
 
TB_Parameter_List parlist
 
Neighbor_List neilist
 
Neighbor_List neilist_unrelaxed
 
bool without_spinorbit
 
bool without_surface
 
bool without_strain_correction
 
bool passivate_sstar
 
bool passivate_d
 
std::string materialdirectory
 
std::string positionfile
 
std::string neighborfile
 

Additional Inherited Members

- Protected Attributes inherited from Organize_Blocks_Equal
size_t blocksize
 
size_t nrblocks
 

Member Function Documentation

void TB_Model_spdsstar::add_straincorrection ( double *  correction,
const PAR_TYP &  par_typ,
const double *  diags_nostrain,
const double *  diags_neighbor,
const double *  offdiags,
const double *  offdiags_eq 
) const

Get diagonal strain corrections from one bond. Requires unstrained diagonals on both atoms as well as strained and unstraind offdiagonal blocks

void TB_Model_spdsstar::get_surface_block ( double *  block,
int  atom_index 
) const

Get block for s and p states describing surface passivation. Assumption: sp^3 hybridisation

void TB_Model_spdsstar::setup ( Parameter_Map param_map)
virtual

Move the task of reading in parameters outside of the implementation (TB_Model can be ignorant of calling program)

Implements TB_Model.


The documentation for this class was generated from the following files: