diff --git a/docs/figures/ipi-comm.svg b/docs/figures/ipi-comm.svg index a37dbf6d5..39383667c 100644 --- a/docs/figures/ipi-comm.svg +++ b/docs/figures/ipi-comm.svg @@ -2,10 +2,14 @@ + - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - Update nuclei positions - - - - - - + id="g2-7-1-2-6-5" + transform="translate(-1355.4362,1941.3751)"> + Update nuclei positions + + + + + + + + + + + y="945.17651" + x="36.304005" + height="28.346443" + width="53.149616" + id="rect7075" + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - - - + d="m 738.01,522.65 v 0.03 0.04 0.03 l 0.01,0.02 v 0.03 0.03 0.02 l 0.01,0.02 0.01,0.03 v 0.02 l 0.01,0.02 0.01,0.02 0.02,0.01 0.01,0.02 0.02,0.01 0.02,0.02 0.02,0.01 0.02,0.01 0.01,0.01 h 0.02 l 0.01,0.01 h 0.01 l 0.02,0.01 h 0.02 l 0.01,0.01 h 0.02 l 0.02,0.01 h 0.02 0.02 l 0.02,0.01 h 0.02 0.02 0.03 l 0.02,0.01 h 0.03 0.02 0.03 0.03 0.03 0.03 l 0.03,0.01 h 0.03 0.03 0.04 0.03 0.04 0.26 v 0.31 c -0.35,-0.03 -1.14,-0.03 -1.51,-0.03 -0.39,0 -1.18,0 -1.53,0.03 v -0.31 h 0.26 c 0.79,0 0.82,-0.11 0.82,-0.47 v -5.23 c 0,-0.36 -0.03,-0.47 -0.82,-0.47 h -0.26 v -0.31 c 0.35,0.03 1.14,0.03 1.52,0.03 0.38,0 1.17,0 1.52,-0.03 v 0.31 h -0.26 c -0.79,0 -0.82,0.11 -0.82,0.47 z" + id="path4706" /> + + + + + + + + + + + + + + - - - - - - - - - - - - + id="g11107"> + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + transform="translate(0,-2.6581217)" + id="textext-a1bf2f39-4"> + + + + + + + + + - - - - - - - - - - - - - - - + id="g11134" + style="fill:#000000;fill-opacity:1"> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + id="textext-31f34bef-3"> + + + + + + - - - - - - - - - + id="g20265" + style="fill:#000000;fill-opacity:1"> + + + + + + + + + + + + + + + + + + - + style="fill:#000000;stroke-width:0" + d="m 704.69,530.89 v -0.13 l -0.01,-0.13 -0.02,-0.12 -0.01,-0.12 -0.03,-0.11 -0.03,-0.12 -0.03,-0.1 -0.04,-0.11 -0.04,-0.1 -0.04,-0.09 -0.05,-0.1 -0.06,-0.09 -0.05,-0.08 -0.06,-0.08 -0.07,-0.08 -0.06,-0.07 -0.07,-0.07 -0.07,-0.06 -0.08,-0.06 -0.07,-0.06 -0.08,-0.05 -0.08,-0.05 -0.08,-0.04 -0.08,-0.04 -0.09,-0.03 -0.08,-0.03 -0.09,-0.03 -0.09,-0.02 -0.09,-0.01 -0.08,-0.01 -0.09,-0.01 h -0.09 c -0.47,0 -1.64,0.24 -1.64,2.13 v 3.79 c 0,0.36 0.02,0.46 0.78,0.46 h 0.24 v 0.31 c -0.35,-0.03 -1.08,-0.03 -1.46,-0.03 -0.38,0 -1.12,0 -1.47,0.03 v -0.31 h 0.24 c 0.76,0 0.78,-0.1 0.78,-0.46 v -3.75 c 0,-1.4 1.16,-2.48 2.51,-2.48 1.14,0 2.04,0.92 2.21,2.05 0.03,0.2 0.03,0.29 0.03,0.69 v 3.18 c 0,0.33 0,0.77 1.02,0.77 v 0.31 c -0.36,-0.01 -0.83,-0.03 -1.17,-0.03 -0.35,0 -0.83,0.02 -1.19,0.03 v -0.31 c 1.03,0 1.03,-0.46 1.03,-0.73 z" + id="path15018" /> + + + - - + + - Open socket for communication + + + - Check client status + + + - - Check client status + + + - - Ask and receive data + + + + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)">Report status + + + Receive data + + + Evaluate forces + + + + Send information + + + Report Status + + + Send data + + + i-PI + + + Flow without init + + + Client + + + + Connects to an open socket + + + Connection established + + + "STATUS" + + + "READY" + + + "STATUS" + + + "POSDATA"+{x,h} + + + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.36452;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path105625-5-6-2-0-9-8-2" + transform="matrix(-0.01822294,-0.24445849,-0.44679153,0.00997054,-708.94874,998.30781)" + d="m 37.173747,-1039.9556 -31.8273283,-51.0401 60.1156773,-2.0433 z" /> + + + + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.36452;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path105625-5-6-2-0-9-8-2-0" + transform="matrix(-0.01822294,-0.24445849,-0.44679153,0.00997054,-708.94874,998.30781)" + d="m 37.173747,-1039.9556 -31.8273283,-51.0401 60.1156773,-2.0433 z" /> + + + - - - - - - - - - - Open socket for communication - + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.36452;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path105625-5-6-2-0-9-8-2-97" + transform="matrix(-0.01822294,-0.24445849,-0.44679153,0.00997054,-708.94874,998.30781)" + d="m 37.173747,-1039.9556 -31.8273283,-51.0401 60.1156773,-2.0433 z" /> + + + + + + Check client status + + + Report status + + + "STATUS" + + + "READY" + + + + + + + + + + + + + + Check client status + + + + id="g2-7-1-24" + transform="translate(-1582.7789,3897.66)"> Check client status + id="flowPara2-8-4-3">Report status + + + + id="g2-7-1-24-7" + transform="translate(-1585.2731,3764.9488)"> Check client status + id="flowPara2-8-4-3-6">receive + + + receive + + + + id="g2-7-1-24-7-9" + transform="translate(-1586.1954,3696.4265)"> Ask and receive data - - - Waiting Report status - - - Receive data - - - Evaluate forces + id="flowPara17">for message + + + Wait for message: + + + "STATUS" + + + "READY" + + + Information flow + + + - - Send information - - - Report Status - - - Send data - - - i-PI - - - Client - + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:0.69943" + id="rect105927-0-3-0-9-4-9-5-22" + width="2.6995442" + height="185.59146" + x="-980.11469" + y="-240.66032" + transform="rotate(-90)" /> + + + - - Connects to an open socket - - - Connection established - - - "STATUS" - - - "READY" - - - "STATUS" - - - "POSDATA"+{x,h} - - - - - + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:0.69943" + id="rect105927-0-3-0-9-4-9-5-2-2" + width="2.6995442" + height="185.59146" + x="-980.11469" + y="-240.66032" + transform="rotate(-90)" /> + + + + + + + + + + Client/server actions sequence + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "HAVEDATA" + + + Update status + + + "GETFORCE" + + + "FORCEREADY" + + + {U,f,stress,x} + + + + Demands Energy and Forces to continue + + + + + + + + + + + + + + - - + aria-label="Update nuclei positions" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-5-0-6-0" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + aria-label="Open socket for communication" + transform="matrix(1.0550189,0,0,1.0550189,-1626.9693,-3079.1762)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-0" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - Check client status + aria-label="Check client status" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-9" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + - Report status + aria-label="Check client status" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-1-03" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + - - "STATUS" + + + + + + + + + + + + + + + + + + + + + + - "READY" + aria-label="Report status" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-6" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + - - + aria-label="Receive data" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-5-4" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + - - + aria-label="Evaluate forces" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-5-0-3" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + - - - + + + - Check client status + aria-label="Send information" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-8-9" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + - - - Report status - + aria-label="Report Status" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-8-6-2" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + - - - receive - + aria-label="Send data" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-8-6-3-9" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + - receive + aria-label="i-PI" + transform="matrix(1.0550189,0,0,1.0550189,-1626.9693,-3079.1762)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-3-73" + style="font-size:37.914px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + - - - Waiting for message - + aria-label="Client" + transform="matrix(1.0550189,0,0,1.0550189,-1626.9693,-3079.1762)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-3-7-7" + style="font-size:37.914px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + - Wait for message: + aria-label="Connects to an open socket" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-0" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + + + + - "STATUS" + aria-label="Connection established" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-2" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + + + - "READY" + aria-label=""STATUS"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-18" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + - Information flow + aria-label=""READY"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-1-2" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + - - + aria-label=""STATUS"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-6-3" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + - - + aria-label=""POSDATA"+{x,h}" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-3-6" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + aria-label="Report status" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-6-3" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + - Client/server actions sequence + aria-label=""STATUS"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-18-9" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + - + + + + + + + + + + + + + + + + + id="rect105927-0-3-0-9-4-9-5-6-0" + style="fill-rule:evenodd;stroke-width:0.69943" + transform="rotate(-90)" + d="m -980.11469,-240.66032 h 2.69955 v 185.591457 h -2.69955 z" /> + + + id="rect105927-0-3-0-9-4-9-5-2-7-6" + style="fill-rule:evenodd;stroke-width:0.69943" + transform="rotate(-90)" + d="m -980.11469,-240.66032 h 2.69955 v 185.591457 h -2.69955 z" /> + + + + + + + + id="rect105927-0-3-0-9-4-9-5-2-9-9" + style="fill-rule:evenodd;stroke-width:0.676622" + transform="matrix(0,-1,-1,0,0,0)" + d="m -814.61481,71.862259 h 2.69955 V 245.54692 h -2.69955 z" /> + + + + + + + + + + + + id="rect105927-0-3-0-9-4-9-5-2-3-3" + style="fill-rule:evenodd;stroke-width:0.69943" + transform="rotate(-90)" + d="m -980.11469,-240.66032 h 2.69955 v 185.591457 h -2.69955 z" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + aria-label=""INIT"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-3-6-3" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + id="rect105927-0-3-0-9-4-9-5-2-3-3-9" + style="fill-rule:evenodd;stroke-width:0.69943" + transform="rotate(-90)" + d="m -980.11469,-240.66032 h 2.69955 v 185.591457 h -2.69955 z" /> + + - - + id="rect105927-0-3-0-9-4-9-5-2-3-5-9" + style="fill-rule:evenodd;stroke-width:0.69943" + transform="rotate(-90)" + d="m -980.11469,-240.66032 h 2.69955 v 185.591457 h -2.69955 z" /> + + + id="rect105927-0-3-0-9-4-9-5-0-6-8" + style="fill-rule:evenodd;stroke-width:0.69943" + transform="rotate(-90)" + d="m -980.11469,-240.66032 h 2.69955 v 185.591457 h -2.69955 z" /> + + + + + - - - - - - - - - - + aria-label=""HAVEDATA"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-1-8-3" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + - - + aria-label="Update status" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-5-0-8-8" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + - "HAVEDATA" + aria-label=""GETFORCE"" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-1-8-7-7" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + - Update status + aria-label=""FORCEREADY" " + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-1-8-74-3" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + - "GETFORCE" + aria-label="{U,f,stress,x-string}" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-1-8-74-5-1" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + + + - "FORCEREADY" + aria-label="{i,nbits,string}" + transform="matrix(1.0550189,0,0,1.0550189,-1657.787,-3149.2162)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-9-33-0-1-8-74-5-1-4" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + - {U,f,stress,x} + aria-label="Demands Energy and Forces to continue" + transform="matrix(1.0550189,0,0,1.0550189,-1624.6346,-3073.1061)" + id="flowRoot6048-3-3-7-5-02-5-7-9-9-6-0-5-0-6-6-0" + style="font-size:12.638px;line-height:125%;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';letter-spacing:0px;word-spacing:0px;stroke-width:1px"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + style="fill:#d7e0e6;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.905333;stroke-miterlimit:4;stroke-dasharray:2.716, 0.905333;stroke-dashoffset:0;stroke-opacity:1" + id="rect16178-0-0-8-9-0-8" + width="125.76196" + height="44.637253" + x="-162.36633" + y="1531.0286" + ry="5.8553896" /> + id="g2-7-1-24-7-9-1" + transform="translate(-1586.1954,3696.4265)"> Demands Energy and Forces Waiting 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 - + id="flowPara17-3">for message - + + + + Flow with init + + + Explanation of asynchronous mechanism + + + MC sketch