Overview

Task Dependency Graph

The simulation is composed of a set of tasks that have dependencies between them, e.g. the forces must be computed before integrating the particles velocities and positions. The following graph represents the tasks that are executed at every time step and there dependencies:

digraph "Task graph" {
bgcolor = "#FFFFFFFF"
splines = "true"
outputorder = "edgesfirst"
esep = "0"
pad = "2"
node [label = "",penwidth = "0.000000",height = "0.555556",width = "3.777778",tooltip = "",color = "#FFFFFFFF",fillcolor = "#8DDAFFFF",shape = "rectangle",style = "solid,rounded,filled",fontname = "SansSerif",fontsize = "14",fontcolor = "#000000FF",fixedsize = "true",labelloc = "c"]
edge [label = "",penwidth = "3.000000",tooltip = "",arrowhead = "normal",arrowtail = "none",color = "#FFFFFFFF",fontname = "SansSerif",fontsize = "10",fontcolor = "#000000FF",style = "solid",dir = "both"]
"42§62" [label = "Plugins: before particles distribution",pos = "-182.383721,-1395.116279"]
"41§63" [label = "Plugins: after integration",pos = "-147.383721,-580.116279"]
"40§64" [label = "Plugins: before integration",pos = "5.949612,-265.116279"]
"39§65" [label = "Plugins: serialize and send",pos = "-237.383721,-165.116279"]
"38§66" [label = "Plugins: before forces",pos = "-327.383721,419.883721"]
"37§67" [label = "Plugins: before cell lists",pos = "17.616279,1174.883721"]
"36§68" [label = "Object redistribute finalize",pos = "2.616279,-825.116279"]
"35§69" [label = "Object redistribute init",pos = "2.616279,-755.116279"]
"34§70" [label = "Particle redistribute finalize",pos = "-279.883721,-1565.116279"]
"33§71" [label = "Particle redistribute init",pos = "-279.883721,-1495.116279"]
"32§72" [label = "Wall check",pos = "-377.383721,-580.116279"]
"31§73" [label = "Wall bounce",pos = "-172.383721,-465.116279"]
"30§74" [label = "Correct object belonging",pos = "247.616279,1174.883721"]
"29§75" [label = "Halo object bounce",pos = "-42.383721,-1280.116279"]
"28§76" [label = "Local object bounce",pos = "-102.383721,-1010.116279"]
"27§77" [label = "Clear object local forces",pos = "-102.383721,-925.116279"]
"26§78" [label = "Clear object halo forces",pos = "-67.383721,-1180.116279"]
"25§79" [label = "Clear halo object intermediate",pos = "412.616279,944.883721"]
"24§80" [label = "Clear local object intermediate",pos = "-47.383721,944.883721"]
"23§81" [label = "Object reverse final: finalize",pos = "222.616279,-80.116279"]
"22§82" [label = "Object reverse final: init",pos = "222.616279,-10.116279"]
"21§83" [label = "Object reverse intermediate: finalize",pos = "297.616279,519.883721"]
"20§84" [label = "Object reverse intermediate: init",pos = "297.616279,589.883721"]
"19§85" [label = "Object halo intermediate finalize",pos = "-7.383721,204.883721"]
"18§86" [label = "Object halo intermediate init",pos = "-7.383721,289.883721"]
"17§87" [label = "Object halo final finalize",pos = "-2.383721,-1080.116279"]
"16§88" [label = "Object halo final init",pos = "127.616279,-925.116279"]
"15§89" [label = "Accumulate forces",pos = "105.949612,-165.116279"]
"14§90" [label = "Halo forces",pos = "-74.050388,89.883721"]
"13§91" [label = "Local forces",pos = "222.616279,289.883721"]
"12§92" [label = "Particle halo final finalize",pos = "-237.383721,204.883721"]
"11§93" [label = "Particle halo final init",pos = "-237.383721,289.883721"]
"10§94" [label = "Clear forces",pos = "-327.383721,844.883721"]
"9§95" [label = "Gather intermediate",pos = "117.616279,419.883721"]
"8§96" [label = "Accumulate intermediate",pos = "67.616279,589.883721"]
"7§97" [label = "Halo intermediate",pos = "297.616279,689.883721"]
"6§98" [label = "Local intermediate",pos = "17.616279,844.883721"]
"5§99" [label = "Particle halo intermediate finalize",pos = "247.616279,774.883721"]
"4§100" [label = "Particle halo intermediate init",pos = "247.616279,844.883721"]
"3§101" [label = "Particle clear intermediate",pos = "182.616279,944.883721"]
"2§102" [label = "Integration",pos = "105.116279,-365.116279"]
"1§103" [label = "Build cell-lists",pos = "67.616279,1074.883721"]
"0§104" [label = "Checkpoint",pos = "-277.383721,944.883721"]
"39§65" -> "41§63" [color = "#000000FF"]
"39§65" -> "40§64" [color = "#000000FF"]
"38§66" -> "39§65" [color = "#000000FF"]
"38§66" -> "14§90" [color = "#000000FF"]
"38§66" -> "13§91" [color = "#000000FF"]
"38§66" -> "11§93" [color = "#000000FF"]
"37§67" -> "1§103" [color = "#000000FF"]
"36§68" -> "27§77" [color = "#000000FF"]
"36§68" -> "16§88" [color = "#000000FF"]
"35§69" -> "36§68" [color = "#000000FF"]
"33§71" -> "34§70" [color = "#000000FF"]
"32§72" -> "33§71" [color = "#000000FF"]
"31§73" -> "42§62" [color = "#000000FF"]
"31§73" -> "41§63" [color = "#000000FF"]
"31§73" -> "35§69" [color = "#000000FF"]
"31§73" -> "32§72" [color = "#000000FF"]
"30§74" -> "1§103" [color = "#000000FF"]
"29§75" -> "42§62" [color = "#000000FF"]
"28§76" -> "42§62" [color = "#000000FF"]
"28§76" -> "17§87" [color = "#000000FF"]
"27§77" -> "28§76" [color = "#000000FF"]
"26§78" -> "29§75" [color = "#000000FF"]
"25§79" -> "7§97" [color = "#000000FF"]
"24§80" -> "6§98" [color = "#000000FF"]
"23§81" -> "35§69" [color = "#000000FF"]
"23§81" -> "15§89" [color = "#000000FF"]
"22§82" -> "23§81" [color = "#000000FF"]
"21§83" -> "9§95" [color = "#000000FF"]
"20§84" -> "21§83" [color = "#000000FF"]
"19§85" -> "14§90" [color = "#000000FF"]
"18§86" -> "19§85" [color = "#000000FF"]
"17§87" -> "29§75" [color = "#000000FF"]
"17§87" -> "26§78" [color = "#000000FF"]
"16§88" -> "17§87" [color = "#000000FF"]
"15§89" -> "40§64" [color = "#000000FF"]
"15§89" -> "2§102" [color = "#000000FF"]
"14§90" -> "22§82" [color = "#000000FF"]
"14§90" -> "15§89" [color = "#000000FF"]
"13§91" -> "15§89" [color = "#000000FF"]
"12§92" -> "14§90" [color = "#000000FF"]
"11§93" -> "12§92" [color = "#000000FF"]
"10§94" -> "38§66" [color = "#000000FF"]
"9§95" -> "18§86" [color = "#000000FF"]
"9§95" -> "13§91" [color = "#000000FF"]
"9§95" -> "11§93" [color = "#000000FF"]
"8§96" -> "9§95" [color = "#000000FF"]
"7§97" -> "20§84" [color = "#000000FF"]
"7§97" -> "8§96" [color = "#000000FF"]
"6§98" -> "8§96" [color = "#000000FF"]
"5§99" -> "7§97" [color = "#000000FF"]
"4§100" -> "5§99" [color = "#000000FF"]
"3§101" -> "6§98" [color = "#000000FF"]
"3§101" -> "4§100" [color = "#000000FF"]
"2§102" -> "42§62" [color = "#000000FF"]
"2§102" -> "41§63" [color = "#000000FF"]
"2§102" -> "35§69" [color = "#000000FF"]
"2§102" -> "31§73" [color = "#000000FF"]
"2§102" -> "29§75" [color = "#000000FF"]
"2§102" -> "28§76" [color = "#000000FF"]
"2§102" -> "27§77" [color = "#000000FF"]
"2§102" -> "16§88" [color = "#000000FF"]
"1§103" -> "25§79" [color = "#000000FF"]
"1§103" -> "24§80" [color = "#000000FF"]
"1§103" -> "10§94" [color = "#000000FF"]
"1§103" -> "4§100" [color = "#000000FF"]
"1§103" -> "3§101" [color = "#000000FF"]
"1§103" -> "0§104" [color = "#000000FF"]
"0§104" -> "10§94" [color = "#000000FF"]
"42§62" -> "33§71" [color = "#000000FF"]
"41§63" -> "42§62" [color = "#000000FF"]
"41§63" -> "35§69" [color = "#000000FF"]
"41§63" -> "29§75" [color = "#000000FF"]
"41§63" -> "28§76" [color = "#000000FF"]
"40§64" -> "2§102" [color = "#000000FF"]
}

The task dependency graph of a single time step in Mirheo.