Clarify association of ECIs with species in the case of multiple sub-lattices

Description

Consider a situation, in which a cluster expansion is constructed for a system with multiple sublattices. As a user I would like to know, which species are associated with each ECI.

For illustration

from ase.build import bulk
from icet import ClusterSpace

prim = bulk('MgO', crystalstructure='rocksalt', a=6.0)
species = [['Zn', 'Ca'], ['O', 'S']]
cs = ClusterSpace(atoms=prim, cutoffs=[7.0], chemical_symbols=species)
print(cs)

yields

=============================== Cluster Space ================================
 chemical species: ['Zn', 'Ca'] ['O', 'S'] 
 cutoffs: 7.0000
 total number of orbits: 10
 number of orbits by order: 0= 1  1= 2  2= 7
------------------------------------------------------------------------------
index | order |  radius  | multiplicity | orbit_index | multi_component_vector
------------------------------------------------------------------------------
   0  |   0   |   0.0000 |        1     |      -1     |           .           
   1  |   1   |   0.0000 |        1     |       0     |          [0]          
   2  |   1   |   0.0000 |        1     |       1     |          [0]          
   3  |   2   |   1.5000 |        6     |       2     |         [0, 0]        
   4  |   2   |   2.1213 |        6     |       3     |         [0, 0]        
   5  |   2   |   2.1213 |        6     |       4     |         [0, 0]        
   6  |   2   |   2.5981 |        8     |       5     |         [0, 0]        
   7  |   2   |   3.0000 |        3     |       6     |         [0, 0]        
   8  |   2   |   3.0000 |        3     |       7     |         [0, 0]        
   9  |   2   |   3.3541 |       24     |       8     |         [0, 0]        
==============================================================================

There are two singlets corresponding to the two sublattices. How do I tell them apart?

The pair at 1.5 is the first mixed interaction (lattice A-lattice B).

The pairs at 2.1213 are for the respective sublattice interactions (A-A and B-B). How can I tell those apart (the multi-component vectors are the same)?

Suggested solution (based on discussion below)

=============================== Cluster Space ================================
 chemical species: ['Zn', 'Ca'] (sublattice A), ['O', 'S'] (sublattice B)
 cutoffs: 7.0000
 total number of orbits: 10
 number of orbits by order: 0= 1  1= 2  2= 7
--------------------------------------------------------------------------------------------
index | order |  radius  | multiplicity | orbit_index | multi_component_vector | sublattice
-------------------------------------------------------------------------------------------
   0  |   0   |   0.0000 |        1     |      -1     |           .            |
   1  |   1   |   0.0000 |        1     |       0     |          [0]           |     A
   2  |   1   |   0.0000 |        1     |       1     |          [0]           |     B
   3  |   2   |   1.5000 |        6     |       2     |         [0, 0]         |     A-A
   4  |   2   |   2.1213 |        6     |       3     |         [0, 0]         |     B-B
   5  |   2   |   2.1213 |        6     |       4     |         [0, 0]         |     A-B
   6  |   2   |   2.5981 |        8     |       5     |         [0, 0]         |     B-B
   7  |   2   |   3.0000 |        3     |       6     |         [0, 0]         |     A-B
   8  |   2   |   3.0000 |        3     |       7     |         [0, 0]         |     A-A
   9  |   2   |   3.3541 |       24     |       8     |         [0, 0]         |     A-A
=============================================================================================

The output of the multi-component vectors should be suppressed for binaries. Include sublattice index in Pandas dataframe for ECIs.

Demo

  • if this information can be extracted with the existing functionality it should be documented (see #321 (closed))
  • if not this issue should be used to create the functionality
Edited Feb 14, 2019 by Paul Erhart
Assignee Loading
Time tracking Loading