با سلام
//////////
پیش از شروع : جهت اموزش برنامه های ITK snap و MeshLab میتوانند به ادرس های زیر در سایت یوتیوب youtube مراجعه نمایند :
ITK snap : https://www.youtube.com/channel/UCmjrCaGMtwwBXppAberTrjg/videos
Meshlab : https://www.youtube.com/user/MrPMeshLabTutorials/videos
\\\\\\\\\\
پیش از شروع مجموعه تصاویر سی تی اسکن خودتونو در یک فولدر قرار داده برنامه MRIconvert اجرا کنید :
برای مشاهده تصویر بزرگتر کلیک کنید
همانگونه که از روی شکل مشخص شده با انتخاب add files میتوانید به پوشه مورد نظر رفته و تمامی تصاویر سی تی را انتخاب کرده و سپس ok را انتخاب نمایید. در قسمت پایین با انتخاب directory میتوانید مسیر فایل تبدیل شده را انتخاب نمائید، توجه کنید که فرمت فایل میبایستی همانند فرمت فایلی که در تصویر بالا انتخاب شده باشد سپس convert all را انتخاب کنید. فایل تبدیل شده بصورت زیر در پوشه ذخیره خواهد شد :
برای مشاهده تصویر بزرگتر کلیک کنید
اکنون میتوانید برنامه ITK Snap را اجرا کنید و از منوی بالا فایل را انتخاب کرده سپس open image را کلیک کنید
برای مشاهده تصویر بزرگتر کلیک کنید
سپس تصویر زیر را مشاهده خواهید کرد
برای مشاهده تصویر بزرگتر کلیک کنید
در ادامه با توجه به شکل ها عمل کنید
برای مشاهده تصویر بزرگتر کلیک کنید
گزینه ها را مطابق با آنچه روی شکل تایین شده انتخاب نمائید
برای مشاهده تصویر بزرگتر کلیک کنید
با انتخاب finish به قسمت بعد کار خواهیم پرداخت
برای مشاهده تصویر بزرگتر کلیک کنید
سپس گزینه snake رو فعال کنید و یک محدوده برای فضای کارتان انتخاب کنید ، این محدوده همان خط چین هایی هستند که اطراف تصویر سی تی در شکل میبینید ضمنا توجه داشه باشید که شما میتوانید با حرکت دادن نشانگر موس و یک ابزار در قسمت سمت راست تصاویر در فضای تصاویر حرکت کنید و تمامی بخش ها را مشاهده کنید حتی با احیا یا دستکاری نوع نمایش بخش هایی را نادیده یا ظاهر کنید
برای مشاهده تصویر بزرگتر کلیک کنید
بعد از اینکه محدوده را تایین کردید گزینه segment 3D را انتخاب کنید
برای مشاهده تصویر بزرگتر کلیک کنید
سپس به مرحله اول کار وارد میشوید
برای مشاهده تصویر بزرگتر کلیک کنید
در این بخش در چند حالت مختلف نحوه نمایش و توانایی های گزینشی این برنامه را در تصاویر زیر نمایش میدهم البته کاربر برحسب نوع نیازمندی میتواند گزینش مناسبی داشته باشد
برای مشاهده تصویر بزرگتر کلیک کنید
برای مشاهده تصویر بزرگتر کلیک کنید
دوباره برمیگردیم به تصویر اولی که داشتیم در این قسمت میتوانید استانه را تغییر دهید و بخش هایی را که لازم ندارید محو کنید
برای مشاهده تصویر بزرگتر کلیک کنید
اگر توجه کرده باشید قبلا گفتم که میتوانید جای جای تصویر سی تی را با گزینه ای در قسمت سمت راست پنجره مشاهده کنید در تصویر زیر مشخص شده
برای مشاهده تصویر بزرگتر کلیک کنید
سپس با انتخاب next به مرحله بعدی خواهیم رفت
برای مشاهده تصویر بزرگتر کلیک کنید
در این قسمت شما باید با استفاده از کروسور موس روی بخش هایی که تمایل دارید بصورت سه بعدی تبدیل شوند کلیک کنید و نشانگر را روی هر بخش با استفاده از موس ببرید و سپس add bubble at cursor را انتخاب نمایید توجه داشته باشید که در سه بعد میبایستی این حباب ها را قرار دهید
برای دقت در این امر هم میتوانید شعاع این حباب ها را تغییر دهید
برای مشاهده تصویر بزرگتر کلیک کنید
اگر حبابی را اشتباه وارد کردید از جدول کنار سمت راست میتوانید ان را گزینش و حذف کنید
برای مشاهده تصویر بزرگتر کلیک کنید
سپس با انتخاب Next به مرحله پایانی وارد میشویم
برای مشاهده تصویر بزرگتر کلیک کنید
در صورتی که تمام بخش های مورد نظر را انتخاب کرده اید میتوانید Finish را انتخاب کنید
در این بخش میتوانید پیش نمایشی 3 بعدی را از این گزینش ها را در پنجره پایین سمت چپ با انتخاب ایکون گزینه play و سپس pause ان و کلیک کردن روی update پایین همان پنجره نمای سه بعدی رو ببینید
برای مشاهده تصویر بزرگتر کلیک کنید
سپس برای ذخیره فایل طبق شکل زیر عمل کنید
برای مشاهده تصویر بزرگتر کلیک کنید
از منوی بالا segmentation را انتخاب کنید سپس export as surface mesh را گزینش کنید
برای مشاهده تصویر بزرگتر کلیک کنید
سپس Finish را انتخاب نمایید و فایل ذخیره خواهد شد دقت کنید گزینه ها مطابق شکل انتخاب شده باشند
برای مشاهده تصویر بزرگتر کلیک کنید
سپس برنامه MeshLab را اجرا کنید
برای مشاهده تصویر بزرگتر کلیک کنید
در نهایت تصویر زیر را خواهیم دید / البته بدلیل اینکه تمام بخش ها را گزینش نکرده بودم تصویر ناقص نشان داده میشود اما اگر بخش خاصی را انتخاب و ان را تماما گزینش کنید ان عضو یا اندام تماما بصورت 3 بعدی ترسیم خواهد شد
برای مشاهده تصویر بزرگتر کلیک کنید
اما این پایان کار نیست شما میتوانید در همین برنامه که پایه و اساس مشبندی دارد ادامه دهید و یا اینکه در محیطی دیگر همانند Belender با این فایل کار کنید
برای مشاهده تصویر بزرگتر کلیک کنید
البته در بلندر امکان تبدیلفایل سه بعدی به voxel وجود دارد منتها در ان بخش باید خروجی را برای کدهایی مثل mcnpx مهیا کرد
برای مشاهده تصویر بزرگتر کلیک کنید
با تشکر از توجه شما
علی اصغر محمدزاده
گروه پژوهشی افق امید نو
4 - علاوه بر سه روش گذشته استفاده از این کتاب نیز توصیه میشود
4 - By Using this Book
Compendium of Material Composition Data for Radiation Transport Modeling
Download it
This is part 3 of how to import materials in data card for mcnp code
بخش سوم از چگونگی وارد کردن مواد در کد mcnp
------------------------------------------------------------------
3 - با استفاده از برنامه Periodic Table Explorer
3 - By using Periodic Table Explorer
first select open toolbox then
ابتدا مطابق شکل بالا گزینه مورد نظر را انتخاب کنید
همه جزییات در شکل اشاره شده و نیازی به توضیح نیست
فقط : با این برنامه میتونید فرمول مواد یا ترکیبات رو بدست بیارین و از روی فرکشن اتمی در کد وارد کنید
you can follow the pictures all of options are clear and there is no need to describe them
This is part 2 of how to import materials in data card for mcnp code
این بخش دوم از چگونگی وارد کردن مواد در کد mcnp است
--------------------------------------------------------------
2 - استفاده از برنامه Rad toolBox
2 - By Using Rad toolbox
برای مثال در اینجا پیرکس را انتخاب کردم
For example here i selected Pyrex
Select Display and then
در نهایت فرکشن جرمی و اتمی بهمراه چگالی ماده رو خواهید داشت با این اطلاعات براحتی میتونید مواد را در کد وارد کنید
Finally you have weight and atomic fractions + density so you can write material card for mcnp code
---------------------------------------------------
note that : this option for radtoolbox isn't complete and maybe you didn't find your material in it
توجه کنید این قسمت از برنامه شامل همه مواد نیست یعنی هنوز کامل نشده امیدوارم کامل تر بشه
Also you can Export Data's to Excel
-------------------------------------------------
here is more : about biological data
اگه دنبال متریال فانتوم ها یاتیشو ها هستین مراحل زیر رو دنبال کنید
Then select Display
این یک راه ساده و میانبر برای نوشتن مواد در کارت داده ها ست که شامل استفاده از چند برنامه است که در زیر شرح خواهم داد . اما برای نمونه های خاص خود شخص باید نوع ماده مورد نظر و فرکشن اون رو وارد کنه و نسبت به درست نوشتن اون اطمینان حاصل کنه .
This is a short cut way to write materials in material card , here i explane some programs that made it easy for us lets see bellow
1- استفاده از برنامه SRIM
First by using SRIM code
طبق شکل روی گزینه مورد اشاره کلیک کنید تا پنجره زیر باز شود
According to the above picture select compound dictionary then
با توجه به شکل بالا دو گزینه کلی مشاهده میشه : 1 - انتخاب متریال بواسطه گروه بندی و 2 - بواسطه حروف الفبا
as you can see there is 2 main option : 1 - chosen by category , 2 - by the name of material
با توجه به شکل بالا و انجام مراحل اشاره شده به صفحه نخست باز خواهید گشت
Just follow the pictures
این مرحله پایانی بود و حال میتوانید از روی اطلاعات بدست امده متریال ها را وارد کد کنید
Now you can write material in mcnp code
قبل از هر صحبتی شما رو به صفحه ۱۶۶ / ۴۲۷ mcnpx نسخه 2.4 ارجاع میدهم .
تعریف مشبندی :
همانطور که میدانید پیاده سازی یک هندسه از سیستم مورد نظر وقت گیر همراه با خطا و دشواریهای خود را دارد حال اگر به جزییات بیشتری احتیاج داشتیم (محاسبه شار در بخشی خاص یا ... به هر ترتیب باید سطح و سلول تعریف شود پس ... ) میبایستی دوباره هندسه قبلی را دستخوش تغییر قرار دهیم و در این حالت کار دشوارتر میشود اما در نهایت با قربانی کردن زمان برنامه را مینویسیم . برای اینکه ساختار برنامه اولیه یا بهتر توصیف کنم اسکلت اولیه مساله دستخوش تغییر قرار نگیرد تغییرات مرحله دوم را که میبایست اعمال شوند را بصورت مجازی با عکلگر های مشبندی وارد میکنیم
در این مرحله هیچ کاه سطح یا سلولی تعریف نمیکنیم فقط به کد میفهمانیم که مساله ما را با استفاده از این دستگاه مختصات (دکارتی یا استوانه ای یا کروی که باید تقارن را نیز در نظر داشته باشید مثلا برای یک کره از مشبندی مستطیلی یا همان دستگاه دکارتی استفاده نکنید) شبکه بندی کن (شبکه های کوچک)
مشبندی نوع اول : track averaged mesh tally
از این مشبندی برای محاسبه : شار / انرژی توزیع شده / دوز / و ... استفاده میکنیم
پرکاربرد ها رو در بالا اشاره کردم
tmesh
rmesh11:p pedep
cora11 -25 25
corb11 -25 100i 25
corc11 0 40i 50
endmd
مثال بالا یک شبکه مستطیلی را توصیف میکند
همیشه tmesh شروع کار و endmd پایان کار است
rmesh یعنی مشبندی مستطیلی
cora=x
corb=y
corc=z
cmesh یعنی مشبندی استوانه ای
smesh یعنی مشبندی کروی
عدد جلوی rmesh باید 1 / 11 / 21 / 31 / ... عدد اخر باید 1 باشد که معرف مشبندی نوع اول است به مثال توجه کنید !
در بالا مختصه x هیچ تغییری نمیکند تنها مختصه های y , z را قسمت بندی کرده ایم به عبارت دیگر بصورت دوبعدی مساله را بررسی میکنیم و تغییرات انرژی توضیع شده را در راستای y تحلیل خواهیم کرد تصویر زیر یک مثال از این نوع است :
نکته : شماره مشتالی هایی که مینویسید نباید با تالی های اصلی مساله یکی باشد . (به پانویس ص 145 منوال 2.4 دقت کنید )
تصویر بالا پلات کانتور مشبندی مستطیلی است که میزان انرژی توزیع شده فوتون را در اب نشان میدهد
البته عملگر pedep معادل F6 است منتها با یک تفاوت که F6 انرژی توزیع شده در سلول به ازای واحد جرم سلول است و pedep به ازای واحد مشبندی شبکه . این دو اختلاف اندکی دارند که با انتخاب درست دستگاه مختصات و اندازه واحد های شبکه به حدقل میرسند . البته هر دو مقدار قابل تایید اند .
مشبندی نوع دوم : مشبندی چشمه
برای حفاظ سازی به کاربر اجازه میدهد تا نشتی ها رو مشخص کند (منوال 2.6 صفحه 198/551)
tmesh
rmesh2 p trans
cora2 -25 25
corb2 -25 100i 25
corc2 0 50i 50
endmd
مساله قبل را برای یافتن نشتی فوتونی با همان ساختار بستیم
شما میتوانید برای ذرات مختلف این کار را انجام دهید
نکته : شماره مش تالی باید 2 یا 12 یا 22 یا ... عدد اخر به 2 ختم شود
مشبندی نوع سوم : Energy Deposition Mesh Tally
نتایج این مشتالی با تالی F6+ یکسان است حتما میدانید که F6+ انرژی توزیع شده به ازای واحد حجم را بدست میدهد . (صفحه ۱۹۹/ ۵۵۱ منوال ۲.۶)
tmesh
rmesh3 de/dx
cora3 cora11 -25 25
corb3 corb11 -25 50i 25
corc3 corc11 0 50i 50
endmd
کلمات کلیدی که در این مشبندی استفاده میشوند :
dE/dx توان توقف ذره تابیده شده در محیط
recol میزان طیف بازتابش شده در محیط
و ... سایر عملگر ها را میتوانید در منوال مطالعه کنید
نکته : شماره مشتالی کماکان طبق روالهای ذکر شده در بالا این بار عدد اخر باید به 3 ختم شود
خروجی این مشتالی ها بصورت فایل mdat ذخیره میشود که باید با gridconv تبدیل کنید به ورودی مناسب برای برنامه هایی مثل tecplot (من از این استفاده میکنم) و gnuplot و دو تا برنامه دیگه که در طی مراحل تبدیل اسم این برنامه ها رو مینویسه . قبلا نحوه تبدیل این فایل ها رو توضیح دادم امید وارم این توضیحات مفید واقع بشه هرچند چند بار اصلاح شد و حجم متنش رو به حداقل رسوندم تا خسته کننده نشه . موفق باشید
Output Analysis of MCNP Code with Matlab
This is simple program that me and one of my best friend was wrote it and it's for surface flux and variation in parameters that i mentioned them bellow
First Download my program
ابتدا برنامه را دانلود کنید
نکته : من این برنامه را برای تحلیل رفتار فوتونها و الکترون ها نوشته ام
with the help of this program you can read more output as you can see in bellow picture and analysis them very easily at the lowest time - just it take some seconds 2 or less than it and then work with data in matlab or copy them where you prefer for analysis mathematica , origin lab , excel and so on
مزیت ها : با استفاده از این برنامه میتوانیم تعداد زیادی از خروجی های mcnpx را در یک پوشه قرار داد سپس انها را در مدت چند ثانیه تحلیل کرد
در این برنامه این تحولات بررسی میشود
bremsstrahlung و p-annihilation و photonuclear و electron x-rays و 1st fluorescence و 2nd fluorescence و (gamma,xgamma) و compton scatter و escape و capture و pair production و compton recoil و photo-electric و photon auger و electron auger و knock-on و (gamma,xelectron) و scattering
-------------------------------------------------
نمایی از دایرکتوری و پوشه فایل های من
This my directory view
matlab را اجرا کنید و مانند زیر یک فایل جدید ایجاد کنید
start matlab and set a new file
فایل دانلود شده را به پنجره زیر بکشید
drag and drop my file [my download] in this environment / look at bellow picture
بقیه در ادامه مطالب
click this message to see complete note
c Cells Cards
1 1 -3.21 -1 $ SiC Sphere, 20 micron radius
2 0 1 -2 $ Void
c Surfaces Cards
1 so 0.002c Mode cards
mode a
c
c Source Definition
SDEF PAR=a POS= 0 0 0 erg=5.407
c
c Materials
m1 14028.00a 0.5 $ 50% Carbon, 50% Silicon
6012.00a 0.5
imp:a 1 0r 0 1r $ 1, 2, 3
c
c Tallies
tmesh
smesh3 total
cora3 0.0 19i 0.02
corb3 4.0 180.0
corc3 4.0 360.0
endmd
c
nps 1E4
c
CORAn
CORBn
CORCn corrc(n,1), corrc(n,2), ... corrc(n,N)
دستورهای CORAn، CORBn و CORCn برای تعیین سه محوری که نوع حسابگر مش را مشخص می کنند،
به کار می روند. منظور ار نوع حسابگر مش، مستطیلی، استوانه ای و یا کروی بودن آن
است.
در مورد مش های مستطیلی، CORAn صفحات عمود بر محور x، CORBn صفحات عمود بر محور y و CORCn هم صفحات عمود بر محور z را مشخص می کند. در مش های استوانه ای، CORBn محور غیر قابل تغییر z را که در واقع همان محور تقارن استوانه
است، مشخص می کند. CORAn در این مختصات تغییرات شعاع را نشان می دهد.
کوچکترین مقدار (مقدار اولیه) برای شعاع برابر صفر است که مقدار این دستور صفحات
عمود بر محور غیر قابل تغییر z را مشخص می کند. CORCn زاویه با چرخش ساعتگرد نسبت به محور z را نشان میدهد. این زاویه بر حسب درجه بوده
که نسبت به جهت مثبت محور x از صفر تا 360 درجه تغییر می کند.
مقدار صفر روی این کارت تعریف ناپذیر است.
در مشهای کروی، CORAn شعاع کره، CORBn زاویه قطبی و CORCn شبیه به آن چیزیی است که در مختصات استوانه ای تعریف می شود. MCNPX این قابلیت را دارد که تعداد زیادی از نقاط مش بوسیله حداقل ورودی روی محورهای مختصات، را بوجود بیاورد. تمام مقادیر ورودی مربوط به مختصات باید به صورت یکنواخت افزایش پیدا کنند تا بتوان به جوابی مناسب دست پیدا کرد. واضح است که اندازه مش به مقادیر ورودی مختصات بستگی دارد. لازم بذکر است که برای مش های با تعداد خیلی زیاد به کامپیوتری با کارایی و حافظه بالا نیاز است.
دستورات دیگری که می توانند با حسابگر مش مورد استفاده قرار بگیرند از قرار زیر هستند:
ERGSHn E1 E2
MSHMFn E1 F1 E2 F2 ...
FMn ...
E1 حد پایین انرژی مورد نظرو E2 حد بالایی انرژی هستند که در کارت ERGSH به کار می روند. پیش فرض نرم افزار همه انرژی ها را در نظر می گیرد.
ورودی های روی کارت MSHMF شامل زوج انرژیها و تابع پاسخ وابسته هسستند که زوج های فراوانی را می توان به عنوان ورودی روی آن وارد نمود.
کارت FM هم شبیه آن چیزی است که قبلا ذکر شده است. این کارت نباید بین کارت های tmesh و endmd قرار بگیرد. ساختار مش ها با توجه به نیازی که از مسئله و خروجی برنامه داریم به سه گروه تقسیم بندی می شوند. این فرم ها به صورت زیر هستند:
RMESHn:P keyword(i), i=1,10
CMESHn:P keyword(i), i=1,10
SMESHn:P keyword(i), i=1,10
RMESHمش مستطیلی، CMESH، مش استوانه ای و SMESH یک مش کروی است. n شماره حسابگر است که توسط کاربر تعریف می گردد. شماره مش نباید با شماره دیگر حسابگر هایی که در مسئله به کار رفته است یکسان باشد، مثلا اگر حسابگر F1 در فایل ورودی وجود دارد شماره حسابگر مش نباید برابر با 1 قرار داده شود. عدد n نوع اطلاعاتی که در مش ذخیره می شود را مشخص می کند.
- مش بندی استوانه ای
مثال :
توضیح :
cora11 برای تعیین شعاع استوانه است
corb11 در واقع محور z یا محور استوانه است
corc11 زاویه صفر تا 360 درجه است که این سه مختصه با هم یک استوانه کامل را میسازند
همان طور که برای مشبندی مستطیلی گفتیم برای این نوع مشبندی هم همان ها صدق میکنند
- برای پلوت کانتور گرفتن یکی از مولفه ها را ثابت گرفتم اینجا من زاویه صفر درجه را فقط در نظر گرفتم و r , Z هرکدام متحول میشوند
وقتی برنامه را در mcnpx نوشتیم یه فایل mdat به ما میدهد + خروجی و... که با gridconv فایل mdat را باید تبدیل کنیم به فایلی مناسب برای برنامه tecplot
من این کار را انجام دادم و برای برنامه بالا خروجی به شکل زیر در امد
نکته :
این مش بندی که انجام دادیم در زاویه 0 درجه و پلوت 2 بعدی rz بوده و برای شار نوشتم که در تصویر متن برنامه نوشته شده track که ان را به flux تغییر دادم شما میتوانید با تغییر کلمات کلیدی وهمچنین تغییر پارامتر های شعاع و زاویه و... شکل های 2 بعدی و 3 بعدی خوبی ترسیم کنید.
در برنامه تغییراتی دادم و این بار pedep را حساب کردم شکل زیر
شار را نیز حساب کردم شکل زیر