پرش به محتویات

فهرست پیام‌های خطا

این صفحه پیام‌های خطای متداول FrontISTR را بر حسب دسته مرتب می‌کند و برای هر یک علت‌های محتمل و جهت اقدام اصلاحی را نشان می‌دهد. این فهرست همه پیام‌های داخلی را پوشش نمی‌دهد و عمدتاً بر پیام‌هایی تمرکز دارد که هنگام استفاده از hecmw_part1 و fistr1 رایج‌اند.

هنگام نمایش پیام، ابتدا وجود کد و پیشوند آن را بررسی کنید؛ سپس با جدول دسته مربوطه مشخص کنید که باید فایل ورودی، مش، المان، حل‌گر، تماس، همگرایی یا حافظه بازبینی شود.

نحوه خواندن پیام‌ها

پیام‌های FrontISTR شامل پیام‌های کددار منشأگرفته از کتابخانه HEC-MW و پیام‌های بدون کدی هستند که مستقیماً توسط fistr1 خروجی داده می‌شوند. در پیام‌های کددار، پیشوند ماژول صادرکننده و شدت پیام را مشخص می‌کند.

قالب مثال نحوه خواندن
HECMW-XXX-EYYYY HECMW-IO-E1014 خطایی از کتابخانه HEC-MW است. XXX زیرماژول، E به معنی Error و YYYY شماره پیام را نشان می‌دهد.
HECMW-XXX-WYYYY HECMW-PART-W0401 هشداری از کتابخانه HEC-MW است. W به معنی Warning است.
بدون کد Number of substeps reached max number عمدتاً مستقیماً توسط fistr1 از مسیرهایی مانند STOP، call hecmw_abort و write(*,*) خروجی می‌شود.

اعداد یا رشته‌های انتهای پیام ممکن است اطلاعات زمان اجرا مانند نام فایل، شماره ماده، شماره المان، شماره زیرگام یا پرچم داخلی باشند. مقدار انتهایی یک پیام نمونه می‌تواند در تحلیل‌های مختلف تغییر کند.

کدهای خروج

fistr1 نتیجه تحلیل را به‌صورت کد خروج (exit status) بازمی‌گرداند. اگر تحلیل به‌طور عادی پایان یابد، مقدار 0 را برمی‌گرداند و در صورت شکست، بسته به نوع شکست مقداری غیرصفر بازمی‌گرداند.

کد خروج معنی علت اصلی
0 پایان عادی تحلیل تا انتها اجرا شده است. اگر هشداری صادر شود و تحلیل ادامه پیدا کند نیز کد خروج 0 است؛ برای نمونه هشدار بار صفر، توقف تکرارها در تحلیل مودال یا بیش از حد بودن باقیمانده در روش مستقیم. اگر یک حل‌گر خطی تکراری به حد تکرار برسد، این وضعیت به‌عنوان واگرایی تکرار نیوتن–رافسون در نظر گرفته می‌شود و کد خروج 10 خواهد بود.
1 خطای استفاده یا خط فرمان گزینه پشتیبانی‌نشده یا نبودن آرگومان یک گزینه.
2 خطای تفسیر ورودی شکست در خواندن hecmw_ctrl.dat، داده‌های مش یا فایل کنترل، یا وجود خطای نحوی.
3 خطای تعریف مدل نوع المان پشتیبانی‌نشده، تعریف ناقص ماده، یا تعریف ناسازگار شرایط مرزی یا تماس.
4 ناسازگاری تنظیمات حل‌گر ترکیب نامعتبر حل‌گر و پیش‌شرط‌گذار (HEC-MW-SOLVER-E-1001) یا درایه قطری صفر (HEC-MW-SOLVER-E-2001).
10 توقف تحلیل غیرخطی عدم همگرایی تکرار نیوتن–رافسون، رسیدن به بیشینه تعداد شکست‌های پیاپی cutback، یا رسیدن به بیشینه تعداد زیرگام‌ها.
20 خطای داخلی شکست در تخصیص حافظه، ناسازگاری داخلی، یا خطای بحرانی دیگری که در موارد بالا طبقه‌بندی نشده است.

طبقه‌بندی کد خروج برای تشخیص شکست است، نه برای تعیین علت آن. چه کد خروج 2 باشد، چه 3 یا 10، علت مشخص را از پیام نمایش‌داده‌شده در خروجی استاندارد و جدول‌های دسته‌بندی‌شده این صفحه تعیین کنید.

در اسکریپت پوسته می‌توان کد خروج را به شکل زیر بررسی کرد.

fistr1 -t 4
case $? in
  0)  echo "completed" ;;
  10) echo "not converged" ;;
  *)  echo "failed with code $?" ;;
esac

در اجرای موازی MPI، mpirun یا mpiexec لزوماً کد خروج fistr1 را بدون تغییر بازنمی‌گردانند. برای تشخیص مطمئن، کد خروج را همراه با آخرین خط FSTR.sta (... HAS COMPLETED SUCCESSFULLY یا ... HAS NOT COMPLETED SUCCESSFULLY) بررسی کنید.

خطاهای تفسیر ورودی

خطاهای تفسیر ورودی هنگام خواندن فایل کنترل، داده مش، تعریف ماده، تنظیم راه‌اندازی مجدد و ورودی‌های مشابه رخ می‌دهند. برای این خطاها، نام فایل، کلیدواژه، ماده و گروهی را که درست پیش از خطا خوانده می‌شد بررسی کنید.

پیام یا کد علت اصلی جهت اقدام
Cannot open FSTR control file فایل کنترل یا فایل ورودی مشخص‌شده با !INCLUDE باز نمی‌شود. دایرکتوری اجرا، نام فایل، مسیر نسبی و مجوز دسترسی را بررسی کنید.
material property not defined! ماده‌ای که تحلیل به آن ارجاع می‌دهد با !MATERIAL تعریف نشده است. نام ماده مورد ارجاع !SECTION را با نام !MATERIAL در فایل کنترل یا داده مش یکسان کنید.
Error in material property definition! شناسه ماده، تعداد تعریف‌های ماده یا روابط ارجاع آن‌ها ناسازگار است. شماره ماده، تعداد تعریف‌های ماده و ارجاع‌های !SECTION را بررسی کنید.
ERROR: Material type not supported برای یک کلیدواژه ماده، TYPE پشتیبانی‌نشده مشخص شده است. در !ELASTIC، !HYPERELASTIC، !PLASTIC و !VISCOELASTIC، TYPE متناظر را بررسی کنید.
We cannot deal with incompressible material currently ماده کاملاً تراکم‌ناپذیر با نسبت Poisson برابر 0.5 مشخص شده است. نسبت Poisson را کمتر از 0.5 قرار دهید و در صورت نیاز فرمول‌بندی المان را بازبینی کنید.
Mohr-Coulomb and Drucker-Prager do not support temperature dependency برای Mohr-Coulomb یا Drucker-Prager جدول وابسته به دما مشخص شده است. تعریف بدون وابستگی دمایی استفاده کنید یا مدل ماده‌ای را انتخاب کنید که از وابستگی دمایی پشتیبانی کند.
Multilinear hardening: Error in plastic strain definition کرنش پلاستیک در سخت‌شوندگی چندخطی به‌صورت یکنواخت افزایشی تعریف نشده است. کرنش پلاستیک اول را 0 قرار دهید و جدول را طوری اصلاح کنید که کرنش پلاستیک افزایش یابد.
HECMW-IO-E1012 Element doesn't have section اطلاعات مقطع متناظر با المان وجود ندارد. مشخصه گروه المان در !SECTION و گروه‌های المان مش را بررسی کنید.
HECMW-IO-E1013 Cannot set section مقطع را نمی‌توان به المان تخصیص داد. سازگاری نوع مقطع، نام ماده و نام گروه المان را بررسی کنید.
HECMW-IO-E1014 No nodes defined تعریف گره وجود ندارد. بررسی کنید داده مش شامل بلوک گره باشد.
HECMW-IO-E1015 No elements defined تعریف المان وجود ندارد. بررسی کنید داده مش شامل بلوک المان باشد.
HECMW-UTIL-E0040 !RESTART: Invalid token in control file نحو !RESTART نامعتبر است. جداکننده‌ها، نام پارامترها و مقادیر خط !RESTART را بررسی کنید.
HECMW-UTIL-E0041 !RESTART: Missing NAME در !RESTART، NAME مشخص نشده است. نام داده راه‌اندازی مجدد را مشخص کنید.
HECMW-UTIL-E0042 !RESTART: Missing IO در !RESTART، IO مشخص نشده است. مشخصه خواندن/نوشتن را اضافه کنید.

خطاهای مش و المان

خطاهای مش و المان زمانی رخ می‌دهند که ترکیب نوع المان و قابلیت، گره مرجع، دستگاه مختصات محلی یا نوع المان سطح تماس نامناسب باشد. علاوه بر نحو ورودی، کیفیت شکل المان و ترتیب گره‌ها را نیز بررسی کنید.

پیام علت اصلی جهت اقدام
##Error: This element type is not supported in contact analysis !!! نوع المانی که برای تحلیل تماس پشتیبانی نمی‌شود به سطح تماس اختصاص یافته است. نوع المان سطح تماس و تعریف سطح را بازبینی کنید. بررسی کنید المان مرتبه بالا یا ویژه روی سطح تماس استفاده نشده باشد.
Bad reference for beam element! گره مرجع یا جهت مرجع المان تیر نامعتبر است. گره مرجع تیر، دستگاه مختصات محلی و هم‌مکانی گره‌ها را بررسی کنید.
Fail to setup local coordinate دستگاه مختصات محلی المان ساخته نمی‌شود. فروریزش شکل المان، ترتیب گره‌ها، گره‌های تکراری و دستگاه مختصات مرجع را بررسی کنید.

شکست در ساخت دستگاه مختصات محلی فقط به مقادیر ورودی وابسته نیست و به کیفیت مش نیز بستگی دارد. به‌ویژه المان‌های بسیار کوچک، المان‌های با مساحت یا حجم نزدیک 0 و المان‌های دارای ترتیب گره وارونه را بررسی کنید.

خطاهای مرتبط با حل‌گر

خطاهای حل‌گر می‌توانند از تنظیم نامعتبر حل‌گر خطی، شکست تجزیه در روش مستقیم، تکین بودن ماتریس یا لینک نبودن کتابخانه خارجی ناشی شوند. در گزارش درست پیش از توقف تحلیل، وجود اطلاعات مربوط به روش تکراری، روش مستقیم، درجات آزادی تماس، MPC و موارد مشابه را بررسی کنید.

پیام علت اصلی جهت اقدام
ERROR ordering option for direct solver out of range تنظیم مرتب‌سازی حل‌گر مستقیم خارج از محدوده است. تنظیم مرتب‌سازی روش مستقیم در !SOLVER را بررسی کنید.
ERROR in symb. fact. flag: Should be 1 or 0 پرچم تجزیه نمادی مقداری غیر از 0 یا 1 دارد. مقدار پرچم داخلی حل‌گر مستقیم را بررسی کنید. این تنظیم معمولاً مستقیماً توسط کاربر تغییر داده نمی‌شود.
ERROR in numer. fact. flag: Should be 1 or 0 پرچم تجزیه عددی مقداری غیر از 0 یا 1 دارد. مقدار پرچم داخلی حل‌گر مستقیم را بررسی کنید.
ERROR in nufct0. ir = تجزیه عددی روش مستقیم شکست خورده است. کمبود قید، مودهای جسم صلب، مقادیر غیرعادی ثابت‌های ماده، شرایط تماس و قیود MPC را بررسی کنید.
error in nusol0. irr = جایگذاری پسرو در روش مستقیم شکست خورده است. همانند شکست تجزیه عددی، تکین یا ناسازگار بودن دستگاه خطی را بررسی کنید.
METIS not available مرتب‌سازی مبتنی بر METIS مشخص شده، اما ساخت بدون پشتیبانی METIS ساخته شده است. تنظیمی بدون METIS انتخاب کنید یا با پشتیبانی METIS دوباره ساخت کنید. برای وابستگی‌ها به کتابخانه‌های وابسته ضروری و اختیاری مراجعه کنید.

شکست تجزیه روش مستقیم می‌تواند علاوه بر تنظیم حل‌گر، از حرکت جسم صلب مدل، کمبود قید، قیود تکراری، ثابت‌های ماده بسیار بزرگ/کوچک یا ناسازگاری تماس نیز ناشی شود. قیود و بارها را به یک حالت ساده برگردانید و بررسی کنید آیا دستگاه خطی در پیکربندی حداقلی حل می‌شود؛ این کار تشخیص علت را آسان‌تر می‌کند.

خطاهای تحلیل تماس

خطاهای تحلیل تماس بر اثر ناسازگاری میان جفت تماس و گروه سطح، تکینگی هندسی هنگام جست‌وجوی تماس، ناسازگاری نوع المان سطح یا کمبود حافظه جست‌وجوی تماس رخ می‌دهند. در خطاهای تماس، نام گروه‌های اسلیو و مستر، نوع المان سطح تماس، نفوذ اولیه و جهت نرمال سطح تماس را بررسی کنید.

پیام علت اصلی جهت اقدام
Inconsistence in contact and surface definition گروه سطح یا جفت تماس مورد ارجاع !CONTACT یا !EMBED ناسازگار است. نام جفت تماس، نام گروه سطح و وجود گروه‌های گره و سطح را بررسی کنید.
error in contact state داده حالت تماس به سطح تماس معتبر ارجاع نمی‌دهد. تعریف سطح تماس، حالت تماس اولیه و گامی را که جفت تماس در آن فعال می‌شود بررسی کنید.
Math error in contact searching هنگام تصویر کردن نقطه تماس وضعیت تکین رخ داده است. هندسه سطح تماس، چیدمان گره‌ها، نفوذ اولیه و تغییرشکل بسیار زیاد را بررسی کنید.
Error in calculate DispIncreMatrix ماتریس افزایش جابه‌جایی روی سطح تماس محاسبه نمی‌شود. بررسی کنید هندسه المان سطح تماس فرو نریخته و ترتیب گره‌ها درست باشد.
Error: cal_node_normal: invalid isin / Error: cal_node_normal: invalid isin_n در محاسبه نرمال گره، گره در موقعیت مورد انتظار سطح تماس نیست. تعریف سطح، جهت سطح تماس و مشخصه اسلیو/مستر را بررسی کنید.
type of surface element not defined نوع المان سطح قابل شناسایی نیست. نوع المان و شماره وجه مشخص‌شده برای سطح تماس را بررسی کنید.
Allocation error: bktdb%buckets تخصیص حافظه آرایه باکت برای جست‌وجوی تماس شکست خورده است. تعداد سطوح تماس، چگالی مش، تعداد زیر‌دامنه‌ها و حافظه موجود را بازبینی کنید.

اگر خطای تماس بلافاصله پس از خواندن ورودی ظاهر شود، ناسازگاری نام جفت تماس یا گروه سطح یکی از علت‌های اصلی است. اگر خطا در میانه تکرارهای غیرخطی رخ دهد، ممکن است سطح تماس به‌شدت اعوجاج یافته باشد، نفوذ اولیه بیش از حد باشد یا افزایش زمانی بیش از حد بزرگ باشد.

برای انتخاب نوع تماس و الگوریتم تماس به تماس و جاسازی مراجعه کنید.

خطاهای همگرایی و cutback

خطاهای همگرایی و cutback هنگامی رخ می‌دهند که در تحلیل استاتیکی غیرخطی نتوان زیرگام را پیش برد. درگیر یا جدا شدن تماس، گسترش سریع تسلیم، تغییرشکل بزرگ، قیود ناسازگار و افزایش بار بیش از حد از علت‌های رایج‌اند.

پیام علت اصلی جهت اقدام
Number of successive cutback reached max number به‌دلیل شکست همگرایی cutback چندبار تکرار شده و به حد بیشینه شکست‌های پیاپی رسیده است. افزایش زمانی اولیه را کوچک‌تر کنید. ضریب کاهش cutback و حد شکست پیاپی در AUTOINC_PARAM را بازبینی کنید. اعتبار تماس، ماده و شرایط مرزی را بررسی کنید.
Number of substeps reached max number پیش از پایان گام، تعداد زیرگام‌ها به حد بیشینه رسیده است. SUBSTEPS را افزایش دهید. افزایش بار یا زمان را کوچک‌تر کنید. در زمان‌هایی که غیرخطی بودن ناگهان تغییر می‌کند، زمان خروجی یا تقسیم گام اضافه کنید.

در شکست همگرایی، صرفاً افزایش حداکثر تعداد تکرار حل‌گر همیشه علت ریشه‌ای را برطرف نمی‌کند. بار را مرحله‌ای کنید و بازتولیدپذیری را با تماس یا غیرخطی بودن ماده ساده‌شده بررسی کنید تا علت بهتر تفکیک شود.

خطاهای شرایط مرزی

خطاهای شرایط مرزی زمانی رخ می‌دهند که مشخصه فایل کنترل با محدودیت عملکردی سازگار نباشد. برای شرط مرزی دورانی، استفاده از مقدار کل مانند قید جابه‌جایی باعث خطا می‌شود.

پیام علت اصلی جهت اقدام
Error: rotational boundary cannot be specified with total value برای قید دورانی مقدار کل (TOTAL=YES) مشخص شده است. برای قید دورانی از مشخصه افزایشی استفاده کنید و TOTAL=YES را از تعریف شرط مرزی حذف کنید.
fstr control file error : !BOUNDARY : rotational boundary cannot be specified with total value همان نقض محدودیت هنگام خواندن فایل کنترل تشخیص داده شده است. خط قید دورانی در !BOUNDARY و مشخصه TOTAL را بررسی کنید.

قیود و بارهای دورانی به نوع المان و پیکربندی درجات آزادی نیز وابسته‌اند. هنگام استفاده از المان‌هایی مانند تیر و پوسته که درجات آزادی دورانی دارند، شماره درجه آزادی شرط مرزی و گروه گره هدف را با هم بررسی کنید.

خطاهای پارتیشن‌بندی مش (hecmw_part1)

خطاهای hecmw_part1 با کدهایی که با HECMW-PART آغاز می‌شوند خروجی داده می‌شوند. هنگام پارتیشن‌بندی مش، به‌ترتیب وجود فایل ورودی، پارامترهای ضروری !PARTITION، محدودیت‌های روش پارتیشن‌بندی و تعداد دامنه‌ها، و سازگاری فایل پارت تعیین‌شده توسط کاربر را بررسی کنید.

بازه کد یا کد نمونه علت اصلی جهت اقدام
HECMW-PART-E0001〜E0006 خطاهای پایه مربوط به عملیات فایل، نام فایل، EOF یا آرگومان‌ها. وجود فایل مشخص‌شده، طول نام فایل، انتهای فایل ورودی و آرگومان‌های فرمان را بررسی کنید.
HECMW-PART-E0101 فایل کنترل دارای توکن نامعتبر است. نحو خط !PARTITION و خط تعیین جهت تقسیم را بررسی کنید.
HECMW-PART-E0111 'TYPE' must not be omitted TYPE مشخص نشده است. نوع تقسیم مانند !PARTITION, TYPE=NODE-BASED را مشخص کنید.
HECMW-PART-E0121 'METHOD' must not be omitted METHOD مشخص نشده است. METHOD=RCB، METHOD=PMETIS، METHOD=KMETIS یا روش مناسب دیگری را مشخص کنید.
HECMW-PART-E0131 'DOMAIN' must not be omitted تعداد دامنه‌ها مشخص نشده است. DOMAIN را به یک عدد صحیح مثبت متناظر با تعداد فرایندهای MPI تنظیم کنید.
HECMW-PART-E0134 'METHOD' is 'RCB', but 'DOMAIN' is not n-th power of 2 در روش RCB، تعداد دامنه‌ها \(2^n\) نیست. هنگام استفاده از RCB، تعداد دامنه‌ها را \(2^n\) قرار دهید. اگر تعداد دلخواه دامنه لازم است، روش‌های مبتنی بر METIS را در نظر بگیرید.
HECMW-PART-E0201〜E0206 نوع تقسیم، روش تقسیم، نوع المان، جهت تقسیم، تعداد دامنه یا عمق هم‌پوشانی نامعتبر است. TYPE، METHOD، DOMAIN، DEPTH و مشخصه جهت تقسیم را بررسی کنید.
HECMW-PART-E0301〜E0331 شماره دامنه، تعداد گره، تعداد المان یا تعداد دامنه‌های مجاور در داده تقسیم‌شده خارج از محدوده است. سازگاری مش ورودی، فایل پارت کاربر و تعداد تقسیم‌ها را بررسی کنید.
HECMW-PART-E0601〜E0606 فایل پارت کاربر دارای دامنه خالی، قالب نامعتبر یا ناسازگاری تعداد گره‌ها، المان‌ها یا دامنه‌هاست. قالب فایل پارت و سازگاری آن با مش را بررسی کنید.
HECMW-PART-W0401 EQUATION_BLOCK not found هشدار می‌دهد EQUATION_BLOCK پیدا نشده است. اگر برای تحلیل دارای MPC لازم است، بلوک مربوطه را بررسی کنید. اگر لازم نیست، اجرا می‌تواند ادامه یابد.
HECMW-PART-W0502 Log file for partitioner already initialized مقداردهی اولیه گزارش بیش از یک‌بار فراخوانی شده است. معمولاً آن را هشدار در نظر بگیرید و بررسی کنید آیا بلافاصله پس از آن خطای کشنده رخ داده است.

برای مفهوم تجزیه دامنه و انتخاب روش‌های پارتیشن‌بندی مش به پارتیشن‌بندی مش مراجعه کنید. برای مراحل دقیق اجرای موازی به راهنمای اجرا مراجعه کنید.

خطاهای تخصیص حافظه

خطاهای تخصیص حافظه زمانی خروجی داده می‌شوند که نتوان آرایه یا فضای کاری را تخصیص داد. مصرف حافظه برای مش بزرگ، مدل‌های با سطوح تماس زیاد، روش مستقیم و تحلیل‌های دارای متغیرهای خروجی فراوان افزایش می‌یابد.

پیام علت اصلی جهت اقدام
stop due to allocation error <FSTR_SOLID, TEMPERATURE> تخصیص آرایه دما شکست خورده است. تعداد گره‌ها، درجات آزادی دما، تنظیمات تنش حرارتی و حافظه موجود را بررسی کنید.
stop due to allocation error <FSTR_SOLID, GL> تخصیص آرایه سراسری تحلیل سازه‌ای شکست خورده است. اندازه مدل، تعداد زیر‌دامنه‌ها، نوع تحلیل و اقلام خروجی را بازبینی کنید.
Allocation error: bktdb%buckets آرایه باکت جست‌وجوی تماس قابل تخصیص نیست. تعداد سطوح تماس، چگالی مش، تعداد جفت‌های تماس و تجزیه دامنه را بازبینی کنید.
ALLOCATION ERROR, ... آرایه کاری روش مستقیم یا پردازش مرتب‌سازی قابل تخصیص نیست. تغییر از روش مستقیم به تکراری، تنظیم تعداد زیر‌دامنه‌ها یا افزایش حافظه تخصیص‌یافته را بررسی کنید.

اگر کمبود حافظه محتمل است، ابتدا بررسی کنید آیا می‌توان روش مستقیم را به روش تکراری تغییر داد. اگر روش مستقیم ضروری است، کاهش اندازه مدل، کاهش متغیرهای خروجی، تنظیم تعداد زیر‌دامنه‌ها یا افزایش حافظه تخصیص‌یافته به کار را در نظر بگیرید.

خطاهای راه‌اندازی مجدد

خطاهای راه‌اندازی مجدد به‌دلیل نحو نامعتبر !RESTART، کمبود پارامتر ضروری یا ناسازگاری میان فایل خوانده‌شده و شرایط فعلی تحلیل رخ می‌دهند. برای استفاده از راه‌اندازی مجدد، مش، تعداد زیر‌دامنه‌ها، نوع تحلیل و اطلاعات گام در تحلیل نویسنده و تحلیل خواننده باید سازگار باشند.

کد علت اصلی جهت اقدام
HECMW-UTIL-E0040 !RESTART: Invalid token in control file نحو خط !RESTART نامعتبر است. نام پارامتر، جداکننده و قالب مقدار را بررسی کنید.
HECMW-UTIL-E0041 !RESTART: Missing NAME NAME مشخص نشده است. نام داده راه‌اندازی مجدد را مشخص کنید.
HECMW-UTIL-E0042 !RESTART: Missing IO IO مشخص نشده است. مشخصه خواندن/نوشتن را اضافه کنید.

اگر خواندن راه‌اندازی مجدد شکست بخورد، علاوه بر نام فایل راه‌اندازی مجدد، مش، تعداد دامنه‌های MPI، تنظیم گام و نسخه راه‌اندازی مجدد هنگام نوشتن و خواندن را بررسی کنید. برای نمای کلی قابلیت راه‌اندازی مجدد به خروجی و راه‌اندازی مجدد مراجعه کنید.

موارد مرتبط