مواد خارجی

مواد خارجی

مواد خارجی
گره External Material ( ) یک رابط بین یک ویژگی فیزیک و توابع در یک کتابخانه مشترک خارجی ایجاد می کند. علاوه بر این، بیشتر عملکردهای یک گره Material استاندارد را شامل می شود و به شما امکان می دهد ویژگی های مواد دلخواه و گروه های ویژگی را اضافه کنید. برخی از جنبه های یک ماده را می توان توسط یک کتابخانه خارجی مدیریت کرد، در حالی که برخی دیگر به صورت داخلی در گروه های دارایی تعریف می شوند.
 
گره External Material فقط تحت گره Global Definitions>Materials در دسترس است، نه در Materials inside components. برای استفاده از گروه‌های ویژگی تحت یک ماده خارجی به‌عنوان ماده دامنه روی موجودیت‌های هندسی در یک مؤلفه، از گره Material Link استفاده کنید.
 
این بخش بر روی استفاده از یک مدل مواد از یک کتابخانه خارجی موجود در مدل COMSOL Multiphysics تمرکز دارد. اطلاعات کلی در مورد چارچوب مواد خارجی و نحوه ایجاد کتابخانه سفارشی خود را می‌توانید در بخش Working with External Materials بیابید .
برای افزودن یک ماده خارجی به کتابخانه مواد تعریف شده توسط کاربر، روی گره External Material کلیک راست کرده و Add to User-Defined Library ( ) را انتخاب کنید.
پنجره تنظیمات برای گره External Materials شامل بخش‌های زیر است:
کتابخانه برای ویندوز، 64 بیتی
از این بخش برای تعریف کتابخانه برای سیستم عامل Windows® استفاده کنید. یک مسیر کتابخانه و نام (مسیر شبکه کامل) را وارد کنید، یا روی Browse کلیک کنید تا کتابخانه ای را برای وارد کردن پیدا کنید. کتابخانه باید یک فایل DLL (کتابخانه پویا بومی) باشد.
کتابخانه برای لینوکس، 64 بیتی
از این بخش برای تعریف یک کتابخانه برای سیستم عامل Linux® استفاده کنید. یک مسیر کتابخانه و نام (مسیر شبکه کامل) را وارد کنید، یا روی Browse کلیک کنید تا کتابخانه ای را برای وارد کردن پیدا کنید. کتابخانه باید یک فایل .so (کتابخانه پویا بومی) باشد.
کتابخانه برای MACOS، 64 بیتی
از این بخش برای تعریف کتابخانه برای سیستم عامل macOS استفاده کنید. یک مسیر کتابخانه و نام (مسیر شبکه کامل) را وارد کنید، یا روی Browse کلیک کنید تا کتابخانه ای را برای وارد کردن پیدا کنید. کتابخانه باید یک فایل .dylib (کتابخانه پویا بومی) باشد.
کتابخانه برای MACOS، ARM 64 بیتی
از این بخش برای تعریف یک کتابخانه برای macOS با سیستم عامل ARM استفاده کنید. یک مسیر کتابخانه و نام (مسیر شبکه کامل) را وارد کنید، یا روی Browse کلیک کنید تا کتابخانه ای را برای وارد کردن پیدا کنید. کتابخانه باید یک فایل .dylib (کتابخانه پویا بومی) باشد.
تمام کتابخانه ها باید برای معماری 64 بیتی باشند.
مدل مواد خارجی
اگر DLL مواد خارجی در حالت Thread ایمن نیست، کادر Thread safe را پاک کنید. اگر DLL ایمن باشد، چندین رشته می توانند همزمان با DLL تماس بگیرند. با پاک کردن کادر امن Thread ، از استفاده همزمان DLL توسط بیش از یک رشته جلوگیری می کنید.
نوع رابط مناسب با کتابخانه خود را انتخاب کنید. پیش فرض None است . گزینه های دیگر ممکن است بین نصب های COMSOL متفاوت باشد. انواع زیر از قبل نصب شده اند:
رابطه تنش-کرنش عمومی
رابطه تنش-تغییر شکل کلی
کرنش باقیمانده غیر کشسان
تغییر شکل باقیمانده غیر الاستیک
رابطه عمومی H(B).
رابطه عمومی B(H).
اگر کتابخانه خارجی انتخاب شده حاوی توابع اولیه سازی و پاکسازی است و نوع رابط این امکان را فراهم می کند، Call init() و Call cleanup() را در صورت لزوم انتخاب کنید.
اگر برای نوع رابط انتخابی و کتابخانه خارجی مجاز است، کادر بررسی Pass Arguments as Complex را انتخاب کنید تا در همه آرگومان‌های آرایه‌های عددی برای توابع خارجی، از پیچیده به جای دو برابر شدن به عنوان نوع پایه استفاده کنید.
در صورت نیاز به نوع رابط انتخابی، یک نام پایه حالت برای هر آرایه حالت که باید در هر نقطه ارزیابی ذخیره شود، مشخص کنید و اندازه آرایه مربوطه را در زیر تعداد حالت ها ارائه دهید . متغیرهای حالت واقعی با افزودن <matname> ایجاد می شوند. حالت. فضای نام به عنوان پیشوند و اضافه کردن یک شاخص حالت به نام های پایه داده شده. به عنوان مثال، اگر برای یک ماده با نام extmat1 یک آرایه حالت به طول 2 با نام پایه وضعیت p درخواست کنید، مقادیر حالت را می توان در طول و بعد از یک راه حل به عنوان extmat1.state.p1 و extmat1.state.p2 دسترسی داشت .
 
حداکثر تعداد کل آرگومان ها در یک امضای تابع eval 40 است. این به این معنی است که تعداد آرگومان های اختیاری، مانند نشانگرهای آرایه های حالت و پیام های خطا، با تعداد آرگومان های مورد نیاز برای تابع eval خاص محدود می شود. به عنوان مثال، حداکثر تعداد آرگومان های اختیاری در رابطه تنش-کرنش عمومی 35 است.
اگر توابع کتابخانه خارجی به گونه‌ای پیاده‌سازی شده‌اند که جزئیات خطا را برمی‌گردانند، جزئیات خطا را برگردانید و حداکثر طول پیام خطا را مشخص کنید . سپس یک رشته از پیش اختصاص داده شده با طول مشخص شده به عنوان آرگومان خروجی به همه توابع ارسال می شود.
جداول کمیت‌های ورودی مورد نیاز ، کمیت‌های خروجی و حالت‌های مدل یک نمای کلی از رابط ارائه می‌دهند، از جمله اینکه کدام کمیت‌ها به فراخوانی ویژگی‌های فیزیک ارسال می‌شوند، کدام حالت‌ها اعلام می‌شوند، و کدام متغیرهای مؤلفه توسط ویژگی ماده تعریف می‌شوند. توجه داشته باشید که همه متغیرها در فضای نام متریال تعریف شده اند. به عنوان مثال، برای دسترسی مستقیم به اولین جزء محوری خروجی تنش دوم Piola-Kirchhoff خارج از محدوده یک گره External Material با نام extmat1 ، از نام متغیر extmat1.output.S11 استفاده کنید .
اجزای کمیت های ورودی مورد نیاز معمولاً توسط یک ویژگی فیزیکی که مواد خارجی را فراخوانی می کند، تعریف می شوند. هنگام استفاده از یک ماده خارجی در مدل سازی مبتنی بر معادله، می توانید ورودی ها را به صورت دستی با تعریف اجزای ورودی مورد نیاز (در فضای نام ماده) به عنوان متغیرهای سراسری تنظیم کنید. برای مثال، اگر ماده خارجی extmat1 به دمای T به عنوان ورودی نیاز دارد، یک متغیر جهانی به نام extmat1.input.T تعریف کنید.
از ستون Init در جدول حالت های مدل برای تعیین مقادیر اولیه برای تمام حالت های داخلی استفاده شده توسط تابع خارجی استفاده کنید. این شامل حالات خاص مورد نیاز نوع رابط انتخابی و حالت های شماره گذاری شده توسط این ویژگی می شود.
خواص مواد
بخش Material Properties یک ماده خارجی با همان بخش در یک ویژگی Material مشترک یکسان است. برای اطلاعات بیشتر به پنجره تنظیمات برای مواد مراجعه کنید.
محتویات مواد
بخش محتویات مواد یک ماده خارجی بسیار شبیه به همان بخش در ویژگی مشترک مواد است ( برای اطلاعات بیشتر به پنجره تنظیمات برای مواد مراجعه کنید). تنها تفاوت واقعی این است که جدول نه تنها ویژگی های خروجی تعریف شده و ویژگی های مورد نیاز برخی از ویژگی های فیزیک را نشان می دهد، بلکه پارامترهای مورد نیاز به عنوان ورودی توابع ماده خارجی را نیز نشان می دهد. بسته به نوع رابط انتخاب شده، اینها ممکن است به عنوان پارامترهایی با نام جداگانه یا به عنوان یک آرایه پارامتری با طول دلخواه ظاهر شوند. در مورد دوم، هر کتابخانه خارجی خاص معمولاً نیاز به مجموعه خاصی از ویژگی‌ها به ترتیب معینی دارد که به عنوان یک آرایه در داخل براکت‌های فرفری مشخص شوند. به عنوان مثال، دو پارامتر مورد نیاز را می توان به صورت {2e11,0.33} تعیین کرد.
جدول همچنین ردیفی را برای آرگومان های رشته تابع کتابخانه اضافی نشان می دهد که انتظار می رود مقدار آن آرایه ای از رشته های تک نقل قول باشد. این رشته ها مانند سایر پارامترها در یک گروه ویژگی ذخیره می شوند. آنها به عنوان آرگومان های رشته ای جداگانه به توابع کتابخانه خارجی ارسال می شوند.
 
پارامترها و آرگومان های رشته ای مورد نیاز به عنوان ورودی توابع کتابخانه خارجی در یک زیرگره گروه ویژگی با همان نام نوع واسط انتخاب شده ذخیره می شوند .