मुझे पता है कि यह प्रश्न पहले से ही उत्तर दिया गया है, लेकिन यहां एक समान एकल-चेहरा आधारित लूपिंग स्टोरेज है जो ओपनफैम + सी + + में लागू किया गया है:
प्रत्येक सेल में एक सेललिस्ट में एक इंडेक्स (आईडी) होता है। दो चेहरों को सभी चेहरों के लिए परिभाषित किया गया है: "आंतरिक मालिक का सामना करें" और "पड़ोसी का सामना करें"। दोनों चेहरे की सूचियों की लंबाई मेष में आंतरिक चेहरों की संख्या से मेल खाती है। सेल फेसिस्ट (फेस पड़ोसी के लिए विपरीत) के साथ एक चेहरा का मालिक कम आईडी वाला सेल होगा। सीमा के चेहरे अंतिम लिखे गए हैं, और उनके पास आउटवर्ड ओरिएंटेड नॉर्म्स हैं (समाधान डोमेन से), और निश्चित रूप से, केवल एक मालिक सेल। चेहरे का क्षेत्र सामान्य उन्मुख होता है ताकि यह मालिक कोशिका से पड़ोसी कोशिका तक बाहर की ओर दिखे।
उदाहरण के लिए फ्लक्स गणना के लिए यह अच्छी तरह से काम करता है। फ्लक्स का मूल्यांकन एक बार प्रति चेहरे पर किया जाता है, और इसे मालिक कोशिकाओं के लिए कुल चेहरों के योग में जोड़ा जाता है, और पड़ोसी कोशिकाओं से कटौती की जाती है (चेहरे के क्षेत्र सामान्य के उन्मुखीकरण के आधार पर योग / कटौती का फैसला किया जाता है)। सीमा के चेहरे को क्रमबद्ध किया जाता है और चेहरे की सूची के नीचे संग्रहीत किया जाता है, जिससे सीमा की स्थिति को चेहरे की सूची के स्लाइस के रूप में परिभाषित किया जाता है (सीमा लेबल, सीमा पैच का अंत लेबल), इस प्रकार सीमा शर्तों के कार्यान्वयन को सरल बनाने के साथ-साथ सीमा की स्थितियों के लिए अद्यतन प्रक्रिया की इनहेनिंग दक्षता के रूप में, क्योंकि यह आंतरिक चेहरों पर संचालन द्वारा प्रदान किए गए समाधान पर निर्भर है।
चूंकि सीमा के चेहरे पैच में बढ़े हुए हैं, इसलिए अंतर-प्रक्रिया संचार को युग्मित (प्रोसेसर) पैच, और पूर्व-परिभाषित के लिए परिभाषित किया गया है। इसका मतलब यह है कि जैसे ही सीमा मेष पर एक लूप होता है, शीर्ष स्तर के एक्सेस फ़ंक्शन एमपीआई कॉल को लपेटते हैं, ऐसे कोड को "स्वचालित रूप से" समानांतर बनाते हैं, अगर यह ऊपर वर्णित चेहरे-आधारित कनेक्टिविटी पर निर्भर करता है।