تحلیل کامپیوتری سازهها
صرف در اختیار داشتن نرمافزار قدرتمند، توجیهکننده استفاده از آن نبوده بلکه این مغز متفکر مهندس محاسب است که میباید از این نرمافزارها، بجا و بهموقع مانند یک ابزار بهرهبرداری نماید. هدف از این مقاله، آشناکردن دانشجویان و مهندسین گرامی با سرچشمه های خطا در تحلیل کامپیوتری سازه ها بوده و اینکه در چه مواردی نباید به نتایج خروجی برنامه های کامپیوتری اعتماد کرد.
- در چه مواردی میتوان از کامپیوتر استفاده نمود:
جاییکه برآورد مجهولات مستلزم محاسبات وقتگیر عددی است.
جاییکه مجموعهای از عملیات به دفعات و به تکرار انجام میشوند.
جاییکه علیرغم تعداد کم تکرار در عملیات با پردازش دادههای فراوانی سروکار داریم.
- در چه مواردی نباید از کامپیوتر استفاده نمود:
هنگامی که فرضیات بکار گرفته شده در برنامه کامپیوتری با مسئله مورد نظر سازگاری ندارد.
هنگامی که جوابهای وابسته به فرآیند کامپیوتری براساس اطلاعاتی هستند که صحت چندانی ندارند.
هنگامی که هیچ شناختی نسبت به جوابهای خروجی مسئله نداریم.
- بهطور خلاصه:
باید نتایج خروجی کامپیوتر همواره بررسی و چک شوند. این یکی از وظایف کاربر است.
باید معلومات کاربر کامپیوتر از مجموعه معلوماتی که تحت عنوان برنامه کامپیوتری مورد استفاده قرار میدهد، وسیعتر باشد.
باید ذهن استفادهکننده همواره در تکاپو باشد و هر لحظه احتمال بروز خطا را بدهد.
نباید هیچگاه اطمینان کامل به نتایج خروجی شود. صرف محاسبات کامپیوتری دلیلی بر دقت و کیفیت نیست.
نباید به صرف در اختیار بودن وسیله روش تعریف شود. هر مسئلهای روشی دارد و برای حل آن هم راهحل بهینهای وجود دارد.
نباید هیچگاه تسلیم شرایط و محدودیتهایی شد که کامپیوتر بر کاربر تحمیل میکند. هنر یک مهندس محاسب آنست که با اتکا به دانش فنی خود و در اختیار گرفتن ابزار مناسب، مسائل مهندسی را در حیطه صلاحیت خویش حل و فصل نماید.
- سرچشمههای خطا در تحلیل کامپیوتری سازها
1- مدل سازی مصالح:
مدلهای ریاضی موجود برای مصالح مختلف ساختمانی، تنها یک تقریب ساده شده از رفتار واقعی مصالح میباشند. این مدلهای ریاضی عموماً به طبیعت بارگذاری (استاتیکی، دینامیکی) شدت بارگذاری و جهت آن (مدلهای خطی و غیرخطی) و شرایط تکیهگاهی نیز وابسته میباشند. در عین حال رفتار اختصاصی مصالح که ممکن است ناشی از رفتار غیرهمگن آن تحت مولفههای مختلف تنشی باشد نیز در این میان موثر است. درحالت کلی میتوان برای مدلهای ریاضی موجود در برنامههای کامپیوتری، حوزه کاربردی را منظور داشت. بدین ترتیب که مثلاً تا هنگامیکه تغییر شکل ها کوچک باشند و مصالح در تغییر شکلهای کوچک وارد فاز رفتار خمیری نشود و همگن باشد، میتوان از مدل ارتجاعی بهره گرفت. کنترل موجه و معتبر بودن فرضیات بکارگرفته شده در تحلیل کامپیوتری میباید پس از اخذ نتایج توسط مهندس محاسب انجام شود و در صورت مغایرت به اصلاح مدل اقدام گردد.
2- مدلسازی هندسی سازه:
در مدلسازی هندسی سازههای متداول معمولاً تقریبهایی بکارگرفته میشوند که منجر به سادهتر شدن مسئله میگردند. بهعنوان مثال در مدلسازی اعضای تیری یا ستونی، از ابعاد مقطع در برابر طول آن صرفنظر شده و المان بهصورت خطی با بعد صفر منظور میگردد و محل این المان خطی نیز در مرکز ثقل المان انتخاب میگردد. این انتخاب هنگامی صحیح میباشد که بتوان توزیع تنشهای موجود در مقطع المان را با یک تابع ریاضی مشخص تعریف نمود. معمول است که این توزیع بهصورت خطی انتخاب میگردد و در برنامههای کامپیوتری فرض توزیع خطی تنش و کرنش معمولاً فرض متداولی میباشد. هرگاه به هر دلیلی (مانند تیرهای عمیق بتنی) این فرض اعتبار خود را از دست بدهد، استفاده از این نوع المانها منجر به بروز خطا در نتایج خروجی خواهد شد. با این وجود همواره در انتخاب مکان المانی خطی، هنگامیکه المانهای با ابعاد مختلف با یکدیگر تقاطع میکنند، خطای Offset وجود دارد. بهعنوان نمونهای دیگر از خطاهای متداول میتوان به محل برخورد تیرها و ستونها (گره) در سازه واقعی و اختلاف آن با سازه ریاضی ایدهآل شده اشاره نمود.
3- مدل سازی بارگذاری:
تقریب در شدت بارگذاری و جهت آن در انواع مختلف بارگذاری متفاوت است. مثلاً در تعیین بارهای مرده وارد بر ساختمان میتوان شدت بار را با دقت مناسبی برآورد نمود، حال آنکه شدت بار زنده و چگونگی توزیع آن در اکثر سازهها قابل پیشبینی نبوده و در یک چنین مواردی انتخاب حداکثر شدت ممکن بارگذاری و یک توزیع بحرانی ازآن به عهده مهندس محاسب میباشد. موارد ذکر شده در بالا مربوط به بارهایی هستند که در مقدار آنها عدم قطعیت وجود ندارد. میزان تقریب در مورد بارهایی که شامل عدم قطعیت نیز میباشند (مانند بارگذاری زلزله و یا باد) به مراتب بیشتر است و شدت بارگذاری در یک چنین مواردی معمولاً از طریق برآوردهای آماری تعیین میشوند. در این گونه موارد همواره باید توجه شود که عدم قطعیتهای موجود در نتایج خروجی نیز منعکس شده و در حقیقت نتایج خروجی نیز برآوردی آماری از خروجیهای محتمل میباشند.
4- فرضیات استفاده شده در فرمولبندی المانی
در برنامههای کامپیوتری به روش اجزای محدود که کاربرد عمومی دارند (نظیر ANSYS)، نمونههای متعددی از المانهای ظاهراً مشابه معرفی شدهاند. علیرغم ظاهر مشابه این المانها، معادلات رفتاری آنها که رابطه بین تغییر شکلها و مقدار و توزیع تنش را در درون المان تعریف میکنند، با یکدیگر متفاوت بوده و بسته به نوع کاربرد میباید از آنها استفاده نمود. بهعنوان مثال میتوان بهمنظور کردن تغییر شکلهای برشی، محوری، خمشی و اثرات اندرکنشی آنها اشاره نمود. بهعنوان مثال دیگر، بعضی از المانهای اجزاء محدود برای برآورد تغییر شکلهای کوچک ساخته شدهاند ولی المانهایی نیز وجود دارند که میتوان از آنها در تحلیل تغییر شکلهای بزرگ بهره جست. سئوالی که پیش میآید آنست که آیا نمیتوان از المانهای کاملتر که مثلاً تغییر شکلهای بزرگ را منظور مینمایند برای تحلیل تغییر شکلهای کوچک نیز استفاده کرد؟ در این صورت فایده استفاده از المانهای دیگر چیست؟
جواب آنست که با اینکه میدانیم اره و چاقو هر دو برای بریدن استفاده میشوند و اره قدرت بیشتری در بریدن قطعات سختتر دارد، با اینحال هیچگاه برای پوست کندن سیب از اره استفاده نمینماییم! بهعبارت دیگر هر کاری وسیله مناسب خودش را دارد و در واقع هنر مهندس محاسب در استفادهی مناسب از ابزارهایی است که در اختیار وی میباشد. در مورد تحلیل کامپیوتری سازهها باید گفت که زمان محاسباتی لازم برای تحلیل درصورتی که از المانهای پیچیده استفاده شود به مراتب بیشتر از المانهای سادهتر میباشد. بهعنوان یک قانون کلی باید گفت که همواره سادهترین راه، بهترین راه است (البته راهی که ما را به مقصود میرساند).
5- فرضیات بکار گرفته شده در مدلسازی شرایط خروجی
در تحلیل کلاسیک سازهها، تکیهگاههای سازه معمولاً بهصورت یکی از حالات ایدهآل ساده، گیردار ویا انعطافپذیر مورد نظر قرار میگیرند. در برنامههای موجود تحلیل کامپیوتری سازهها نیز این مسئله وجود دارد. باید توجه داشت که موارد بسیار محدودی وجود دارد که در آن موارد، تکیهگاه ایدهآل میباشد. در اغلب حالات متداول، وضعیت تکیهگاهها کاملاً مشابه حالات ایدهآل نیست.
بهعنوان مثال میتوان به فرض گیرداری پای ستونهای ساختمان در وضعیت واقعی آن اشاره کرد. در اغلب ساختمانهای معمولی که در آنها از شالوده مستقر روی خاک استفاده شده است، شالوده تحت بارهای اعمال شده از طرف اسکلتسازه دچار تغییر شکلهای متعددی از قبیل افت، چرخش و غیره میشود. مقدار این تغییر شکلها به وضعیت سازه و بارگذاری، صلبیت شالوده و وضعیت خاک زیر پی بستگی مستقیم دارد. تغییر شکلهای ایجاد شده در شالوده منجر به بازتوزیع تنشهای داخلی شده و ممکن در مواردی باعث ناپایداری سازه نیز گردد. بهعنوان مثال دیگر میتوان به تکیهگاههای با اصطکاک خشک اشاره نمود (نظیر پدیده لغزش فونداسیونها). در این گونه موارد مادامیکه نیروی رانشی از آستانه اصطکاک خشک فراتر نرود، تکیهگاه را میتوان بهصورت گیردار محسوب نمود. هرگاه این نیرو فراتر رود، فونداسیون دچار رانش جانبی میشود که نیروی فعال موثر در این رانش برابر اختلاف بین نیروی رانشی و نیروی اصطکاک میباشد.
در موارد ذکر شده در بالا نمیتوان تکیهگاه را بهصورت کاملاً ایدهآل منظور نمود.
6- فرضیات بکارگیری شده در روش تحلیل
همانطور که میدانیم روشهای مختلف تحلیل سازهها مبتنی بر یکسری فرضیات اولیه هستند. در این راه، این وظیفه خطیر مهندس محاسب است که با انتخاب روش مناسب تحلیل بتواند پاسخهای مورد نظر خود را دریافت نماید. توجه به این نکته ضروری است که خطای منعکس شده در نتایج خروجی (مانند تغییر شکل، نیروها، تنشها، مودهای نوسانی و غیره) برای همگی یکسان نمیباشد و میباید دقت عملیات را برحسب نیاز نوع پاسخ مورد نظر انتخاب نمود. بهعنوان مثال از تحلیلهای مرتبه اول ارتجاعی نمیتوان برای بررسی رفتار واقعی سازه وبرآورد میزان خسارت احتمالی آن تحت زلزلههای شدید استفاده نمود، یا نمیتوان از تحلیلهای استاتیکی مرتبه اول برای بررسی پایداری سازه استفاده کرد.
7- خطاهای عددی
آخرین بخش از خطاهای موجود در نتایج خروجی، خطاهای عددی است که جزء لاینفک کلیه برنامههای کامپیوتری میباشد. البته باید اذعان داشت که برنامههای کامپیوتری امروزی برای به حداقل رساندن این خطاها در نتایج خروجی بهینه شدهاند ولی با این حال این خطاها (مانند خطای گردکردن و بریده شدن اعداد) ممکن است باعث واگرا شدن نتایج خروجی از مقادیر مورد انتظار گردیده بهطوریکه در بعضی موارد باعث ناپایداری عددی سازه گردد. بهعنوان مثال میتوان به اختلاف قابل ملاحظه بین سختی یکی از المانهای سازهای با دیگر المانها اشاره نمود. با در نظر گرفتن خطاهای هفت گانه که در بالا ذکر گردید مشاهده میشود که درصورتی که کنترلی روی این موارد از طرف مهندس محاسب وجود نداشته باشد، ممکن است نتایج حاصل شده از تحلیل کاملاً بیارزش و غیرقابل استفاده شوند. توجه داشته باشید که صرف در اختیار داشتن ابزار مناسب به منزله ارائه کار بیعیب و نقص و یا کار اشتباه نمیباشد، بلکه باید کاربر با در اختیار داشتن دانش خود، سرچشمههای خطا را شناسایی، کنترل و مهار نماید.
- ? در مدلسازی سازهها باید به موارد زیر توجه داشت:
1) مدل سازی تنها یک شبیهسازی یا بهتر بگوئیم تلاشی برای شبیهسازی سازه واقعی میباشد.
2) فرآیند شبیهسازی بسته به نوع واکنش مورد نظر متفاوت بوده و میتواند بسیار متفاوت باشد.
3) فرآیند شبیهسازی بستگی مستقیمی به نوع بارگذاری و شرایط مرزی سازهی مورد نظر دارد.
سه مورد فوق به همراه تکنیکهای مدلسازی ریاضی که جزو امکانات نرمافزار مورد استفاده هستند میبایست در فضای تقریب یا فضای دقت پیادهسازی شوند. باید توجه داشت که سازه واقعی دارای بینهایت درجه آزادی میباشد. بهدلیل محدودیتهای نرمافزاری، سختافزاری و یا هزینههای اجرا (زمان و غیره) معمولاً ترجیح دارد که سازه با حداقل تعداد ممکن درجات آزادی بررسی شود. در این صورت خروجی نرمافزارهای تحلیل توأم با خطاهایی ناشی از این امر خواهد بود. در عین حال دقت مورد نیاز در مهندسی کاربردی با مهندسی پژوهشی متفاوت بوده و بسته به حساسیت واکنشهای مورد نظر دقت تحلیل و در نتیجه درجات آزادی مورد نظر تعیین میشوند. اینکه دقت یک تحلیل بهخصوص سازهای چقدر باید باشد، یک مطلب کاملاً تخصصی و دور از حوصله این نوشتار است. توصیه میشود کاربران محترم (خوانندگان محترم) در این رابطه از افراد با تجربه کمک بگیرند.
تکنیکهای مدلسازی شامل روشهای استاندارد و کمکی مدلسازی سازهای در نرمافزارهای شاخصی نظیر STAAD.Pro، SAP2000 و ETABS میباشند. معمولاً افرادی که با نرمافزارهای ترسیمی برداری نظیر اتوکد در فضای سه بعدی کارکردهاند، با این تکنیکها آشنا هستند. محیط ارائه شده برای ترسیم هندسیسازه در نرمافزارهای STAAD.Pro، SAP2000 و ETABSمانند محیط اتوکد میباشد. این محیط در حقیقت یک فضای مجازی سه بعدی است که کاربر میتواند در این فضا با استفاده از سه عنصر اولیه نقطه، خط و صفحه، کالبدسازهای موردنظر خود را ترسیم نماید. علاوه بر ترسیم مستقیم این عناصر میتوان با استفاده از دستورات کمکی نظیر Move ، Replicate با جابجایی و کپی از عناصر اولیه به ترکیبات پیچیدهتر نیز دست یافت. امکانات ارائه شده در برنامههای ذکر شده نظیر برنامه اتوکد میباشد با این تفاوت که در برنامه اتوکد میتوان دستورات ترسیم و غیره را از طریق نوار دستورات (Command Line) نیز وارد نمود و حال آنکه این برنامهها تنها از طریق جعبه ابزار(Toolbar) های بهخصوصی قابل دسترسی هستند. (به استثنای برنامهی STAAD.Pro که به کمک برنامهی از پیش تعیین شدهی STAAD Editor امکان واردکردن مستقیم دستورات ترسیم، بارگذاری، تحلیل و پس پردازش سازه را به راحتی مهیا نموده است).
استفاده از امکاناتی نظیر واردکردن مستقیم دستورات از طریق صفحه کلید (Keyboard) میتواند سرعت و تسلط کاربر ماهر را چندین برابر کند. از اینرو انتظار میرود این امکان در نسخههای آتی این نرم افزارها گنجانیده شود. استفاده مفید و موثر از دستورات کمکی یاد شده در فوق برای ترسیم هندسی سازه، مستلزم تمرین و مهارت کاربر در تجزیه سازه? پیچیده به اجزاء سادهتر میباشد. در این راه کاربر میبایست تجزیه را بهاندازه کافی انجام دهد تا در کمترین زمان ممکن به حجم کلی سازه دست یابد. معمولاً در سازههای متداول نظیر ساختمانهای مسکونی، برجها، پلها، تونلها و یا حتی در سازههای پیچیدهتر نظیر برجهای خنککن و سازههای صنعتی تشابه به برخی از اجزاء بهصورت تشابه مستقیم و یا تشابه معکوس وجود دارد. بهعنوان مثال در ساختمانهای مسکونی معمولی، طبقات مختلف بهلحاظ سازهای و معماری ممکن است مشابه یکدیگر باشند. بهعنوان مثالی دیگر میتوان به سازههای قرینهی محوری نظیر سیلوها، برج خنککننده و غیره اشاره داشت. اینگونه سازهها با ترسیم اولیه مسیر هادی و سپس چرخاندن آن به حول محور دوران پدید میآیند.
کاربران حرفهای نرمافزارهای تحلیل و طراحی اغلب تمایل دارند تا از امکانات وسیعی که در دیگر نرمافزارها ارائه شده است نیز بهره بگیرند. بهعنوان مثال بعضی از کاربران تمایل دارند تا از نرمافزارهای محاسباتی نظیر MathCAD و یا از نرمافزارهای صفحه گسترده نظیر Excel برای تولید مختصات گرهها و یا توالی المانها استفاده نمایند. استفاده از امکانات محاسباتی اینگونه نرمافزارها میتواند کمک شایانی در تولید اطلاعات سازههای پارامتریک نماید. طراحان برنامههای STAAD.Pro، SAP2000 و ETABS با علم به این موضوع امکانی را در این برنامهها پیشبینی کردهاند که بتوان اطلاعات کلی هندسهی سازه نظیر گرهها و المانها را با کپی(Copy) و برچسب ((Paste ساده بین محیط این برنامهها و محیط Excel رد و بدل نمود. یکی دیگر از امکاناتی که در نسخههای اولیه این برنامهها گنجانده شده است امکان واردکردن فایلهای با فرمت DXF است. فرمت DXF مخفف (Drawing Interchange Format) یا فرمت تبادل ترسیمات در سیستم اتوکد است. فایلهای با این فرمت را میتوان در دیگر برنامهها نیز بهکار گرفت و یا اینکه توسط دیگر برنامههای کمکی اتوکد تولید نمود.
از آنجاییکه این فایلها با فرمت نوشتاری ASCII - American Standard Code for Information Interchange تولید میشوند، استفاده از آن بسیار ساده بوده و از اینروست که برنامههای جانبی اتوکد و یا دیگر سیستمهایی که به نوعی تبادل اطلاعات میکنند، اغلب از این فرمت استفاده مینمایند. فایلهای با این فرمت کلیه? اطلاعات ترسیمات انجام شده در اتوکد را دارا میباشد و در حقیقت معادل مستقیم فایلهای استاندارد اتوکد با فرمت DWG هستند. توانایی ترسیمات سه بعدی در نرمافزار اتوکد بسیار وسیع و کامل است و میتواند در مدلسازی سازههای پیچیده بسیار موثر واقع گردد. از اینرو قویاً توصیه میگردد تا با تمرین فراوان و کسب مهارت و تسلط برروی این نرمافزار و نحوه? ورود و خروج اطلاعات به برنامههای تحلیلسازه، توانایی مدلسازی خود را افزایش دهید.
از دیگر روشهای تولید هندسی سازه، برنامهنویسی مستقیم میباشد. با این روش میتوان فایل حاوی اطلاعات هندسی سازههای پارامتریک را به فرمت Excel یا DXF و یا هر فرمت مناسب دیگری تولید نمود. البته با وجود امکانات برنامهریزی بسیار سادهای که در نرمافزارهای محاسباتی و یا صفحه گسترده ارائه شده است، معمولاً کمتر پیش میآید که امروزه مهندسان تمایل به برنامهریزی مستقیم از خود نشان دهند ولی با این وجود این روش کماکان در موارد خاص کارآیی خود را خواهد داشت. روشهایی که در بالا توضیح داده شدند، تنها روشهای ترسیم هندسی معادلِ ریاضی یا شبیهسازی شده از سازهی واقعی هستند.
گاهی اوقات در سازهی حقیقی شرایطی وجود دارد که این معادلسازی را قدری دشوار میکند، بهعنوان مثال میتوان به موارد زیر اشاره داشت:
1- تیرهای عمیق و یا عریض:
در این صورت علاوه بر اینکه فرض استفاده از المان خطی با بعد صفر تا حدودی زیر سؤال میرود، سؤالی که پیش میآید آن است که تراز مشترک تیرهای واقع در یک طبقه کجا باید انتخاب شود و اینکه اثر این خروج از محوریت چه مقدار است و در چه شرایطی قابل اغماض میباشد و در چه شرایطی و چگونه میتوان آنرا برآورد نمود؟
2- اثر گرهها:
فصل مشترک اتصال بین تیرها و ستونهای متقاطع با یکدیگر را گره مینامیم. در اغلب برنامههای کامپیوتری که برای مدلسازی المانهای نظیر تیرها و ستونها، از المانهای خطی استفاده میشود، گره به یک نقطه بدون بعد بدل میشود. اینکه اثرات تغییر شکلهای داخلی گره و یا جاری شدگیها و ترکخوردنها تا چه حد باعث دور شدن گره از یک گرهی ایدهآل (که فرض میشود هیچ تغییر شکل نسبی در آن اتفاق نمیافتد) میشود، بحث مهمی است که در حد حوصله این نوشتار نیست ولیکن باید بهخاطر داشت که تحت شرایطی این فرض دیگر صحیح نبوده و ممکن است پاسخها را کم ارزش نماید.
3- احجام توپر نظیر دالها، فونداسیونها و دیوارها:
در خصوص مدلسازی این قبیل اجزا سازهای نکاتی چند را باید در نظر داشت:
3-1) معادله رفتاری مناسب برای این جزء چیست؟ همانطور که میدانیم این معادله رفتاری به سه صورت غشایی، خمشی و پوستهای (حاصل جمع غشایی و خمشی) در این برنامهها معرفی شده است. انتخاب صحیح معادله رفتاری بسیار مهم بوده و هرگاه این انتخاب به درستی صورت نگیرد منجر به بیاعتباری پاسخهای دریافت شده میگردد.
3-2) کفایت مش بندی - در مدلسازی به روش اجزاء محدود، روش تجزیه یک محیط پیوسته نامحدود با توزیع تنش و کرنش پیچیده و نامشخص به یک سری المانهای محدود، به کمک توابع رفتاری مشخص و توزیع تنش و کرنش قابل پیشبینی در سطح المان انجام میگیرد.
درست مانند آنکه بخواهیم یک منحنی پیچیده و نامعلوم را با سری خطوط راست تقریب بزنیم. در این صورت به لحاظ ریاضی میتوان گفت که هر چقدر این تقسیمبندی بیشتر انجام شود، به جواب واقعی نزدیکتر میشویم. در عمل محدودیتهای دیگری نیز وجود دارند که تعداد المانهای سازهای را محدود میکنند، از آن جمله میتوان به افزایش خطای عددی و در بعضی اوقات ناپایداری عددی سازه و به زمان انجام تحلیل و محدودیتهای نرمافزاری و سختافزاری و مهمتر از همه به هزینههای تحلیل اشاره کرد. در عین حال همانطور که پیشتر در بحث فضای دقت گفته شد، دقت میبایست متناسب با نوع کاربرد تنظیم شود چه درغیر اینصورت منجر به تلف شدن سرمایه خواهد گردید. باید بخاطر داشت که تعداد بهینه المانها آن حداقلی است که بتواندپاسخهای مورد نظر را در حوزه دقت مورد نیاز در زمان مناسب و متناسب با امکانات موجود فراهم نماید. انتخاب این تعداد از طرفی بستگی به نوع بارگذاری، شرایط تکیهگاهی و نوع تحلیل نیز داشته و دستورالعمل کلی برای آن وجود ندارد و میبایست به تجربه و از طریق آزمایش تعیین گردد. در بخشهای آینده مثالهایی از المانبندی و خطاهای ایجاد شده ارائه خواهد گردید.
نویسنده: رامین فداییان
منبع : مقاله دات نت
.: Weblog Themes By Pichak :.