فیزیک

فیزیک

فیزیک
تجزیه و تحلیل انتقال حرارت ثابت در هندسه مستطیلی جامد که قبلا نشان داده شده است را در نظر بگیرید. برای ایجاد یک رابط فیزیک، برای انتقال حرارت در جامدات ، از:
model.physics().create(“ht”، “HeatTransfer”، “geom1”);
اولین آرگومان ورودی متد ایجاد یک تگ رابط فیزیک است که به عنوان یک دسته برای این رابط فیزیک استفاده می شود. دومین آرگومان ورودی، نوع رابط فیزیک است. آرگومان ورودی سوم، برچسب هندسه ای است که رابط فیزیک به آن اختصاص داده شده است.
برای تنظیم یک شرایط مرزی دمای ثابت روی یک مرز، ابتدا یک ویژگی TemperatureBoundary را با استفاده از نحو زیر ایجاد می‌کنید:
model.physics(“ht”).create(“temp1”, “TemperatureBoundary”, 1);
اولین آرگومان ورودی برای ایجاد یک تگ ویژگی است که به عنوان دسته ای برای این شرط مرزی استفاده می شود. آرگومان ورودی دوم نوع شرط مرزی است. سومین آرگومان ورودی، بعد مکانی برای موجودیت هندسی است که این شرط مرزی باید به آن اختصاص داده شود. با توجه به مثال قبلی ایجاد یک مستطیل دو بعدی، آرگومان ورودی 1 به این معنی است که بعد این مرز 1 است (یعنی یک مرز لبه در 2 بعدی).
مرحله بعدی این است که تعریف کنیم این شرط مرزی باید به کدام انتخاب از مرزها اختصاص داده شود. برای اختصاص آن به مرز 1 از:
model.physics(“ht”).feature(“temp1”).selection().set(new int[]{1});
برای تخصیص آن به مرزهای متعدد، به عنوان مثال 1 و 3، از:
model.physics(“ht”).feature(“temp1”).selection().set(new int[]{1, 3});
برای تنظیم دمای روی مرز روی مقدار ثابت 400 K، از موارد زیر استفاده کنید:
model.physics(“ht”).feature(“temp1”).set(“T0″، “400[K]”);
خطوط کد زیر نشان می دهد که چگونه می توان یک شرط مرزی دوم را برای دمای متغیر مکانی تعریف کرد که به صورت خطی با مختصات y تغییر می کند :
model.physics(“ht”).create(“temp2”, “TemperatureBoundary”, 1);
model.physics(“ht”).feature(“temp2”).selection().set(new int[]{4});
model.physics(“ht”).feature(“temp2”).set(“T0”, “(300 + 10[1/m]*y)[K]”);
ساختار درختی مدل حاصل در شکل زیر نشان داده شده است.
از Record Code یا هر یک از ابزارهای دیگر برای تولید خودکار کد استفاده کنید تا در مورد نحو و روش‌های دیگر ویژگی‌های رابط فیزیک و سایر رابط‌های فیزیکی اطلاعات بیشتری کسب کنید.
ایجاد و حذف گره های درخت مدل
در زیر بلوک بزرگ‌تری از کد وجود دارد که گره‌های ویژگی رابط فیزیک را حذف می‌کند، ایجاد می‌کند و به آنها دسترسی پیدا می‌کند. از کلاس Iterator و متدهای موجود در بسته java.util استفاده می کند. برای اطلاعات بیشتر، به مستندات Java ® مراجعه کنید.
String[] flowrate = column1;
String[] Mw = column2;
java.util.Iterator<PhysicsFeature> iterator =     model.physics(“pfl”).feature().iterator();
while (iterator.hasNext()) {
  if (iterator.next().getType().equals(“Inlet”))
    iterator.remove();
}
if (flowrate != null) {
  for (int i = 0; i < flowrate.length; i++) {
    if (flowrate[i].length() > 0) {
      if (Mw[i].length() > 0) {
        int d = 1 + i;
        model.physics(“pfl”).create(“inl” + d, “Inlet”);
        model.physics(“pfl”).feature(“inl” + d).setIndex(“spec”, “3”, 0);
        model.physics(“pfl”).feature(“inl” + d).set(“qsccm0”, flowrate[i]);
        model.physics(“pfl”).feature(“inl” + d).set(“Mn”, Mw[i]);
        model.physics(“pfl”).feature(“inl” + d).selection().set(new int[]{d});
      }
    }
  }
}
نیاز به حذف و ایجاد گره های درخت مدل هنگام نوشتن روش ها اساسی است زیرا وضعیت شی مدل با هر بار اجرای گره درخت مدل تغییر می کند. در روش بالا، تعداد گره های ویژگی فیزیک به صورت پویا بسته به ورودی های کاربر تغییر می کند. هر بار که شبیه سازی اجرا می شود، ابتدا گره های قدیمی حذف شده و سپس گره های جدید اضافه می شوند.