کدنویسی در آباکوس

کدنویسی در آباکوس

در طیف وسیعی از پروژه ها و کاربرد ها، محیط abaqus/CAE که همان رابط گرافیکی (GUI) آباکوس است، می تواند کلیه نیاز های شما را بدون نیاز به کدنویسی برطرف نماید. کدنویسی در آباکوس در مواردی توصیه می شود که شما می خواهید آباکوس کاری را برای شما انجام دهد که یا اصلا در مدل های فیزیکی آماده گنجانده شده در محیط CAE وجود ندارد، یا دستور مرتبط با آن در محیط CAE قرار داده نشده است و یا مثلا یک مساله باید با هر بار ایجاد تغییر کوچکی در مدل، به تعداد دفعات زیادی حل شود. برای هر یک از مسایل عنوان شده، آباکوس بستر کدنویسی خاصی را در نظر گرفته است.  کدنویسی در آباکوس به سه بخش کلی سابروتین نویسی به زبان فرترن، input file نویسی و کدنویسی به زبان پایتون تقسیم می شود. در ادامه هر یک از این سه بخش به طور مختصر بررسی شده اند.

سابروتین نویسی به زبان فرترن (fortran)

هر یک از حلگر های آباکوس مانند Abaqus/Standard و Abaqus/Explicit  به زبان فرترن نوشته شده اند. به همین جهت به منظور ارتباط مستقیم با هر یک از حلگر ها و معرفی تابع، برهم کنش و یا مدل رفتاری خاصی به آنها، باید از زبان فرترن استفاده شود. سابروتین ها دقیقا به همین منظور از سوی توسعه دهندگان آباکوس در نظر گرفته شده اند تا دست شما را در حوزه هایی نظیر تعریف بارگذاری دلخواه (سابروتین DLOAD)، تعریف شرط مرزی دلخواه (سابروتین disp)، تعریف اندرکنش دلخواه (سابروتین FRIC)، تعریف مدل رفتاری دلخواه (سابروتین های UFIELD، USDFLD و UMAT) و یا حتی المانی که در پروژه خود به آن نیاز دارید (سابروتین UEL)، باز بگذارند.

هر یک از حلگر های آباکوس دارای سابروتین های مخصوص به خود هستند. برخی از سابروتین های مربوط به Abaqus/Standard دارای متناظری در بین سابروتین های مربوط به Abaqus/Explicit هستند. در کنار سابروتین ها، توابعی به نام Utility Routine وجود دارد که شما بر اساس نیاز خود و متناسب با سابروتینی که استفاده می کنید، می توانید با بهره گیری از Utility Routine ها سریع تر به مقصود خود برسید. در حقیقت استفاده از Utility Routine ها ضمن فراهم نمودن برخی از متغیر ها در داخل سابروتین، فرآیند کدنویسی در آن را تسهیل می کند. همانطور که در فیلم آموزشی سیر تا پیاز اباکوس نیز عنوان شده است، در مرحله شروع حل مدل، فایل اینپوت (input file) در کنار فایل شامل سابروتین ها در اختیار حلگر آباکوس قرار داده می شود. در بین انواع فرم های کدنویسی در آباکوس، سابروتین نویسی بیش از دو فرم دیگر نیاز به داشتن دانش در زمینه تئوری المان محدود دارد. این مساله تا آنجایی پیش میرود که نداشتن دانش کافی در این حوزه، استفاده از سابروتین های UEL و VUEL را عملا غیرممکن می سازد.

Input file نویسی (keyword editing)

تمام دستورات موجود در هسته کد آباکوس، در محیط CAE قابل دستیابی نیستند. در زمانی که شما این گونه دستورات را یا مطالب مرتبط به آنها را در Abaqus User’s Manual یا Abaqus Analysis User’s Manual جست و جو می کنید، برای آنها Abaqus/CAE Usage پیدا نمی کنید و در Help برای آنها تنها Input File Usage پیدا می کنید. این بدان معنا است که برای پیاده سازی این دستورات در مدل خود، باید keyword مدل خود را دست کاری نموده و خودتان این دستورات را در keyword مدل و یا در فایل input آن بنویسید. در واقع تمام تنظیماتی که شما در مدل خود در محیط CAE انجام می دهید، در نهایت به زبانی که مختص حلگر های اباکوس است، ترجمه شده و به عنوان ورودی به آنها داده می شود. تقریبا تمامی مثال های موجود در Abaqus Example Problem Manual دارای input file های آماده می باشد که شما با استفاده از آنها می توانید به مدل مربوط به آن مثال دست یافته و آن را بازسازی کنید. در حقیقت تمام اطلاعات مدل شامل مختصات گره ها و المان ها، خواص مواد، بارگذاری ها و …. در فایل input وجود دارد.

کدنویسی به زبان پایتون (python)

در محیط CAE،هر یک از تنظیمات و دستوراتی که سبب ایجاد تغییر در مدل شده و به صورت گرافیکی اعمال می شوند، دارای کد متناظری به زبان پایتون می باشند. به همین جهت شما می توانید تمام فعالیت هایی را که در محیط CAE انجام می دهید را به صورت کد پایتون بنویسید و بعد با run کردن این کد، یک مدل یا مدل هایی در محیط Abaqus/CAE ایجاد بکنید. در حقیقت یک کدنویس حرفه ای می تواند بدون دست زدن به موس، مدل خود را در قالب کد پایتون بنویسد و سپس آن را run کند! استفاده از کد نویسی در ایجاد مدل می تواند در زمان هایی که قرار است مساله ای با ایجاد تغییر کوچکی در مدل آن، به تعداد دفعات زیادی حل شود، به شدت زمان مدل سازی را کاهش دهد.

جمع بندی

هر یک از بستر های کد نویسی در آباکوس به منظور رفع طیف خاصی از نیاز ها توسعه داده شده اند. از طرفی سابروتین نویسی و input file نویسی به منظور افزایش حیطه قابلیت های مدل سازی آباکوس و از طرف دیگر پایتون نویسی به منظور کنترل فرآیند مدل سازی و تسریع انجام کارهای فرسایشی در نظر گرفته شده اند. در هر یک از بستر های نامبرده، آباکوس با انتخاب compiler و یا زبان مناسب سبب تسهیل فرآیند شبیه سازی شده است. استفاده از زبان فورترن در سابروتین نویسی سبب سرعت بخشیده شدن به فرآیند حل مدل می شود. از طرف دیگر زبان پایتون به دلیل داشتن قابلیت object oriented بودن، سبب ساده سازی فرآیند کنترل برنامه شده است. از آنجایی که هر یک از روش های کدنویسی نامبرده دارای کاربری خاصی هستند، لذا استفاده همزمان از آنها خللی در فرآیند شبیه سازی ایجاد نمی کند. برای مثال شما می توانید با استفاده از زبان پایتون، مدلی را به تعداد دفعات مطلوب run کنید که در تعریف خاصیت آسیب یکی از part ها، از سابروتین USDFLD استفاده شده است.

مراجع:

abaqus online documentation v6.13

32 دیدگاه
  1. آرش 2 سال پیش

    سلام
    ببخشید
    میخواستم برای یک سازه نیرویی تعزیف کنم که این نیرو تابعی از جابجایی اون سازه است.
    چطور میتونم کوپل کنم؟و تابع وابسته به خروجی تعریف کنم؟

    • Author
      mirzabozorg 2 سال پیش

      سلام . فکر میکنم که باید از سابروتین های UAMP یا VUAMP استفاده کنید. توی هلپ آباکوس، تو قسمت مربوط ب سابروتین ها، رو توضیحات این دو سابروتین یه نگاه بندازید.

  2. یوسف 2 سال پیش

    سلام
    من مدلی دارم که از سه پارت تشکیل شده است. آن را تحت بارگذاری قرار می دهم. کرنش های بدست آمده در تک تک المانهای یکی از پارت ها را می خوانم و مدول یانگ هر المان را بصورت تابعی از کرنش آن آپدیت میکنم. مجددا بارگذاری انجام میشود و این فرآیند چندین بار تکرار می شود.
    جهت اینکار اسکریپت نویسی پایتون مناسب تر است یا سابروتین نویسی با فرترن؟ اگر ممکن است مزایا و معایب هرکدام را توضیح بدهید ممنون میشوم.

    • Author
      mirzabozorg 2 سال پیش

      سلام . اگر شما میخواید ماده ای رو تو آباکوس تعریف کنید که در اون مدول یانگ تابعی از کرنش هستش، باید از سابروتین نویسی استفاده کنید. برای اینکار هم می تونید از سابروتین usdfld و هم می تونید از سابروتین umat استفاده کنید. از اونجایی که سابروتین ها در نقاط انتگرال گیری عمل میکنن، دقیقا همون کاری که مدنظر شما هست، آباکوس خودش به صورت اتوماتیک رو هر المان اعمال میکنه. منتها دقت سابروتین usdfld از دقت سابروتین umat یه مقدار کمتر هست که البته با تعریف درست داده های جدولی تا حد زیادی دقت ایندو به هم نزدیک میشه. توی آموزش مدل سازی FGM با استفاده از سابروتین usdfld نحوه تعریف مدول یانگ به صورت تابعی از یک پارامتر دیگر مثل تنش و کرنش (که در سابروتین قابل فراخوانی هست) گفته شده. توی آموزش سابروتین umat هم نحوه کدنویسی ماده ای که در اون مدول یانگش تابعی از پارامتر های دیگه هست، گفته شده.

  3. یوسف 2 سال پیش

    متشکر از پاسخ کامل شما
    در ادامه می خواستم بدونم که نسخه سازگار ویژوال استودیو و کامپایلر فرترن برای لینک شدن با نسخه آباکوس ۲۰۱۶ چیست؟

    • Author
      mirzabozorg 2 سال پیش

      خواهش میکنم. امید وارم که براتون مفید بوده باشه. از اونجایی که هنوز تجربه لینک کردن کامپایلر فورترن و ویژوال استادیو با ورژن ۶٫۱۶ رو ندارم، فعلا برا سوالتون جواب مناسبی ندارم. اما فک میکنم که بتونید توی وب به دستورالعمل مناسبی برسید. موفق باشید.

      • یوسف 2 سال پیش

        ممنون.
        ظاهرا درمورد نرم افزارهای سازگار با آباکوس ۲۰۱۶ چندان اطلاعاتی از تجربه های موفق در دست نیست. درخصوص نسخه ۶٫۱۳ یا ۶٫۱۴ آباکوس چه نسخه هایی از ویژوال استودیو و فرترن رو مطمئنا تایید می کنید؟ من در جستجوها به گزینه های متعددی برخوردم که نمی دانم کدامیک از آنها واقعا درست است! ممنون میشوم جهت جلوگیری از آزمون و خطا و اتلاف غیرضرور وقت، من را راهنمایی بفرمایید.

        • Author
          mirzabozorg 2 سال پیش

          سلام. من خودم ورژن ۶٫۱۲٫۱ رو استفاده میکنم. برای این نسخه، ورژن ۲۰۰۸ ویژوال استادیو و کامپایلر فورترن xe13 جواب میده. برا ورژن ۶٫۱۴ هم میدونم که دوستان با همون ورژن ویژوال استادیو و ورژن ۱۱٫۱ کامپایلر فورترن جواب گرفتن.

  4. chia 2 سال پیش

    roz beyheyrr
    age emkan dare rahnemaee befermaeed aya mishe ba PYTHON subroutine ro newesht?man ba FORTRAN ashnaee
    nadaram wa tanha ba language PYTHON mitonam code benewisam.

    ba tashakor

    • Author
      mirzabozorg 2 سال پیش

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

  5. علی 2 سال پیش

    سلام
    آیا کتاب فارسی برای آموزش سابروتین نویسی هست؟ حتی اگر کتابش هم جامع نیست بفرمایید، مشکلی ندارد
    متشکرم

    • Author
      mirzabozorg 2 سال پیش

      سلام . من جدیدا بازار رو چک نکردم. اخرین باری که چک کردم سه ماه پیش بود که کتابی برای تدریس سابروتین نویسی در میدان انقلاب تهران پیدا نکردم. البته تا الان آموزش سابروتین های disp، umat و usdfld بر روی سایت قرار گرفته. اگر سابروتینی که دنبال یادگیریش هستید جز این سابروتین ها نیست، می تونید برای شروع یادگیری ویدیو سابروتین disp رو تهیه کنید و با اون یادگیری سابروتین رو شروع کنید. بعد از اینکار تا حد زیادی با منطق عملیاتی سابروتین نویسی آشنا میشید. بعد از اون، کدنویسی در قالب اون سابروتینی که به دنبالش هستید خیلی براتون ساده تر میشه . البته کدنویسی سابروتین هایی مثل uel کلا سخته . اگر سابروتین مورد نظرتون اونه، دیگه بلد بودن سابروتین disp جواب نمیده و اول باید سعی کنید سابروتین umat رو یاد بگیرید چون سطح سابروتین uel خیلی بالاتر از disp هست.

  6. علیرضا فرزام نژاد 1 سال پیش

    سلام من در آباکوس بر روی یه مدل ستون بتن آرمه کار میکنم که برای اعمال بارگذاری چرخه ای به صورت الگوی بارگذاری مربعی ” لوزی ” قطری ” و دایره ای که همان الگوی جابجایی هم هست موندم چکار کنم اینگونه بارگذاری از طریق Amplitud میسره یا بایستی از سابروتین Dload استفاده کرد لطفا راهنمایی بفرمایید سپاس از وقت شما

  7. علیرضا 1 سال پیش

    سلام. من دنبال مدلسازی یک تیر بتنی ساده (بدون آرماتور) هستم که هم تحت اثر نیروی متمرکز و هم سیکلهای ذوب و انجماد قرار داره. برای سیکلها میخواهم مقاومت فشاری و مدول الاستیسیته را بصورت تابعی از زمان (تعداد سیکلها) تعریف کنم. آیا امکان پذیره؟ یا روش بهتری پیشنهاد میکنید ؟

  8. مهدی 1 سال پیش

    سلام ممنون از مطالب مفیدتون.
    من توی مدلم باید فشار گاز رو توی یک دستگاه سیلندر و پیستون دو طرفه (که در هر طرف یک پیستون داریم) ایجاد کنم که فشار طبق رابطه ای بر اساس تغییرمکان های این دو پیستون تغییر میکند. که البته تغییر مکان های این دو پیستون با هم متفاوت هست. برای این نوع بارگذاری من باید از سابروتین استفاده کنم یا اینکه توی ماژول Load از بخش فیلد معادلاتی (expression field) می تونم استفاده کنم.
    با تشکر.

    • Author
      mirzabozorg 1 سال پیش

      سلام. خواهش میکنم. احتمالا باید از سابروتین uamp یا vuamp استفاده کنید. این دو سابروتین شبیه به هم هستند و متناظر هم در حلگر های اکسپلیسیت و استاندارد هستند.

  9. رضا رحیمی نژاد 1 سال پیش

    سلام
    یک فایل vumat دارم اما از درست بودن آن مطمئن نیستم. چگونه آن را تست کنم؟
    من فایلهای آموزشی umat را از این سایت تهیه کردم. عالی بود . در آن آموزش ۳ مثال از umat آورده اید و صحت کد نویسی را نیز با مقایسه با حل آباکوس انجام داده اید. در مورد vumat چه مثال ساده ای را می توانم انجام دهم؟
    متشکر

    • Author
      mirzabozorg 1 سال پیش

      سلام. خیلی ممنونم . شما لطف دارید. برای سابروتین vumat، خودتون دقیقا می تونید مثل فیلم umat عمل کنید و برای افزایش مهارتتون یا از بین رفتن تردید هاتون در مورد تکنیک های کدنویسی، رفتارایی که خود ababqus/cae داره رو انتخاب کنید و کد vumat اون رو بزنید و همزمان با خواص توی ماژوا property هم مدل سازی کنید و نتایج رو با هم مقایسه کنید. البته البته در مورد رفتارهایی که آباکوس خودش اونا رو نداره، دیگه کاری نمیشه کرد. در این حالت باید کدتون رو با یه سری شهود فیزیکی چک کنید.

  10. مجید 1 سال پیش

    سلام و خسته نباشید
    میخواستم بدونم برای استفاده از روش مونت کارلو در اباکوس راهی هست یا باید از نرم افزار های دیگه استفاده کنم؟چون نرم افزاری مثل انسیس شامل این متد هست،اما متاسفانه انسیس ب درد من نمیخوره،ممنون میشم راهنماییم کنید و اگه راهی هست حتی ب ایمیلم بفرستید

    • Author
      mirzabozorg 1 سال پیش

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

      • مجید 1 سال پیش

        روش مونت کارلو یک روش احتمالاتی هست که در رشته های مهندسی مثل عمران که من در حال تحصیل هستم در مواردی مثل انالیز براساس قابلیت اعتماد مورد استفاده قرار میگیره؛
        در متد مونت کارلو متغیر های مختلفی رو ایجاد میکنیم و براساس مواردی که میخواهیم مسائلی رو ایجاد میکنیم و با استفاده از روش های مختلف مونت کارلو مثل form ,… احتمال اون رو بدست میاریم.

        در نرم افزار انسیس این نوع احتمال در منو های خوده نرم افزار وجود داره و نیازی به برنامه نویسی و… نیست و با توجه به اینکه اباکوس نرم افزاری بسیار پر قدرت تر از انسیس میباشد انتظار داشتم که این مورد رو داشته باشه اما هر جارو گشتم چیزی پیدا نکردم…
        برای همین مزاحم وقت گرانبهای شما شدم…

        • Author
          mirzabozorg 1 سال پیش

          شما لطف دارید. اگر منظورتون محاسبات احتمالاتی برای بدست اوردن قابلیت اطمینان هستش، منم شنیدم که انسیس همچین قابلیتی رو داره اما فکر نمیکنم که آباکوس همچین قابلیتی رو داشته باشه . البته قبلا یه چیزایی تو هلپ آباکوس برای sensitivity analysis دیده بودم اما فکر نمیکنم که به کارتون بیاد.

  11. رضا 6 ماه پیش

    با سلام یه سوال از
    subroutin=uvarm
    یه بردار داریم مثلا
    V
    شامل ۱۰ درایه که هر درایه نشان دهنده یک مقدار بر روی یک المان مشخص و متفاوت در مدل است(و در باقی المان ها برابر صفر)

    مثلا
    V1
    عدد ۱۰۰ را بر روی المان ۱ نشان میدهد و عدد صفر را بر روی بقیه المان ها
    V2
    عدد ۱۵۰ را بر روی المان ۲ نشان میدهد و عدد صفر را بر روی بقیه المان ها
    و به همین صورت…

    سوال❓: چطور میشه مقادیر گفته شده(که هر کدام روی یک المان متفاوت تعریف شده) را با هم جمع زد؟؟؟

    • Author
      mirzabozorg 6 ماه پیش

      سلام . توی سابروتین uvarm شما نمی تونید یه مقدار روی یک المان رو با یه مقدار روی یه المان دیگه جمع بزنید . این موردی که مد نظر شماست حالت non local پیدا می کنه و تنها با استفاده از سابروتین uvarm ممکن نیست .

      • رضا 6 ماه پیش

        برای انجام این کار

        یعنی جمع زدن یه متغیر مربوط به دو المان متفاوت با هم

        میتونید راهنمایی کنید که چیکار کنم؟

        • Author
          mirzabozorg 6 ماه پیش

          من این مورد رو کار نکردم . ولی فکر می کنم که باید از سابروتین urdfil هم استفاده کنید .

  12. امیر 4 ماه پیش

    سلام
    یه سوال داشتم از حضورتون
    توو آباکوس همزمان میشه از مدل هایپرالاستیک، ویسکو و هیسترزیس استفاده کرد یا باید سابروتین نویسی کرد؟
    ممنون

    • Author
      mirzabozorg 4 ماه پیش

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

  13. auob 4 هفته پیش

    با سلام و خسته نباشید
    بنده میخواستم خواص آسیب کامپوزیت رو تحت انفجار شبیه سازی کنم و اباکوس تنها فقط یه مدل آسیب هاشین برای کامپوزیت داره به نظرتون برای استفاده از مدل های آسیب دیگه بهتره از ویومت استفاده کنم یا باید از سابروتین های دیگه ای نیز استفاده کنم؟
    بهترین راه واسه یاد گرفتن ویومت چیه؟ آیا کتابی در این مورد هست

    • Author
      mirzabozorg 4 هفته پیش

      سلام . برای تحلیل آسیب تحت انفجار از vusdfld هم میشه استفاده کرد اما تا اونجا که من اطلاع دارم با این سابروتین تنها یک مدل از چند نوع مدل کلی اسیب کامپوزیت رو میشه پیاده سازی کرد. شما اگر میخواید دستتون کامل باز باشه بهتره همون vumat رو یاد بگیرید. در مورد کتاب من به تازگی بازار رو چک نکردم که ایا کتابی نوشته شده یا نه . ما تو سایت ویدیو آموزش یومت رو داریم که یومت پیچیده تر از وی یومت هست . اما هنوز من فرصت نکردم که ویدیو آموزش vumat رو ضبط کنم . این دو سابروتین بطور کلی مشابهت زیادی با هم دارن . شما می تونید ویدیو آموزش یومت رو از سایت ما تهیه کنید و بعد به من تو تلگرام پیام بدید و من دو نمونه کد وی یومت که یکیش برای الاستیک خطی و یکی هم برای کامپوزیت با اسیب انی هست رو براتون ارسال می کنم که چون یومت کار کردین به راحتی می تونید با مهندسی معکوس اون کد ها که یکیش هم کاملا به کارتون میاد vumat رو یاد بگیرید. سوالیم اگر داشتین من کوتاه تو تلگرام جواب میدم .

  14. امیر کریمان 2 هفته پیش

    با سلام و خسته نباشید
    من میخواستم خستگی تحت بار متغیر رو با استفاده از تئوری المان چسبنده مدل کنم به نظر شما از چه سابروتینی باید استفاده کنم.

    • Author
      mirzabozorg 2 هفته پیش

      سلام . این مساله بستگی به این داره که شما از چه مدلی برای تحلیل خستگی بخواید استفاده کنید. بسته به مدل و پارامتر های مورد نیاز مدل، بین سابروتین های umat و usdfld باید انتخاب کنید. حتی شاید مجبور بشید از سابروتین uel استفاده کنید. اینا همش بستگی به مدل ریاضی مدنظر شما داره .

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

 
تماس با ما

مشاوره برای انتخاب محصولات، سفارش پروژه و تدریس خصوصی

آی دی تلگرام: Amirhossein_mirzabozorg
تلفن: ۰۹۳۵۱۳۲۴۰۱۳ (مهندس میرزابزرگ)


پشتیبانی سایت و مشکلات ثبت نام خرید و پرداخت

آی دی تلگرام: hmdrzo
ایمیل: info@femex.ir

© FEMEX Group All Rights Reserved

Heap | Mobile and Web Analytics

کانال تلگرام فمکس

@FEMEX

رمز عبور خود را فراموش کرده اید؟