Changeset 182


Ignore:
Timestamp:
09/01/11 19:21:04 (21 months ago)
Author:
micael
Message:
  • Added section on how to store and access the pseudopotentials, projectors, and states.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/developers.txt

    r162 r182  
    22 * @mainpage Instructions for the developers of Libpspio 
    33 * 
    4  * @section Introduction 
     4 * @section intro Introduction 
    55 *  
    66 * One important aspect to pay attention to is to always distinguish clearly 
     
    1212 *  
    1313 *  
    14  * @section C headers 
     14 * @section c_headers C headers 
    1515 *  
    1616 * All headers containing data that will be accessed by the users of the 
     
    3737 * 
    3838 * 
    39  * @section Private extensions of external libraries 
     39 * @section libext Private extensions of external libraries 
    4040 * 
    4141 * Extending privately the capabilities of an external library is not a good 
     
    4444 * of such extensions directly with them. You might get them earlier than 
    4545 * you expect. 
    46  */ 
     46 * 
     47 * 
     48 * @section indexes Indexes of states, pseudopotentials, and projectors 
     49 * 
     50 * To each pseudopotential corresponds a specific pair of l and j 
     51 * quantum numbers. If we assume that in a set of pseudopotentials all 
     52 * the l values up to lmax are present, and that j = 0 when the 
     53 * pseudopotentials are non-relativistic, then we can uniquely identify 
     54 * an l, j pair by the index i = l + int(j). Thus the pseudopotentials 
     55 * in psp_data should be have a size of lmax*2+1 or lmax+1, depending if 
     56 * the atom is treated relativistically or not, and 
     57 * psp_data->pseudopotentials[l+int(j)] is the pseudopotential with 
     58 * quantum numbers l, j. 
     59 * 
     60 * As for the states, they will also have a n quantum number associated. 
     61 * In that case we create a matrix qn_to_i[n-1][l+int(j)], where i is 
     62 * define as in the previous paragraph, such that 
     63 * psp_data->states[qn_to_istates[n][l+int(j)]] is the state with 
     64 * quantum numbers n, l, j. The size of the first dimention of the 
     65 * psp_data->qn_to_i matrix will be maximum value of n, while the size 
     66 * of the second dimention will be lmax*2+1 or lmax+1, depending if the 
     67 * atom is treated relativistically or not. 
     68 * 
     69 * One of these two schemes can be used for the projectors, depending if 
     70 * there is more than a projector for each l, j pair. For now only  
     71 * norm-conserving pseudopotentials are supported, so the projectors will 
     72 * be stored like for the pseudopotentials. 
     73 * 
     74 **/ 
Note: See TracChangeset for help on using the changeset viewer.