تغییرات API COMSOL 6.0

تغییرات API COMSOL 6.0

تغییرات API COMSOL 6.0
ویژگی های جفت
حذف ویژگی‌های بازگشتی زیر ویژگی‌های جفت می‌تواند کد API را که نوشته‌اید برای دسترسی به آن ویژگی‌ها شکسته است. وجود یک ویژگی جفت پیش‌فرض نیز ممکن است پیکربندی متفاوتی را در مقایسه با آنچه اجراهای API قبلی انجام می‌داد، ایجاد کند.
جاوا یا MATLAB® _برنامه ای که به ویژگی های بازگشتی تحت یک ویژگی جفت دسترسی پیدا کرده است، دیگر کار نخواهد کرد. این یک محدودیت ضروری است زیرا هر تلاشی برای پشتیبانی از چنین سازگاری API به عقب هم نامشهود و هم ناامن خواهد بود. برای اکثر فیزیک‌هایی که از API ایجاد می‌شوند، ویژگی پیش‌فرض از فیزیک به عنوان بازگشتی به ویژگی‌های جفت عمل می‌کند. تا زمانی که ویژگی بازگشتی پیش‌فرض در 5.6 از یک نوع بود، رفتار در 6.0 معادل خواهد بود. اگر از یک ویژگی بازگشتی ویژه برای یک ویژگی جفت در نسخه 5.6 استفاده کرده اید، اکنون آن را قبل یا بعد از ویژگی جفت قرار می دهید و از همان انتخاب ویژگی جفت استفاده می کنید. قرار دادن ویژگی بازگشتی پس از آن امکان استفاده مستقیم از انتخاب ویژگی جفت را فراهم می کند. مثال زیر چنین کدی را برای 5.6 نشان می دهد و چگونه می توان کد معادل در 6.0 را نوشت:
// ایجاد یک ویژگی جفت در هر دو نسخه 5.6 و 6.0
model.component(“comp1”).physics(“es”).create(“cont1”, “Continuity”, 2);
// چند جفت را به ویژگی جفت اختصاص دهید
model.component(“comp1”).physics(“es”).feature(“cont1”).
set(“pairs”, new String[]{“ap1”, “ap2”});
// ایجاد یک ویژگی بازگشتی تحت یک جفت در 5.6 (این در 6.0 کار نخواهد کرد)
model.component(“comp1”).physics(“es”).feature(“cont1”).
create(“sfcd1″، “SurfaceChargeDensity”، 2);
// دسترسی به تنظیمات در 5.6 (این در 6.0 کار نخواهد کرد)
model.component(“comp1”).physics(“es”).feature(“cont1”).
feature(“sfcd1”).set(“rhoqs”, “1e-9”);
// ایجاد یک ویژگی معادل در 6.0 که به عنوان بازگشت به ویژگی جفت عمل می کند
model.component(“comp1”).physics(“es”).create(“sfcd1″، “SurfaceChargeDensity”، 2);
// از همان انتخاب ویژگی جفت استفاده کنید
int[] ent = model.component(“comp1”).physics(“es”).
feature(“cont1”).selection().entities();
model.component(“comp1”).physics(“es”).feature(“sfcd1”).
selection().set(ent);
// دسترسی به تنظیمات در 6.0
model.component(“comp1”).physics(“es”).feature(“sfcd1”).
set(“rhoqs”، “1e-9”);
هنگامی که یک رابط فیزیک از API در نسخه 6.0 ایجاد می شود، ویژگی های جفت پیش فرضی را نیز اضافه می کند که در نسخه 5.6 وجود نداشت. تا زمانی که مدل نهایی از تمام جفت های ایجاد شده استفاده کند، رفتار در 6.0 یکسان خواهد بود. در غیر این صورت، ممکن است لازم باشد که ویژگی جفت پیش فرض را با یک دستور اضافی قطع کنید. در زیر یک مثال برای رابط Electric Currents آورده شده است، اما عملیات تنظیم واقعی برای همه اینترفیس ها یکسان است.
model.component(“comp1”).physics(“ec”).feature(“dcont1”).
set(“pairDisconnect”, true);