ML LCOUPLE: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TAGDEF|ML_FF_LCOUPLE_MB|[logical]|.FALSE.}}
{{DISPLAYTITLE:ML_LCOUPLE}}
{{TAGDEF|ML_LCOUPLE|[logical]|.FALSE.}}


Description: This tag specifies whether coupling parameters are used for the calculation of chemical potentials is used or not within the machine learning force field method.
Description: This tag specifies whether thermodynamic integration is activated in order to calculate the chemical potentials within the machine learning force field method.
----
----


Line 7: Line 8:


<math>
<math>
\delta \mu = \int\limits_{0}^{1} \langle \frac{dH(\lambda)}{d\lambda} \rangle_{\lambda} d\lambda.
\Delta \mu = \int\limits_{0}^{1} \langle \frac{dH(\lambda)}{d\lambda} \rangle_{\lambda} d\lambda.
</math>
</math>


Line 16: Line 17:
</math>
</math>


where <math>N_{a}</math> denotes the number of atoms and <math> U_{i,\mathbf{atom}}</math> is an atomic reference energy for a single non interacting atom. The first term in the equation describes the potential energy and the second and third term describe the potential energy of an atom <math>i</math>. The index <math>M</math> denotes the atoms whose interaction is controlled by a coupling parameter. The interaction of the atoms are controlled by scaling the contributions to the atom density via the coupling parameter
where <math>N_{a}</math> denotes the number of atoms and <math> U_{i,\mathbf{atom}}</math> is an atomic reference energy for a single non interacting atom. The first term in the equation describes the potential energy and the second and third term describe the potential energy of an atom <math>i</math>. The index <math>M</math> denotes the atoms whose interaction is controlled by a coupling parameter. The interactions of the atoms are controlled by scaling the contributions to the atom density via the coupling parameter


<math>
<math>
\rho (\mathbf{r},\lambda) = \sum\limits_{j\notin M} f_{\mathrm{cut}} \left( \left| \mathbf{r}_{j} - \mathbf{r}_{i} \right| \right) g \left[ \mathbf{r} - \left( \mathbf{r}_{j} - \mathbf{r}_{i} \right) \right] + \lambda \sum\limits_{j\in M} f_{\mathrm{cut}} \left( \left| \mathbf{r}_{j} - \mathbf{r}_{i} \right| \right).
\rho (\mathbf{r},\lambda) = \sum\limits_{j\notin M} f_{\mathrm{cut}} \left( \left| \mathbf{r}_{j} - \mathbf{r}_{i} \right| \right) g \left[ \mathbf{r} - \left( \mathbf{r}_{j} - \mathbf{r}_{i} \right) \right] + \lambda \sum\limits_{j\in M} f_{\mathrm{cut}} \left( \left| \mathbf{r}_{j} - \mathbf{r}_{i} \right| \right) g \left[ \mathbf{r} - \left( \mathbf{r}_{j} - \mathbf{r}_{i} \right) \right].
</math>   
</math>   


Line 26: Line 27:


For thermodynamic integration the following parameters have to be set:
For thermodynamic integration the following parameters have to be set:
*{{TAG|ML_FF_ISTART}}=2.
*{{TAGO|ML_MODE|run}}.
*{{TAG|ML_FF_LCOUPLE_MB}}=''.TRUE.''.
*{{TAGO|ML_LCOUPLE|.TRUE.}}.
*The number of atoms for which a coupling parameter is introduced (<math>i \notin M </math>): {{TAG|ML_FF_NATOM_COUPLED_MB}}.
*The number of atoms for which a coupling parameter is introduced (<math>i \in M </math>): {{TAG|ML_NATOM_COUPLED}}.
*The list of atom indices that for that the coupling parameter is applied in the interaction: {{TAG|ML_FF_ICOUPLE_MB}}.
*The list of atom indices that for that the coupling parameter is applied in the interaction: {{TAG|ML_ICOUPLE}}.
*The strength of the coupling parameter <math>lambda</math> between 0 and 1: {{TAG|ML_FF_RCOUPLE_MB}}.
*The strength of the coupling parameter <math>\lambda</math> between 0 and 1: {{TAG|ML_RCOUPLE}}.


The derivative of the hamiltonian with respect to the coupling constant <math>dH/d\lambda</math> is written out at every MD step to the {{TAG|ML_LOGFILE}}. A sample output should look like the following
The derivative of the hamiltonian with respect to the coupling constant <math>dH/d\lambda</math> is written out at every MD step to the {{TAG|ML_LOGFILE}}. A sample output should look like this:
  dH/dRCOUPLE (eV):     0.893558
 
# DCOUPLE ################################
# DCOUPLE This line shows the derivative of the Hamiltonian with respect to coupling constant (dH/dlambda).
# DCOUPLE
# DCOUPLE nstep .......... MD time step or input structure counter
  # DCOUPLE der_H_lambda ... dH/dlambda
# DCOUPLE ################################
# DCOUPLE          nstep     der_H_lambda
# DCOUPLE              2                3
# DCOUPLE ################################
DCOUPLE                1  -1.08332135E+01
DCOUPLE                2  -1.08132321E+01
DCOUPLE                3  -1.07631992E+01
DCOUPLE                4  -1.06786675E+01
DCOUPLE                5  -1.05493088E+01
DCOUPLE                6  -1.03561161E+01
DCOUPLE                7  -1.00762443E+01
DCOUPLE                8  -9.69961878E+00
DCOUPLE                9  -9.25531640E+00
DCOUPLE                10  -8.82525354E+00
...


== References ==
== References ==
Line 40: Line 61:
<noinclude>
<noinclude>


== Related Tags and Sections ==
== Related tags and articles ==
{{TAG|ML_FF_LMLFF}}, {{TAG|ML_FF_NATOM_COUPLED_MB}}, {{TAG|ML_FF_ICOUPLE_MB}}, {{TAG|ML_FF_RCOUPLE_MB}}
{{TAG|ML_LMLFF}}, {{TAG|ML_NATOM_COUPLED}}, {{TAG|ML_ICOUPLE}}, {{TAG|ML_RCOUPLE}}


{{sc|ML_FF_LCOUPLE_MB|Examples|Examples that use this tag}}
{{sc|ML_LCOUPLE|Examples|Examples that use this tag}}
----
----


[[Category:INCAR]][[Category:Machine Learning]][[Category:Machine Learned Force Fields]][[Category: Alpha]]
[[Category:INCAR tag]][[Category:Machine-learned force fields]]

Latest revision as of 11:07, 11 November 2023

ML_LCOUPLE = [logical]
Default: ML_LCOUPLE = .FALSE. 

Description: This tag specifies whether thermodynamic integration is activated in order to calculate the chemical potentials within the machine learning force field method.


In thermodynamic integration a coupling parameter is introduced to the Hamiltonian to smoothly switch between a "non-interacting" reference state and a "fully-interacting" state. The change of the free energy along this path is written as

Using machine learning force fields the Hamiltonian can be written as

where denotes the number of atoms and is an atomic reference energy for a single non interacting atom. The first term in the equation describes the potential energy and the second and third term describe the potential energy of an atom . The index denotes the atoms whose interaction is controlled by a coupling parameter. The interactions of the atoms are controlled by scaling the contributions to the atom density via the coupling parameter


Further details on the implementation can be found in reference [1].

For thermodynamic integration the following parameters have to be set:

  • ML_MODE = run.
  • ML_LCOUPLE = .TRUE..
  • The number of atoms for which a coupling parameter is introduced (): ML_NATOM_COUPLED.
  • The list of atom indices that for that the coupling parameter is applied in the interaction: ML_ICOUPLE.
  • The strength of the coupling parameter between 0 and 1: ML_RCOUPLE.

The derivative of the hamiltonian with respect to the coupling constant is written out at every MD step to the ML_LOGFILE. A sample output should look like this:

# DCOUPLE ################################
# DCOUPLE This line shows the derivative of the Hamiltonian with respect to coupling constant (dH/dlambda).
# DCOUPLE 
# DCOUPLE nstep .......... MD time step or input structure counter
# DCOUPLE der_H_lambda ... dH/dlambda
# DCOUPLE ################################
# DCOUPLE           nstep     der_H_lambda
# DCOUPLE               2                3
# DCOUPLE ################################
DCOUPLE                 1  -1.08332135E+01
DCOUPLE                 2  -1.08132321E+01
DCOUPLE                 3  -1.07631992E+01
DCOUPLE                 4  -1.06786675E+01
DCOUPLE                 5  -1.05493088E+01
DCOUPLE                 6  -1.03561161E+01
DCOUPLE                 7  -1.00762443E+01
DCOUPLE                 8  -9.69961878E+00
DCOUPLE                 9  -9.25531640E+00
DCOUPLE                10  -8.82525354E+00
...

References


Related tags and articles

ML_LMLFF, ML_NATOM_COUPLED, ML_ICOUPLE, ML_RCOUPLE

Examples that use this tag