diff --git a/examples/kernels b/examples/kernels index d3669abcb372de0f4eda05bbb5ba1eac45bd0b61..1f7c9fdff97f215376a03633459e237e95cc118f 100644 --- a/examples/kernels +++ b/examples/kernels @@ -1,841 +1,775 @@ digraph AST { node [color=lightblue2 style=filled] size="6,6" - n140589003589112 [label=Block] - n140589003139560 [label=KernelBlock] - n140589003589112 -> n140589003139560 - n140589003139616 [label=KernelBlock] - n140589003589112 -> n140589003139616 - n140589003139560 [label=KernelBlock] - n140589003139168 [label=Block] - n140589003139560 -> n140589003139168 - n140589003139168 [label=Block] - n140589002480104 [label=ParticleFor] - n140589003139168 -> n140589002480104 - n140589002480104 [label=ParticleFor] - n140589002480160 [label="Iter(14)"] - n140589002480104 -> n140589002480160 - n140589002480328 [label=Block] - n140589002480104 -> n140589002480328 - n140589002480216 [label=0] - n140589002480104 -> n140589002480216 - n140589002480272 [label=0] - n140589002480104 -> n140589002480272 - n140589002480160 [label="Iter(14)"] - n140589002480328 [label=Block] - n140589002480496 [label=For] - n140589002480328 -> n140589002480496 - n140589002480776 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002480776 -> n140589002480160 - n140589003590792 [label=neighborlist_capacity] - n140589002480776 -> n140589003590792 - n140589003590792 [label=neighborlist_capacity] - n140589002481000 [label=PropertyAccess] - n140589003589280 [label=position] - n140589002481000 -> n140589003589280 - n140589002480160 [label="Iter(14)"] - n140589002481000 -> n140589002480160 - n140589002519104 [label="*"] - n140589002481000 -> n140589002519104 - n140589002520952 [label="+"] - n140589002481000 -> n140589002520952 - n140589002547384 [label="+"] - n140589002481000 -> n140589002547384 - n140589003589280 [label=position] - n140589002519104 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002519104 -> n140589002480160 - n140589002519160 [label=3] - n140589002519104 -> n140589002519160 - n140589002519160 [label=3] - n140589002520952 [label="+"] - n140589002520784 [label="*"] - n140589002520952 -> n140589002520784 - n140589002521008 [label=1] - n140589002520952 -> n140589002521008 - n140589002520784 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002520784 -> n140589002480160 - n140589002520840 [label=3] - n140589002520784 -> n140589002520840 - n140589002520840 [label=3] - n140589002521008 [label=1] - n140589002547384 [label="+"] - n140589002522576 [label="*"] - n140589002547384 -> n140589002522576 - n140589002547440 [label=2] - n140589002547384 -> n140589002547440 - n140589002522576 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002522576 -> n140589002480160 - n140589002547272 [label=3] - n140589002522576 -> n140589002547272 - n140589002547272 [label=3] - n140589002547440 [label=2] - n140589002481392 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002481392 -> n140589002480160 - n140589002481448 [label=3] - n140589002481392 -> n140589002481448 - n140589002481448 [label=3] - n140589002520000 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002520000 -> n140589002480160 - n140589002520056 [label=3] - n140589002520000 -> n140589002520056 - n140589002520056 [label=3] - n140589002520168 [label="+"] - n140589002520000 [label="*"] - n140589002520168 -> n140589002520000 - n140589002520224 [label=1] - n140589002520168 -> n140589002520224 - n140589002520224 [label=1] - n140589002521792 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589002521792 -> n140589002480160 - n140589002521848 [label=3] - n140589002521792 -> n140589002521848 - n140589002521848 [label=3] - n140589002521960 [label="+"] - n140589002521792 [label="*"] - n140589002521960 -> n140589002521792 - n140589002522016 [label=2] - n140589002521960 -> n140589002522016 - n140589002522016 [label=2] - n140589003272432 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589003272432 -> n140589002480160 - n140589003272488 [label=3] - n140589003272432 -> n140589003272488 - n140589003272488 [label=3] - n140589003272824 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589003272824 -> n140589002480160 - n140589003272880 [label=3] - n140589003272824 -> n140589003272880 - n140589003272880 [label=3] - n140589003273328 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589003273328 -> n140589002480160 - n140589003273384 [label=3] - n140589003273328 -> n140589003273384 - n140589003273384 [label=3] - n140589003273496 [label="+"] - n140589003273328 [label="*"] - n140589003273496 -> n140589003273328 - n140589003273552 [label=1] - n140589003273496 -> n140589003273552 - n140589003273552 [label=1] - n140589003273720 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589003273720 -> n140589002480160 - n140589003273776 [label=3] - n140589003273720 -> n140589003273776 - n140589003273776 [label=3] - n140589003273888 [label="+"] - n140589003273720 [label="*"] - n140589003273888 -> n140589003273720 - n140589003273944 [label=1] - n140589003273888 -> n140589003273944 - n140589003273944 [label=1] - n140589003274224 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589003274224 -> n140589002480160 - n140589003274280 [label=3] - n140589003274224 -> n140589003274280 - n140589003274280 [label=3] - n140589003274392 [label="+"] - n140589003274224 [label="*"] - n140589003274392 -> n140589003274224 - n140589003274448 [label=2] - n140589003274392 -> n140589003274448 - n140589003274448 [label=2] - n140589003274616 [label="*"] - n140589002480160 [label="Iter(14)"] - n140589003274616 -> n140589002480160 - n140589003274672 [label=3] - n140589003274616 -> n140589003274672 - n140589003274672 [label=3] - n140589003274784 [label="+"] - n140589003274616 [label="*"] - n140589003274784 -> n140589003274616 - n140589003274840 [label=2] - n140589003274784 -> n140589003274840 - n140589003274840 [label=2] - n140589002480496 [label=For] - n140589002480552 [label="Iter(15)"] - n140589002480496 -> n140589002480552 - n140589002480664 [label=Block] - n140589002480496 -> n140589002480664 - n140589002480608 [label=0] - n140589002480496 -> n140589002480608 - n140589002480440 [label=ArrayAccess] - n140589002480496 -> n140589002480440 - n140589002480552 [label="Iter(15)"] - n140589002480664 [label=Block] - n140589002548336 [label=Filter] - n140589002480664 -> n140589002548336 - n140589002480888 [label="+"] - n140589002480776 [label="*"] - n140589002480888 -> n140589002480776 - n140589002480552 [label="Iter(15)"] - n140589002480888 -> n140589002480552 - n140589002481112 [label=PropertyAccess] - n140589003589280 [label=position] - n140589002481112 -> n140589003589280 - n140589002480720 [label=ArrayAccess] - n140589002481112 -> n140589002480720 - n140589002519440 [label="*"] - n140589002481112 -> n140589002519440 - n140589002521288 [label="+"] - n140589002481112 -> n140589002521288 - n140589002547720 [label="+"] - n140589002481112 -> n140589002547720 - n140589002480720 [label=ArrayAccess] - n140589003590848 [label=neighborlists] - n140589002480720 -> n140589003590848 - n140589002480888 [label="+"] - n140589002480720 -> n140589002480888 - n140589003590848 [label=neighborlists] - n140589002519440 [label="*"] - n140589002480720 [label=ArrayAccess] - n140589002519440 -> n140589002480720 - n140589002519496 [label=3] - n140589002519440 -> n140589002519496 - n140589002519496 [label=3] - n140589002521288 [label="+"] - n140589002521120 [label="*"] - n140589002521288 -> n140589002521120 - n140589002521344 [label=1] - n140589002521288 -> n140589002521344 - n140589002521120 [label="*"] - n140589002480720 [label=ArrayAccess] - n140589002521120 -> n140589002480720 - n140589002521176 [label=3] - n140589002521120 -> n140589002521176 - n140589002521176 [label=3] - n140589002521344 [label=1] - n140589002547720 [label="+"] - n140589002547552 [label="*"] - n140589002547720 -> n140589002547552 - n140589002547776 [label=2] - n140589002547720 -> n140589002547776 - n140589002547552 [label="*"] - n140589002480720 [label=ArrayAccess] - n140589002547552 -> n140589002480720 - n140589002547608 [label=3] - n140589002547552 -> n140589002547608 - n140589002547608 [label=3] - n140589002547776 [label=2] - n140589002481224 [label="-"] - n140589002481000 [label=PropertyAccess] - n140589002481224 -> n140589002481000 - n140589002481112 [label=PropertyAccess] - n140589002481224 -> n140589002481112 - n140589002518656 [label="*"] - n140589002480720 [label=ArrayAccess] - n140589002518656 -> n140589002480720 - n140589002518712 [label=3] - n140589002518656 -> n140589002518712 - n140589002518712 [label=3] - n140589002519832 [label="*"] - n140589002518992 [label=VectorAccess] - n140589002519832 -> n140589002518992 - n140589002519776 [label=VectorAccess] - n140589002519832 -> n140589002519776 - n140589002518992 [label=VectorAccess] - n140589002481224 [label="-"] - n140589002518992 -> n140589002481224 - n140589002519776 [label=VectorAccess] - n140589002481224 [label="-"] - n140589002519776 -> n140589002481224 - n140589002520336 [label="*"] - n140589002480720 [label=ArrayAccess] - n140589002520336 -> n140589002480720 - n140589002520392 [label=3] - n140589002520336 -> n140589002520392 - n140589002520392 [label=3] - n140589002520504 [label="+"] - n140589002520336 [label="*"] - n140589002520504 -> n140589002520336 - n140589002520560 [label=1] - n140589002520504 -> n140589002520560 - n140589002520560 [label=1] - n140589002521512 [label="*"] - n140589002520672 [label=VectorAccess] - n140589002521512 -> n140589002520672 - n140589002521456 [label=VectorAccess] - n140589002521512 -> n140589002521456 - n140589002520672 [label=VectorAccess] - n140589002481224 [label="-"] - n140589002520672 -> n140589002481224 - n140589002521456 [label=VectorAccess] - n140589002481224 [label="-"] - n140589002521456 -> n140589002481224 - n140589002521624 [label="+"] - n140589002519832 [label="*"] - n140589002521624 -> n140589002519832 - n140589002521512 [label="*"] - n140589002521624 -> n140589002521512 - n140589002522128 [label="*"] - n140589002480720 [label=ArrayAccess] - n140589002522128 -> n140589002480720 - n140589002522184 [label=3] - n140589002522128 -> n140589002522184 - n140589002522184 [label=3] - n140589002522296 [label="+"] - n140589002522128 [label="*"] - n140589002522296 -> n140589002522128 - n140589002522352 [label=2] - n140589002522296 -> n140589002522352 - n140589002522352 [label=2] - n140589002547944 [label="*"] - n140589002522464 [label=VectorAccess] - n140589002547944 -> n140589002522464 - n140589002547888 [label=VectorAccess] - n140589002547944 -> n140589002547888 - n140589002522464 [label=VectorAccess] - n140589002481224 [label="-"] - n140589002522464 -> n140589002481224 - n140589002547888 [label=VectorAccess] - n140589002481224 [label="-"] - n140589002547888 -> n140589002481224 - n140589002548056 [label="+"] - n140589002521624 [label="+"] - n140589002548056 -> n140589002521624 - n140589002547944 [label="*"] - n140589002548056 -> n140589002547944 - n140589002548168 [label="<"] - n140589002548056 [label="+"] - n140589002548168 -> n140589002548056 - n140589002548224 [label=2.5] - n140589002548168 -> n140589002548224 - n140589002548224 [label=2.5] - n140589002548336 [label=Filter] - n140589002548168 [label="<"] - n140589002548336 -> n140589002548168 - n140589003139504 [label=Block] - n140589002548336 -> n140589003139504 - n140589003139504 [label=Block] - n140589003272320 [label=Assign] - n140589003139504 -> n140589003272320 - n140589003139840 [label="/"] - n140589003139896 [label=1.0] - n140589003139840 -> n140589003139896 - n140589002548056 [label="+"] - n140589003139840 -> n140589002548056 - n140589003139896 [label=1.0] - n140589003140008 [label="*"] - n140589003139840 [label="/"] - n140589003140008 -> n140589003139840 - n140589003139840 [label="/"] - n140589003140008 -> n140589003139840 - n140589003140120 [label="*"] - n140589003140008 [label="*"] - n140589003140120 -> n140589003140008 - n140589003139840 [label="/"] - n140589003140120 -> n140589003139840 - n140589003139784 [label=PropertyAccess] - n140589003589392 [label=force] - n140589003139784 -> n140589003589392 - n140589002480160 [label="Iter(14)"] - n140589003139784 -> n140589002480160 - n140589003272824 [label="*"] - n140589003139784 -> n140589003272824 - n140589003273888 [label="+"] - n140589003139784 -> n140589003273888 - n140589003274784 [label="+"] - n140589003139784 -> n140589003274784 - n140589003589392 [label=force] - n140589003140456 [label="*"] - n140589002481224 [label="-"] - n140589003140456 -> n140589002481224 - n140589003140680 [label=48.0] - n140589003140456 -> n140589003140680 - n140589003140680 [label=48.0] - n140589003140792 [label="*"] - n140589002481224 [label="-"] - n140589003140792 -> n140589002481224 - n140589002859408 [label="*"] - n140589003140792 -> n140589002859408 - n140589002859408 [label="*"] - n140589003140680 [label=48.0] - n140589002859408 -> n140589003140680 - n140589003140120 [label="*"] - n140589002859408 -> n140589003140120 - n140589003140904 [label="-"] - n140589003140120 [label="*"] - n140589003140904 -> n140589003140120 - n140589003140960 [label=0.5] - n140589003140904 -> n140589003140960 - n140589003140960 [label=0.5] - n140589003589000 [label="*"] - n140589002481224 [label="-"] - n140589003589000 -> n140589002481224 - n140589002963264 [label="*"] - n140589003589000 -> n140589002963264 - n140589002963264 [label="*"] - n140589002859408 [label="*"] - n140589002963264 -> n140589002859408 - n140589003140904 [label="-"] - n140589002963264 -> n140589003140904 - n140589003591520 [label="*"] - n140589002481224 [label="-"] - n140589003591520 -> n140589002481224 - n140589002548952 [label="*"] - n140589003591520 -> n140589002548952 - n140589002548952 [label="*"] - n140589002963264 [label="*"] - n140589002548952 -> n140589002963264 - n140589003139840 [label="/"] - n140589002548952 -> n140589003139840 - n140589003591576 [label="*"] - n140589002481224 [label="-"] - n140589003591576 -> n140589002481224 - n140589002548952 [label="*"] - n140589003591576 -> n140589002548952 - n140589003591352 [label="+"] - n140589003139784 [label=PropertyAccess] - n140589003591352 -> n140589003139784 - n140589003591576 [label="*"] - n140589003591352 -> n140589003591576 - n140589003272320 [label=Assign] - n140589003273216 [label=VectorAccess] - n140589003272320 -> n140589003273216 - n140589003272768 [label=VectorAccess] - n140589003272320 -> n140589003272768 - n140589003274112 [label=VectorAccess] - n140589003272320 -> n140589003274112 - n140589003273664 [label=VectorAccess] - n140589003272320 -> n140589003273664 - n140589003275008 [label=VectorAccess] - n140589003272320 -> n140589003275008 - n140589003274560 [label=VectorAccess] - n140589003272320 -> n140589003274560 - n140589003273216 [label=VectorAccess] - n140589003139784 [label=PropertyAccess] - n140589003273216 -> n140589003139784 - n140589003272768 [label=VectorAccess] - n140589003591352 [label="+"] - n140589003272768 -> n140589003591352 - n140589003274112 [label=VectorAccess] - n140589003139784 [label=PropertyAccess] - n140589003274112 -> n140589003139784 - n140589003273664 [label=VectorAccess] - n140589003591352 [label="+"] - n140589003273664 -> n140589003591352 - n140589003275008 [label=VectorAccess] - n140589003139784 [label=PropertyAccess] - n140589003275008 -> n140589003139784 - n140589003274560 [label=VectorAccess] - n140589003591352 [label="+"] - n140589003274560 -> n140589003591352 - n140589002480608 [label=0] - n140589002480440 [label=ArrayAccess] - n140589003590904 [label=numneighs] - n140589002480440 -> n140589003590904 - n140589002480160 [label="Iter(14)"] - n140589002480440 -> n140589002480160 - n140589003590904 [label=numneighs] - n140589002480216 [label=0] - n140589002480272 [label=0] - n140589003139616 [label=KernelBlock] - n140589003138160 [label=Block] - n140589003139616 -> n140589003138160 - n140589003138160 [label=Block] - n140589003138216 [label=ParticleFor] - n140589003138160 -> n140589003138216 - n140589003138216 [label=ParticleFor] - n140589003138104 [label="Iter(0)"] - n140589003138216 -> n140589003138104 - n140589003137096 [label=Block] - n140589003138216 -> n140589003137096 - n140589003140624 [label=0] - n140589003138216 -> n140589003140624 - n140589003137152 [label=0] - n140589003138216 -> n140589003137152 - n140589003138104 [label="Iter(0)"] - n140589003137096 [label=Block] - n140589003275848 [label=Assign] - n140589003137096 -> n140589003275848 - n140589003321128 [label=Assign] - n140589003137096 -> n140589003321128 - n140589003275120 [label=PropertyAccess] - n140589003589336 [label=velocity] - n140589003275120 -> n140589003589336 - n140589003138104 [label="Iter(0)"] - n140589003275120 -> n140589003138104 - n140589003317376 [label="*"] - n140589003275120 -> n140589003317376 - n140589003319112 [label="+"] - n140589003275120 -> n140589003319112 - n140589003320344 [label="+"] - n140589003275120 -> n140589003320344 - n140589003589336 [label=velocity] - n140589003317376 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003317376 -> n140589003138104 - n140589003317768 [label=3] - n140589003317376 -> n140589003317768 - n140589003317768 [label=3] - n140589003319112 [label="+"] - n140589003318608 [label="*"] - n140589003319112 -> n140589003318608 - n140589003319168 [label=1] - n140589003319112 -> n140589003319168 - n140589003318608 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003318608 -> n140589003138104 - n140589003319000 [label=3] - n140589003318608 -> n140589003319000 - n140589003319000 [label=3] - n140589003319168 [label=1] - n140589003320344 [label="+"] - n140589003319840 [label="*"] - n140589003320344 -> n140589003319840 - n140589003320400 [label=2] - n140589003320344 -> n140589003320400 - n140589003319840 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003319840 -> n140589003138104 - n140589003320232 [label=3] - n140589003319840 -> n140589003320232 - n140589003320232 [label=3] - n140589003320400 [label=2] - n140589003275232 [label=PropertyAccess] - n140589003589392 [label=force] - n140589003275232 -> n140589003589392 - n140589003138104 [label="Iter(0)"] - n140589003275232 -> n140589003138104 - n140589003317432 [label="*"] - n140589003275232 -> n140589003317432 - n140589003318832 [label="+"] - n140589003275232 -> n140589003318832 - n140589003320064 [label="+"] - n140589003275232 -> n140589003320064 - n140589003317432 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003317432 -> n140589003138104 - n140589003317488 [label=3] - n140589003317432 -> n140589003317488 - n140589003317488 [label=3] - n140589003318832 [label="+"] - n140589003318664 [label="*"] - n140589003318832 -> n140589003318664 - n140589003318888 [label=1] - n140589003318832 -> n140589003318888 - n140589003318664 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003318664 -> n140589003138104 - n140589003318720 [label=3] - n140589003318664 -> n140589003318720 - n140589003318720 [label=3] - n140589003318888 [label=1] - n140589003320064 [label="+"] - n140589003319896 [label="*"] - n140589003320064 -> n140589003319896 - n140589003320120 [label=2] - n140589003320064 -> n140589003320120 - n140589003319896 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003319896 -> n140589003138104 - n140589003319952 [label=3] - n140589003319896 -> n140589003319952 - n140589003319952 [label=3] - n140589003320120 [label=2] - n140589003275344 [label="*"] - n140589003275400 [label=0.005] - n140589003275344 -> n140589003275400 - n140589003275232 [label=PropertyAccess] - n140589003275344 -> n140589003275232 - n140589003275400 [label=0.005] - n140589003275512 [label=PropertyAccess] - n140589003589224 [label=mass] - n140589003275512 -> n140589003589224 - n140589003138104 [label="Iter(0)"] - n140589003275512 -> n140589003138104 - n140589003589224 [label=mass] - n140589003275624 [label="/"] - n140589003275344 [label="*"] - n140589003275624 -> n140589003275344 - n140589003275512 [label=PropertyAccess] - n140589003275624 -> n140589003275512 - n140589003275736 [label="+"] - n140589003275120 [label=PropertyAccess] - n140589003275736 -> n140589003275120 - n140589003275624 [label="/"] - n140589003275736 -> n140589003275624 - n140589003275960 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003275960 -> n140589003138104 - n140589003276016 [label=3] - n140589003275960 -> n140589003276016 - n140589003276016 [label=3] - n140589003318216 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003318216 -> n140589003138104 - n140589003318272 [label=3] - n140589003318216 -> n140589003318272 - n140589003318272 [label=3] - n140589003318384 [label="+"] - n140589003318216 [label="*"] - n140589003318384 -> n140589003318216 - n140589003318440 [label=1] - n140589003318384 -> n140589003318440 - n140589003318440 [label=1] - n140589003319448 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003319448 -> n140589003138104 - n140589003319504 [label=3] - n140589003319448 -> n140589003319504 - n140589003319504 [label=3] - n140589003319616 [label="+"] - n140589003319448 [label="*"] - n140589003319616 -> n140589003319448 - n140589003319672 [label=2] - n140589003319616 -> n140589003319672 - n140589003319672 [label=2] - n140589003275848 [label=Assign] - n140589003318104 [label=VectorAccess] - n140589003275848 -> n140589003318104 - n140589003317320 [label=VectorAccess] - n140589003275848 -> n140589003317320 - n140589003319336 [label=VectorAccess] - n140589003275848 -> n140589003319336 - n140589003318552 [label=VectorAccess] - n140589003275848 -> n140589003318552 - n140589003320568 [label=VectorAccess] - n140589003275848 -> n140589003320568 - n140589003319784 [label=VectorAccess] - n140589003275848 -> n140589003319784 - n140589003318104 [label=VectorAccess] - n140589003275120 [label=PropertyAccess] - n140589003318104 -> n140589003275120 - n140589003317320 [label=VectorAccess] - n140589003275736 [label="+"] - n140589003317320 -> n140589003275736 - n140589003319336 [label=VectorAccess] - n140589003275120 [label=PropertyAccess] - n140589003319336 -> n140589003275120 - n140589003318552 [label=VectorAccess] - n140589003275736 [label="+"] - n140589003318552 -> n140589003275736 - n140589003320568 [label=VectorAccess] - n140589003275120 [label=PropertyAccess] - n140589003320568 -> n140589003275120 - n140589003319784 [label=VectorAccess] - n140589003275736 [label="+"] - n140589003319784 -> n140589003275736 - n140589003320624 [label=PropertyAccess] - n140589003589280 [label=position] - n140589003320624 -> n140589003589280 - n140589003138104 [label="Iter(0)"] - n140589003320624 -> n140589003138104 - n140589003354800 [label="*"] - n140589003320624 -> n140589003354800 - n140589003356200 [label="+"] - n140589003320624 -> n140589003356200 - n140589003357432 [label="+"] - n140589003320624 -> n140589003357432 - n140589003354800 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003354800 -> n140589003138104 - n140589003354856 [label=3] - n140589003354800 -> n140589003354856 - n140589003354856 [label=3] - n140589003356200 [label="+"] - n140589003356032 [label="*"] - n140589003356200 -> n140589003356032 - n140589003356256 [label=1] - n140589003356200 -> n140589003356256 - n140589003356032 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003356032 -> n140589003138104 - n140589003356088 [label=3] - n140589003356032 -> n140589003356088 - n140589003356088 [label=3] - n140589003356256 [label=1] - n140589003357432 [label="+"] - n140589003357264 [label="*"] - n140589003357432 -> n140589003357264 - n140589003357488 [label=2] - n140589003357432 -> n140589003357488 - n140589003357264 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003357264 -> n140589003138104 - n140589003357320 [label=3] - n140589003357264 -> n140589003357320 - n140589003357320 [label=3] - n140589003357488 [label=2] - n140589003320736 [label=PropertyAccess] - n140589003589336 [label=velocity] - n140589003320736 -> n140589003589336 - n140589003138104 [label="Iter(0)"] - n140589003320736 -> n140589003138104 - n140589003354464 [label="*"] - n140589003320736 -> n140589003354464 - n140589003355864 [label="+"] - n140589003320736 -> n140589003355864 - n140589003357096 [label="+"] - n140589003320736 -> n140589003357096 - n140589003354464 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003354464 -> n140589003138104 - n140589003354520 [label=3] - n140589003354464 -> n140589003354520 - n140589003354520 [label=3] - n140589003355864 [label="+"] - n140589003355696 [label="*"] - n140589003355864 -> n140589003355696 - n140589003355920 [label=1] - n140589003355864 -> n140589003355920 - n140589003355696 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003355696 -> n140589003138104 - n140589003355752 [label=3] - n140589003355696 -> n140589003355752 - n140589003355752 [label=3] - n140589003355920 [label=1] - n140589003357096 [label="+"] - n140589003356928 [label="*"] - n140589003357096 -> n140589003356928 - n140589003357152 [label=2] - n140589003357096 -> n140589003357152 - n140589003356928 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003356928 -> n140589003138104 - n140589003356984 [label=3] - n140589003356928 -> n140589003356984 - n140589003356984 [label=3] - n140589003357152 [label=2] - n140589003320848 [label="*"] - n140589003320904 [label=0.005] - n140589003320848 -> n140589003320904 - n140589003320736 [label=PropertyAccess] - n140589003320848 -> n140589003320736 - n140589003320904 [label=0.005] - n140589003321016 [label="+"] - n140589003320624 [label=PropertyAccess] - n140589003321016 -> n140589003320624 - n140589003320848 [label="*"] - n140589003321016 -> n140589003320848 - n140589003321240 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003321240 -> n140589003138104 - n140589003321296 [label=3] - n140589003321240 -> n140589003321296 - n140589003321296 [label=3] - n140589003355304 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003355304 -> n140589003138104 - n140589003355360 [label=3] - n140589003355304 -> n140589003355360 - n140589003355360 [label=3] - n140589003355472 [label="+"] - n140589003355304 [label="*"] - n140589003355472 -> n140589003355304 - n140589003355528 [label=1] - n140589003355472 -> n140589003355528 - n140589003355528 [label=1] - n140589003356536 [label="*"] - n140589003138104 [label="Iter(0)"] - n140589003356536 -> n140589003138104 - n140589003356592 [label=3] - n140589003356536 -> n140589003356592 - n140589003356592 [label=3] - n140589003356704 [label="+"] - n140589003356536 [label="*"] - n140589003356704 -> n140589003356536 - n140589003356760 [label=2] - n140589003356704 -> n140589003356760 - n140589003356760 [label=2] - n140589003321128 [label=Assign] - n140589003355192 [label=VectorAccess] - n140589003321128 -> n140589003355192 - n140589003354408 [label=VectorAccess] - n140589003321128 -> n140589003354408 - n140589003356424 [label=VectorAccess] - n140589003321128 -> n140589003356424 - n140589003355640 [label=VectorAccess] - n140589003321128 -> n140589003355640 - n140589003357656 [label=VectorAccess] - n140589003321128 -> n140589003357656 - n140589003356872 [label=VectorAccess] - n140589003321128 -> n140589003356872 - n140589003355192 [label=VectorAccess] - n140589003320624 [label=PropertyAccess] - n140589003355192 -> n140589003320624 - n140589003354408 [label=VectorAccess] - n140589003321016 [label="+"] - n140589003354408 -> n140589003321016 - n140589003356424 [label=VectorAccess] - n140589003320624 [label=PropertyAccess] - n140589003356424 -> n140589003320624 - n140589003355640 [label=VectorAccess] - n140589003321016 [label="+"] - n140589003355640 -> n140589003321016 - n140589003357656 [label=VectorAccess] - n140589003320624 [label=PropertyAccess] - n140589003357656 -> n140589003320624 - n140589003356872 [label=VectorAccess] - n140589003321016 [label="+"] - n140589003356872 -> n140589003321016 - n140589003140624 [label=0] - n140589003137152 [label=0] - n140589003137824 [label="%"] - n140589003139000 [label="Iter(1)"] - n140589003137824 -> n140589003139000 - n140589003137880 [label=20] - n140589003137824 -> n140589003137880 - n140589003139000 [label="Iter(1)"] - n140589003137880 [label=20] - n140589003137488 [label="=="] - n140589003137824 [label="%"] - n140589003137488 -> n140589003137824 - n140589003137320 [label=0] - n140589003137488 -> n140589003137320 - n140589003137320 [label=0] - n140589003138832 [label="%"] - n140589003139000 [label="Iter(1)"] - n140589003138832 -> n140589003139000 - n140589003138440 [label=20] - n140589003138832 -> n140589003138440 - n140589003138440 [label=20] - n140589003138608 [label="=="] - n140589003138832 [label="%"] - n140589003138608 -> n140589003138832 - n140589003138664 [label=0] - n140589003138608 -> n140589003138664 - n140589003138664 [label=0] - n140589003138888 [label="%"] - n140589003139000 [label="Iter(1)"] - n140589003138888 -> n140589003139000 - n140589003139112 [label=20] - n140589003138888 -> n140589003139112 - n140589003139112 [label=20] - n140589003139672 [label="=="] - n140589003138888 [label="%"] - n140589003139672 -> n140589003138888 - n140589003139728 [label=0] - n140589003139672 -> n140589003139728 - n140589003139728 [label=0] - n140589003357824 [label="%"] - n140589003139000 [label="Iter(1)"] - n140589003357824 -> n140589003139000 - n140589003357880 [label=20] - n140589003357824 -> n140589003357880 - n140589003357880 [label=20] - n140589003357992 [label="=="] - n140589003357824 [label="%"] - n140589003357992 -> n140589003357824 - n140589003358048 [label=0] - n140589003357992 -> n140589003358048 - n140589003358048 [label=0] - n140589003137432 [label="+"] - n140589003139000 [label="Iter(1)"] - n140589003137432 -> n140589003139000 - n140589002858680 [label=1] - n140589003137432 -> n140589002858680 - n140589002858680 [label=1] + n139894378445120 [label=Block] + n139894377979128 [label=Module] + n139894378445120 -> n139894377979128 + n139894377979184 [label=Module] + n139894378445120 -> n139894377979184 + n139894377979128 [label=Module] + n139894377979072 [label=Block] + n139894377979128 -> n139894377979072 + n139894377979072 [label=Block] + n139894377976328 [label=ParticleFor] + n139894377979072 -> n139894377976328 + n139894377976328 [label=ParticleFor] + n139894377215144 [label=Block] + n139894377976328 -> n139894377215144 + n139894380476008 [label=nlocal] + n139894377976328 -> n139894380476008 + n139894377215144 [label=Block] + n139894377215312 [label=For] + n139894377215144 -> n139894377215312 + n139894377215592 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377215592 -> n139894377214976 + n139894377975880 [label=neighborlist_capacity] + n139894377215592 -> n139894377975880 + n139894377214976 [label="Iter(14)"] + n139894377975880 [label=neighborlist_capacity] + n139894377215816 [label=PropertyAccess] + n139894378445344 [label=position] + n139894377215816 -> n139894378445344 + n139894377214976 [label="Iter(14)"] + n139894377215816 -> n139894377214976 + n139894377216992 [label="*"] + n139894377215816 -> n139894377216992 + n139894377251672 [label="+"] + n139894377215816 -> n139894377251672 + n139894377253464 [label="+"] + n139894377215816 -> n139894377253464 + n139894378445344 [label=position] + n139894377216992 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377216992 -> n139894377214976 + n139894377217048 [label=3] + n139894377216992 -> n139894377217048 + n139894377217048 [label=3] + n139894377251672 [label="+"] + n139894377251504 [label="*"] + n139894377251672 -> n139894377251504 + n139894377251728 [label=1] + n139894377251672 -> n139894377251728 + n139894377251504 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377251504 -> n139894377214976 + n139894377251560 [label=3] + n139894377251504 -> n139894377251560 + n139894377251560 [label=3] + n139894377251728 [label=1] + n139894377253464 [label="+"] + n139894377253296 [label="*"] + n139894377253464 -> n139894377253296 + n139894377253520 [label=2] + n139894377253464 -> n139894377253520 + n139894377253296 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377253296 -> n139894377214976 + n139894377253352 [label=3] + n139894377253296 -> n139894377253352 + n139894377253352 [label=3] + n139894377253520 [label=2] + n139894377216208 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377216208 -> n139894377214976 + n139894377216264 [label=3] + n139894377216208 -> n139894377216264 + n139894377216264 [label=3] + n139894377217888 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377217888 -> n139894377214976 + n139894377217944 [label=3] + n139894377217888 -> n139894377217944 + n139894377217944 [label=3] + n139894377250888 [label="+"] + n139894377217888 [label="*"] + n139894377250888 -> n139894377217888 + n139894377250944 [label=1] + n139894377250888 -> n139894377250944 + n139894377250944 [label=1] + n139894377252512 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894377252512 -> n139894377214976 + n139894377252568 [label=3] + n139894377252512 -> n139894377252568 + n139894377252568 [label=3] + n139894377252680 [label="+"] + n139894377252512 [label="*"] + n139894377252680 -> n139894377252512 + n139894377252736 [label=2] + n139894377252680 -> n139894377252736 + n139894377252736 [label=2] + n139894378124344 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894378124344 -> n139894377214976 + n139894378124400 [label=3] + n139894378124344 -> n139894378124400 + n139894378124400 [label=3] + n139894378124736 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894378124736 -> n139894377214976 + n139894378124792 [label=3] + n139894378124736 -> n139894378124792 + n139894378124792 [label=3] + n139894378125240 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894378125240 -> n139894377214976 + n139894378125296 [label=3] + n139894378125240 -> n139894378125296 + n139894378125296 [label=3] + n139894378125408 [label="+"] + n139894378125240 [label="*"] + n139894378125408 -> n139894378125240 + n139894378125464 [label=1] + n139894378125408 -> n139894378125464 + n139894378125464 [label=1] + n139894378125632 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894378125632 -> n139894377214976 + n139894378125688 [label=3] + n139894378125632 -> n139894378125688 + n139894378125688 [label=3] + n139894378125800 [label="+"] + n139894378125632 [label="*"] + n139894378125800 -> n139894378125632 + n139894378125856 [label=1] + n139894378125800 -> n139894378125856 + n139894378125856 [label=1] + n139894378126136 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894378126136 -> n139894377214976 + n139894378126192 [label=3] + n139894378126136 -> n139894378126192 + n139894378126192 [label=3] + n139894378126304 [label="+"] + n139894378126136 [label="*"] + n139894378126304 -> n139894378126136 + n139894378126360 [label=2] + n139894378126304 -> n139894378126360 + n139894378126360 [label=2] + n139894378126528 [label="*"] + n139894377214976 [label="Iter(14)"] + n139894378126528 -> n139894377214976 + n139894378126584 [label=3] + n139894378126528 -> n139894378126584 + n139894378126584 [label=3] + n139894378126696 [label="+"] + n139894378126528 [label="*"] + n139894378126696 -> n139894378126528 + n139894378126752 [label=2] + n139894378126696 -> n139894378126752 + n139894378126752 [label=2] + n139894377215312 [label=For] + n139894377215368 [label="Iter(15)"] + n139894377215312 -> n139894377215368 + n139894377215480 [label=Block] + n139894377215312 -> n139894377215480 + n139894377215424 [label=0] + n139894377215312 -> n139894377215424 + n139894377215256 [label=ArrayAccess] + n139894377215312 -> n139894377215256 + n139894377215368 [label="Iter(15)"] + n139894377215480 [label=Block] + n139894377254416 [label=Filter] + n139894377215480 -> n139894377254416 + n139894377215704 [label="+"] + n139894377215592 [label="*"] + n139894377215704 -> n139894377215592 + n139894377215368 [label="Iter(15)"] + n139894377215704 -> n139894377215368 + n139894377215928 [label=PropertyAccess] + n139894378445344 [label=position] + n139894377215928 -> n139894378445344 + n139894377215536 [label=ArrayAccess] + n139894377215928 -> n139894377215536 + n139894377217328 [label="*"] + n139894377215928 -> n139894377217328 + n139894377252008 [label="+"] + n139894377215928 -> n139894377252008 + n139894377253800 [label="+"] + n139894377215928 -> n139894377253800 + n139894377215536 [label=ArrayAccess] + n139894377975936 [label=neighborlists] + n139894377215536 -> n139894377975936 + n139894377215704 [label="+"] + n139894377215536 -> n139894377215704 + n139894377975936 [label=neighborlists] + n139894377217328 [label="*"] + n139894377215536 [label=ArrayAccess] + n139894377217328 -> n139894377215536 + n139894377217384 [label=3] + n139894377217328 -> n139894377217384 + n139894377217384 [label=3] + n139894377252008 [label="+"] + n139894377251840 [label="*"] + n139894377252008 -> n139894377251840 + n139894377252064 [label=1] + n139894377252008 -> n139894377252064 + n139894377251840 [label="*"] + n139894377215536 [label=ArrayAccess] + n139894377251840 -> n139894377215536 + n139894377251896 [label=3] + n139894377251840 -> n139894377251896 + n139894377251896 [label=3] + n139894377252064 [label=1] + n139894377253800 [label="+"] + n139894377253632 [label="*"] + n139894377253800 -> n139894377253632 + n139894377253856 [label=2] + n139894377253800 -> n139894377253856 + n139894377253632 [label="*"] + n139894377215536 [label=ArrayAccess] + n139894377253632 -> n139894377215536 + n139894377253688 [label=3] + n139894377253632 -> n139894377253688 + n139894377253688 [label=3] + n139894377253856 [label=2] + n139894377216040 [label="-"] + n139894377215816 [label=PropertyAccess] + n139894377216040 -> n139894377215816 + n139894377215928 [label=PropertyAccess] + n139894377216040 -> n139894377215928 + n139894377216544 [label="*"] + n139894377215536 [label=ArrayAccess] + n139894377216544 -> n139894377215536 + n139894377216600 [label=3] + n139894377216544 -> n139894377216600 + n139894377216600 [label=3] + n139894377217720 [label="*"] + n139894377216880 [label=VectorAccess] + n139894377217720 -> n139894377216880 + n139894377217664 [label=VectorAccess] + n139894377217720 -> n139894377217664 + n139894377216880 [label=VectorAccess] + n139894377216040 [label="-"] + n139894377216880 -> n139894377216040 + n139894377217664 [label=VectorAccess] + n139894377216040 [label="-"] + n139894377217664 -> n139894377216040 + n139894377251056 [label="*"] + n139894377215536 [label=ArrayAccess] + n139894377251056 -> n139894377215536 + n139894377251112 [label=3] + n139894377251056 -> n139894377251112 + n139894377251112 [label=3] + n139894377251224 [label="+"] + n139894377251056 [label="*"] + n139894377251224 -> n139894377251056 + n139894377251280 [label=1] + n139894377251224 -> n139894377251280 + n139894377251280 [label=1] + n139894377252232 [label="*"] + n139894377251392 [label=VectorAccess] + n139894377252232 -> n139894377251392 + n139894377252176 [label=VectorAccess] + n139894377252232 -> n139894377252176 + n139894377251392 [label=VectorAccess] + n139894377216040 [label="-"] + n139894377251392 -> n139894377216040 + n139894377252176 [label=VectorAccess] + n139894377216040 [label="-"] + n139894377252176 -> n139894377216040 + n139894377252344 [label="+"] + n139894377217720 [label="*"] + n139894377252344 -> n139894377217720 + n139894377252232 [label="*"] + n139894377252344 -> n139894377252232 + n139894377252848 [label="*"] + n139894377215536 [label=ArrayAccess] + n139894377252848 -> n139894377215536 + n139894377252904 [label=3] + n139894377252848 -> n139894377252904 + n139894377252904 [label=3] + n139894377253016 [label="+"] + n139894377252848 [label="*"] + n139894377253016 -> n139894377252848 + n139894377253072 [label=2] + n139894377253016 -> n139894377253072 + n139894377253072 [label=2] + n139894377254024 [label="*"] + n139894377253184 [label=VectorAccess] + n139894377254024 -> n139894377253184 + n139894377253968 [label=VectorAccess] + n139894377254024 -> n139894377253968 + n139894377253184 [label=VectorAccess] + n139894377216040 [label="-"] + n139894377253184 -> n139894377216040 + n139894377253968 [label=VectorAccess] + n139894377216040 [label="-"] + n139894377253968 -> n139894377216040 + n139894377254136 [label="+"] + n139894377252344 [label="+"] + n139894377254136 -> n139894377252344 + n139894377254024 [label="*"] + n139894377254136 -> n139894377254024 + n139894377254248 [label="<"] + n139894377254136 [label="+"] + n139894377254248 -> n139894377254136 + n139894377254304 [label=2.5] + n139894377254248 -> n139894377254304 + n139894377254304 [label=2.5] + n139894377254416 [label=Filter] + n139894377254248 [label="<"] + n139894377254416 -> n139894377254248 + n139894377979016 [label=Block] + n139894377254416 -> n139894377979016 + n139894377979016 [label=Block] + n139894378124232 [label=Assign] + n139894377979016 -> n139894378124232 + n139894377979352 [label="/"] + n139894381174120 [label=1.0] + n139894377979352 -> n139894381174120 + n139894377254136 [label="+"] + n139894377979352 -> n139894377254136 + n139894381174120 [label=1.0] + n139894377979464 [label="*"] + n139894377979352 [label="/"] + n139894377979464 -> n139894377979352 + n139894377979352 [label="/"] + n139894377979464 -> n139894377979352 + n139894377979576 [label="*"] + n139894377979464 [label="*"] + n139894377979576 -> n139894377979464 + n139894377979352 [label="/"] + n139894377979576 -> n139894377979352 + n139894377979296 [label=PropertyAccess] + n139894378445456 [label=force] + n139894377979296 -> n139894378445456 + n139894377214976 [label="Iter(14)"] + n139894377979296 -> n139894377214976 + n139894378124736 [label="*"] + n139894377979296 -> n139894378124736 + n139894378125800 [label="+"] + n139894377979296 -> n139894378125800 + n139894378126696 [label="+"] + n139894377979296 -> n139894378126696 + n139894378445456 [label=force] + n139894377976552 [label="*"] + n139894377216040 [label="-"] + n139894377976552 -> n139894377216040 + n139894378123336 [label=48.0] + n139894377976552 -> n139894378123336 + n139894378123336 [label=48.0] + n139894378123448 [label="*"] + n139894377216040 [label="-"] + n139894378123448 -> n139894377216040 + n139894377694768 [label="*"] + n139894378123448 -> n139894377694768 + n139894377694768 [label="*"] + n139894378123336 [label=48.0] + n139894377694768 -> n139894378123336 + n139894377979576 [label="*"] + n139894377694768 -> n139894377979576 + n139894378123560 [label="-"] + n139894377979576 [label="*"] + n139894378123560 -> n139894377979576 + n139894378123616 [label=0.5] + n139894378123560 -> n139894378123616 + n139894378123616 [label=0.5] + n139894378123728 [label="*"] + n139894377216040 [label="-"] + n139894378123728 -> n139894377216040 + n139894377694264 [label="*"] + n139894378123728 -> n139894377694264 + n139894377694264 [label="*"] + n139894377694768 [label="*"] + n139894377694264 -> n139894377694768 + n139894378123560 [label="-"] + n139894377694264 -> n139894378123560 + n139894378123840 [label="*"] + n139894377216040 [label="-"] + n139894378123840 -> n139894377216040 + n139894377977672 [label="*"] + n139894378123840 -> n139894377977672 + n139894377977672 [label="*"] + n139894377694264 [label="*"] + n139894377977672 -> n139894377694264 + n139894377979352 [label="/"] + n139894377977672 -> n139894377979352 + n139894378123952 [label="*"] + n139894377216040 [label="-"] + n139894378123952 -> n139894377216040 + n139894377977672 [label="*"] + n139894378123952 -> n139894377977672 + n139894378124120 [label="+"] + n139894377979296 [label=PropertyAccess] + n139894378124120 -> n139894377979296 + n139894378123952 [label="*"] + n139894378124120 -> n139894378123952 + n139894378124232 [label=Assign] + n139894378125128 [label=VectorAccess] + n139894378124232 -> n139894378125128 + n139894378124680 [label=VectorAccess] + n139894378124232 -> n139894378124680 + n139894378126024 [label=VectorAccess] + n139894378124232 -> n139894378126024 + n139894378125576 [label=VectorAccess] + n139894378124232 -> n139894378125576 + n139894378126920 [label=VectorAccess] + n139894378124232 -> n139894378126920 + n139894378126472 [label=VectorAccess] + n139894378124232 -> n139894378126472 + n139894378125128 [label=VectorAccess] + n139894377979296 [label=PropertyAccess] + n139894378125128 -> n139894377979296 + n139894378124680 [label=VectorAccess] + n139894378124120 [label="+"] + n139894378124680 -> n139894378124120 + n139894378126024 [label=VectorAccess] + n139894377979296 [label=PropertyAccess] + n139894378126024 -> n139894377979296 + n139894378125576 [label=VectorAccess] + n139894378124120 [label="+"] + n139894378125576 -> n139894378124120 + n139894378126920 [label=VectorAccess] + n139894377979296 [label=PropertyAccess] + n139894378126920 -> n139894377979296 + n139894378126472 [label=VectorAccess] + n139894378124120 [label="+"] + n139894378126472 -> n139894378124120 + n139894377215424 [label=0] + n139894377215256 [label=ArrayAccess] + n139894377975992 [label=numneighs] + n139894377215256 -> n139894377975992 + n139894377214976 [label="Iter(14)"] + n139894377215256 -> n139894377214976 + n139894377975992 [label=numneighs] + n139894380476008 [label=nlocal] + n139894377979184 [label=Module] + n139894377976440 [label=Block] + n139894377979184 -> n139894377976440 + n139894377976440 [label=Block] + n139894377978736 [label=ParticleFor] + n139894377976440 -> n139894377978736 + n139894377978736 [label=ParticleFor] + n139894377976664 [label=Block] + n139894377978736 -> n139894377976664 + n139894380476008 [label=nlocal] + n139894377978736 -> n139894380476008 + n139894377976664 [label=Block] + n139894378172880 [label=Assign] + n139894377976664 -> n139894378172880 + n139894378193528 [label=Assign] + n139894377976664 -> n139894378193528 + n139894378127032 [label=PropertyAccess] + n139894378445400 [label=velocity] + n139894378127032 -> n139894378445400 + n139894377977728 [label="Iter(0)"] + n139894378127032 -> n139894377977728 + n139894378173384 [label="*"] + n139894378127032 -> n139894378173384 + n139894378175120 [label="+"] + n139894378127032 -> n139894378175120 + n139894378176296 [label="+"] + n139894378127032 -> n139894378176296 + n139894378445400 [label=velocity] + n139894377977728 [label="Iter(0)"] + n139894378173384 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378173384 -> n139894377977728 + n139894378173776 [label=3] + n139894378173384 -> n139894378173776 + n139894378173776 [label=3] + n139894378175120 [label="+"] + n139894378174616 [label="*"] + n139894378175120 -> n139894378174616 + n139894379473608 [label=1] + n139894378175120 -> n139894379473608 + n139894378174616 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378174616 -> n139894377977728 + n139894378175008 [label=3] + n139894378174616 -> n139894378175008 + n139894378175008 [label=3] + n139894379473608 [label=1] + n139894378176296 [label="+"] + n139894378175792 [label="*"] + n139894378176296 -> n139894378175792 + n139894378176352 [label=2] + n139894378176296 -> n139894378176352 + n139894378175792 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378175792 -> n139894377977728 + n139894378176184 [label=3] + n139894378175792 -> n139894378176184 + n139894378176184 [label=3] + n139894378176352 [label=2] + n139894378127144 [label=PropertyAccess] + n139894378445456 [label=force] + n139894378127144 -> n139894378445456 + n139894377977728 [label="Iter(0)"] + n139894378127144 -> n139894377977728 + n139894378173440 [label="*"] + n139894378127144 -> n139894378173440 + n139894378174840 [label="+"] + n139894378127144 -> n139894378174840 + n139894378176016 [label="+"] + n139894378127144 -> n139894378176016 + n139894378173440 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378173440 -> n139894377977728 + n139894378173496 [label=3] + n139894378173440 -> n139894378173496 + n139894378173496 [label=3] + n139894378174840 [label="+"] + n139894378174672 [label="*"] + n139894378174840 -> n139894378174672 + n139894378174896 [label=1] + n139894378174840 -> n139894378174896 + n139894378174672 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378174672 -> n139894377977728 + n139894378174728 [label=3] + n139894378174672 -> n139894378174728 + n139894378174728 [label=3] + n139894378174896 [label=1] + n139894378176016 [label="+"] + n139894378175848 [label="*"] + n139894378176016 -> n139894378175848 + n139894378176072 [label=2] + n139894378176016 -> n139894378176072 + n139894378175848 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378175848 -> n139894377977728 + n139894378175904 [label=3] + n139894378175848 -> n139894378175904 + n139894378175904 [label=3] + n139894378176072 [label=2] + n139894378127256 [label="*"] + n139894378127312 [label=0.005] + n139894378127256 -> n139894378127312 + n139894378127144 [label=PropertyAccess] + n139894378127256 -> n139894378127144 + n139894378127312 [label=0.005] + n139894378172544 [label=PropertyAccess] + n139894378445288 [label=mass] + n139894378172544 -> n139894378445288 + n139894377977728 [label="Iter(0)"] + n139894378172544 -> n139894377977728 + n139894378445288 [label=mass] + n139894378172656 [label="/"] + n139894378127256 [label="*"] + n139894378172656 -> n139894378127256 + n139894378172544 [label=PropertyAccess] + n139894378172656 -> n139894378172544 + n139894378172768 [label="+"] + n139894378127032 [label=PropertyAccess] + n139894378172768 -> n139894378127032 + n139894378172656 [label="/"] + n139894378172768 -> n139894378172656 + n139894378172992 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378172992 -> n139894377977728 + n139894378173048 [label=3] + n139894378172992 -> n139894378173048 + n139894378173048 [label=3] + n139894378174224 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378174224 -> n139894377977728 + n139894378174280 [label=3] + n139894378174224 -> n139894378174280 + n139894378174280 [label=3] + n139894378174392 [label="+"] + n139894378174224 [label="*"] + n139894378174392 -> n139894378174224 + n139894378174448 [label=1] + n139894378174392 -> n139894378174448 + n139894378174448 [label=1] + n139894378175400 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378175400 -> n139894377977728 + n139894378175456 [label=3] + n139894378175400 -> n139894378175456 + n139894378175456 [label=3] + n139894378175568 [label="+"] + n139894378175400 [label="*"] + n139894378175568 -> n139894378175400 + n139894378175624 [label=2] + n139894378175568 -> n139894378175624 + n139894378175624 [label=2] + n139894378172880 [label=Assign] + n139894378174112 [label=VectorAccess] + n139894378172880 -> n139894378174112 + n139894378173328 [label=VectorAccess] + n139894378172880 -> n139894378173328 + n139894378175288 [label=VectorAccess] + n139894378172880 -> n139894378175288 + n139894378174560 [label=VectorAccess] + n139894378172880 -> n139894378174560 + n139894378192968 [label=VectorAccess] + n139894378172880 -> n139894378192968 + n139894378175736 [label=VectorAccess] + n139894378172880 -> n139894378175736 + n139894378174112 [label=VectorAccess] + n139894378127032 [label=PropertyAccess] + n139894378174112 -> n139894378127032 + n139894378173328 [label=VectorAccess] + n139894378172768 [label="+"] + n139894378173328 -> n139894378172768 + n139894378175288 [label=VectorAccess] + n139894378127032 [label=PropertyAccess] + n139894378175288 -> n139894378127032 + n139894378174560 [label=VectorAccess] + n139894378172768 [label="+"] + n139894378174560 -> n139894378172768 + n139894378192968 [label=VectorAccess] + n139894378127032 [label=PropertyAccess] + n139894378192968 -> n139894378127032 + n139894378175736 [label=VectorAccess] + n139894378172768 [label="+"] + n139894378175736 -> n139894378172768 + n139894378193024 [label=PropertyAccess] + n139894378445344 [label=position] + n139894378193024 -> n139894378445344 + n139894377977728 [label="Iter(0)"] + n139894378193024 -> n139894377977728 + n139894378194368 [label="*"] + n139894378193024 -> n139894378194368 + n139894378195768 [label="+"] + n139894378193024 -> n139894378195768 + n139894377693256 [label="+"] + n139894378193024 -> n139894377693256 + n139894378194368 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378194368 -> n139894377977728 + n139894378194424 [label=3] + n139894378194368 -> n139894378194424 + n139894378194424 [label=3] + n139894378195768 [label="+"] + n139894378195600 [label="*"] + n139894378195768 -> n139894378195600 + n139894378195824 [label=1] + n139894378195768 -> n139894378195824 + n139894378195600 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378195600 -> n139894377977728 + n139894378195656 [label=3] + n139894378195600 -> n139894378195656 + n139894378195656 [label=3] + n139894378195824 [label=1] + n139894377693256 [label="+"] + n139894378196832 [label="*"] + n139894377693256 -> n139894378196832 + n139894377693312 [label=2] + n139894377693256 -> n139894377693312 + n139894378196832 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378196832 -> n139894377977728 + n139894378196888 [label=3] + n139894378196832 -> n139894378196888 + n139894378196888 [label=3] + n139894377693312 [label=2] + n139894378193136 [label=PropertyAccess] + n139894378445400 [label=velocity] + n139894378193136 -> n139894378445400 + n139894377977728 [label="Iter(0)"] + n139894378193136 -> n139894377977728 + n139894378194032 [label="*"] + n139894378193136 -> n139894378194032 + n139894378195432 [label="+"] + n139894378193136 -> n139894378195432 + n139894378196664 [label="+"] + n139894378193136 -> n139894378196664 + n139894378194032 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378194032 -> n139894377977728 + n139894378194088 [label=3] + n139894378194032 -> n139894378194088 + n139894378194088 [label=3] + n139894378195432 [label="+"] + n139894378195264 [label="*"] + n139894378195432 -> n139894378195264 + n139894378195488 [label=1] + n139894378195432 -> n139894378195488 + n139894378195264 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378195264 -> n139894377977728 + n139894378195320 [label=3] + n139894378195264 -> n139894378195320 + n139894378195320 [label=3] + n139894378195488 [label=1] + n139894378196664 [label="+"] + n139894378196496 [label="*"] + n139894378196664 -> n139894378196496 + n139894378196720 [label=2] + n139894378196664 -> n139894378196720 + n139894378196496 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378196496 -> n139894377977728 + n139894378196552 [label=3] + n139894378196496 -> n139894378196552 + n139894378196552 [label=3] + n139894378196720 [label=2] + n139894378193248 [label="*"] + n139894378193304 [label=0.005] + n139894378193248 -> n139894378193304 + n139894378193136 [label=PropertyAccess] + n139894378193248 -> n139894378193136 + n139894378193304 [label=0.005] + n139894378193416 [label="+"] + n139894378193024 [label=PropertyAccess] + n139894378193416 -> n139894378193024 + n139894378193248 [label="*"] + n139894378193416 -> n139894378193248 + n139894378193640 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378193640 -> n139894377977728 + n139894378193696 [label=3] + n139894378193640 -> n139894378193696 + n139894378193696 [label=3] + n139894378194872 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378194872 -> n139894377977728 + n139894378194928 [label=3] + n139894378194872 -> n139894378194928 + n139894378194928 [label=3] + n139894378195040 [label="+"] + n139894378194872 [label="*"] + n139894378195040 -> n139894378194872 + n139894378195096 [label=1] + n139894378195040 -> n139894378195096 + n139894378195096 [label=1] + n139894378196104 [label="*"] + n139894377977728 [label="Iter(0)"] + n139894378196104 -> n139894377977728 + n139894378196160 [label=3] + n139894378196104 -> n139894378196160 + n139894378196160 [label=3] + n139894378196272 [label="+"] + n139894378196104 [label="*"] + n139894378196272 -> n139894378196104 + n139894378196328 [label=2] + n139894378196272 -> n139894378196328 + n139894378196328 [label=2] + n139894378193528 [label=Assign] + n139894378194760 [label=VectorAccess] + n139894378193528 -> n139894378194760 + n139894378193976 [label=VectorAccess] + n139894378193528 -> n139894378193976 + n139894378195992 [label=VectorAccess] + n139894378193528 -> n139894378195992 + n139894378195208 [label=VectorAccess] + n139894378193528 -> n139894378195208 + n139894377693480 [label=VectorAccess] + n139894378193528 -> n139894377693480 + n139894378196440 [label=VectorAccess] + n139894378193528 -> n139894378196440 + n139894378194760 [label=VectorAccess] + n139894378193024 [label=PropertyAccess] + n139894378194760 -> n139894378193024 + n139894378193976 [label=VectorAccess] + n139894378193416 [label="+"] + n139894378193976 -> n139894378193416 + n139894378195992 [label=VectorAccess] + n139894378193024 [label=PropertyAccess] + n139894378195992 -> n139894378193024 + n139894378195208 [label=VectorAccess] + n139894378193416 [label="+"] + n139894378195208 -> n139894378193416 + n139894377693480 [label=VectorAccess] + n139894378193024 [label=PropertyAccess] + n139894377693480 -> n139894378193024 + n139894378196440 [label=VectorAccess] + n139894378193416 [label="+"] + n139894378196440 -> n139894378193416 } diff --git a/examples/kernels.pdf b/examples/kernels.pdf index ce7b3462a9f6380bce3b82a907317bc6979cfe78..c83c9db416d54831ecca26e6031d90f04ebe9433 100644 Binary files a/examples/kernels.pdf and b/examples/kernels.pdf differ diff --git a/examples/lj_ns.cpp b/examples/lj_ns.cpp index ac376f0318cc2547f737c7e5a27053d7cc41f652..b588b2b4a2f59d5087857ed57e16bc7f9e245fcf 100644 --- a/examples/lj_ns.cpp +++ b/examples/lj_ns.cpp @@ -3,704 +3,25 @@ #include <stdio.h> #include <stdlib.h> //--- -#include "../src/pairs/runtime/pairs.hpp" -#include "../src/pairs/runtime/read_from_file.hpp" -#include "../src/pairs/runtime/vtk.hpp" +#include "runtime/pairs.hpp" +#include "runtime/read_from_file.hpp" +#include "runtime/vtk.hpp" using namespace pairs; -int main() { - PairsSim *ps = new PairsSim(); - int particle_capacity = 10000; - int nlocal = 0; - int nghost = 0; - double grid0_d0_min = 0; - double grid0_d0_max = 0; - double grid0_d1_min = 0; - double grid0_d1_max = 0; - double grid0_d2_min = 0; - double grid0_d2_max = 0; - int nstencil = 0; - int ncells = 1; - int ncells_capacity = 100; - int cell_capacity = 20; - int neighborlist_capacity = 32; - int npbc = 0; - int pbc_capacity = 100; - double grid_buffer[6]; - int dim_cells[3]; - int *cell_particles = (int *) malloc((sizeof(int) * (ncells_capacity * cell_capacity))); - int *cell_sizes = (int *) malloc((sizeof(int) * ncells_capacity)); - int *stencil = (int *) malloc((sizeof(int) * 27)); - int *particle_cell = (int *) malloc((sizeof(int) * particle_capacity)); - int *neighborlists = (int *) malloc((sizeof(int) * (particle_capacity * neighborlist_capacity))); - int *numneighs = (int *) malloc((sizeof(int) * particle_capacity)); - int *pbc_map = (int *) malloc((sizeof(int) * pbc_capacity)); - int *pbc_mult = (int *) malloc((sizeof(int) * (pbc_capacity * 3))); - double *mass = (double *) malloc((sizeof(double) * (particle_capacity + pbc_capacity))); - ps->addProperty(Property(0, "mass", mass, Prop_Float)); - double *position = (double *) malloc((sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); - ps->addProperty(Property(1, "position", position, Prop_Vector, AoS, (particle_capacity + pbc_capacity), 3)); - double *velocity = (double *) malloc((sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); - ps->addProperty(Property(2, "velocity", velocity, Prop_Vector, AoS, (particle_capacity + pbc_capacity), 3)); - double *force = (double *) malloc((sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); - ps->addProperty(Property(3, "force", force, Prop_Vector, AoS, (particle_capacity + pbc_capacity), 3)); - const int prop_list_0[] = {0, 1, 2}; - nlocal = pairs::read_particle_data(ps, "data/minimd_setup_4x4x4.input", grid_buffer, prop_list_0, 3); - const double a0 = grid_buffer[0]; - grid0_d0_min = a0; - const double a1 = grid_buffer[1]; - grid0_d0_max = a1; - const double a2 = grid_buffer[2]; - grid0_d1_min = a2; - const double a3 = grid_buffer[3]; - grid0_d1_max = a3; - const double a4 = grid_buffer[4]; - grid0_d2_min = a4; - const double a5 = grid_buffer[5]; - grid0_d2_max = a5; - const double e94 = grid0_d0_max - grid0_d0_min; - const double e95 = e94 / 2.8; - const int e96 = ceil(e95) + 2; - dim_cells[0] = e96; - const double e98 = grid0_d1_max - grid0_d1_min; - const double e99 = e98 / 2.8; - const int e100 = ceil(e99) + 2; - dim_cells[1] = e100; - const int a7 = dim_cells[0]; - const int a9 = dim_cells[1]; - const int e101 = a7 * a9; - const double e102 = grid0_d2_max - grid0_d2_min; - const double e103 = e102 / 2.8; - const int e104 = ceil(e103) + 2; - dim_cells[2] = e104; - const int a11 = dim_cells[2]; - const int e105 = e101 * a11; - ncells = e105; - int resize = 1; - while((resize > 0)) { - resize = 0; - const bool e107 = ncells >= ncells_capacity; - if(e107) { - resize = ncells; - } - const bool e108 = resize > 0; - if(e108) { - fprintf(stdout, "Resize ncells_capacity\n"); - fflush(stdout); - const int e109 = resize * 2; - ncells_capacity = e109; - cell_particles = (int *) realloc(cell_particles, (sizeof(int) * (ncells_capacity * cell_capacity))); - cell_sizes = (int *) realloc(cell_sizes, (sizeof(int) * ncells_capacity)); - } - } - nstencil = 0; - for(int i2 = -1; i2 < 2; i2++) { - const int a12 = dim_cells[0]; - const int e113 = i2 * a12; - for(int i3 = -1; i3 < 2; i3++) { - const int e114 = e113 + i3; - const int a13 = dim_cells[1]; - const int e115 = e114 * a13; - for(int i4 = -1; i4 < 2; i4++) { - const int e116 = e115 + i4; - stencil[nstencil] = e116; - const int e117 = nstencil + 1; - nstencil = e117; - } - } - } - const int e118 = nlocal + npbc; - pairs::vtk_write_data(ps, "output/test_local", 0, nlocal, 0); - pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e118, 0); - for(int i1 = 0; i1 < 101; i1++) { - const int e65 = i1 % 20; - const bool e66 = e65 == 0; - if(e66) { - //pairs::copy_to_device(position) - const double e124 = grid0_d0_max - grid0_d0_min; - const double e131 = grid0_d0_max - grid0_d0_min; - const double e138 = grid0_d1_max - grid0_d1_min; - const double e145 = grid0_d1_max - grid0_d1_min; - const double e152 = grid0_d2_max - grid0_d2_min; - const double e159 = grid0_d2_max - grid0_d2_min; - for(int i5 = 0; i5 < nlocal; i5++) { - const int e119 = i5 * 3; - const double p6_0 = position[e119]; - const bool e121 = p6_0 < grid0_d0_min; - if(e121) { - const int e122 = i5 * 3; - const double p7_0 = position[e122]; - const double e125 = p7_0 + e124; - position[e122] = e125; - } - const int e126 = i5 * 3; - const double p8_0 = position[e126]; - const bool e128 = p8_0 > grid0_d0_max; - if(e128) { - const int e129 = i5 * 3; - const double p9_0 = position[e129]; - const double e132 = p9_0 - e131; - position[e129] = e132; - } - const int e133 = i5 * 3; - const int e134 = e133 + 1; - const double p10_1 = position[e134]; - const bool e135 = p10_1 < grid0_d1_min; - if(e135) { - const int e136 = i5 * 3; - const int e137 = e136 + 1; - const double p11_1 = position[e137]; - const double e139 = p11_1 + e138; - position[e137] = e139; - } - const int e140 = i5 * 3; - const int e141 = e140 + 1; - const double p12_1 = position[e141]; - const bool e142 = p12_1 > grid0_d1_max; - if(e142) { - const int e143 = i5 * 3; - const int e144 = e143 + 1; - const double p13_1 = position[e144]; - const double e146 = p13_1 - e145; - position[e144] = e146; - } - const int e147 = i5 * 3; - const int e148 = e147 + 2; - const double p14_2 = position[e148]; - const bool e149 = p14_2 < grid0_d2_min; - if(e149) { - const int e150 = i5 * 3; - const int e151 = e150 + 2; - const double p15_2 = position[e151]; - const double e153 = p15_2 + e152; - position[e151] = e153; - } - const int e154 = i5 * 3; - const int e155 = e154 + 2; - const double p16_2 = position[e155]; - const bool e156 = p16_2 > grid0_d2_max; - if(e156) { - const int e157 = i5 * 3; - const int e158 = e157 + 2; - const double p17_2 = position[e158]; - const double e160 = p17_2 - e159; - position[e158] = e160; - } - } - } - const int e67 = i1 % 20; - const bool e68 = e67 == 0; - if(e68) { - resize = 1; - while((resize > 0)) { - resize = 0; - npbc = 0; - const int e162 = nlocal + npbc; - const double e166 = grid0_d0_min + 2.8; - const double e177 = grid0_d0_max - grid0_d0_min; - const double e194 = grid0_d0_max - 2.8; - const double e205 = grid0_d0_max - grid0_d0_min; - for(int i6 = 0; i6 < e162; i6++) { - const int e163 = nlocal + npbc; - const int e164 = i6 * 3; - const double p18_0 = position[e164]; - const bool e167 = p18_0 < e166; - if(e167) { - const bool e168 = npbc >= pbc_capacity; - if(e168) { - const bool e169 = resize > npbc; - resize = (e169) ? ((resize + 1)) : (npbc); - } else { - pbc_map[npbc] = i6; - const int e171 = npbc * 3; - pbc_mult[e171] = 1; - const int e173 = e163 * 3; - const double p19_0 = position[e173]; - const int e175 = i6 * 3; - const double p20_0 = position[e175]; - const double e178 = p20_0 + e177; - position[e173] = e178; - const int e179 = npbc * 3; - const int e180 = e179 + 1; - pbc_mult[e180] = 0; - const int e181 = e163 * 3; - const int e182 = e181 + 1; - const double p21_1 = position[e182]; - const int e183 = i6 * 3; - const int e184 = e183 + 1; - const double p22_1 = position[e184]; - position[e182] = p22_1; - const int e185 = npbc * 3; - const int e186 = e185 + 2; - pbc_mult[e186] = 0; - const int e187 = e163 * 3; - const int e188 = e187 + 2; - const double p23_2 = position[e188]; - const int e189 = i6 * 3; - const int e190 = e189 + 2; - const double p24_2 = position[e190]; - position[e188] = p24_2; - const int e191 = npbc + 1; - npbc = e191; - } - } - const int e192 = i6 * 3; - const double p25_0 = position[e192]; - const bool e195 = p25_0 > e194; - if(e195) { - const bool e196 = npbc >= pbc_capacity; - if(e196) { - const bool e197 = resize > npbc; - resize = (e197) ? ((resize + 1)) : (npbc); - } else { - pbc_map[npbc] = i6; - const int e199 = npbc * 3; - pbc_mult[e199] = -1; - const int e201 = e163 * 3; - const double p26_0 = position[e201]; - const int e203 = i6 * 3; - const double p27_0 = position[e203]; - const double e206 = p27_0 - e205; - position[e201] = e206; - const int e207 = npbc * 3; - const int e208 = e207 + 1; - pbc_mult[e208] = 0; - const int e209 = e163 * 3; - const int e210 = e209 + 1; - const double p28_1 = position[e210]; - const int e211 = i6 * 3; - const int e212 = e211 + 1; - const double p29_1 = position[e212]; - position[e210] = p29_1; - const int e213 = npbc * 3; - const int e214 = e213 + 2; - pbc_mult[e214] = 0; - const int e215 = e163 * 3; - const int e216 = e215 + 2; - const double p30_2 = position[e216]; - const int e217 = i6 * 3; - const int e218 = e217 + 2; - const double p31_2 = position[e218]; - position[e216] = p31_2; - const int e219 = npbc + 1; - npbc = e219; - } - } - } - const int e220 = nlocal + npbc; - const double e224 = grid0_d1_min + 2.8; - const double e235 = grid0_d1_max - grid0_d1_min; - const double e252 = grid0_d1_max - 2.8; - const double e263 = grid0_d1_max - grid0_d1_min; - for(int i7 = 0; i7 < e220; i7++) { - const int e221 = nlocal + npbc; - const int e222 = i7 * 3; - const int e223 = e222 + 1; - const double p32_1 = position[e223]; - const bool e225 = p32_1 < e224; - if(e225) { - const bool e226 = npbc >= pbc_capacity; - if(e226) { - const bool e227 = resize > npbc; - resize = (e227) ? ((resize + 1)) : (npbc); - } else { - pbc_map[npbc] = i7; - const int e229 = npbc * 3; - const int e230 = e229 + 1; - pbc_mult[e230] = 1; - const int e231 = e221 * 3; - const int e232 = e231 + 1; - const double p33_1 = position[e232]; - const int e233 = i7 * 3; - const int e234 = e233 + 1; - const double p34_1 = position[e234]; - const double e236 = p34_1 + e235; - position[e232] = e236; - const int e237 = npbc * 3; - pbc_mult[e237] = 0; - const int e239 = e221 * 3; - const double p35_0 = position[e239]; - const int e241 = i7 * 3; - const double p36_0 = position[e241]; - position[e239] = p36_0; - const int e243 = npbc * 3; - const int e244 = e243 + 2; - pbc_mult[e244] = 0; - const int e245 = e221 * 3; - const int e246 = e245 + 2; - const double p37_2 = position[e246]; - const int e247 = i7 * 3; - const int e248 = e247 + 2; - const double p38_2 = position[e248]; - position[e246] = p38_2; - const int e249 = npbc + 1; - npbc = e249; - } - } - const int e250 = i7 * 3; - const int e251 = e250 + 1; - const double p39_1 = position[e251]; - const bool e253 = p39_1 > e252; - if(e253) { - const bool e254 = npbc >= pbc_capacity; - if(e254) { - const bool e255 = resize > npbc; - resize = (e255) ? ((resize + 1)) : (npbc); - } else { - pbc_map[npbc] = i7; - const int e257 = npbc * 3; - const int e258 = e257 + 1; - pbc_mult[e258] = -1; - const int e259 = e221 * 3; - const int e260 = e259 + 1; - const double p40_1 = position[e260]; - const int e261 = i7 * 3; - const int e262 = e261 + 1; - const double p41_1 = position[e262]; - const double e264 = p41_1 - e263; - position[e260] = e264; - const int e265 = npbc * 3; - pbc_mult[e265] = 0; - const int e267 = e221 * 3; - const double p42_0 = position[e267]; - const int e269 = i7 * 3; - const double p43_0 = position[e269]; - position[e267] = p43_0; - const int e271 = npbc * 3; - const int e272 = e271 + 2; - pbc_mult[e272] = 0; - const int e273 = e221 * 3; - const int e274 = e273 + 2; - const double p44_2 = position[e274]; - const int e275 = i7 * 3; - const int e276 = e275 + 2; - const double p45_2 = position[e276]; - position[e274] = p45_2; - const int e277 = npbc + 1; - npbc = e277; - } - } - } - const int e278 = nlocal + npbc; - const double e282 = grid0_d2_min + 2.8; - const double e293 = grid0_d2_max - grid0_d2_min; - const double e310 = grid0_d2_max - 2.8; - const double e321 = grid0_d2_max - grid0_d2_min; - for(int i8 = 0; i8 < e278; i8++) { - const int e279 = nlocal + npbc; - const int e280 = i8 * 3; - const int e281 = e280 + 2; - const double p46_2 = position[e281]; - const bool e283 = p46_2 < e282; - if(e283) { - const bool e284 = npbc >= pbc_capacity; - if(e284) { - const bool e285 = resize > npbc; - resize = (e285) ? ((resize + 1)) : (npbc); - } else { - pbc_map[npbc] = i8; - const int e287 = npbc * 3; - const int e288 = e287 + 2; - pbc_mult[e288] = 1; - const int e289 = e279 * 3; - const int e290 = e289 + 2; - const double p47_2 = position[e290]; - const int e291 = i8 * 3; - const int e292 = e291 + 2; - const double p48_2 = position[e292]; - const double e294 = p48_2 + e293; - position[e290] = e294; - const int e295 = npbc * 3; - pbc_mult[e295] = 0; - const int e297 = e279 * 3; - const double p49_0 = position[e297]; - const int e299 = i8 * 3; - const double p50_0 = position[e299]; - position[e297] = p50_0; - const int e301 = npbc * 3; - const int e302 = e301 + 1; - pbc_mult[e302] = 0; - const int e303 = e279 * 3; - const int e304 = e303 + 1; - const double p51_1 = position[e304]; - const int e305 = i8 * 3; - const int e306 = e305 + 1; - const double p52_1 = position[e306]; - position[e304] = p52_1; - const int e307 = npbc + 1; - npbc = e307; - } - } - const int e308 = i8 * 3; - const int e309 = e308 + 2; - const double p53_2 = position[e309]; - const bool e311 = p53_2 > e310; - if(e311) { - const bool e312 = npbc >= pbc_capacity; - if(e312) { - const bool e313 = resize > npbc; - resize = (e313) ? ((resize + 1)) : (npbc); - } else { - pbc_map[npbc] = i8; - const int e315 = npbc * 3; - const int e316 = e315 + 2; - pbc_mult[e316] = -1; - const int e317 = e279 * 3; - const int e318 = e317 + 2; - const double p54_2 = position[e318]; - const int e319 = i8 * 3; - const int e320 = e319 + 2; - const double p55_2 = position[e320]; - const double e322 = p55_2 - e321; - position[e318] = e322; - const int e323 = npbc * 3; - pbc_mult[e323] = 0; - const int e325 = e279 * 3; - const double p56_0 = position[e325]; - const int e327 = i8 * 3; - const double p57_0 = position[e327]; - position[e325] = p57_0; - const int e329 = npbc * 3; - const int e330 = e329 + 1; - pbc_mult[e330] = 0; - const int e331 = e279 * 3; - const int e332 = e331 + 1; - const double p58_1 = position[e332]; - const int e333 = i8 * 3; - const int e334 = e333 + 1; - const double p59_1 = position[e334]; - position[e332] = p59_1; - const int e335 = npbc + 1; - npbc = e335; - } - } - } - const bool e336 = resize > 0; - if(e336) { - fprintf(stdout, "Resize pbc_capacity\n"); - fflush(stdout); - const int e337 = resize * 2; - pbc_capacity = e337; - pbc_map = (int *) realloc(pbc_map, (sizeof(int) * pbc_capacity)); - pbc_mult = (int *) realloc(pbc_mult, (sizeof(int) * (pbc_capacity * 3))); - mass = (double *) realloc(mass, (sizeof(double) * (particle_capacity + pbc_capacity))); - ps->updateProperty(0, mass); - position = (double *) realloc(position, (sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); - ps->updateProperty(1, position, (particle_capacity + pbc_capacity), 3); - velocity = (double *) realloc(velocity, (sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); - ps->updateProperty(2, velocity, (particle_capacity + pbc_capacity), 3); - force = (double *) realloc(force, (sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); - ps->updateProperty(3, force, (particle_capacity + pbc_capacity), 3); - } - } - } else { - const double e357 = grid0_d0_max - grid0_d0_min; - const double e367 = grid0_d1_max - grid0_d1_min; - const double e377 = grid0_d2_max - grid0_d2_min; - for(int i9 = 0; i9 < npbc; i9++) { - const int e350 = nlocal + i9; - const int e351 = e350 * 3; - const double p60_0 = position[e351]; - const int a39 = pbc_map[i9]; - const int e353 = a39 * 3; - const double p61_0 = position[e353]; - const int e355 = i9 * 3; - const int a40 = pbc_mult[e355]; - const double e358 = a40 * e357; - const double e359 = p61_0 + e358; - position[e351] = e359; - const int e360 = nlocal + i9; - const int e361 = e360 * 3; - const int e362 = e361 + 1; - const double p62_1 = position[e362]; - const int a41 = pbc_map[i9]; - const int e363 = a41 * 3; - const int e364 = e363 + 1; - const double p63_1 = position[e364]; - const int e365 = i9 * 3; - const int e366 = e365 + 1; - const int a42 = pbc_mult[e366]; - const double e368 = a42 * e367; - const double e369 = p63_1 + e368; - position[e362] = e369; - const int e370 = nlocal + i9; - const int e371 = e370 * 3; - const int e372 = e371 + 2; - const double p64_2 = position[e372]; - const int a43 = pbc_map[i9]; - const int e373 = a43 * 3; - const int e374 = e373 + 2; - const double p65_2 = position[e374]; - const int e375 = i9 * 3; - const int e376 = e375 + 2; - const int a44 = pbc_mult[e376]; - const double e378 = a44 * e377; - const double e379 = p65_2 + e378; - position[e372] = e379; - } - } - const int e69 = i1 % 20; - const bool e70 = e69 == 0; - if(e70) { - resize = 1; - while((resize > 0)) { - resize = 0; - for(int i10 = 0; i10 < ncells; i10++) { - cell_sizes[i10] = 0; - } - const int e499 = nlocal + npbc; - for(int i11 = 0; i11 < e499; i11++) { - const int e381 = i11 * 3; - const double p66_0 = position[e381]; - const double e383 = p66_0 - grid0_d0_min; - const double e384 = e383 / 2.8; - const int e385 = i11 * 3; - const int e386 = e385 + 1; - const double p67_1 = position[e386]; - const double e387 = p67_1 - grid0_d1_min; - const double e388 = e387 / 2.8; - const int e389 = i11 * 3; - const int e390 = e389 + 2; - const double p68_2 = position[e390]; - const double e391 = p68_2 - grid0_d2_min; - const double e392 = e391 / 2.8; - const int a46 = dim_cells[1]; - const int e393 = (int)(e384) * a46; - const int e394 = e393 + (int)(e388); - const int a47 = dim_cells[2]; - const int e395 = e394 * a47; - const int e396 = e395 + (int)(e392); - const bool e397 = e396 >= 0; - const bool e398 = e396 <= ncells; - const bool e399 = e397 && e398; - if(e399) { - const int a48 = cell_sizes[e396]; - const bool e400 = a48 >= cell_capacity; - if(e400) { - resize = a48; - } else { - const int e401 = e396 * cell_capacity; - const int e402 = e401 + a48; - cell_particles[e402] = i11; - particle_cell[i11] = e396; - } - const int e403 = a48 + 1; - cell_sizes[e396] = e403; - } - } - const bool e404 = resize > 0; - if(e404) { - fprintf(stdout, "Resize cell_capacity\n"); - fflush(stdout); - const int e405 = resize * 2; - cell_capacity = e405; - cell_particles = (int *) realloc(cell_particles, (sizeof(int) * (ncells_capacity * cell_capacity))); - } - } - } - const int e71 = i1 % 20; - const bool e72 = e71 == 0; - if(e72) { - resize = 1; - while((resize > 0)) { - resize = 0; - for(int i12 = 0; i12 < nlocal; i12++) { - numneighs[i12] = 0; - } - for(int i16 = 0; i16 < nlocal; i16++) { - for(int i17 = 0; i17 < nstencil; i17++) { - const int a58 = particle_cell[i16]; - const int a59 = stencil[i17]; - const int e457 = a58 + a59; - const bool e458 = e457 >= 0; - const bool e459 = e457 <= ncells; - const bool e460 = e458 && e459; - if(e460) { - const int e461 = e457 * cell_capacity; - const int e469 = i16 * 3; - const double p72_0 = position[e469]; - const int e478 = i16 * 3; - const int e479 = e478 + 1; - const double p72_1 = position[e479]; - const int e488 = i16 * 3; - const int e489 = e488 + 2; - const double p72_2 = position[e489]; - const int e410 = i16 * neighborlist_capacity; - const int a60 = cell_sizes[e457]; - for(int i18 = 0; i18 < a60; i18++) { - const int e462 = e461 + i18; - const int a61 = cell_particles[e462]; - const bool e463 = a61 != i16; - if(e463) { - const int e471 = a61 * 3; - const double p73_0 = position[e471]; - const int e480 = a61 * 3; - const int e481 = e480 + 1; - const double p73_1 = position[e481]; - const int e490 = a61 * 3; - const int e491 = e490 + 2; - const double p73_2 = position[e491]; - const double e464_0 = p72_0 - p73_0; - const double e464_1 = p72_1 - p73_1; - const double e464_2 = p72_2 - p73_2; - const double e473 = e464_0 * e464_0; - const double e482 = e464_1 * e464_1; - const double e483 = e473 + e482; - const double e492 = e464_2 * e464_2; - const double e493 = e483 + e492; - const bool e494 = e493 < 2.8; - if(e494) { - const int a53 = numneighs[i16]; - const bool e409 = a53 >= neighborlist_capacity; - if(e409) { - resize = a53; - } else { - const int e411 = e410 + a53; - neighborlists[e411] = a61; - const int e412 = a53 + 1; - numneighs[i16] = e412; - } - } - } - } - } - } - } - const bool e413 = resize > 0; - if(e413) { - fprintf(stdout, "Resize neighborlist_capacity\n"); - fflush(stdout); - const int e414 = resize * 2; - neighborlist_capacity = e414; - neighborlists = (int *) realloc(neighborlists, (sizeof(int) * (particle_capacity * neighborlist_capacity))); - } - } - } - //pairs::copy_to_device(force) - for(int i13 = 0; i13 < nlocal; i13++) { - const int e417 = i13 * 3; - const double p69_0 = force[e417]; - const int e419 = i13 * 3; - const int e420 = e419 + 1; - const double p69_1 = force[e420]; - const int e421 = i13 * 3; - const int e422 = e421 + 2; - const double p69_2 = force[e422]; - force[e417] = 0.0; - force[e420] = 0.0; - force[e422] = 0.0; - } +void module_0(int neighborlist_capacity, int nlocal, int *neighborlists, int *numneighs, double *position, double *force) { + fprintf(stdout, "module_0 --- enter\n"); + fflush(stdout); for(int i14 = 0; i14 < nlocal; i14++) { - const int e423 = i14 * neighborlist_capacity; - const int e430 = i14 * 3; - const double p70_0 = position[e430]; - const int e439 = i14 * 3; - const int e440 = e439 + 1; - const double p70_1 = position[e440]; - const int e449 = i14 * 3; - const int e450 = e449 + 2; - const double p70_2 = position[e450]; + const int e369 = i14 * neighborlist_capacity; + const int e376 = i14 * 3; + const double p23_0 = position[e376]; + const int e385 = i14 * 3; + const int e386 = e385 + 1; + const double p23_1 = position[e386]; + const int e395 = i14 * 3; + const int e396 = e395 + 2; + const double p23_2 = position[e396]; const int e14 = i14 * 3; const int e18 = i14 * 3; const int e19 = e18 + 1; @@ -708,39 +29,39 @@ int main() { const int e23 = e22 + 2; const int a56 = numneighs[i14]; for(int i15 = 0; i15 < a56; i15++) { - const int e424 = e423 + i15; - const int a57 = neighborlists[e424]; - const int e432 = a57 * 3; - const double p71_0 = position[e432]; - const int e441 = a57 * 3; - const int e442 = e441 + 1; - const double p71_1 = position[e442]; - const int e451 = a57 * 3; - const int e452 = e451 + 2; - const double p71_2 = position[e452]; - const double e425_0 = p70_0 - p71_0; - const double e425_1 = p70_1 - p71_1; - const double e425_2 = p70_2 - p71_2; - const double e434 = e425_0 * e425_0; - const double e443 = e425_1 * e425_1; - const double e444 = e434 + e443; - const double e453 = e425_2 * e425_2; - const double e454 = e444 + e453; - const bool e455 = e454 < 2.5; - if(e455) { - const double e1 = 1.0 / e454; + const int e370 = e369 + i15; + const int a57 = neighborlists[e370]; + const int e378 = a57 * 3; + const double p24_0 = position[e378]; + const int e387 = a57 * 3; + const int e388 = e387 + 1; + const double p24_1 = position[e388]; + const int e397 = a57 * 3; + const int e398 = e397 + 2; + const double p24_2 = position[e398]; + const double e371_0 = p23_0 - p24_0; + const double e371_1 = p23_1 - p24_1; + const double e371_2 = p23_2 - p24_2; + const double e380 = e371_0 * e371_0; + const double e389 = e371_1 * e371_1; + const double e390 = e380 + e389; + const double e399 = e371_2 * e371_2; + const double e400 = e390 + e399; + const bool e401 = e400 < 2.5; + if(e401) { + const double e1 = 1.0 / e400; const double e2 = e1 * e1; const double e3 = e2 * e1; const double p0_0 = force[e14]; const double p0_1 = force[e19]; const double p0_2 = force[e23]; const double e7 = e3 - 0.5; - const double e495 = 48.0 * e3; - const double e496 = e495 * e7; - const double e497 = e496 * e1; - const double e10_0 = e425_0 * e497; - const double e10_1 = e425_1 * e497; - const double e10_2 = e425_2 * e497; + const double e441 = 48.0 * e3; + const double e442 = e441 * e7; + const double e443 = e442 * e1; + const double e10_0 = e371_0 * e443; + const double e10_1 = e371_1 * e443; + const double e10_2 = e371_2 * e443; const double e11_0 = p0_0 + e10_0; const double e11_1 = p0_1 + e10_1; const double e11_2 = p0_2 + e10_2; @@ -750,8 +71,12 @@ int main() { } } } - //pairs::copy_to_device(velocity) - //pairs::copy_to_device(mass) + fprintf(stdout, "module_0 --- exit\n"); + fflush(stdout); +} +void module_1(int nlocal, double *velocity, double *force, double *mass, double *position) { + fprintf(stdout, "module_1 --- enter\n"); + fflush(stdout); for(int i0 = 0; i0 < nlocal; i0++) { const int e31 = i0 * 3; const double p1_0 = velocity[e31]; @@ -808,9 +133,650 @@ int main() { position[e58] = e46_1; position[e64] = e46_2; } + fprintf(stdout, "module_1 --- exit\n"); + fflush(stdout); +} +void build_cell_lists_stencil(double grid0_d0_max, double grid0_d0_min, double grid0_d1_max, double grid0_d1_min, double grid0_d2_max, double grid0_d2_min, int ncells_capacity, int *ncells, int *nstencil, int *dim_cells, int *resizes, int *stencil) { + fprintf(stdout, "build_cell_lists_stencil --- enter\n"); + fflush(stdout); + const double e95 = grid0_d0_max - grid0_d0_min; + const double e96 = e95 / 2.8; + const int e97 = ceil(e96) + 2; + dim_cells[0] = e97; + const double e99 = grid0_d1_max - grid0_d1_min; + const double e100 = e99 / 2.8; + const int e101 = ceil(e100) + 2; + dim_cells[1] = e101; + const int a7 = dim_cells[0]; + const int a9 = dim_cells[1]; + const int e102 = a7 * a9; + const double e103 = grid0_d2_max - grid0_d2_min; + const double e104 = e103 / 2.8; + const int e105 = ceil(e104) + 2; + dim_cells[2] = e105; + const int a11 = dim_cells[2]; + const int e106 = e102 * a11; + const int e445 = e106 + 1; + const bool e446 = e445 >= ncells_capacity; + if(e446) { + resizes[0] = e106; + } else { + (*ncells) = e106; + } + (*nstencil) = 0; + for(int i2 = -1; i2 < 2; i2++) { + const int a12 = dim_cells[0]; + const int e107 = i2 * a12; + for(int i3 = -1; i3 < 2; i3++) { + const int e108 = e107 + i3; + const int a13 = dim_cells[1]; + const int e109 = e108 * a13; + for(int i4 = -1; i4 < 2; i4++) { + const int e110 = e109 + i4; + stencil[(*nstencil)] = e110; + const int e111 = (*nstencil) + 1; + (*nstencil) = e111; + } + } + } + fprintf(stdout, "build_cell_lists_stencil --- exit\n"); + fflush(stdout); +} +void enforce_pbc(double grid0_d0_max, double grid0_d0_min, double grid0_d1_max, double grid0_d1_min, double grid0_d2_max, double grid0_d2_min, int nlocal, double *position) { + fprintf(stdout, "enforce_pbc --- enter\n"); + fflush(stdout); + const double e118 = grid0_d0_max - grid0_d0_min; + const double e125 = grid0_d0_max - grid0_d0_min; + const double e132 = grid0_d1_max - grid0_d1_min; + const double e139 = grid0_d1_max - grid0_d1_min; + const double e146 = grid0_d2_max - grid0_d2_min; + const double e153 = grid0_d2_max - grid0_d2_min; + for(int i5 = 0; i5 < nlocal; i5++) { + const int e123 = i5 * 3; + const double p6_0 = position[e123]; + const int e137 = i5 * 3; + const int e138 = e137 + 1; + const double p6_1 = position[e138]; + const int e151 = i5 * 3; + const int e152 = e151 + 2; + const double p6_2 = position[e152]; + const bool e115 = p6_0 < grid0_d0_min; + if(e115) { + const double e119 = p6_0 + e118; + position[e123] = e119; + } + const bool e122 = p6_0 > grid0_d0_max; + if(e122) { + const double e126 = p6_0 - e125; + position[e123] = e126; + } + const bool e129 = p6_1 < grid0_d1_min; + if(e129) { + const double e133 = p6_1 + e132; + position[e138] = e133; + } + const bool e136 = p6_1 > grid0_d1_max; + if(e136) { + const double e140 = p6_1 - e139; + position[e138] = e140; + } + const bool e143 = p6_2 < grid0_d2_min; + if(e143) { + const double e147 = p6_2 + e146; + position[e152] = e147; + } + const bool e150 = p6_2 > grid0_d2_max; + if(e150) { + const double e154 = p6_2 - e153; + position[e152] = e154; + } + } + fprintf(stdout, "enforce_pbc --- exit\n"); + fflush(stdout); +} +void setup_pbc(double grid0_d0_max, double grid0_d0_min, int pbc_capacity, double grid0_d1_max, double grid0_d1_min, double grid0_d2_max, double grid0_d2_min, int *npbc, int *nlocal, int *pbc_map, int *pbc_mult, int *resizes, double *position) { + fprintf(stdout, "setup_pbc --- enter\n"); + fflush(stdout); + (*npbc) = 0; + const int e155 = (*nlocal) + (*npbc); + const double e157 = grid0_d0_max - grid0_d0_min; + const double e160 = grid0_d0_min + 2.8; + const double e184 = grid0_d0_max - 2.8; + for(int i6 = 0; i6 < e155; i6++) { + const int e190 = i6 * 3; + const double p7_0 = position[e190]; + const int e197 = i6 * 3; + const int e198 = e197 + 1; + const double p7_1 = position[e198]; + const int e203 = i6 * 3; + const int e204 = e203 + 2; + const double p7_2 = position[e204]; + const int e156 = (*nlocal) + (*npbc); + const int e188 = e156 * 3; + const double p8_0 = position[e188]; + const int e195 = e156 * 3; + const int e196 = e195 + 1; + const double p8_1 = position[e196]; + const int e201 = e156 * 3; + const int e202 = e201 + 2; + const double p8_2 = position[e202]; + const bool e161 = p7_0 < e160; + if(e161) { + pbc_map[(*npbc)] = i6; + const int e162 = (*npbc) * 3; + pbc_mult[e162] = 1; + const double e168 = p7_0 + e157; + position[e188] = e168; + const int e169 = (*npbc) * 3; + const int e170 = e169 + 1; + pbc_mult[e170] = 0; + position[e196] = p7_1; + const int e175 = (*npbc) * 3; + const int e176 = e175 + 2; + pbc_mult[e176] = 0; + position[e202] = p7_2; + const int e181 = (*npbc) + 1; + const int e447 = e181 + 1; + const bool e448 = e447 >= pbc_capacity; + if(e448) { + resizes[0] = e181; + } else { + (*npbc) = e181; + } + } + const bool e185 = p7_0 > e184; + if(e185) { + pbc_map[(*npbc)] = i6; + const int e186 = (*npbc) * 3; + pbc_mult[e186] = -1; + const double e192 = p7_0 - e157; + position[e188] = e192; + const int e193 = (*npbc) * 3; + const int e194 = e193 + 1; + pbc_mult[e194] = 0; + position[e196] = p7_1; + const int e199 = (*npbc) * 3; + const int e200 = e199 + 2; + pbc_mult[e200] = 0; + position[e202] = p7_2; + const int e205 = (*npbc) + 1; + const int e449 = e205 + 1; + const bool e450 = e449 >= pbc_capacity; + if(e450) { + resizes[0] = e205; + } else { + (*npbc) = e205; + } + } + } + const int e206 = (*nlocal) + (*npbc); + const double e208 = grid0_d1_max - grid0_d1_min; + const double e211 = grid0_d1_min + 2.8; + const double e235 = grid0_d1_max - 2.8; + for(int i7 = 0; i7 < e206; i7++) { + const int e248 = i7 * 3; + const double p9_0 = position[e248]; + const int e241 = i7 * 3; + const int e242 = e241 + 1; + const double p9_1 = position[e242]; + const int e254 = i7 * 3; + const int e255 = e254 + 2; + const double p9_2 = position[e255]; + const int e207 = (*nlocal) + (*npbc); + const int e246 = e207 * 3; + const double p10_0 = position[e246]; + const int e239 = e207 * 3; + const int e240 = e239 + 1; + const double p10_1 = position[e240]; + const int e252 = e207 * 3; + const int e253 = e252 + 2; + const double p10_2 = position[e253]; + const bool e212 = p9_1 < e211; + if(e212) { + pbc_map[(*npbc)] = i7; + const int e213 = (*npbc) * 3; + const int e214 = e213 + 1; + pbc_mult[e214] = 1; + const double e219 = p9_1 + e208; + position[e240] = e219; + const int e220 = (*npbc) * 3; + pbc_mult[e220] = 0; + position[e246] = p9_0; + const int e226 = (*npbc) * 3; + const int e227 = e226 + 2; + pbc_mult[e227] = 0; + position[e253] = p9_2; + const int e232 = (*npbc) + 1; + const int e451 = e232 + 1; + const bool e452 = e451 >= pbc_capacity; + if(e452) { + resizes[0] = e232; + } else { + (*npbc) = e232; + } + } + const bool e236 = p9_1 > e235; + if(e236) { + pbc_map[(*npbc)] = i7; + const int e237 = (*npbc) * 3; + const int e238 = e237 + 1; + pbc_mult[e238] = -1; + const double e243 = p9_1 - e208; + position[e240] = e243; + const int e244 = (*npbc) * 3; + pbc_mult[e244] = 0; + position[e246] = p9_0; + const int e250 = (*npbc) * 3; + const int e251 = e250 + 2; + pbc_mult[e251] = 0; + position[e253] = p9_2; + const int e256 = (*npbc) + 1; + const int e453 = e256 + 1; + const bool e454 = e453 >= pbc_capacity; + if(e454) { + resizes[0] = e256; + } else { + (*npbc) = e256; + } + } + } + const int e257 = (*nlocal) + (*npbc); + const double e259 = grid0_d2_max - grid0_d2_min; + const double e262 = grid0_d2_min + 2.8; + const double e286 = grid0_d2_max - 2.8; + for(int i8 = 0; i8 < e257; i8++) { + const int e299 = i8 * 3; + const double p11_0 = position[e299]; + const int e305 = i8 * 3; + const int e306 = e305 + 1; + const double p11_1 = position[e306]; + const int e292 = i8 * 3; + const int e293 = e292 + 2; + const double p11_2 = position[e293]; + const int e258 = (*nlocal) + (*npbc); + const int e297 = e258 * 3; + const double p12_0 = position[e297]; + const int e303 = e258 * 3; + const int e304 = e303 + 1; + const double p12_1 = position[e304]; + const int e290 = e258 * 3; + const int e291 = e290 + 2; + const double p12_2 = position[e291]; + const bool e263 = p11_2 < e262; + if(e263) { + pbc_map[(*npbc)] = i8; + const int e264 = (*npbc) * 3; + const int e265 = e264 + 2; + pbc_mult[e265] = 1; + const double e270 = p11_2 + e259; + position[e291] = e270; + const int e271 = (*npbc) * 3; + pbc_mult[e271] = 0; + position[e297] = p11_0; + const int e277 = (*npbc) * 3; + const int e278 = e277 + 1; + pbc_mult[e278] = 0; + position[e304] = p11_1; + const int e283 = (*npbc) + 1; + const int e455 = e283 + 1; + const bool e456 = e455 >= pbc_capacity; + if(e456) { + resizes[0] = e283; + } else { + (*npbc) = e283; + } + } + const bool e287 = p11_2 > e286; + if(e287) { + pbc_map[(*npbc)] = i8; + const int e288 = (*npbc) * 3; + const int e289 = e288 + 2; + pbc_mult[e289] = -1; + const double e294 = p11_2 - e259; + position[e291] = e294; + const int e295 = (*npbc) * 3; + pbc_mult[e295] = 0; + position[e297] = p11_0; + const int e301 = (*npbc) * 3; + const int e302 = e301 + 1; + pbc_mult[e302] = 0; + position[e304] = p11_1; + const int e307 = (*npbc) + 1; + const int e457 = e307 + 1; + const bool e458 = e457 >= pbc_capacity; + if(e458) { + resizes[0] = e307; + } else { + (*npbc) = e307; + } + } + } + fprintf(stdout, "setup_pbc --- exit\n"); + fflush(stdout); +} +void update_pbc(double grid0_d0_max, double grid0_d0_min, double grid0_d1_max, double grid0_d1_min, double grid0_d2_max, double grid0_d2_min, int npbc, int *nlocal, int *pbc_map, int *pbc_mult, double *position) { + fprintf(stdout, "update_pbc --- enter\n"); + fflush(stdout); + const double e315 = grid0_d0_max - grid0_d0_min; + const double e325 = grid0_d1_max - grid0_d1_min; + const double e335 = grid0_d2_max - grid0_d2_min; + for(int i9 = 0; i9 < npbc; i9++) { + const int e308 = (*nlocal) + i9; + const int e309 = e308 * 3; + const double p13_0 = position[e309]; + const int a39 = pbc_map[i9]; + const int e311 = a39 * 3; + const double p14_0 = position[e311]; + const int e313 = i9 * 3; + const int a40 = pbc_mult[e313]; + const double e316 = a40 * e315; + const double e317 = p14_0 + e316; + position[e309] = e317; + const int e318 = (*nlocal) + i9; + const int e319 = e318 * 3; + const int e320 = e319 + 1; + const double p15_1 = position[e320]; + const int a41 = pbc_map[i9]; + const int e321 = a41 * 3; + const int e322 = e321 + 1; + const double p16_1 = position[e322]; + const int e323 = i9 * 3; + const int e324 = e323 + 1; + const int a42 = pbc_mult[e324]; + const double e326 = a42 * e325; + const double e327 = p16_1 + e326; + position[e320] = e327; + const int e328 = (*nlocal) + i9; + const int e329 = e328 * 3; + const int e330 = e329 + 2; + const double p17_2 = position[e330]; + const int a43 = pbc_map[i9]; + const int e331 = a43 * 3; + const int e332 = e331 + 2; + const double p18_2 = position[e332]; + const int e333 = i9 * 3; + const int e334 = e333 + 2; + const int a44 = pbc_mult[e334]; + const double e336 = a44 * e335; + const double e337 = p18_2 + e336; + position[e330] = e337; + } + fprintf(stdout, "update_pbc --- exit\n"); + fflush(stdout); +} +void build_cell_lists(int ncells, int nlocal, int npbc, double *grid0_d0_min, double *grid0_d1_min, double *grid0_d2_min, int *cell_capacity, int *cell_sizes, int *dim_cells, int *particle_cell, int *cell_particles, int *resizes, double *position) { + fprintf(stdout, "build_cell_lists --- enter\n"); + fflush(stdout); + for(int i10 = 0; i10 < ncells; i10++) { + cell_sizes[i10] = 0; + } + const int e500 = nlocal + npbc; + for(int i11 = 0; i11 < e500; i11++) { + const int e338 = i11 * 3; + const double p19_0 = position[e338]; + const double e340 = p19_0 - (*grid0_d0_min); + const double e341 = e340 / 2.8; + const int e342 = i11 * 3; + const int e343 = e342 + 1; + const double p20_1 = position[e343]; + const double e344 = p20_1 - (*grid0_d1_min); + const double e345 = e344 / 2.8; + const int e346 = i11 * 3; + const int e347 = e346 + 2; + const double p21_2 = position[e347]; + const double e348 = p21_2 - (*grid0_d2_min); + const double e349 = e348 / 2.8; + const int a46 = dim_cells[1]; + const int e350 = (int)(e341) * a46; + const int e351 = e350 + (int)(e345); + const int a47 = dim_cells[2]; + const int e352 = e351 * a47; + const int e353 = e352 + (int)(e349); + const bool e354 = e353 >= 0; + const bool e355 = e353 <= ncells; + const bool e356 = e354 && e355; + if(e356) { + particle_cell[i11] = e353; + const int e357 = e353 * (*cell_capacity); + const int a48 = cell_sizes[e353]; + const int e358 = e357 + a48; + cell_particles[e358] = i11; + const int e359 = a48 + 1; + const int e459 = e359 + 1; + const bool e460 = e459 >= (*cell_capacity); + if(e460) { + resizes[0] = e359; + } else { + cell_sizes[e353] = e359; + } + } + } + fprintf(stdout, "build_cell_lists --- exit\n"); + fflush(stdout); +} +void neighbor_lists_build(int nlocal, int ncells, int cell_capacity, int nstencil, int *neighborlist_capacity, int *numneighs, int *particle_cell, int *stencil, int *cell_particles, int *neighborlists, int *resizes, int *cell_sizes, double *position) { + fprintf(stdout, "neighbor_lists_build --- enter\n"); + fflush(stdout); + for(int i12 = 0; i12 < nlocal; i12++) { + numneighs[i12] = 0; + } + for(int i16 = 0; i16 < nlocal; i16++) { + for(int i17 = 0; i17 < nstencil; i17++) { + const int a58 = particle_cell[i16]; + const int a59 = stencil[i17]; + const int e403 = a58 + a59; + const bool e404 = e403 >= 0; + const bool e405 = e403 <= ncells; + const bool e406 = e404 && e405; + if(e406) { + const int e407 = e403 * cell_capacity; + const int e415 = i16 * 3; + const double p25_0 = position[e415]; + const int e424 = i16 * 3; + const int e425 = e424 + 1; + const double p25_1 = position[e425]; + const int e434 = i16 * 3; + const int e435 = e434 + 2; + const double p25_2 = position[e435]; + const int e360 = i16 * (*neighborlist_capacity); + const int a60 = cell_sizes[e403]; + for(int i18 = 0; i18 < a60; i18++) { + const int e408 = e407 + i18; + const int a61 = cell_particles[e408]; + const bool e409 = a61 != i16; + if(e409) { + const int e417 = a61 * 3; + const double p26_0 = position[e417]; + const int e426 = a61 * 3; + const int e427 = e426 + 1; + const double p26_1 = position[e427]; + const int e436 = a61 * 3; + const int e437 = e436 + 2; + const double p26_2 = position[e437]; + const double e410_0 = p25_0 - p26_0; + const double e410_1 = p25_1 - p26_1; + const double e410_2 = p25_2 - p26_2; + const double e419 = e410_0 * e410_0; + const double e428 = e410_1 * e410_1; + const double e429 = e419 + e428; + const double e438 = e410_2 * e410_2; + const double e439 = e429 + e438; + const bool e440 = e439 < 2.8; + if(e440) { + const int a53 = numneighs[i16]; + const int e361 = e360 + a53; + neighborlists[e361] = a61; + const int e362 = a53 + 1; + const int e461 = e362 + 1; + const bool e462 = e461 >= (*neighborlist_capacity); + if(e462) { + resizes[0] = e362; + } else { + numneighs[i16] = e362; + } + } + } + } + } + } + } + fprintf(stdout, "neighbor_lists_build --- exit\n"); + fflush(stdout); +} +void reset_volatile_properties(int nlocal, double *force) { + fprintf(stdout, "reset_volatile_properties --- enter\n"); + fflush(stdout); + for(int i13 = 0; i13 < nlocal; i13++) { + const int e363 = i13 * 3; + const double p22_0 = force[e363]; + const int e365 = i13 * 3; + const int e366 = e365 + 1; + const double p22_1 = force[e366]; + const int e367 = i13 * 3; + const int e368 = e367 + 2; + const double p22_2 = force[e368]; + force[e363] = 0.0; + force[e366] = 0.0; + force[e368] = 0.0; + } + fprintf(stdout, "reset_volatile_properties --- exit\n"); + fflush(stdout); +} +int main() { + PairsSim *ps = new PairsSim(); + int particle_capacity = 10000; + int nlocal = 0; + int nghost = 0; + double grid0_d0_min = 0; + double grid0_d0_max = 0; + double grid0_d1_min = 0; + double grid0_d1_max = 0; + double grid0_d2_min = 0; + double grid0_d2_max = 0; + int nstencil = 0; + int ncells = 1; + int ncells_capacity = 100; + int cell_capacity = 20; + int neighborlist_capacity = 32; + int npbc = 0; + int pbc_capacity = 100; + int *resizes = (int *) malloc((sizeof(int) * 3)); + double grid_buffer[6]; + int dim_cells[3]; + int *cell_particles = (int *) malloc((sizeof(int) * (ncells_capacity * cell_capacity))); + int *cell_sizes = (int *) malloc((sizeof(int) * ncells_capacity)); + int *stencil = (int *) malloc((sizeof(int) * 27)); + int *particle_cell = (int *) malloc((sizeof(int) * particle_capacity)); + int *neighborlists = (int *) malloc((sizeof(int) * (particle_capacity * neighborlist_capacity))); + int *numneighs = (int *) malloc((sizeof(int) * particle_capacity)); + int *pbc_map = (int *) malloc((sizeof(int) * pbc_capacity)); + int *pbc_mult = (int *) malloc((sizeof(int) * (pbc_capacity * 3))); + double *mass = (double *) malloc((sizeof(double) * (particle_capacity + pbc_capacity))); + ps->addProperty(Property(0, "mass", mass, Prop_Float)); + double *position = (double *) malloc((sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); + ps->addProperty(Property(1, "position", position, Prop_Vector, AoS, (particle_capacity + pbc_capacity), 3)); + double *velocity = (double *) malloc((sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); + ps->addProperty(Property(2, "velocity", velocity, Prop_Vector, AoS, (particle_capacity + pbc_capacity), 3)); + double *force = (double *) malloc((sizeof(double) * ((particle_capacity + pbc_capacity) * 3))); + ps->addProperty(Property(3, "force", force, Prop_Vector, AoS, (particle_capacity + pbc_capacity), 3)); + const int prop_list_0[] = {0, 1, 2}; + nlocal = pairs::read_particle_data(ps, "data/minimd_setup_4x4x4.input", grid_buffer, prop_list_0, 3); + const double a0 = grid_buffer[0]; + grid0_d0_min = a0; + const double a1 = grid_buffer[1]; + grid0_d0_max = a1; + const double a2 = grid_buffer[2]; + grid0_d1_min = a2; + const double a3 = grid_buffer[3]; + grid0_d1_max = a3; + const double a4 = grid_buffer[4]; + grid0_d2_min = a4; + const double a5 = grid_buffer[5]; + grid0_d2_max = a5; + resizes[0] = 1; + while((resizes[0] > 0)) { + resizes[0] = 0; + build_cell_lists_stencil(grid0_d0_max, grid0_d0_min, grid0_d1_max, grid0_d1_min, grid0_d2_max, grid0_d2_min, ncells_capacity, &ncells, &nstencil, dim_cells, resizes, stencil); + const int a74 = resizes[0]; + const bool e464 = a74 > 0; + if(e464) { + const int a75 = resizes[0]; + const int e465 = a75 * 2; + ncells_capacity = e465; + cell_particles = (int *) realloc(cell_particles, (sizeof(int) * (ncells_capacity * cell_capacity))); + cell_sizes = (int *) realloc(cell_sizes, (sizeof(int) * ncells_capacity)); + } + } + const int e112 = nlocal + npbc; + pairs::vtk_write_data(ps, "output/test_local", 0, nlocal, 0); + pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e112, 0); + for(int i1 = 0; i1 < 101; i1++) { + if(((i1 % 20) == 0)) { + enforce_pbc(grid0_d0_max, grid0_d0_min, grid0_d1_max, grid0_d1_min, grid0_d2_max, grid0_d2_min, nlocal, position); + } + if(((i1 % 20) == 0)) { + resizes[0] = 1; + while((resizes[0] > 0)) { + resizes[0] = 0; + setup_pbc(grid0_d0_max, grid0_d0_min, pbc_capacity, grid0_d1_max, grid0_d1_min, grid0_d2_max, grid0_d2_min, &npbc, &nlocal, pbc_map, pbc_mult, resizes, position); + const int a79 = resizes[0]; + const bool e485 = a79 > 0; + if(e485) { + const int a80 = resizes[0]; + const int e486 = a80 * 2; + pbc_capacity = e486; + pbc_map = (int *) realloc(pbc_map, (sizeof(int) * pbc_capacity)); + pbc_mult = (int *) realloc(pbc_mult, (sizeof(int) * (pbc_capacity * 3))); + mass = (double *) realloc(mass, (sizeof(double) * ((0 + particle_capacity) + pbc_capacity))); + ps->updateProperty(0, mass); + position = (double *) realloc(position, (sizeof(double) * (((0 + particle_capacity) + pbc_capacity) * 3))); + ps->updateProperty(1, position, ((0 + particle_capacity) + pbc_capacity), 3); + velocity = (double *) realloc(velocity, (sizeof(double) * (((0 + particle_capacity) + pbc_capacity) * 3))); + ps->updateProperty(2, velocity, ((0 + particle_capacity) + pbc_capacity), 3); + force = (double *) realloc(force, (sizeof(double) * (((0 + particle_capacity) + pbc_capacity) * 3))); + ps->updateProperty(3, force, ((0 + particle_capacity) + pbc_capacity), 3); + } + } + } else { + update_pbc(grid0_d0_max, grid0_d0_min, grid0_d1_max, grid0_d1_min, grid0_d2_max, grid0_d2_min, npbc, &nlocal, pbc_map, pbc_mult, position); + } + if(((i1 % 20) == 0)) { + resizes[0] = 1; + while((resizes[0] > 0)) { + resizes[0] = 0; + build_cell_lists(ncells, nlocal, npbc, &grid0_d0_min, &grid0_d1_min, &grid0_d2_min, &cell_capacity, cell_sizes, dim_cells, particle_cell, cell_particles, resizes, position); + const int a84 = resizes[0]; + const bool e491 = a84 > 0; + if(e491) { + const int a85 = resizes[0]; + const int e492 = a85 * 2; + cell_capacity = e492; + cell_particles = (int *) realloc(cell_particles, (sizeof(int) * (ncells_capacity * cell_capacity))); + } + } + } + if(((i1 % 20) == 0)) { + resizes[0] = 1; + while((resizes[0] > 0)) { + resizes[0] = 0; + neighbor_lists_build(nlocal, ncells, cell_capacity, nstencil, &neighborlist_capacity, numneighs, particle_cell, stencil, cell_particles, neighborlists, resizes, cell_sizes, position); + const int a89 = resizes[0]; + const bool e496 = a89 > 0; + if(e496) { + const int a90 = resizes[0]; + const int e497 = a90 * 2; + neighborlist_capacity = e497; + neighborlists = (int *) realloc(neighborlists, (sizeof(int) * (particle_capacity * neighborlist_capacity))); + } + } + } + reset_volatile_properties(nlocal, force); + module_0(neighborlist_capacity, nlocal, neighborlists, numneighs, position, force); + module_1(nlocal, velocity, force, mass, position); const int e73 = i1 + 1; - const int e456 = nlocal + npbc; + const int e402 = nlocal + npbc; pairs::vtk_write_data(ps, "output/test_local", 0, nlocal, e73); - pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e456, e73); + pairs::vtk_write_data(ps, "output/test_pbc", nlocal, e402, e73); } + return 0; }