diff --git a/docs/figures/ipi-comm.pdf b/docs/figures/ipi-comm.pdf new file mode 100644 index 000000000..187ebc67e Binary files /dev/null and b/docs/figures/ipi-comm.pdf differ diff --git a/docs/figures/ipi-comm.svg b/docs/figures/ipi-comm.svg new file mode 100644 index 000000000..f2132fd4a --- /dev/null +++ b/docs/figures/ipi-comm.svg @@ -0,0 +1,5413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + Update nuclei positions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open socket for communication + + + Check client status + + + Check client status + + + Ask and receive data + + + Report status + + + Receive data + + + Evaluate forces + + + + Send information + + + Report Status + + + Send data + + + i-PI + + + Client + + + + Connects to an open socket + + + Connection established + + + "STATUS" + + + "READY" + + + "STATUS" + + + "POSDATA"+{x,h} + + + + + + + + + + + + + + + + + Check client status + + + Report status + + + "STATUS" + + + "READY" + + + + + + + + + + + + + + Check client status + + + + + Report status + + + + + + receive + + + + receive + + + + + Waiting for message + + + + Wait for message: + + + "STATUS" + + + "READY" + + + Information flow + + + + + + + + + + + + + + + + + + Client/server actions sequence + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "HAVEDATA" + + + Update status + + + "GETFORCE" + + + "FORCEREADY" + + + {U,f,stress,x} + + + + Demands Energy and Forces to continue + + + + + + + + + + + + + + Update nuclei positions + + + + + + + Open socket for communication + + + Check client status + + + Check client status + + + Ask and receive data + + + Report status + + + Receive data + + + Evaluate forces + + + + Send information + + + Report Status + + + Send data + + + i-PI + + + Client + + + + Connects to an open socket + + + Connection established + + + "STATUS" + + + "READY" + + + "STATUS" + + + "POSDATA"+{x,h} + + + + + + + + + + + + + + + + + Check client status + + + Report status + + + "STATUS" + + + "NEEDINIT" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Receive data + + + Send information + + + "INIT" + + + + + + + + + + + + + + + + + + + "HAVEDATA" + + + Update status + + + "GETFORCE" + + + "FORCEREADY" + + + {U,f,stress,x-string} + + + {i,nbits,string} + + + + Demands Energy and Forces to continue + + + + + + + Waiting for message + + + + + diff --git a/docs/src/distributed.rst b/docs/src/distributed.rst index 449bee7a1..fe96aa0e1 100644 --- a/docs/src/distributed.rst +++ b/docs/src/distributed.rst @@ -78,6 +78,12 @@ follows: propagated for one more time step, and new force requests will be dispatched. + +.. figure:: ../figures/ipi-comm.* + :width: 90.0% + + A schematic simplified representation of the communication protocol + Parallelization ---------------