I am currently learning to fit a cluster expansion (CE) using icet, but I am confused by some of the basic concepts, especially the meaning of multiplicity and how clusters are represented. I would really appreciate it if someone could clarify these concepts by anwser me some question for following examples. I will use simple cubic as primitive cell created by ase.build.bulk('Au', 'sc', a=4.0):
Example 1: binary system (Au–Pd)
from ase.build import bulk
from icet import ClusterSpace
primitive_structure = bulk('Au', 'sc', a=4.0)
cutoffs = [4.0]
cluster_space = ClusterSpace(
structure=primitive_structure,
cutoffs=cutoffs,
chemical_symbols=['Au', 'Pd']
)
print(cluster_space)
print()
print("Orbital information:")
print(cluster_space.orbital_list[1])
Output:
====================================== Cluster Space ======================================
space group : Pm-3m (221)
chemical species : ['Au', 'Pd'] (sublattice A)
cutoffs : 4.0000
total number of parameters : 3
number of parameters by order : 0= 1 1= 1 2= 1
fractional_position_tolerance : 2e-06
position_tolerance : 1e-05
symprec : 1e-05
-------------------------------------------------------------------------------------------
index | order | radius | multiplicity | orbit_index | multicomponent_vector | sublattices
-------------------------------------------------------------------------------------------
0 | 0 | 0.0000 | 1 | -1 | . | .
1 | 1 | 0.0000 | 1 | 0 | [0] | A
2 | 2 | 2.0000 | 3 | 1 | [0, 0] | A-A
Order: 2
Multiplicity: 3
Radius: 2.0000
Representative cluster:
Site: 0, Offset: 0 0 0, Position: 0.00 0.00 0.00
Site: 0, Offset: -1 0 0, Position: -4.00 0.00 0.00
We see that:
- Only one cluster (index=1) belongs to
cluster_space.orbital_list[0]. - The multiplicity of
cluster_space.orbital_list[1]is 3.
Questions (binary case):
- For
orbital_list[0]: Why is there only one point cluster? Since there are two chemical species (Au, Pd), I expected two point clusters. - For
orbital_list[1]: Only index=2 belongs here. I thought there should be three types of pair clusters (Au–Au, Au–Pd, Pd–Pd), but the output only shows one withmulticomponent_vector = [0, 0]. Why are [0, 1] and [1, 1] not included?
Example 2: ternary system (Au–Pd–Cu)
from ase.build import bulk
from icet import ClusterSpace
primitive_structure = bulk('Au', 'sc', a=4.0)
cutoffs = [4.0]
cluster_space = ClusterSpace(
structure=primitive_structure,
cutoffs=cutoffs,
chemical_symbols=['Au', 'Pd', 'Cu']
)
print(cluster_space)
print()
print("Orbital information:")
print(cluster_space.orbital_list[1])
Output:
====================================== Cluster Space ======================================
space group : Pm-3m (221)
chemical species : ['Au', 'Cu', 'Pd'] (sublattice A)
cutoffs : 4.0000
total number of parameters : 6
number of parameters by order : 0= 1 1= 2 2= 3
...
index | order | radius | multiplicity | orbit_index | multicomponent_vector | sublattices
-------------------------------------------------------------------------------------------
0 | 0 | 0.0000 | 1 | -1 | . | .
1 | 1 | 0.0000 | 1 | 0 | [0] | A
2 | 1 | 0.0000 | 1 | 0 | [1] | A
3 | 2 | 2.0000 | 3 | 1 | [0, 0] | A-A
4 | 2 | 2.0000 | 6 | 1 | [0, 1] | A-A
5 | 2 | 2.0000 | 3 | 1 | [1, 1] | A-A
Order: 2
Multiplicity: 3
Radius: 2.0000
Representative cluster:
Site: 0, Offset: 0 0 0, Position: 0.00 0.00 0.00
Site: 0, Offset: -1 0 0, Position: -4.00 0.00 0.00
We see that:
- Two clusters (index=1, 2) belong to
cluster_space.orbital_list[0]. - The multiplicity of
cluster_space.orbital_list[1]is 3.
Questions (ternary case):
- Why does the binary system only have one point cluster, while the ternary system has two? Shouldn’t the number of point clusters equal the number of chemical symbols?
- Why are there three clusters (index=3, 4, 5) belonging to
orbital_list[1]? In the binary case there was only one. Where do these additional clusters come from? - Why does the cluster with index=4 have multiplicity = 6, while the others have multiplicity = 3?
Any explanation (especially with physical intuition behind multiplicity and multicomponent_vector) would help me understand CE and use icet more effectively for fitting.
Thanks in advance!
