क्या संरचित ग्रिड अनुकूली मेष शोधन के लिए एक सामान्य-उद्देश्य पुस्तकालय है?


18

पीडीई के संख्यात्मक समाधान में व्यापक रूप से बदलती स्थानिक तराजू की समस्या से निपटने के लिए अनुकूली जाल शोधन (एएमआर) एक सामान्य तकनीक है। संरचित ग्रिड पर एएमआर के लिए सामान्य प्रयोजन पुस्तकालय क्या मौजूद हैं? आदर्श रूप से मैं PETSc की भावना में कुछ चाहूंगा, जहां पुस्तकालय सिर्फ अनुकूली मेषों को संभालता है और मैं भौतिकी और विवेक (परिमित अंतर / मात्रा / तत्व) प्रदान करता हूं।

आदर्श पुस्तकालय होगा

  • मॉड्यूलर : मैं अपने कोड या अपने डेटा संरचनाओं के बहुत अधिक लिखने के लिए कैसे तय नहीं करता है
  • सामान्य : इस बात की परवाह नहीं करता कि मैं किस तरह का विवेक प्रयोग कर रहा हूं
  • कुशल : बहुत अधिक उपरि नहीं करता है
  • समानांतर और अत्यधिक स्केलेबल

पुस्तकालय जो इन मानदंडों के केवल एक सबसेट के लायक हैं, वे अभी भी रुचि के होंगे।

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


2
+1, मैं इस बात से उत्सुक हूं कि एएमआर सॉफ्टवेयर वहां भी क्या है, और क्या आप इसे ऊपर बताए गए मानदंडों को पूरा करना पसंद करेंगे।
ज्यॉफ ऑक्सीबेरी

बस सोचा था कि मैं उल्लेख करूंगा कि चोमबो का नवीनतम संस्करण अभी जारी किया गया है, और (यह दावा किया गया है) जिसे बड़े पैकेज ( रिलीज नोट्स ) में एकीकृत करना आसान होना चाहिए । यह एक प्रमुख संशोधन नहीं है, इसलिए संभावना है कि कुछ सामान अभी भी आपके सभी मानदंडों को पूरा नहीं करते हैं।
जेरेमी कोज़डन 19

जवाबों:


14

एक पुस्तकालय पर विचार करने के लिए BoxLib है । इसकी प्रमुख विशेषताएं (वेबसाइट से) हैं:

  • समय में वैकल्पिक सबसाइक्लिंग के साथ ब्लॉक-संरचित एएमआर के लिए समर्थन
  • सेल-केंद्रित, फेस-केंद्रित और नोड-केंद्रित डेटा के लिए समर्थन
  • पदानुक्रमित ग्रिड संरचना पर हाइपरबोलिक, परवलयिक और अण्डाकार हलवों के लिए समर्थन
  • C ++ और Fortran90 संस्करण
  • MPI और OpenMP के साथ हाइब्रिड प्रोग्रामिंग मॉडल का समर्थन करता है
  • दहन, खगोल भौतिकी, ब्रह्मांड विज्ञान और झरझरा मीडिया में परिपक्व अनुप्रयोगों का आधार
  • 200,000 से अधिक प्रोसेसर के लिए स्केलिंग प्रदर्शित की
  • इच्छुक उपयोगकर्ता के लिए स्वतंत्र रूप से उपलब्ध है
  • इसमें फोरट्रान संस्करण में पायथन रैपर (मेरे द्वारा लिखा गया) भी शामिल है (हालाँकि यह काफी युवा है)।


    9

    आपको libMesh को भी देखना चाहिए । यह परिमित तत्व विधियों पर लक्षित है, लेकिन इसके अलावा, मुझे लगता है कि यह आपके अधिकांश बक्से की जांच करता है। BoxLib के विपरीत, यह पूरी तरह से असंरचित, मिश्रित तत्व प्रकार की लाइब्रेरी है, जो कि रहने के लिए है कि यह उसी जाल में टेट, पिरामिड, प्रिज्म और हेक्साहेड्रा का समर्थन करता है। इसमें उच्च-क्रम बहुपद आधार कार्यों के लिए एकीकरण नियमों के सबसे बड़े सेटों में से एक है। यह सीधे आपको PETSc (और कुछ अन्य पुस्तकालयों के साथ) कॉल करने के लिए सेट किया गया है, इसलिए आपके पास वही सॉल्वर स्केलेबिलिटी है जो PETSc करता है।

    वहाँ निश्चित रूप से चीजों को करने का एक तरीका है, लेकिन चीजों को करने का एक PETSc तरीका भी है। तो उम्मीद है कि आप को डरा नहीं होगा।


    4

    मैं कोशिश करूंगा कि मैं कम से कम एक कोड जानता हूं जो इसे सफलता के साथ उपयोग करता है - आईबीएमआर , एएमआर के साथ फ्लुइड-स्ट्रक्चर इंटरेक्शन के लिए एक विसर्जित सीमा विधि कोड।


    धन्यवाद Johntra (और scicomp में आपका स्वागत है)! क्या आप SAMRAI और BoxLib के बीच मुख्य अंतर को जानते हैं? इसके अलावा, आप लिंक पाठ को [] और गंतव्य में () में डालकर लिंक इनलाइन का उपयोग कर सकते हैं
    एरन अहमदिया

    दुर्भाग्य से मैं नहीं - तथ्यों की बात के रूप में, मैं सिर्फ पहली बार इसके बारे में (BoxLib) के बारे में सुना है। वास्तव में यही कारण है कि मैंने इसमें शामिल होने का फैसला किया है - smt new सीखने के लिए आप लोगों से अनौपचारिक रूप से चर्चा करके- धन्यवाद।
    जॉनट्रेट वोल्ट

    मैं SAMRAI को जारी करूंगा, यह AMR के लिए एक बहुत ही उपयोगी सामान्य प्रयोजन ढांचा है। मुझे भी वास्तव में हाइब्रिड C ++ / फोरट्रान लेखक के पक्ष को डिजाइन करना पसंद है। कम्प्यूटेशनल गुठली को फोरट्रान में लिखा जा सकता है, जैसा कि उन्हें होना चाहिए, और सी ++ कक्षाएं आंतरिक एमपीआई और मेमोरी प्रबंधन को छिपाने के लिए आवश्यक सभी अमूर्तता प्रदान करती हैं।
    तायोनमीज

    @ एरोनहैमिया: बॉक्सलीब सेल केंद्रित जियोमेट्रिक मल्टीग्रिड में ड्यूरिचलेट सीमाओं को बदलने के साथ टुकड़े-टुकड़े रैखिक प्रक्षेप को संभाल नहीं सकता है। सोचा कि यह एक दिलचस्प बिंदु के रूप में जोड़ देगा।
    गौरव सक्सेना

    2

    आपने संरचित या असंरचित निर्दिष्ट नहीं किया।

    Paramesh, Pyramid, p4est, Dendro, Samrai और Chombo पर एक नज़र डालें।

    Btw पिरामिड डोज़रिंग नहीं करता है।


    1
    अच्छी पकड़; मैंने प्रश्न संपादित किया है। क्या आप इस बात पर टिप्पणी कर सकते हैं कि इन पुस्तकालयों ने मेरे मानदंडों को कितना सही माना है?
    डेविड केचेसन
    हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
    Licensed under cc by-sa 3.0 with attribution required.