model.element()

model.element()

model.element()
ایجاد و اصلاح انواع مختلف عناصر.
نحو
model.elem().create( <tag> ,eltype);
model.elem( <tag> ).set( <ftag> ,value);
model.elem( <tag> ).field().create( <ftag> “record”);
model.elem( <tag> ).field( <ftag> ).set( <ftag> ,value);
model.elem( <tag> ).field().create( <atag> “array”);
model.elem( <tag> ).field( <atag> ).pos().create(“string”,value);
model.elem( <tag> ).field( <atag> ).pos().create(“array”);
model.elem( <tag> ).field( <atag> ).pos(pos).create(“string”,value);
model.elem( <tag> ).src().create( <fttag> );
model.elem( <tag> ).src( <fttag> ).set( <ftag> ,value);
model.elem( <tag> ).src( <fttag> ).field().create( <ftag> “array”);
model.elem( <tag> ).geomdim().create( <fttag> );
شرح
model.elem().create( <tag> ,eltype) یک عنصر جدید از نوع eltype ایجاد می کند ، به عنوان مثال elinterp ، elpric ، elvar ، elode و غیره.
model.elem( <tag> ).set( <ftag> ,value) فیلد برچسب گذاری شده <ftag> را به مقدار تنظیم می کند . نمونه هایی از فیلدها و مقادیر عبارتند از: file و solution_interp.txt ، global و 1 و غیره.
model.elem( <tag> ).field().create( <ftag> “record”) یک فیلد جدید با برچسب <ftag> از نوع رکورد در زیر عنصر با برچسب <tag> ایجاد می کند .
model.elem( <tag> ).field( <ftag> ).set(sname,value) فیلد برچسب گذاری شده sname را به مقدار تنظیم می کند . فیلد در زیر فیلد رکورد با برچسب <ftag> قرار دارد .
model.elem( <tag> ).field( <ftag> ).field().create(<rtag>”record”) یک فیلد رکورد جدید با برچسب <rtag> ایجاد می کند که فیلدی در زیر فیلد رکورد <ftag> است. .
model.elem( <tag> ).field().create( <atag> “array”) یک فیلد آرایه جدید با برچسب <atag> ایجاد می کند .
model.elem( <tag> ).field( <atag> ).pos().create(“array”) یک عنصر جدید از نوع آرایه را به آرایه با برچسب <atag> اضافه می کند .
model…field( <atag> ).pos(1).pos().create(“string”,”1″) یک عنصر آرایه جدید از نوع رشته با مقدار 1 را به اولین عنصر آرایه آرایه ذخیره شدهدر فیلد <atag> .
در متن زیر، همه موارد src را می توان با geomdim جایگزین کرد .
model.elem( <tag> ).src().create( <fttag> ) یکویژگی src با برچسب <fttag> در زیر عنصر ایجاد می کند. یک ویژگی باید دامنه انتخابی داشته باشد.
model.elem( <tag> ).src( <fttag> ).selection().dim(2).set(gname) همه دامنه های بعد 2 را از هندسه gname به انتخاب ویژگی <fttag> اختصاص می دهد .
model.elem( <tag> ).src( <fttag> .set( <ftag> ,value) مقدار فیلد <ftag> رادر زیر ویژگی <fttag> تنظیم می کند .
model.elem( <tag> ).src( <fttag> ).field().create(rname”record”) یک rname فیلد رکورد جدیدتحت ویژگی <fttag> اضافه می کند .
مثال ها
یک عنصر درون یابی را مشخص می کند که داده های خود را از فایلی به نام solution_data.txt می گیرد .
کد برای استفاده با جاوا
model.elem().create(“fun1″,”elinterp”);
model.elem(“fun1”).set(“name”,new string[]{“sol”});
model.elem(“fun1”).set(“file”,”solution_data.txt”);
model.elem(“fun1”).set(“fileindex”,new String[]{“1”});
model.elem(“fun1”).set(“defvars”,new String[]{“true”});
model.elem(“fun1”).set(“روش”,رشته جدید[]{“خطی”});
model.elem(“fun1”).set(“extmethod”,new String[]{“const”});
کد برای استفاده با متلب
model.elem.create(‘fun1′,’elinterp’);
model.elem(‘fun1’).set(‘name’,{‘sol’});
model.elem(‘fun1’).set(‘file’,’solution_data.txt’);
model.elem(‘fun1’).set(‘fileindex’,{‘1’});
model.elem(‘fun1’).set(‘defvars’,{‘true’});
model.elem(‘fun1’).set(‘روش’,{‘خطی’});
model.elem(‘fun1’).set(‘extmethod’,{‘const’});
مثال زیر دو کوپلینگ ادغام ایجاد می کند.
کد برای استفاده با جاوا
model.elem().create(“elem1″,”elcplscalar”);
model.elem(“elem1”).set(“var”,new String[]{“aa”,”bb”});
model.elem(“elem1”).set(“global”,new String[]{“1″,”2”});
model.elem(“elem1”).src().create(“feat1”);
model.elem(“elem1”).src(“feat1”).selection().geom(“g”,2).set(new int[]{1});
model.elem(“elem1”).src(“feat1”).set(“expr”,new string[][]{{“1”}،{“2”}}
model.elem(“elem1”).src(“feat1”).set(“ipoints”,new string[][]{{“2”}،{“2”}}
model.elem(“elem1”).src(“feat1”).set(“frame”,new string[][]{{“مکانی”}،{“فضایی”}};
کد برای استفاده با متلب
model.elem.create(‘elem1′,’elcplscalar’);
model.elem(‘elem1’).set(‘var’,{‘aa’,’bb’});
model.elem(‘elem1’).set(‘global’,{‘1′,’2’});
model.elem(‘elem1’).src.create(‘feat1’);
model.elem(‘elem1’).src(‘feat1’).selection.geom(‘g’,2).set(1);
model.elem(‘elem1’).src(‘feat1’).set(‘expr’,{{‘1’},{‘2’}}
model.elem(‘elem1’).src(‘feat1’).set(‘ipoints’,{{‘2’},{‘2’}}
model.elem(‘elem1’).src(‘feat1’).set(‘frame’,{{‘spatial’},{‘spatial’}};
این مثال پیچیده یک عنصر constr با دو محدودیت ایجاد می کند (معمولاً با ویژگی های محدودیت انجام می شود):
کد برای استفاده با جاوا
model.elem().create(“elem1″,”elsconstr”);
feat = model.elem(“elem1”).geomdim().create(“feat1”);
feat.selection().geom(“g”,2).set(new int[]{1});
feat.set(“constr”,new string[][][]{{{“Ex”, “Ey”, “Ez”}}});
feat.set(“cshape”,new string[]{“1”})
feat.field().create(“shelem”,”record”);
feat.field(“shelem”).set(“case”,new string[0]);
feat.field(“shelem”).set(“mind”,new String[0]);
feat.field(“shelem”).field().create(“پیش فرض”،”آرایه”);
feat.field(“shelem”).field(“default”).pos().create(“array”);
feat.field(“shelem”).field(“default”).pos(1).pos().create(“array”);
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos().create(“string”,”edg”);
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos().create(“string”,”shcurl”);
feat.field(“shelem”).field(“default”).pos(1).pos(1).pos().create(“Record”);
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos(3).set(“سفارش”،”2”);
feat.field(“shelem”).field(“default”).pos(1).pos(1).pos(3)
.set(“compnames”,new String[]{“Ex”،”Ey”, “Ez”})؛
feat.field(“shelem”).field(“default”).pos(1).pos(1).pos(3).set(“frame”,”ref”);
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos().create(“string”,”edg2″);
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos().create(“string”,”shcurl”);
feat.field(“shelem”).field(“default”).pos(1).pos(1).pos().create(“Record”);
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos(6).set(“order”,”2″);
feat.field(“shelem”).field(“default”).pos(1).pos(1).pos(6)
.set(“compnames”,new String[]{“Ex”،”Ey”, “Ez”})؛
feat.field(“shelem”).field(“پیش فرض”).pos(1).pos(1).pos(6).set(“frame”,”ref”);
کد برای استفاده با متلب
model.elem.create(‘elem1′,’elsconstr’);
feat = model.elem(‘elem1’).geomdim().create(‘feat1’);
feat.selection().geom(‘g’,2).set(1);
feat.set(‘constr’,{{‘Ex’,’Ey’,’Ez’}}});
feat.set(‘cshape’,{‘1’})
shelem = feat.field.create(‘shelem’,’record’);
shelem.set(‘case’,”);
shelem.set(‘mind’,”);
shelem.field().create(‘default’,’array’);
shelem.field(‘default’).pos.create(‘array’);
shelem.field(‘default’).pos(1).pos.create(‘array’);
shelem.field(‘default’).pos(1).pos(1).pos.create(‘string’,’edg’);
shelem.field(‘default’).pos(1).pos(1).pos.create(‘string’,’shcurl’);
shelem.field(‘default’).pos(1).pos(1).pos.create(‘record’);
shelem.field(‘default’).pos(1).pos(1).pos(3).set(‘order’,’2′);
shelem.field(‘default’).pos(1).pos(1).pos(3).set(‘compnames’,{‘Ex’,’Ey’,’Ez’});
shelem.field(‘default’).pos(1).pos(1).pos(3).set(‘frame’,’ref’);
shelem.field(‘default’).pos(1).pos(1).pos.create(‘string’,’edg2′);
shelem.field(‘default’).pos(1).pos(1).pos.create(‘string’,’shcurl’);
shelem.field(‘default’).pos(1).pos(1).pos.create(‘record’);
shelem.field(‘default’).pos(1).pos(1).pos(6).set(‘order’,’2′);
shelem.field(‘default’).pos(1).pos(1).pos(6).set(‘compnames’,{‘Ex’,’Ey’,’Ez’});
shelem.field(‘default’).pos(1).pos(1).pos(6).set(‘frame’,’ref’);
برای همه سوابق، بیانیه
model…set(“frame”,”ref”);
معادل است با
model…field().create(“frame”,”string”,”ref”);
صورتحساب
model…set(“expr”,new String[][]{{“1”},{“2”}});
برابر است با
model…field().create(“expr”,”array”);
model…field(“expr”).pos().create(“array”).
model…field(“expr”).pos(1).create(“string”,”1″);
model…field(“expr”).pos().create(“array”).
model…field(“expr”).pos(2).create(“string”,”1″);
بنابراین روش set اغلب راه بسیار راحت تری برای ایجاد فیلدهای ساده است.