# Angular dependent potentialΒΆ

The angular dependent potential (ADP) was proposed by Mishin et al. [MisMehPap05] and extends the EAM formalism with angular dependent dipole and quadrupole terms.

$E = \frac{1}{2} \sum_{ij} V(r_{ij}) + \sum_i F(\rho_i) + \frac{1}{2} \sum_{i,\alpha} (\mu_i^{\alpha})^2 + \frac{1}{2} \sum_{i,\alpha,\beta} (\lambda_i^{\alpha,\beta})^2 - \frac{1}{6} \sum_i \eta_i^2$

where

$\rho_i = \sum_j \rho_j(r_{ij}),$
$\mu_i^{\alpha} = \sum_{j\neq i} u_{ij}(r_{ij})r_{ij}^{\alpha},$
$\lambda_i^{\alpha,\beta} = \sum_{j\neq i} w_{ij}(r_{ij})r_{ij}^{\alpha}r_{ij}^{\beta}$

and

$\eta_i = \sum_{\alpha} \lambda_i^{\alpha\alpha}$

The functions $$V$$, $$F$$, $$\rho$$, $$u$$ and $$w$$ can be chosen freely using a math parser compose functional forms, similar to EAM potentials. The current implementation allows the electron density of EAM potentials to be defined for each pair of elements separately (i.e. for 2 Elements 3 functions can be defined). For ADPs the electron density at the position of some atom is only defined by the distance and species of the atoms surrounding it. Consequently, $$\rho$$ requires to set only one species. Furthermore, the additional function $$u$$ and $$w$$ have to be defined. The following code block illustrates the differences compared to setting up an EAM potential of a rather simple functional form. The main block is called <adp>.

<adp id="ADP_SAMPLE" species-a="*" species-b="*">

<mapping>
<pair-interaction species-a="*" species-b="*" function="V" />
<electron-density species="*" function="rho" />
<embedding-energy species="*" function="F" />
<u-function species-a="*" species-b="*" function="u" />
<w-function species-a="*" species-b="*" function="w" />
</mapping>

<functions>
<user-function id="V">
Same as EAM
</user-function>

<user-function id="rho">
Same as EAM, but only 1 per species
</user-function>

<user-function id="F">
Same as EAM
</user-function>

<user-function id="i">
<input-var>r</input-var>
<expression> exp(-twomu*r) </expression>
<derivative> -twomu*exp(-twomu*r) </derivative>
<param name="twomu">1.14</param>
<fit-dof> <twomu/> </fit-dof>
<screening>
<user-function id="rho_screening">
<cutoff>6.5</cutoff>
<input-var>r</input-var>
<expression> 1 - 1/(1 + ((r - cutoff) / h)^4) </expression>
<derivative> 4 * h^4 * (r - cutoff)^3 / ((h^4 + (r - cutoff)^4)^2) </derivative>
<param name="h">3</param>
</user-function>
</screening>
</user-function>

<user-function id="w">
<input-var>r</input-var>
<expression> exp(-twomu*r) </expression>
<derivative> -twomu*exp(-twomu*r) </derivative>
<param name="twomu">1.14</param>
<fit-dof> <twomu/> </fit-dof>
<screening>
<user-function id="rho_screening">
<cutoff>6.5</cutoff>
<input-var>r</input-var>
<expression> 1 - 1/(1 + ((r - cutoff) / h)^4) </expression>
<derivative> 4 * h^4 * (r - cutoff)^3 / ((h^4 + (r - cutoff)^4)^2) </derivative>
<param name="h">3</param>
</user-function>
</screening>
</user-function>

</functions>