تعریف دستور fill در MCNP
همانطور که در موضوع قبلی توضیح دادیم، یونیورس (Universe) یک زیرمدل یا یک الگوی مستقل از هندسه است که میتواند شامل یک یا چند سلول باشد. حالا سؤال اینجاست: چگونه این یونیورسِ کامل و از پیش تعریفشده را داخل یک سلول دیگر قرار دهیم؟
این دقیقاً کاری است که دستور fill انجام میدهد.
به زبان بسیار ساده:
دستور
fillدر MCNP به یک سلول خاص میگوید: «بهجای اینکه محتوای خودت را داشته باشی، محتوای یک یونیورس خاص را درون خودت جای بده.»
این دستور، قدرت اصلی مدلسازی هندسههای سلسلهمراتبی و تکرارشونده در MCNP است.
۱. نقش دستور fill در ساختار سلسلهمراتبی
در MCNP، هر سلول (Cell) معمولاً با یک محتوا (Material) پر میشود. یعنی میگوییم: «سلول شماره ۱ از جنس سوخت است» یا «سلول شماره ۲ از جنس خنککننده است».
اما وقتی از دستور fill استفاده میکنیم، ماهیت سلول تغییر میکند:
- حالت عادی: سلول = ماده
- حالت
fill: سلول = یونیورس
این دستور باعث میشود که سلول مورد نظر:
- مرزهای هندسی خود را حفظ کند (شکل سلول تغییری نمیکند).
- اما محتوای داخلی خود را از آن یونیورسِ تعیینشده بگیرد.
۲. دستور fill برای پر کردن سلول با یک یونیورس
سادهترین کاربرد دستور fill، پر کردن یک سلول منفرد با یک یونیورس است.
فرض کنید یونیورس شماره ۱۰ (U=10) را قبلاً بهعنوان یک مجتمع سوخت کوچک و استاندارد تعریف کردهایم. حالا یک سلول (مثلاً سلول شماره ۱۰۰) داریم که مرزهای بیرونی آن تعیین شده است (مثلاً یک منشور ششضلعی).
با دستور fill در تعریف سلول ۱۰۰، به MCNP میگوییم:
«محتوای سلول ۱۰۰ همان یونیورس ۱۰ است.»
بنابراین، MCNP بهجای اینکه سلول ۱۰۰ را با یک مادهی ساده پر کند، کل هندسهی پیچیدهای را که در یونیورس ۱۰ تعریف شده بود، داخل مرزهای سلول ۱۰۰ کپی و جایگذاری میکند.
۳. دستور fill برای پر کردن سلول با یک لتیس (Lattice)
پیچیدهترین و پرکاربردترین نقش fill، زمانی است که با مفهوم لتیس (Lattice) ترکیب میشود.
لتیس در MCNP به معنای شبکهای از نقاط تکرارشونده است. این شبکه میتواند دکارتی (مثل یک صفحهی شطرنجی) یا ششضلعی (مثل کندوی عسل) باشد.
- لتیس چیست؟ یک الگوی تکرار تعریف میکند (مثلاً در راستای X و Y، با فواصل مشخص، هر خانه را پر کن).
- دستور
fillچطور؟ سلولی که قرار است توسط لتیس پر شود، به جای دستورfill=U:n(پر شدن با یک یونیورس)، از دستورfill=Lattice:nاستفاده میکند و به MCNP میگوید: «این سلول را با این الگوی تکرار (لتیس) پر کن.»
وقتی fill با لتیس ترکیب میشود:
- سلول مادر، مرزهای کلی لتیس را تعیین میکند (مثلاً یک بلوک مکعبی بزرگ).
- لتیس، فضای درون آن بلوک را به تعداد زیادی زیرسلول تقسیم میکند (خانههای شطرنجی یا ششضلعی).
- و شما برای هر یک از این زیرسلولها، یک یونیورس جداگانه تعیین میکنید.
به این ترتیب، fill واسطهی اصلی برای ساختن ساختارهای بزرگ و تکراری (مثل هستهی یک راکتور) میشود.
۴. مزایای استفاده از دستور fill
استفاده از fill در MCNP یک جهش بزرگ در مدلسازی است و مزایای زیر را فراهم میکند:
- سادگی در تعریف هندسههای پیچیده: به جای اینکه مرزهای هزاران میله سوخت را تکتک تعریف کنید، فقط مرزهای یک میله (یونیورس) را تعریف کرده و با
fillو لتیس آن را تکرار میکنید. - مدلسازی تمیز و ماژولار: هر بخش از مدل (میله، کانال، بازتابگر) یک یونیورس مستقل است که بهوسیلهی
fillدر محل خود قرار میگیرد. این ماژولار بودن، خوانایی فایل ورودی را بهشدت افزایش میدهد. - کاهش احتمال خطا: تعریف یک مدل پایه و تکرار آن، احتمال خطاهای تایپی یا منطقی در تعریف هندسههای تکراری را تقریباً صفر میکند.
- کاهش حجم فایل ورودی: حجم دادهها در بخش ورودی هندسه (Cell Card) بهطور چشمگیری کم میشود.
۵. نکتهی مهم مفهومی (حذف شدن مرزها)
نکتهی مهمی که باید دربارهی fill بدانید این است:
وقتی یک سلول با دستور
fillپر میشود، محتوای قبلی آن سلول بهطور کامل نادیده گرفته میشود و سلول کاملاً با یونیورس جایگزین میشود.
به بیان دیگر، سلول مورد نظر:
- مادهی خود را از دست میدهد.
- و به یک «حاوی» تبدیل میشود که محتوای آن، یونیورسِ تعیینشده است.
بنابراین، fill یک ابزار قدرتمند برای ساختن مدلهای لایهلایه است: یک لایهی پایینتر (یونیورس) را در یک لایهی بالاتر (سلول) قرار میدهد.
جمعبندی کوتاه
- دستور
fillرابط بین سلولها و یونیورسها در MCNP است. - این دستور به یک سلول میگوید که محتوای خود را از یک یونیورسِ کاملِ تعریفشده بگیرد.
- پرکاربردترین حالت استفاده، ترکیب
fillبا لتیس (Lattice) است که اجازه میدهد یک الگوی هندسی بهصورت منظم و خودکار در فضای بزرگی تکرار شود. fillمدلسازی را ماژولار، سادهتر و عاری از خطا میکند.
کلیدواژه ها : MCNP-دستور-fill-یونیورس-سلول-لتیس-شبکه-مدلسازی-سلسلهمراتبی-تکرارشونده-MCNP-command-cell-universe-lattice-fill-keyword