<reponame>cocteautwins/SIRIUS-develop<filename>doc/latex/classsirius_1_1_force.tex
\hypertarget{classsirius_1_1_force}{}\section{sirius\+:\+:Force Class Reference}
\label{classsirius_1_1_force}\index{sirius\+::\+Force@{sirius\+::\+Force}}


Compute atomic forces.  


\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classsirius_1_1_force_a01adf87ef1546f25a8fe29a602a1c4ae}{}static void {\bfseries total\+\_\+force} (\hyperlink{classsirius_1_1_simulation__context}{Simulation\+\_\+context} \&ctx\+\_\+\+\_\+, \hyperlink{classsirius_1_1_potential}{Potential} $\ast$potential\+\_\+\+\_\+, \hyperlink{classsirius_1_1_density}{Density} $\ast$density\+\_\+\+\_\+, \hyperlink{classsirius_1_1_k__point__set}{K\+\_\+point\+\_\+set} $\ast$ks\+\_\+\+\_\+, \hyperlink{classsddk_1_1mdarray}{mdarray}$<$ double, 2 $>$ \&force\+\_\+\+\_\+)\label{classsirius_1_1_force_a01adf87ef1546f25a8fe29a602a1c4ae}

\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{classsirius_1_1_force_a1c2dd9afd7532ca65d6b2faabea96ec9}{compute\+\_\+dmat} (\hyperlink{classsirius_1_1_simulation__parameters}{Simulation\+\_\+parameters} const \&parameters\+\_\+\+\_\+, \hyperlink{classsirius_1_1_k__point}{K\+\_\+point} $\ast$kp\+\_\+\+\_\+, \hyperlink{classsddk_1_1dmatrix}{dmatrix}$<$ double\+\_\+complex $>$ \&dm\+\_\+\+\_\+)
\item 
static void \hyperlink{classsirius_1_1_force_a356a57bb3c1971201d3feae6f19cf267}{ibs\+\_\+force} (\hyperlink{classsirius_1_1_simulation__context}{Simulation\+\_\+context} \&ctx\+\_\+\+\_\+, \hyperlink{classsirius_1_1_band}{Band} $\ast$band\+\_\+\+\_\+, \hyperlink{classsirius_1_1_k__point}{K\+\_\+point} $\ast$kp\+\_\+\+\_\+, \hyperlink{classsddk_1_1mdarray}{mdarray}$<$ double, 2 $>$ \&ffac\+\_\+\+\_\+, \hyperlink{classsddk_1_1mdarray}{mdarray}$<$ double, 2 $>$ \&force\+\_\+\+\_\+)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Compute atomic forces. 

Definition at line 38 of file force.\+h.



\subsection{Member Function Documentation}
\hypertarget{classsirius_1_1_force_a1c2dd9afd7532ca65d6b2faabea96ec9}{}\index{sirius\+::\+Force@{sirius\+::\+Force}!compute\+\_\+dmat@{compute\+\_\+dmat}}
\index{compute\+\_\+dmat@{compute\+\_\+dmat}!sirius\+::\+Force@{sirius\+::\+Force}}
\subsubsection[{compute\+\_\+dmat(\+Simulation\+\_\+parameters const \&parameters\+\_\+\+\_\+, K\+\_\+point $\ast$kp\+\_\+\+\_\+, dmatrix$<$ double\+\_\+complex $>$ \&dm\+\_\+\+\_\+)}]{\setlength{\rightskip}{0pt plus 5cm}void sirius\+::\+Force\+::compute\+\_\+dmat (
\begin{DoxyParamCaption}
\item[{{\bf Simulation\+\_\+parameters} const \&}]{parameters\+\_\+\+\_\+, }
\item[{{\bf K\+\_\+point} $\ast$}]{kp\+\_\+\+\_\+, }
\item[{{\bf dmatrix}$<$ double\+\_\+complex $>$ \&}]{dm\+\_\+\+\_\+}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}\label{classsirius_1_1_force_a1c2dd9afd7532ca65d6b2faabea96ec9}
In the second-\/variational approach we need to compute the following expression for the k-\/dependent contribution to the forces\+: \[ {\bf F}_{\rm IBS}^{\alpha}=\sum_{\bf k}w_{\bf k}\sum_{l\sigma}n_{l{\bf k}} \sum_{ij}c_{\sigma i}^{l{\bf k}*}c_{\sigma j}^{l{\bf k}} {\bf F}_{ij}^{\alpha{\bf k}} \] First, we sum over band and spin indices to get the \char`\"{}density matrix\char`\"{}\+: \[ q_{ij} = \sum_{l\sigma}n_{l{\bf k}} c_{\sigma i}^{l{\bf k}*}c_{\sigma j}^{l{\bf k}} \] 
\begin{DoxyItemize}
\item trivial case $\ast$/ 
\end{DoxyItemize}

Definition at line 29 of file force.\+cpp.

\hypertarget{classsirius_1_1_force_a356a57bb3c1971201d3feae6f19cf267}{}\index{sirius\+::\+Force@{sirius\+::\+Force}!ibs\+\_\+force@{ibs\+\_\+force}}
\index{ibs\+\_\+force@{ibs\+\_\+force}!sirius\+::\+Force@{sirius\+::\+Force}}
\subsubsection[{ibs\+\_\+force(\+Simulation\+\_\+context \&ctx\+\_\+\+\_\+, Band $\ast$band\+\_\+\+\_\+, K\+\_\+point $\ast$kp\+\_\+\+\_\+, mdarray$<$ double, 2 $>$ \&ffac\+\_\+\+\_\+, mdarray$<$ double, 2 $>$ \&force\+\_\+\+\_\+)}]{\setlength{\rightskip}{0pt plus 5cm}void sirius\+::\+Force\+::ibs\+\_\+force (
\begin{DoxyParamCaption}
\item[{{\bf Simulation\+\_\+context} \&}]{ctx\+\_\+\+\_\+, }
\item[{{\bf Band} $\ast$}]{band\+\_\+\+\_\+, }
\item[{{\bf K\+\_\+point} $\ast$}]{kp\+\_\+\+\_\+, }
\item[{{\bf mdarray}$<$ double, 2 $>$ \&}]{ffac\+\_\+\+\_\+, }
\item[{{\bf mdarray}$<$ double, 2 $>$ \&}]{force\+\_\+\+\_\+}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}\label{classsirius_1_1_force_a356a57bb3c1971201d3feae6f19cf267}

\begin{DoxyItemize}
\item multiply by energy $\ast$/ 
\end{DoxyItemize}

Definition at line 87 of file force.\+cpp.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{force_8h}{force.\+h}\item 
\hyperlink{force_8cpp}{force.\+cpp}\end{DoxyCompactItemize}
