Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MC output explainations #344

Open
sjtuzhanglei opened this issue Dec 19, 2023 · 1 comment
Open

MC output explainations #344

sjtuzhanglei opened this issue Dec 19, 2023 · 1 comment

Comments

@sjtuzhanglei
Copy link

sjtuzhanglei commented Dec 19, 2023

Can you explain the meaning of the MC output in debug mode?

linear index: the i-th atom in the supercell written in the element order of the prim.json ?
b, i, j, k: lattice site 2 (starting at 0?) in the suprecell written in the element order of the prim.json ? What does 1 and 14 mean?
dCorr: change of correlations (aka, occupations) due to the proposed swap

What is M?
d(N)?
dx_dn?
Why we need to define a so-called param_chem_pot, and how it is defined?
d(Nunit * param_chem_pot * x)?
comp_x?

`-- Calculate properties --
Semi-grand canonical ensemble:
Thermodynamic potential (per unitcell), phi = -kTln(Z)/N
Partition function, Z = sum_i exp(-N
potential_energy_i/kT)
composition, comp_n = origin + M * comp_x
parametric chemical potential, param_chem_pot = M.transpose() * chem_pot
potential_energy (per unitcell) = formation_energy - param_chem_pot*comp_x

components: [ "H", "Va", "O", "Ru" ]
M:
-3
3
0
0
origin: 3 0 16 8
comp_n: 3 0 16 8
comp_x: 0
param_chem_pot: -4
param_chem_potcomp_x: -0
formation_energy: -0.068239416
formation_energy - param_chem_pot
comp_x: -0.068239416
potential_energy: -0.068239416

-- Set: Conditions --
T: 300
param_chem_pot: [ -4.000000000000 ]

-- Calculate: correlations --
i ECI corr
0 -0.068239416 1
1 -0.4921608 0
2 -0.57513597 0
3 -0.32782943 0
4 0.76020089 0
5 0 unknown
6 0.40752985 0
7 0.078196956 0
8 0.48753443 0
9 0.34770401 0
10 0 unknown
11 0 unknown
12 0 unknown
13 0 unknown
14 0.090237286 0
15 0.17759015 0
16 0.053180584 0
17 0.35700289 0
18 0 unknown
19 0 unknown
20 0 unknown
21 0 unknown
22 0 unknown
23 0 unknown
24 0 unknown
25 0.040641532 0
26 -0.026265846 0
27 -0.054149559 0
28 -0.065024059 0
29 0 unknown
30 0 unknown
31 0.080827808 0
32 0.056867848 0
33 0 unknown
34 0 unknown
35 0 unknown
36 0.024185671 0
37 0 unknown
38 0 unknown
39 0.021329173 0
40 0 unknown
41 0.026053415 0
42 0 unknown
43 0 unknown
44 0 unknown
45 0 unknown
46 0 unknown
47 0.023257662 0
48 -0.034457234 0
49 0 unknown
50 0 unknown
51 0 unknown
52 0 unknown
53 0 unknown
54 0 unknown
55 0 unknown
56 0 unknown
57 0 unknown
58 -0.034730982 0
59 0 unknown
60 0 unknown
61 -0.25941284 0
62 -0.63137492 0
63 0 unknown
64 0.057646228 0
65 0 unknown
66 -0.07092499 0
67 0.10580814 0
68 -0.057282828 0
69 0 unknown
70 0 unknown
71 -0.180348 0
72 0 unknown
73 0 unknown
74 0 unknown
75 0 unknown
76 0 unknown
77 -0.41974011 0
78 -0.48033532 0
79 0.038775982 0
80 0 unknown
81 0 unknown
82 0 unknown
83 0 unknown
84 0 unknown
85 0 unknown
86 0 unknown
87 0 unknown
88 0 unknown
89 0 unknown
90 0 unknown
91 0 unknown
92 0 unknown
93 0 unknown
94 0 unknown
95 0.10039789 0
96 -0.059605163 0
97 0 unknown
98 0 unknown
99 0 unknown
100 0.031974629 0
101 0 unknown
102 0 unknown
103 0 unknown
104 0 unknown
105 0 unknown
106 0 unknown
107 0.1005537 0
108 0 unknown
109 0 unknown
110 0 unknown
111 -0.090138374 0
112 -0.066826276 0
113 0.51554721 0
114 0 unknown
115 0 unknown

-- Calculate properties --
Semi-grand canonical ensemble:
Thermodynamic potential (per unitcell), phi = -kTln(Z)/N
Partition function, Z = sum_i exp(-N
potential_energy_i/kT)
composition, comp_n = origin + M * comp_x
parametric chemical potential, param_chem_pot = M.transpose() * chem_pot
potential_energy (per unitcell) = formation_energy - param_chem_pot*comp_x

components: [ "H", "Va", "O", "Ru" ]
M:
-3
3
0
0
origin: 3 0 16 8
comp_n: 3 0 16 8
comp_x: 0
param_chem_pot: -4
param_chem_potcomp_x: -0
formation_energy: -0.068239416
formation_energy - param_chem_pot
comp_x: -0.068239416
potential_energy: -0.068239416

-- Continue with existing DoF --

-- Write: DoF --
write: "/dartfs-hpc/scratch/f00765y/casm-prim/mc/superduper-prim-8161/conditions.0/initial_state.json"

-- Begin: Conditions 0 --

-- Propose event --
Mutating site (linear index): 294
Mutating site (b, i, j, k): 2, 6 4 0
Current occupant: 0 (H)
Proposed occupant: 1 (Va)

beta: 38.681687
T: 300
-- Calculate: delta correlations --
i ECI dCorr
0 -0.068239416 0
1 -0.4921608 0
2 -0.57513597 0
3 -0.32782943 1
4 0.76020089 0
5 0 unknown
6 0.40752985 0
7 0.078196956 -0
8 0.48753443 0
9 0.34770401 0
10 0 unknown
11 0 unknown
12 0 unknown
13 0 unknown
14 0.090237286 -0
15 0.17759015 -0
16 0.053180584 -0
17 0.35700289 0
18 0 unknown
19 0 unknown
20 0 unknown
21 0 unknown
22 0 unknown
23 0 unknown
24 0 unknown
25 0.040641532 -0
26 -0.026265846 0
27 -0.054149559 0
28 -0.065024059 -0
29 0 unknown
30 0 unknown
31 0.080827808 0
32 0.056867848 -0
33 0 unknown
34 0 unknown
35 0 unknown
36 0.024185671 0
37 0 unknown
38 0 unknown
39 0.021329173 0
40 0 unknown
41 0.026053415 -0
42 0 unknown
43 0 unknown
44 0 unknown
45 0 unknown
46 0 unknown
47 0.023257662 -0
48 -0.034457234 0
49 0 unknown
50 0 unknown
51 0 unknown
52 0 unknown
53 0 unknown
54 0 unknown
55 0 unknown
56 0 unknown
57 0 unknown
58 -0.034730982 0
59 0 unknown
60 0 unknown
61 -0.25941284 0
62 -0.63137492 0
63 0 unknown
64 0.057646228 0
65 0 unknown
66 -0.07092499 0
67 0.10580814 0
68 -0.057282828 0
69 0 unknown
70 0 unknown
71 -0.180348 0
72 0 unknown
73 0 unknown
74 0 unknown
75 0 unknown
76 0 unknown
77 -0.41974011 0
78 -0.48033532 0
79 0.038775982 0
80 0 unknown
81 0 unknown
82 0 unknown
83 0 unknown
84 0 unknown
85 0 unknown
86 0 unknown
87 0 unknown
88 0 unknown
89 0 unknown
90 0 unknown
91 0 unknown
92 0 unknown
93 0 unknown
94 0 unknown
95 0.10039789 0
96 -0.059605163 0
97 0 unknown
98 0 unknown
99 0 unknown
100 0.031974629 0
101 0 unknown
102 0 unknown
103 0 unknown
104 0 unknown
105 0 unknown
106 0 unknown
107 0.1005537 -0
108 0 unknown
109 0 unknown
110 0 unknown
111 -0.090138374 -0
112 -0.066826276 -0
113 0.51554721 0
114 0 unknown
115 0 unknown

components: [ "H", "Va", "O", "Ru" ]
d(N): -1 1 0 0
dx_dn:
-0.16666667 0.16666667 0 0
param_chem_pot.transpose() * dx_dn:
0.66666667 -0.66666667 0 0
param_chem_pot.transpose() * dx_dn * dN: -1.3333333
d(Nunit * param_chem_pot * x): -1.3333333
d(Ef): -0.32782943
d(Epot): 1.0055039

-- Check event --
Probability to accept: 1.2832034e-17
Random number: 0.89492994

-- Reject Event --

`

@bpuchala
Copy link
Contributor

bpuchala commented Dec 21, 2023

We've recently written an article describing CASM Monte Carlo methods, including the parametric composition axes and exchange chemical potentials (param_chem_pot) defined in terms of those axes, which are used in semi-grand canonical free energy defintion that might be useful in understanding this output. The preprint is available here.

The parametric composition axes are a choice of independent composition axes. For example, a binary has a single independent composition axis, a ternary has two, etc. If the occupants allowed on different sublattices vary, then the situation is a bit more complex, but can still be figured out.

linear index: the i-th atom in the supercell written in the element order of the prim.json ?

The occupation of a configuration in a particular supercell is stored as a linear vector of int. The order is in sublattice blocks (i.e. the first N_volume are sublattice 0, the second N_volume are sublattice 1, etc. where N_volume is the supercell volume as a multiple of the prim volume). You can query the particular coordinate associated with each linear site index using ccasm info.

b, i, j, k: lattice site 2 (starting at 0?) in the suprecell written in the element order of the prim.json ? What does 1 and 14 mean?

b=sublattice index, (i,j,k)=fractional coordinates of the unit cell containing the site. Also see ccasm info.

dCorr: change of correlations (aka, occupations) due to the proposed swap

Change in the correlations (cluster expansion basis functions normalized per supercell) due to the proposed swap.

What is M?

In the preprint, M is renamed Q, as defined in equation (2).

d(N)?

The change in total number of each occupant type due to the proposed event.

dx_dn?

The left pseudoinverse of Q, called R^T in the preprint. Here x refers to the parametric composition and n the number per unit cell composition, as in the preprint.

Why we need to define a so-called param_chem_pot, and how it is defined?

In the preprint, this is the exchange chemical potential, required for semi-grand canonical calculations because the number of sites is conserved.

d(Nunit * param_chem_pot * x)?

The change in the semi-grand canonical generalized enthalpy due to the exchange chemical potential and change in composition, see Eq. 28 and the following paragraph.

comp_x?

The parametric composition, x in the preprint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants