model.study()

model.study()

model.study()
ایجاد و تعریف مطالعات.
نحو
model.study().create( <tag> );
model.study( <tag> ).create( <ftag> , type );
model.study( <tag> ).feature().move( <ftag> , position ) ;
model.study( <tag> ).run([ <createPlots> ])
model.study( <tag> ).runNoGen()
model.study( <tag> ).createAutoSequences( نوع )
model.study( <tag> ).showAutoSequences( type );
model.study( <tag> ).getSolverSequences( type );
model.study( <tag> ).isGenConv();
model.study( <tag> ).isGenIntermediatePlots();
model.study( <tag> ).isGenPlots();
model.study( <tag> ).isPlotUndefVals();
model.study( <tag> ).isStoreSolution();
model.study( <tag> ).setGenConv( boolean );
model.study( <tag> ).setGenIntermediatePlots( boolean );
model.study( <tag> ).setGenPlots( boolean );
model.study( <tag> ).setPlotUndefVals( boolean );
model.study( <tag> ).setStoreSolution( boolean );
model.study( <tag> ).feature( <ftag> ).loadFile( filePath );
model.study( <tag> ).feature( <ftag> ).saveFile( filePath );
step = model.study( <tag> ).feature( <ftag> );
step.discardData();
step.discretization( <physpath> , <discr> );
step.exportData( <filePath> );
step.importData( <filePath> );
step.loadFile( <filePath >);
step.mesh( <geom> <mesh> );
step.refresh();
step.saveFile( <filePath> );
step.setSolveFor( <entityPath> ، boolean )
step.type();
step.discretization( <physpath> );
step.mesh( <geom> );
step.solveFor( <entityPath> );
step.mglevel.create( <mglevel> );
step.mglevel( <mglevel> ).mesh( <geom> , <mesh> );
step.mglevel( <mglevel> ).discretization( <physpath> , <discr> );
step.mglevel( <mglevel> ).mesh( <geom> );
step.mglevel( <mglevel> ).discretization( <physpath> );
شرح
model.study لیستی از مطالعات را ذخیره می کند که هر یک از مراحل مطالعه تشکیل شده است. هر مرحله مطالعه، به نوبه خود، یک مسئله آماده برای حل را تعریف می کند. این بدان معنی است که یک مرحله مطالعه را می توان به یک مش توسعه یافته تبدیل کرد و یک حل کننده اصلی (Stationary، Time، Eigenvalue، Modal، AWE یا Optimization) را می توان اعمال کرد و در نتیجه یک شی راه حل ایجاد کرد.
ویژگی مرکزی یک مرحله مطالعه نوع مطالعه آن است که از یک سو معادلات تولید شده توسط رابط های فیزیک را کنترل می کند و از سوی دیگر باعث انتخاب خودکار یک حل کننده مناسب می شود. یکی دیگر از ویژگی های مهم مرحله مطالعه این است که از کدام شبکه استفاده شود (برای هر هندسه در مدل). سایر پارامترهای شبیه‌سازی اساسی را نیز می‌توان در میان تنظیمات مرحله مطالعه یافت، مانند بازه زمانی برای نوع مطالعه وابسته به زمان و محدوده فرکانس برای نوع مطالعه دامنه فرکانس.
در مرحله مطالعه، می‌توانید سطوح چندشبکه‌ای را اضافه کنید . گره والد هنوز مشکلی را که باید حل شود (مثلاً نوع مطالعه و مش) تعریف می کند. بنابراین، سطوح چندشبکه اضافه شده لزوما باید درشت تر از مرحله مطالعه والد باشد.
بیشتر ویژگی‌های فیزیک و همچنین برخی دیگر از بخش‌های شی مدل (به عنوان مثال ویژگی‌های بیان) باید از یک عضو مرحله پشتیبانی کنند ، که (در قیاس با انتخاب فضایی ) کنترل می‌کند که ویژگی برای کدام مراحل مطالعه فعال است. از بسیاری جهات، انتخاب مطالعه را می توان به عنوان یک بعد چهارم، گسسته، دید.
model.study().create( <tag> ) یک توالی مطالعه جدید ایجاد می کند.
model.study(< tag> ).run() مطالعه را محاسبه می کند. متد run می‌تواند یک آرگومان ورودی بولی اضافی createPlots بگیرد ، که وقتی روی true تنظیم شود، نمودارهای پیش‌فرض مربوطه را هنگام محاسبه یک راه حل ایجاد می‌کند.
model.study(< tag> ).runNoGen() دنباله حل کننده پیوست شده را بدون ایجاد مجدد آن اجرا می کند.
model.study(< tag> ).createAutoSequences( نوع ) در صورتی که دنباله حل کننده ویرایش نشده باشد، یک دنباله حل یا کار پیوست شده را با استفاده از تنظیمات حل کننده پیش فرض ایجاد می کند. این دستور مشابه Compute در دسکتاپ COMSOL است. نوع آرگومانیکی از همه ، jobs یا sol است که مربوط به ایجاد هر دو شغل و دنباله های حل کننده یا یکی از آنهاست.
model.study(< tag> ).showAutoSequences( نوع ) با استفاده از تنظیمات حل کننده پیش فرض یک دنباله حل کننده پیوست شده یا کار ایجاد می کند. این دستور شبیه به Show Default Solver در COMSOL Desktop است. یعنی همیشه دنباله های حل کننده ویرایش نشده ایجاد می کند. برای اطلاعات در مورد آرگومان نوع، به createAutoSequences در بالا مراجعه کنید.
model.study(< tag> ).getSolverSequences( نوع ) لیستی از برچسب ها را برای دنباله های حل کننده (نگاه کنید به model.sol() ) متصل به این مطالعه برمی گرداند. آرگومان نوع یکی از SolverSequence , CopySolution , ParametricStore , Stored , Parametric , None یا All است .
model.study(<tag>).setGenConv(boolean) تولید نمودارهای همگرایی را کنترل می کند. از model.study(<tag>).isGenConv() برای بررسی اینکه آیا نمودارهای همگرایی ایجاد خواهند شداستفاده کنید
model.study(<tag>).setGenIntermediatePlots(بولی) تولید نمودارهای پیش فرض را برای راه حل های میانی کنترل می کند. از model.study(<tag>).isGenIntermediatePlots() برای بررسی اینکه آیا نمودارها برای راه حل های میانی تولید می شوند یا خیراستفاده کنید
model.study(<tag>).setGenPlots(boolean) تولید نمودار پیش فرض را برای راه حل نهایی پس از آخرین مرحله در یک دنباله مطالعه کنترل می کند. از model.study(<tag>).isGenPlots() برای بررسی اینکه آیا نمودارهایی برای راه حل نهایی تولید می شوند یا خیراستفاده کنید
model.study( <tag> ).setPlotUndefVals( boolean ) ایجاد نموداری را کنترل می کند که مکان مقادیر تعریف نشده مانند Inf و NaN را نشان می دهد. از model.study(<tag>).isPlotUndefVals() برای بررسی اینکه آیا نمودارهایی از مقادیر تعریف نشده تولید می شونداستفاده کنید
model.study(< tag> ).setStoreSolution( boolean ) یک گره Solution Store را بین هر مرحله مطالعه در یک مطالعه چند مرحله ای در صورت تنظیم روی true وارد می کند . اگر روی false تنظیم شود ، گره های Solution Store فقط در موارد خاصی درج می شوند. از model.study(< tag> ).isStoreSolution() برای بررسی اینکه آیا یک گره Solution Store بین هر مرحله مطالعه درج شده است یا خیر (سپس true را برمی گرداند )استفاده کنید
model.study( <tag> ).create( <ftag> type ) یک مرحله مطالعه جدید از نوع داده شده در توالی مشخص شده ایجاد می کند. مجموعه مقادیر مجاز باید محدود به انواع مطالعاتی باشد که حداقل توسط یک رابط فیزیکی موجود در مدل پشتیبانی می‌شوند (Stationary، Time، Frequency و Eigenvalue همیشه باید مجاز باشند).
model.study( <tag> .feature().move( <ftag> position ) ویژگی <ftag> را به موقعیت صفر نمایه شده <position> در لیست منتقل می کند.
مدل boolean.study(<tag>).feature(<ftag>).loadFile(String filePath ) و boolean model.study(<tag>).feature(<ftag>).SaveFile(String filePath ) هر دو در صورت نوع کار می کنند ویژگی یک Sweep پارامتریک است و سپس اطلاعات مربوط به همه ترکیبات یا ترکیبات مشخص را بارگیری یا ذخیره می کند. اگر نوع ویژگی Sweep پارامتری نباشد، این روش‌ها false را برمی‌گردانندهمچنین در صورت عدم موفقیت عملیات، false را برمی‌گردانند
step = model.study( <tag> ).feature( <ftag> ) ارجاع به یک مرحله مطالعه مشخص را به دست می آورد.
step.discardData() هرگونه داده تجربی وارد شده به مرحله مطالعه برآورد پارامتر را دور می زند.
 step.discretization( <phys> <discr> ) گسسته سازی را برای یک رابط فیزیک اختصاص می دهد. رشته <phys> برچسب یک رابط فیزیک است. رشته <discr> یک برچسب از یک ویژگی گسسته سازی تحت یک حالت فیزیک یا رشته فیزیک برای استفاده از تنظیمات گسسته سازی در خود رابط فیزیک است.
step.exportData ( <filePath> ) هر داده تجربی را که قبلاً به مرحله مطالعه تخمین پارامتر وارد شده است به فایل مشخص شده صادر می کند.
step.importData ( <filePath> ) داده های تجربی را از <filePath> مشخص شده به مرحله مطالعه برآورد پارامتر وارد می کند .
step.loadFile( <filePath> ) مقادیر پارامتر را از <filePath> مشخص شدهدر مرحله مطالعه Sweep پارامتری بارگیری می کند.
step.mesh( <geom> <mesh> ) مشخص می کند که از کدام مش برای هندسه <geom> در مدل استفاده شود .
step.refresh() رفرش می کند، یعنی هر فایل داده تجربی مورد استفاده در مرحله مطالعه برآورد پارامتر را مجدداً بارگذاری می کند.
step.saveFile( <filePath> ) مقادیر پارامتر را از مرحله مطالعه Parametric Sweep در <filePath> ذخیره می کند .
step.setSolveFor( <entityPath> ، boolean ) کنترل می کند که آیا درجات آزادی تعریف شده توسط موجودیت مشخص شده در مرحله مطالعه حل می شود یا خیر. وقتی روی false تنظیم شود، درجات آزادی حل نمی شود. زمانی که روی true تنظیم شود، تنها در صورتی حل خواهند شد که موجودیت بتواند معادلاتی را برای نوع مرحله مطالعه ایجاد کند. آرگومان صحیح <entityPath> مربوط به یک موجودیت مدل توسط <entity> .resolveModelPath() داده می شود .
step.type() نوع مطالعه را برمی گرداند.
step.discretization( <phys> ) برچسب ویژگی گسسته سازی را تحت یک واسط فیزیک با تگ <phys> برمی گرداند که توابع شکل را برای استفاده برای رابط فیزیک در این مرحله مطالعه مشخص می کند، یا فیزیک رشته را برای نشان دادن اینکه تنظیمات گسسته سازی را مشخص می کند. در خود رابط فیزیک استفاده می شود.
step.mesh( <geom> ) تگ مش را برای استفاده در هندسه <geom> در این مرحله مطالعه برمی گرداند.
step.solveFor( <entityPath> ) اگر درجاتی از آزادی تعریف شده توسط موجودیت مشخص شده در مرحله مطالعه حل شود، مقدار true را برمی گرداند. مقدار بازگشتی هم وضعیت ویژگی فعال و هم اینکه آیا نهاد نوع مرحله مطالعه را مجاز می‌داند را محاسبه می‌کند. آرگومان صحیح <entityPath> مربوط به یک موجودیت مدل توسط <entity> .resolveModelPath() داده می شود .
 step.mglevel.create( <mglevel> ) یک سطح چندشبکه ای (درشت تر) را به مطالعه اضافه می کند.
step.mglevel( <mglevel> ).mesh( <geom> <mesh> ) یک مش را برای سطح چندشبکه ای مشخص می کند. مجموعه مقادیر مجاز، علاوه بر مش های واقعی، باید شامل گزینه “از والد” نیز باشد. این باید انتخاب پیش‌فرض باشد و نشان می‌دهد که سطح چندشبکه‌ای از مش مشابه مطالعه والد استفاده می‌کند.
 step.mglevel( <mglevel> ).discretization( <physpath> <discr> ) گسسته سازی را برای یک سطح چندشبکه ای اختصاص می دهد. رشته <physpath> مسیر یک رابط فیزیک است. رشته <discr> یک برچسب از ویژگی گسسته سازی تحت یک حالت فیزیک است. تگ <discr> پیش فرضرابط فیزیک. می توان آن را به برچسب یک گره گسسته تحت یک رابط فیزیک تغییر داد.
step.mesh( <geom> ) مش انتخاب شده برای هندسه داده شده را برمی گرداند.
step.mglevel( <mglevel> ).mesh( <geom> ) مش را برای سطح و هندسه چندشبکه انتخاب شده برمی گرداند.
step.mglevel( <mglevel> ).discretization( <discpath> ) وضعیت فعال سازی یک ویژگی گسسته را برمی گرداند.
مثال
کد زیر یک دنباله مطالعه را برای تجزیه و تحلیل تأثیر تغییر شکل ساختاری بر یک موجبر با شرایط مرزی پورت عددی تنظیم می‌کند. این شامل سه مرحله است: مکانیک سازه ایستا و به دنبال آن یک مطالعه ارزش ویژه برای بندر و در نهایت یک مشکل انتشار موج که با سطوح چندشبکه ای دستی (برای به دست آوردن مش های تودرتو) حل شده است.
کد برای استفاده با جاوا
Model model = ModelUtil.create(“Model”);
model.component().create(“comp1”);
model.component(“comp1”).geom().create(“geom1”, 3);
model.component(“comp1”).geom(“geom1”).create(“blk1″، “Block”);
model.component(“comp1”).geom().run();
model.component(“comp1”).mesh().create(“mesh1”, “geom1”);
model.component(“comp1”).mesh().create(“mesh2”, “geom1”);
model.component(“comp1”).mesh().create(“mesh3”, “geom1”);
model.physics().create(“rfw1″، “Electromagnetic Waves”، “geom1”);
model.study().create(“seq1”);
مطالعه s1 = model.study(“seq1”);
s1.create(“struct”,”Stationary”);
s1.feature(“struct”).mesh(“geom1″،”mesh1”);
s1.create(“port”,”BoundaryModeAnalysis”);
s1.feature(“port”).set(“PortName”,”port1″);
s1.feature(“port”).mesh(“geom1″،”mesh2”);
s1.create(“موج”،”فرکانس”);
s1.feature(“wave”).mesh(“geom1″،”mesh2”);
s1.feature(“wave”).mglevel().create(“mgl1”);
s1.feature(“wave”).mglevel().create(“mgl2”);
s1.feature(“wave”).mglevel(“mgl2”).mesh(“geom1″،”mesh3”);
model.physics(“rfw1”).create(“mgl1″,”discretization”);
model.physics(“rfw1”).feature(“mgl1”).set(“order””1”);
کد برای استفاده با متلب
model = ModelUtil.create(‘Model’);
model.component.create(‘comp1’);
model.component(‘comp1’).geom.create(‘geom1’, 3);
model.component(‘comp1’).geom(‘geom1’).create(‘blk1’, ‘Block’);
model.component(‘comp1’).geom.run;
model.component(‘comp1’).mesh.create(‘mesh1’, ‘geom1’);
model.component(‘comp1’).mesh.create(‘mesh2’, ‘geom1’);
model.component(‘comp1’).mesh.create(‘mesh3’, ‘geom1’);
model.physics.create(‘rfw1’, ‘Electromagnetic Waves’, ‘geom1’);
model.study.create(‘seq1’);
s1 = model.study(‘seq1’);
s1.create(‘struct’,’Stationary’);
s1.feature(‘struct’).mesh(‘geom1′,’mesh1’);
s1.create(‘port’,’BoundaryModeAnalysis’);
s1.feature(‘port’).set(‘PortName’,’port1′);
s1.feature(‘port’).mesh(‘geom1′,’mesh2’);
s1.create(‘wave’,’Frequency’);
s1.feature(‘wave’).mesh(‘geom1′,’mesh2’);
s1.feature(‘wave’).mglevel.create(‘mgl1’);
s1.feature(‘wave’).mglevel.create(‘mgl2’);
s1.feature(‘wave’).mglevel(‘mgl2’).mesh(‘geom1′,’mesh3’);
model.physics(‘rfw1’).create(‘mgl1′,’discretization’);
model.physics(‘rfw1’).feature(‘mgl1’).set(‘order’,’1′);
در این مورد، تنها تنظیماتی که باید در اعضای مطالعه سایر ویژگی‌ها اعمال شود، تنظیمات مربوط به سطوح چندشبکه‌ای است. فرم معادله رابط های فیزیک به طور پیش فرض روی خودکار تنظیم شده است ، به این معنی که هر بار که یک مش توسعه یافته (xmesh) ایجاد می شود، به نوع مطالعه پاسخ مناسب می دهند.
همچنین ببینید
model.batch() ، model.physics() ، model.sol()