پارامترها و متغیرها

پارامترها و متغیرها

پارامترها و متغیرها
این کد یک پارامتر جهانی L را با بیان 0.5[m] و طول توضیحات تعریف می‌کند :
model.param().set(“L”, “0.5[m]”);
model.param().descr(“L”, “Length”);
یک نحو جایگزین با استفاده از سه آرگومان ورودی وجود دارد:
model.param().set(“L”, “0.5[m]”, “Length”);
همچنین می توانید از syntax with برای تنظیم Expression و Description برای چندین پارامتر استفاده کنید، به عنوان مثال:
with(model.param());
set(“L”, “0.5[m]”);
descr(“L”, “Length”);
set(“wd”, “10[cm]”);
descr(“wd”, “Width”);
set(“T0”, “500[K]”);
descr(“T0”, “Temperature”);
endwith();
که مربوط به پنجره تنظیمات زیر برای Global Definitions>Parameters است :
دسترسی به یک پارامتر جهانی
شما معمولاً از پنجره Editor Tools برای تولید کد برای تنظیم مقدار یک پارامتر سراسری استفاده می کنید. در حالی که در ویرایشگر روش هستید، روی پارامتر کلیک راست کرده و Set را انتخاب کنید .
برای تنظیم مقدار پارامتر جهانی L روی 10 سانتی متر:
model.param().set(“L”, “10[cm]”);
برای دریافت پارامتر سراسری L و ذخیره آن در یک متغیر دوتایی Length :
double Length = model.param().evaluate(“L”);
ارزیابی در این مورد با توجه به سیستم واحد پایه تعریف شده در گره ریشه درخت مدل است.
برای برگرداندن واحد پارامتر L ، در صورت وجود، از:
String Lunit=model.param().evaluateUnit(“L”);
برای نوشتن مقدار یک عبارت مدل به یک پارامتر سراسری، معمولاً باید آن را به یک رشته تبدیل کنید. دلیل آن این است که عبارات مدل ممکن است دارای واحد باشند.
مقدار متغیر Length را در 2 ضرب کنید و نتیجه را با پارامتر L با واحد cm بنویسید .
Length = 2*Length;
model.param().set(“L”, toString(Length) + “[cm]”);
برای برگرداندن مقدار یک پارامتر در واحدی متفاوت از سیستم واحد پایه ، از:
double Length_real = model.param().evaluate(“L”,”cm”);
برای مواردی که پارامتر دارای مقدار مختلط است، قسمت های واقعی و خیالی را می توان به صورت یک بردار دوتایی به طول 2 برگرداند:
double[] realImag = model.param().evaluateCoplex(“Ex”, “V/m”);
برای پارامترهایی که اعداد بدون واحد هستند، می‌توانید از نسخه‌ای از متد set استفاده کنید که به‌جای رشته، دو برابر را می‌پذیرد. مثلا خطوط
double a_double = 7.65;
model.param().set(“a_param”, a_double);
مقدار 7.65 را به پارامتر a_param اختصاص می دهد .
متغیرها
نحو برای دسترسی و تخصیص متغیرها شبیه به پارامترها است. به عنوان مثال، کد:
with(model.variable(“var1”));
  set(“F”, “150[N]”);
  descr(“F”, “Force”);
endwith();
عبارت 150[N] را به متغیر با نام اختصاص می دهد.
کد زیر یک عبارت مدل را به متغیر f اختصاص می دهد :
with(model.variable(“var1”));
  set(“f”, “(1 – alpha)^2/(alpha^3 + epsilon) + 1”);
endwith();
و کد زیر عبارت مدل را برای همان متغیر در یک رشته fs ذخیره می کند.
رشته fs = model.variable(“var1”).get(“f”);