بخشی از مقاله
چکیده
یک حل کننده المان محدود براي معادله پوآسون ژایروسینتیکی ایجاد شده است. این کد را میتوان به عنوان بخشی از یک کد بزرگتر براي مطالعه ریزتلاطم ها در پلاسماي همجوشی درون وسیلههاي توروئیدي نظیر توکامک بکار گرفت. لذا چنین کدهایی باید کارا و بسیار سریع باشند. گسسته سازي المان محدود معادله پوآسون ژایروسینتیکی منجر به ایجاد ماتریسهاي اسپارس بدون ساختار خیلی بزرگ میشود. کارایی کد با فشرده نویسی این ماتریس، افزایش زیادي یافت - با کاهش حجم حافظه مصرفی و در عین حال کاهش زمان اجرا - . زمان اجراي برنامه براي دو ماتریس اسپارس و ماتریس فشرده شده را براي تعداد المان هاي مختلف مقایسه نمودیم. براي افزایش بیشتر سرعت اجراي کد، برنامه را بر روي کامپیوترهاي حافظه-مشترك با استفاده از دستورالعملهاي OpenMP موازي کرده و نتایج آن را ارائه و با قوانین استاندارد موازي سازي مقایسه نمودیم.
مقدمه
نتایج تجربی نشاندهندهي وجود نوعی اتلاف گرما و ذره در پلاسماي همجوشی در توکامک میباشد که این اتلاف غیرعادي را به ریزتلاطمهاي درون پلاسماي مغناطیده نسبت میدهند 1]و.[2 فرکانس نوعی این ریزتلاطمها کمتر از یک مگاهرتز و بزرگی طول موج آنها در امتداد عمود بر میدان مغناطیسی از مرتبهي یک سانتیمتر است که بسیار بزرگتر از طول دباي است. نوسانات مدهاي دستهجمعی و امواج سوقی، فرکانسهاي بسیار آهستهتري نسبت به فرکانس چرخشی یون دارند و رویکرد ژایروسینتیکی اساسیترین مبنا براي مطالعههاي عددي پدیدههاي با فرکانس پایین پلاسماست .[3] شبیهسازيهاي مبتنی بر این رهیافت، اثرات وابسته به شعاع محدود لارمور را حفظ کرده و در عین حال نوسانات وابسته به حرکت چرخشی ذرات وابسته به آن را حذف میکند، لذا این روش براي مطالعهي پدیدههاي سوقی در پلاسما مقالهنامه کنفرانس فیزیک ایران ۱۹۳۱بسیار موثر است 2]و4و.[5 در این مطالعه با معرفی معادلهي ژایروسینتیکی پواسون، حلکنندهي عددي المان محدود براي آن ایجاد و راههاي افزایش کارایی آن مورد بررسی قرار گرفته است.
معادلهي ژایروسینتیکی پواسون
با نوشتن معادلهي ولاسف در دستگاه مختصات مرکز هدایتو استفاده از تکنیک مرتبسازي لی1 میتوان دید که تابع توزیع درپایینترین مرتبه به زاویهي فاز چرخشی بستگی ندارد:در این معادله F تابع توزیع اصلی، f تابع توزیع قسمت تعادلی، q بار الکتریکی ذره، m جرم ذره،گشتاور مغناطیسی و پتانسیل الکتروستاتیکی است. عبارت آخر متوسطرويگیري فاز چرخشی را نشان میدهد 2]و6و.[7 با نوشتن معادلهي پواسون معمولی و استفاده از تابع توزیع بالا براي چگالی بار، معادلهي نرمالیزهي پواسون ژایروسینتیکی به صورت زیر بدست میآید2]و4و5و:[8
در این معادله پتانسیل نرمالیزه، نسبت دماي تعادلی الکترونی به دماي تعادلی یونی، ni و ne به ترتیب چگالی یونی والکترونی در دستگاه مرکز هدایت میباشند.در معادلهي بالا به خاطر کوچکی جملهي حفاظ دباي - یعنی - 2، از آن چشمپوشی شده است - معادلهي شبه خنثایی - .علامت مشخصهي عمود بودن بر میدان مغناطیسی استدر. حالتی که الکترونها رفتار آدیاباتیک دارند، شرط درne رامعادلهي - 2 - وارد میکنیم: در سمت چپ، عملگري هلمهولتز-مانندي روي پتانسیل عمل می-کند و در سمت راست، عملگر - - 1 1 2 روي چگالی باریونی اثر میکند که ظاهر شدن آن به خاطر استفاده از تقریب پده است.
حل المان محدود معادله
با صرف نظر کردن از جملهي لاپلاسی اصلی، معادلهي - 3 - - ویا معادلهي - - 2 - عملاً از حالت سهبعدي به حالت دوبعدي - صفحهي پلوییدي - کاهش مییابد. حل معادلهي اخیر از طریقتفاضل محدود با مشکلاتی همراه است [5]، لذا یک کد حل کنندهي اجزاء محدود براي آن نوشته شد. این برنامه ابتدا بر روي ناحیهي مورد نظر شبکههاي بدون ساختار مثلثی و با مساحتهايتقرباًی یکسان ایجاد میکند. سپس روش باقیماندهي وزنی گالرکین را براي حل معادله بر روي تکتک المانها در نظر میگیرداز.سرهمبندي ماتریسهاي محلی حاصل، ماتریس کلی یا سراسري
آن تشکیل میشود .[9] از آن جایی که براي مقاصد شبیهسازيژایروسینتیکی، بایستی مساحت المانها از مرتبهي مساحت دایرهاي به شعاع لارمور باشد، تعداد المانها براي توکامکی مثل ITERاز مرتبهي میلیون میباشد، لذا با یک ماتریس جهانی اسپارس با ابعاد خیلی بزرگ مواجه هستیم. ذخیرهسازي و حل معادله با چنین ماتریسیهاي بزرگی نیاز به حافظه و زمان بسیار زیادي دارد کهبراي مقاصد شبیهسازي مشکلساز است.
فشرده نویسی ماتریس اسپارس
قبلاً بیان شد که براي حل معادله به روش المان محدود از تولیدکنندهي مش مثلثی بدون ساختار استفاده میشود. عناصر غیر صفر ماتریس اسپارس حاصل از این کار ساختار منظمی ندارد - توجه شود که در شبیهسازي از طریق روش تفاضل محدود نیز ماتریس اسپارس به وجود میآید، اما عناصر غیر صفر آن ساختارمشخصی خواهد داشت - . ما توانستیم به کمک تکنیکی این ماتریس را به صورت فشرده ذخیره کنیم براي این منظور متوجه شدیم که حداکثر تعداد نقاط همسایهي یک نقطهي مفروض 6 تاست که بادر نظر گیري سهم خود آن نقطه، حداکثر کل نقاط درگیر هفت عدد است.
بنابراینما به جاي در نظر گیري ماتریس N N ،ماتریسی N 14 در نظر گرفتیم که هفت ستون اول آن براي ذخیرهسازي شمارهي ستونهاي غیر صفر برايوهفت ستون دیگرذخیرهسازي مقادیر آن ستونهاي خاص - یعنی ستونهاي غیرصفر - مورد استفاده قرار میگیرد. با انجام این کار مدت زمان اجراي برنامه به میزان چشمگیري کاهش پیدا میکندزمان.جدول1اجراي برنامه براي دو حالت ماتریس اسپارس به صورت عادي وماتریس فشردهشده را نشان میدهد. با فشرده نویسی ماتریس اسپارس، حجم حافظهي مورد نیاز براي ذخیرهي یک ماتریس نوعی چهل هزار در چهل هزار به کمتر از چهار درصدحجممقدار اولیه کاهش مییابد - براي ابعاد بالاتر درصد کمتري از حجم اولیه مورد نیاز خواهد بود - .
موازيسازي برنامه
براي تسریع بیشتر در اجراي برنامه، ما توانستیم آن را به صورت موازي با استفاده از دستورالعمل هاي OpenMP بر روي کامپیوترهاي با حافظهي مشترك اجرا نماییم .[10] براي این منظورسعی نمودیم تا تمامی حلقههاي for موجود در برنامه را بهصورت موازي بنویسیم، البته لازم بود تا برخی حلقهها به صورت سریال اجرا شوند. ما برنامهي موازي را براي تعداد المانهاي متفاوت و براي تعداد thread هاي مختلف - از یک تا هشت - اجرا نمودیم. براي بدست آوردن میزان بازدهی از قانون امدال3 [10] بهره گرفتیم. بر طبق این قانون حد بالاي عدد تسریع ازتقسیم زمان اجراي برنامه در حالت سریال به حالت موازي بدست میآید و از آنجا نرخ بازدهی از تقسیم عدد تسریع به تعداد پردازندهها بدست میآید. سیستم موجود در دانشکدهي فیزیک شامل چهار کیس هشت هسته اي است که تحت سیستم عامل لینوکس RedHat هستند و هر کدام از این پردازندهها 2/66گیگاهرتز سرعت پردازش دارند. جدول2 نتایج حاصل از اجراي برنامه را در شرایط متفاوت نشان میدهد - زمان اجراي برنامه به ثانیه آورده شده است - .