123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197 |
- <template>
- <div class="hcfdlab">
- <div class="scal">
-
- <div class="toolbar-part-detail lbg_color1 ">
- <!-- 工具栏 -->
- <!-- <transformtool ref="transform" :servertype="servertype" :projectId='project.projectId' :wstep='wstep' :bStep='bStep' :vStep='vStep'></transformtool> -->
- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
- <el-tab-pane label="几何建模" name="one"><geometry></geometry></el-tab-pane>
- <el-tab-pane label="网格划分" name="twos"> <meshindex></meshindex></el-tab-pane>
- <!-- 通用设置 -->
- <el-tab-pane :label="$t('HCFD.geneal.geneal')" name="two">
- <div class="imgzong">
- <div class="item1" v-for="(itemcj,index) in twolist" :key="'two-'+ index" :class="{activeOrange:active=='two-'+ index}" @click="clickgeometry($event,index,'two-'+ index)">
- <el-tooltip class="item" effect="dark" :content="itemcj.titlie" placement="bottom">
- <el-image :src="itemcj.icon" fit="cover" />
- </el-tooltip>
- </div>
- </div>
- </el-tab-pane>
- <!-- 物理模型 -->
- <el-tab-pane :label="$t('HCFD.physics.physics')" name="three">
- <div class="imgzong">
- <div class="item1" v-for="(item,index) in physicslist" :key="'three-'+ index" :class="{activeOrange:active=='three-'+ index}" @click="clickgeometry($event,index,'three-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- <span class="shu">|</span>
- <div class="item1" v-for="(item,index) in physicslist2" :key="'three2-'+ index" :class="{activeOrange:active=='three2-'+ index}" @click="clickgeometry($event,index,'three2-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- <span class="shu">|</span>
- <div class="item1" v-for="(item,index) in physicslist1" :key="'three1-'+ index" :class="{activeOrange:active=='three1-'+ index}" @click="clickgeometry($event,index,'three1-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- </div>
-
- </el-tab-pane>
- <!-- 求解控制 -->
- <el-tab-pane :label="$t('HCFD.solution.solution')" name="four">
- <div class="imgzong">
- <div class="item1" v-for="(item,index) in solutionlist" :key="'four-'+ index" :class="{activeOrange:active=='four-'+ index}" @click="clickgeometry($event,index,'four-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- <span class="shu">|</span>
- <div class="item1" v-for="(item,index) in solutionlist2" :key="'four2-'+ index" :class="{activeOrange:active=='four2-'+ index}" @click="clickgeometry($event,index,'four2-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
-
- <span class="shu">|</span>
- <div class="item1" v-for="(item,index) in solutionlist3" :key="'four3-'+ index" :class="{activeOrange:active=='four3-'+ index}" @click="clickgeometry($event,index,'four3-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- <!-- <span class="shu">|</span>
- <div class="item1" v-for="(item,index) in solutionlist4" :key="'four4-'+ index" :class="{activeOrange:active=='four4-'+ index}" @click="clickgeometry($event,index,'four4-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <svg class="icon" aria-hidden="true">
- <use :xlink:href="`#${item.icon}`" />
- </svg>
- </el-tooltip>
- </div> -->
-
- </div>
- <!-- 结果 -->
- </el-tab-pane>
- <el-tab-pane :label=" $t('HCFD.results.results')" name="five">
- <div class="imgzong" v-if="lsolverState=='2'">
- <div class="item1 " v-for="(item,index) in resultslist" :key="'five-'+ index" :class="{activeOrange:active=='five-'+ index}" @click="clickgeometry($event,index,'five-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- </div>
- </el-tab-pane>
- <!-- 工具 -->
- <el-tab-pane :label="$t('HCFD.tool.unitConversion')" name="six">
- <div class="imgzong">
- <div class="item1" v-for="(item,index) in unitlist " :key="'six-'+ index" :class="{activeOrange:active=='six-'+ index}" @click="clickgeometry($event,index,'six-'+ index)">
- <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
- <el-image :src="item.icon" fit="cover" />
- </el-tooltip>
- </div>
- </div>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- <!-- 缩放 -->
- <el-dialog
- v-if="active=='two-0'"
- :visible.sync="dialog.scale_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="t1" fit="cover" />
- <span class="text-color">{{$t('HCFD.geneal.scale')}}</span>
- </div>
- <el-form>
- <el-form-item label="名称" :label-width="formLabelWidth2" >
- <el-input v-model="mcnames" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="类型" :label-width="formLabelWidth2" >
- <el-input value="suofang" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">相交/延长</div>
- </div>
- <el-form-item :label="$t('HCFD.geneal.factor')" :label-width="formLabelWidth2" >
- <el-input v-model="geneal.MeshTransform.Scale.Factor" autocomplete="off"></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.scale_visiable = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button type="primary" @click="hcfdparam(); dialog.scale_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 翻译 -->
- <el-dialog
- v-if="active=='two-1'"
- :visible.sync="dialog.translation_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="t2" fit="cover" />
- <span class="text-color">{{$t('HCFD.geneal.translation')}}</span>
- </div>
- <el-form class="div64">
- <el-form-item label="名称" :label-width="formLabelWidth2" >
- <el-input v-model="mcnames" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="类型" :label-width="formLabelWidth2" >
- <el-input value="PingYi" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <div class="liitem">
- <el-form-item :label="$t('HCFD.geneal.distance')" :label-width="formLabelWidth7">
- <el-input v-model="geneal.MeshTransform.Translation.Distance" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div class="liitem">
- <el-form-item :label="$t('HCFD.geneal.translationx')" :label-width="formLabelWidth7">
- <el-input v-model="geneal.MeshTransform.Translation.X" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div class="liitem">
- <el-form-item :label=" $t('HCFD.geneal.translationy')" :label-width="formLabelWidth7">
- <el-input v-model="geneal.MeshTransform.Translation.Y" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div class="liitem">
- <el-form-item :label="$t('HCFD.geneal.translationz')" :label-width="formLabelWidth7">
- <el-input v-model="geneal.MeshTransform.Translation.Z" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.translation_visiable = false"
- > {{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.translation_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 旋转 -->
- <el-dialog
- v-if="active=='two-2'"
- :close-on-click-modal="false"
- @close='activecleer()'
- :modal='false'
- custom-class='dialoglocation dialog_color'
- :visible.sync="dialog.rotation_visiable"
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="t3" fit="cover" />
- <span class="text-color">{{$t('HCFD.geneal.rotation')}}</span>
- </div>
- <el-form class="div64">
- <el-form-item label="名称" :label-width="formLabelWidth2" >
- <el-input v-model="mcnames" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="类型" :label-width="formLabelWidth2" >
- <el-input value="xuanzuan" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item :label="$t('HCFD.geneal.angle')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.Angle" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.geneal.rotationx')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.X" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.geneal.rotationy')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.Y" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.geneal.rotationz')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.Z" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.geneal.rotationx1')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.X1" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.geneal.rotationy1')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.Y1" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.geneal.rotationz1')" :label-width="formLabelWidth7" >
- <el-input v-model="geneal.MeshTransform.Rotation.Z1" autocomplete="off"></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.rotation_visiable = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button type="primary" @click="hcfdparam(); dialog.rotation_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button
- >
- </div>
- </el-dialog>
- <!-- 分析类型 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.type_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='two-3'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="t4" fit="cover" />
- <span class="text-color">{{$t('HCFD.geneal.analysis')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf">
- <div class="classfelx">
- <el-tooltip class="item" effect="dark" content="分析类型" placement="bottom">
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Steady"
- >{{ $t("HCFD.geneal.steady") }}</el-radio
- >
- </el-tooltip>
- </div>
- <div class="classfelx">
- <el-tooltip class="item" effect="dark" content="分析类型" placement="bottom">
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Unsteady"
- >{{ $t("HCFD.geneal.unsteady") }}</el-radio
- >
- </el-tooltip>
- </div>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable((dialog.type_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.type_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 并行类型 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.parallel_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='two-4'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="t5" fit="cover" />
- <span class="text-color">{{$t('HCFD.geneal.parallel')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color">
- <el-radio-group
- v-model="parameterObj.nmlParam.parallel_Optional"
- >
- <div>
- <el-tooltip class="item" effect="dark" content="并行类型" placement="bottom">
- <el-radio label="Serial">
- {{ $t("HCFD.geneal.serial") }}</el-radio
- >
- </el-tooltip>
- </div>
- <div>
- <el-tooltip class="item" effect="dark" content="并行类型" placement="bottom">
- <el-radio label="MPI Parallel">{{
- $t("HCFD.geneal.mpi")
- }}</el-radio>
- </el-tooltip>
- </div>
- </el-radio-group>
- <el-form-item :label="$t('HCFD.geneal.number')" :label-width="formLabelWidth2" v-if="
- parameterObj.nmlParam.parallel_Optional == 'MPI Parallel'
- ">
- <el-input v-model="parameterObj.nmlParam.number_of_Processors" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable((dialog.parallel_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.parallel_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 控制方程 -->
- <el-dialog
- v-if="active=='three-0'"
- :visible.sync="dialog.equation_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="w1" fit="cover" />
- <span class="text-color">{{$t('HCFD.physics.gover')}}</span>
- </div>
- <el-form>
- <el-radio-group
- v-model="parameterObj.nmlParam.eqn_type"
- size="mini"
- >
- <el-radio label="cal_perf_compress" style="display: block; padding:15px 0;">{{
- $t("HCFD.physics.compress")
- }}</el-radio>
- <el-radio label="cal_perf_incompress">{{
- $t("HCFD.physics.incompress")
- }}</el-radio>
- </el-radio-group>
- <div class="disflex text_color" v-if="parameterObj.nmlParam.eqn_type=='cal_perf_incompress'">
- <span class="text_color formLabelWidth8">{{ $t("HCFD.physics.artifical") }}</span>
- <el-input
- class='inpw75'
- size="mini"
- v-model="parameterObj.nmlParam.artificial_compress"
- ></el-input>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog. equation_visiable = false"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button type="primary" @click="hcfdparam(); dialog.equation_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button
- >
- </div>
- </el-dialog>
- <!-- 粘性模型 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.inviscid_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three2-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- heigth="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="w2" fit="cover" />
- <span class="text-color">{{$t('HCFD.physics.viscous')}}</span>
- </div>
- <el-form>
- <div class="selecr">
- <el-form-item label="模型类型" :label-width="formLabelWidth5">
- <el-select v-model="parameterObj.nmlParam.viscous_terms" placeholder="请选择">
- <el-option
- v-for="item in selectlist1"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <div v-if="parameterObj.nmlParam.viscous_terms=='laminar'">
- <el-form-item :label="$t('HCFD.physics.molecular')" :label-width="formLabelWidth5" >
- <el-input v-model="parameterObj.nmlParam.prandtlnumber_molecular" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="parameterObj.nmlParam.viscous_terms=='turbulent'">
- <el-form-item label="湍流模型" :label-width="formLabelWidth5">
- <el-select v-model="parameterObj.nmlParam.turb_model" placeholder="请选择">
- <el-option
- v-for="item in selectlist2"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item :label="$t('HCFD.physics.Molecular')" :label-width="formLabelWidth5" >
- <el-input v-model="parameterObj.nmlParam.prandtlnumber_molecular" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.physics.turbulents')" :label-width="formLabelWidth5" >
- <el-input v-model="Physics.Turbulent.TurbulentPrandtlNumber" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="dialog.inviscid_visiable= false"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.inviscid_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 运动网格 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.dynamic_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three2-2'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="w4" fit="cover" />
- <span class="text-color">{{$t('HCFD.physics.dynamic')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf">
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="on"
- >on</el-radio
- >
- </div>
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="off"
- >off</el-radio
- >
- </div>
-
- </div>
- <div class="selecr" v-if="parameterObj.nmlParam.dynamic_Mesh=='on'">
- <el-form-item label="运动模型" :label-width="formLabelWidth7">
- <el-select v-model="ydval" placeholder="请选择">
- <el-option
- v-for="item in ydlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">定义运动体</div>
- </div>
- <el-form-item label="数量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
-
- <el-form-item label="名字" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="运动机理" :label-width="formLabelWidth7">
- <el-select v-model="ydval2" placeholder="请选择">
- <el-option
- v-for="item in ydlist2"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="类型" :label-width="formLabelWidth7">
- <el-select v-model="ydval3" placeholder="请选择">
- <el-option
- v-for="item in ydlist3"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="ydval2=='0'&&ydval3=='0'||ydval2=='1'&&ydval3=='0'">
- <el-form-item label="无量刚速率" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
-
- <el-form-item label="无量刚速率" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="ydval2=='1'&&ydval3=='0'||ydval2=='1'&&ydval3=='1'">
- <el-form-item label="相位/度" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="幅值/度" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="ydval2=='1'&&ydval3=='0'||ydval2=='1'&&ydval3=='1'">
- <el-form-item label="旋转中心坐标X" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="旋转中心坐标Y" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="旋转中心坐标Z" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <el-form-item label="旋转轴单位矢量X分量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="旋转轴单位矢量Y分量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="旋转轴单位矢量Z分量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="无量纲旋转起始时间" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="无量纲旋转持续时间" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">t=0时刻力矩中心</div>
- </div>
- <el-form-item label="X-coordinate" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="Y-coordinate" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="Z-coordinate" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="力矩中心状态" :label-width="formLabelWidth7">
- <el-select v-model="ydval4" placeholder="请选择">
- <el-option
- v-for="item in ydlist4"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">力/力矩无量纲化</div>
- </div>
- <el-form-item label="无量纲参考面积" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="无量纲参考弦长" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="无量纲参考展长" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">有量纲物理量</div>
- </div>
- <div class="liangf">
- <div class="classfelx text_color" style="line-height: 2;">
- 输出运动体有量纲物理量
- </div>
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="on"
- >on</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="off"
- >off</el-radio
- >
- </div>
-
- </div>
- <el-checkbox v-model="checked">预览网格运动</el-checkbox>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="dialog.dynamic_visiable = false"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.dynamic_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!--非惯性参考条件 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.nonitertial_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three1-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="w6" fit="cover" />
- <span class="text-color">{{$t('HCFD.physics.nonitertial')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf">
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="on"
- >on</el-radio>
- </div>
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="off"
- >off</el-radio
- >
- </div>
- </div>
- <div v-if="parameterObj.nmlParam.noninertial_Reference_Frame=='on'">
- <div class="line">
- <div class="linetext">旋转中心</div>
- </div>
- <el-form-item label="坐标X" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="坐标Y" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="坐标Z" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">旋转矢量</div>
- </div>
- <el-form-item label="X方向分量" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="Y方向分量" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="Z方向分量" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="dialog.nonitertial_visiable = false"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.nonitertial_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 通量残差构造方法 -->
- <el-dialog
- class="lg-Solution"
- :visible.sync="dialog.fluxrc_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="q1" fit="cover" />
- <span class="text-color">{{$t('HCFD.solution.invis')}}</span>
- </div>
- <el-form class="groupradio selecr">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item label="通量残差构造方法" :label-width="formLabelWidth7">
- <el-select v-model="parameterObj.nmlParam.flux_construction" placeholder="请选择">
- <el-option
- v-for="item in qjklist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="通量雅可比构造方法" :label-width="formLabelWidth7">
- <el-select v-model="parameterObj.nmlParam.flux_construction_lhs" placeholder="请选择">
- <el-option
- v-for="item in qjklist3"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="MUSCL重构格式" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="通量限制" :label-width="formLabelWidth7">
- <el-select v-model="parameterObj.nmlParam.flux_limiter" placeholder="请选择">
- <el-option
- v-for="item in qjklist2"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item :label="$t('HCFD.solution.firstOrderNum') " :label-width="formLabelWidth7">
- <el-input v-model="parameterObj.nmlParam.first_order_iterations" autocomplete="off"></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.fluxrc_visiable = false))"
- > {{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.fluxrc_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
-
- <!-- 时间格式 -->
-
- <el-dialog
- :visible.sync="dialog.time_visiable"
- class="lg-Solution"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="q2" fit="cover" />
- <span class="text-color">{{$t('HCFD.solution.timeScheme')}}</span>
- </div>
- <el-form class="lg-form">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item label="时间格式" :label-width="formLabelWidth7" style=" text-align: left;">
- <el-select v-model="parameterObj.nmlParam.time_accuracy" placeholder="请选择">
- <el-option
- v-for="item in tlist1"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <li class="lheig34 disflex liitem liangf" style="padding:5px 0">
- <span class="formLabelWidth8">{{$t('HCFD.solution.stepping')}}</span>
- <el-radio-group class="inpw35" style="display:flex" v-model="parameterObj.nmlParam.pseudo_time_stepping">
- <el-radio :label="'on'">On</el-radio>
- <el-radio :label="'off'">Off</el-radio>
- </el-radio-group>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.nondim')}}</span>
- <el-input v-model="parameterObj.nmlParam.time_step_nondim"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.subiterations')}}</span>
- <el-input v-model="parameterObj.nmlParam.subiterations"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.cfl')}}</span>
- <el-input
- v-model="parameterObj.nmlParam.schedule_iteration[0]"
- ></el-input>
- <el-input
- v-model="parameterObj.nmlParam.schedule_iteration[1]"
- ></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.Schedulecfl')}}</span>
- <el-input v-model="parameterObj.nmlParam.schedule_cfl[0]"></el-input>
- <el-input v-model="parameterObj.nmlParam.schedule_cfl[1]"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.cflturb')}}</span>
- <el-input
- v-model="parameterObj.nmlParam.schedule_cflturb[0]"
- ></el-input>
- <el-input
- v-model="parameterObj.nmlParam.schedule_cflturb[1]"
- ></el-input>
- </li>
- </el-form>
-
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.time_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.time_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 边界条件 -->
- <el-dialog
- class="dialog-block"
- :visible.sync="dialog.border_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three2-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="384px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="w2" fit="cover" />
- <span class="text-color">{{$t('HCFD.physics.boundary')}}</span>
- </div>
- <el-form >
- <div class="selecr">
- <el-form-item >
- <el-input type="textarea" v-model="form.desc"></el-input>
- </el-form-item>
-
- <el-form-item label=" 边界类型" :label-width="formLabelWidth">
- <el-select
- size="mini"
- @change="boundaryChange"
- v-model="Physics.Boundary.bquery"
- placeholder="select boundary"
- >
- <el-option
- v-for="hcfdBoundary in parameterObj.hcfdBoundarys"
- :key="hcfdBoundary.id"
- :label="hcfdBoundary.name"
- :value="hcfdBoundary.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label=" 外流类型" :label-width="formLabelWidth">
- <el-select
- size="mini"
- @change="conditionsChange"
- v-model="Physics.Boundary.cquery"
- placeholder="select Conditions"
- >
- <el-option
- v-for="Condition in Physics.Boundary.Conditions"
- :key="Condition.conditionsCode"
- :label="Condition.name"
- :value="Condition.conditionsCode"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="Physics.Boundary.bquery=='WING1'">
- <el-form-item label=" 总压比" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label=" 总温比" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="法向" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="入流角(Alpha)" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="入流角(Beta)" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label=" 欧拉角(Theta1)" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label=" 欧拉角(Theta2)" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="欧拉角(Theta3)" :label-width="formLabelWidth">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="dialog.border_visiable = false"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.border_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button
- >
- </div>
- </el-dialog>
- <!-- 参考条件 -->
- <el-dialog
- class="dialog-block"
- :visible.sync="dialog.reference_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three1-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color heightclass'
- width="385px"
- height="400px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="w5" fit="cover" />
- <span class="text-color">{{$t('HCFD.physics.reference')}}</span>
- </div>
- <el-form class="groupradio">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.machNum") }}</span>
- <el-input
- class="inpw50"
- size="mini"
- v-model="parameterObj.nmlParam.mach_number"
- ></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.reyNum") }}</span>
- <el-input
- class="inpw50"
- size="mini"
- v-model="parameterObj.nmlParam.reynolds_number"
- ></el-input>
- </li>
-
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.temperature") }}</span>
- </li>
- <li class=" liitem liangf">
- <el-radio-group v-model="parameterObj.nmlParam.temperature_units" style=" width: 100%;">
- <el-radio :label="'Kelvin'">{{ $t("HCFD.physics.kelvin") }}</el-radio>
- <el-radio :label="'Rankine'">{{ $t("HCFD.physics.rankine") }}</el-radio>
- </el-radio-group>
- <el-input v-model="parameterObj.nmlParam.temperature"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.attack") }}</span>
- <el-input v-model="parameterObj.nmlParam.angle_of_attack"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.yaw") }} </span>
- <el-input v-model="parameterObj.nmlParam.angle_of_yaw"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.area") }}</span>
- <el-input v-model="parameterObj.nmlParam.area_reference"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.yaxis") }}</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_length"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.zaxis") }}</span>
- <el-input v-model="parameterObj.nmlParam.y_moment_length"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.momentc") }}</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_center"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.xcoordinate") }}</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_center"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.ycoordinate") }}</span>
- <el-input v-model="parameterObj.nmlParam.y_moment_center"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.zcoordinate") }}</span>
- <el-input v-model="parameterObj.nmlParam.z_moment_center"></el-input>
- </li>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="dialog.reference_visiable = false"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.reference_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 线性方程组求解参数 -->
- <el-dialog
- class="lg-Solution"
- :visible.sync="dialog.xian_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four2-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="q3" fit="cover" />
- <span class="text-color">{{$t('HCFD.solution.linearSol')}}</span>
- </div>
- <el-form >
- <li class="disflex liitem liangf ">
- <span class="formLabelWidth8">
- {{ $t("HCFD.solution.meanflow") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.meanflow_sweeps"
- ></el-input>
- </li>
- <li class="disflex liitem liangf ">
- <span class="formLabelWidth8">
- {{ $t("HCFD.solution.turbulence") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.turbulence_sweeps"
- ></el-input>
- </li>
- <el-form-item :label="$t('HCFD.solution.gcr')" :label-width="formLabelWidth6">
- <el-radio-group v-model="parameterObj.nmlParam.line_implicit">
- <el-radio label="off">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.xian_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.xian_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button
- >
- </div>
- </el-dialog>
- <!-- 初始化 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.initialization_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four2-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="q4" fit="cover" />
- <span class="text-color">{{$t('HCFD.solution.initialization')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color" >
- <el-radio-group v-model="initialization" size="mini">
-
- <el-radio label="freestreams">{{
- $t("HCFD.solution.freestreams")
- }}</el-radio>
- <el-radio label="specified">{{
- $t("HCFD.solution.specified")
- }}</el-radio>
- </el-radio-group>
- </div>
- <div v-if="initialization=='specified'">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item label="区域数量" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <div class="selecr">
- <el-form-item label=" 区域类型" :label-width="formLabelWidth2">
- <el-select @change="changest" v-model="loadval" placeholder="请选择">
- <el-option
- v-for="item in loadlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="loadval=='0'">
- <el-form-item label="顶点1" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="顶点2" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="loadval=='1'">
- <el-form-item label="球心" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="半径" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="loadval=='2'">
- <el-form-item label="球心" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="端点1" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="端点2" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="loadval=='2'">
- <el-form-item label="端点1" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="半径1" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="端点2" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="半径2" :label-width="formLabelWidth2">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </div>
- <div class="line">
- <div class="linetext">区域变量</div>
- </div>
- <el-form-item label="无量纲密度" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="无量纲声速" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="X方向无量纲速度分量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="Y方向无量纲速度分量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="Z方向无量纲速度分量" :label-width="formLabelWidth7">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="dialog.initialization_visiable = false"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.initialization_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 运行控制Run Control -->
-
- <el-dialog
- :visible.sync="dialog.runc_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four3-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="q5" fit="cover" />
- <span class="text-color">{{$t('HCFD.solution.run')}}</span>
- </div>
- <el-form class="lg-form text_color">
- <el-form-item :label="$t('HCFD.solution.iterNum')" :label-width="formLabelWidth6">
- <el-input v-model="parameterObj.nmlParam.steps" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.solution.stopToler')" :label-width="formLabelWidth6">
- <el-input v-model="parameterObj.nmlParam.stopping_tolerance" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.solution.writeFreq')" :label-width="formLabelWidth6">
- <el-input v-model="parameterObj.nmlParam.restart_write_freq" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.solution.evaluate')" :label-width="formLabelWidth6">
- <el-input v-model="parameterObj.nmlParam.jacobian_eval_freq" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item :label="$t('HCFD.solution.Restart')" :label-width="formLabelWidth6">
- <el-radio-group class="inpw35" v-model="parameterObj.nmlParam.restart_read">
- <el-radio label="off">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-button type="info" @click="hcfdparam()"> 运行</el-button>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="runcvisiable()"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button type="primary" @click="Runsolve()"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 物面输出 -->
- <el-dialog
- :visible.sync="dialog.boundaryo_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="Conditions lg-out-h"
- v-if="active=='four3-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="q6" fit="cover" />
- <span class="text-color">{{$t('HCFD.solution.bounOut')}}</span>
- </div>
- <el-form>
- <div class="selecr">
- <el-form-item label=" 特征" :label-width="formLabelWidth2">
- <el-select @change="changest" v-model="objectplaneval" placeholder="请选择">
- <el-option
- v-for="item in objectplanelist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <el-form-item :label=" $t('HCFD.solution.outputfreq')" :label-width="formLabelWidth2">
- <el-input v-model="parameterObj.nmlParam.animation_freq" autocomplete="off"></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">{{ $t("HCFD.solution.Variables")}}</div>
- </div>
- <div v-if="objectplaneval=='0'">
- <el-checkbox
- :indeterminate="Solution.boundaryout.isIndeterminate"
- v-model="Solution.boundaryout.checkAll"
- @change="solutionbCheckAllChange"
- >{{ $t("HCFD.solution.all")}}</el-checkbox
- >
- <div class="displanblock">
- <el-checkbox
- v-model="parameterObj.nmlParam.a_u">
- {{ $t("HCFD.solution.Xcomponent")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_v"
- >{{ $t("HCFD.solution.Ycomponent")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_w"
- >{{ $t("HCFD.solution.Zcomponent")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_p"
- >{{ $t("HCFD.solution.Press")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_cp"
- >{{ $t("HCFD.solution.presscoefficient")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_mach"
- >{{ $t("HCFD.solution.mnumber")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_mag"
- >{{ $t("HCFD.solution.magnitude")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_x "
- >{{ $t("HCFD.solution.Xvorticity")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_y"
- >{{ $t("HCFD.solution.Yvorticity")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_z "
- >{{ $t("HCFD.solution.Zvorticity")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_q_criterion"
- >{{ $t("HCFD.solution.Criterion")}}</el-checkbox>
- </div>
- </div>
- <div v-else>
- <el-checkbox
- :indeterminate="Solution.volumout.isIndeterminate"
- v-model="Solution.volumout.checkAll"
- @change="solutionvCheckAllChange"
- >{{ $t("HCFD.solution.all")}}</el-checkbox
- >
- <div class="displanblock">
- <el-checkbox
- v-model="parameterObj.nmlParam.v_u">{{ $t("HCFD.solution.Xcomponent")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_v "
- >{{ $t("HCFD.solution.Ycomponent")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_w"
- >{{ $t("HCFD.solution.Zcomponent")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_p "
- >{{ $t("HCFD.solution.Press")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_cp"
- >{{ $t("HCFD.solution.presscoefficient")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_mach"
- >{{ $t("HCFD.solution.mnumber")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_mag"
- >{{ $t("HCFD.solution.magnitude")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_x "
- >{{ $t("HCFD.solution.Xvorticity")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_y"
- >{{ $t("HCFD.solution.Yvorticity")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_z "
- >{{ $t("HCFD.solution.Zvorticity")}}</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_q_criterion"
- >{{ $t("HCFD.solution.Criterion")}}</el-checkbox>
- </div>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable(dialog.boundaryo_visiable = false)"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.boundaryo_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- class="lg-y-z"
- :title="$t('HCFD.solution.specialPara')"
- :visible.sync="dialog.specialp_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four4-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.large_angle_fix">
- <el-radio label="off">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable((dialog.specialp_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="dialog.specialp_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Swap Y-Z Axres"
- :visible.sync="dialog.swap_visiable"
- class="lg-y-z"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four4-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.swap_yz_axes">
- <el-radio label="false">Off</el-radio>
- <el-radio label="true">On</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.swap_visiable = false))"
- > {{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="dialog.swap_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 资源选择 -->
- <el-dialog
- :close-on-click-modal="false"
- @close='activecleer()'
- :title="$t('HCFD.solution.Resource')"
- :visible.sync="dialog.ziyuan"
- width="45%"
- class="dialog"
- custom-class='dialog_color'
- >
- <el-form>
- <el-table
-
- :data="ziyprojects"
- border
- :row-key="getRowKeys"
- height="250"
- row-class-name='table-color'
- ref="multipleTable"
- @selection-change="ziySelectionChange"
- @select="ziySelectionSelect"
- size="mini"
- :fit="true"
- >
- <el-table-column type="selection" label="选择" :reserve-selection="true"/>
- <el-table-column property="id" label="ID" />
- <el-table-column property="resIp" label="资源内网IP" />
- <el-table-column property="resShortname" label="资源简称" />
- </el-table>
- </el-form>
- <div class="pagination">
- <Pagination
- :pagination-config="paginationConfig"
- @putPagination="getPagination"
- ></Pagination>
- </div>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.ziyuan = false"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button type="primary" @click='resourceOK()'>{{ $t("HCFD.file.ok")}} </el-button>
- </div>
- </el-dialog>
- <!-- 求解表面 -->
- <el-dialog
- :visible.sync="dialog.SurfaceGrid_visiable"
- class="lg-y-z"
- :close-on-click-modal="false"
- :modal-append-to-body="false"
- :append-to-body="false"
- @close='activecleer()'
- v-if="active=='five-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="j1" fit="cover" />
- <span class="text-color">{{$t('HCFD.results.Surfacegrid')}}</span>
- </div>
- <div class="flexpad30">
- <div class="selecr">
- <el-form>
- <el-form-item :label="$t('HCFD.results.steps') " :label-width="formLabelWidth2">
- <el-select size="mini" v-model="bStep" @change="bStepChange" placeholder="请选择">
- <el-option
- v-for="setep in boundaryStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item :label=" $t('HCFD.results.scalar') " :label-width="formLabelWidth2">
- <el-select size="mini" v-model="bScalar" placeholder="请选择">
- <el-option
- v-for="scalar in boundaryScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div>
- <el-form-item :label=" $t('HCFD.results.contour')" :label-width="formLabelWidth2">
- <el-input-number v-model="Surfacenum" @change="SurfaceChange" :min="1" :max="10" label="描述文字"></el-input-number>
- </el-form-item>
- <li class="disflex lheig34 liitem">
- <span class="span100 marb5 formLabelWidth15">{{ $t("HCFD.results.vector")}} </span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <li class="disflex lheig34 liitem">
- <span class='span100 marb5 formLabelWidth15' >{{ $t("HCFD.results.show")}} </span>
- <el-checkbox-group v-model="belementCheckeds" style="display:flex">
- <el-checkbox label="Mesh" @change="Contourval('Mesh')"
- ></el-checkbox>
- <el-checkbox label="Contour" @change="Contourval('Contour')"
- ></el-checkbox>
- </el-checkbox-group>
- </li>
- </div>
- <el-button
- size="mini"
- type="primary"
- style="margin:30px 0 30px 40%"
- @click="boundaryShow()"
- > {{ $t("HCFD.results.Surface")}} </el-button>
- >
- </el-form>
- </div>
- </div>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.SurfaceGrid_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="dialog.SurfaceGrid_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- :visible.sync="dialog.VolumeGrid_visiable"
- class="lg-y-z"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='five-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="j2" fit="cover" />
- <span class="text-color">{{$t('HCFD.results.volume')}}</span>
- </div>
- <div class="selecr">
- <el-form>
- <el-form-item :label="$t('HCFD.results.steps') " :label-width="formLabelWidth2">
- <el-select size="mini" v-model="vStep" @change="vStepChange" placeholder="请选择">
- <el-option
- label="请选择"
- :value="0"
- >
- </el-option>
- <el-option
- v-for="setep in volumStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item :label="$t('HCFD.results.scalar') " :label-width="formLabelWidth2">
- <el-select size="mini" v-model="vSalar" placeholder="请选择">
- <el-option
- v-for="scalar in volumScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
-
- <div>
- <li class="disflex lheig34 liitem">
- <span class="span100 marb5 formLabelWidth15">{{ $t("HCFD.results.vector")}} </span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <el-form-item :label=" $t('HCFD.results.contour')" :label-width="formLabelWidth2">
- <el-input-number v-model="Volumenum" @change="VolumenumChange" :min="1" :max="10" label="描述文字"></el-input-number>
- </el-form-item>
- <li class="disflex lheig34 liitem">
- <span class="span100 marb5 formLabelWidth15">{{ $t("HCFD.results.show")}}</span>
- <el-checkbox-group v-model="velementCheckeds" style="display:flex">
- <el-checkbox
- label="Mesh"
- @change="ContourvalVolume('Mesh')"
- ></el-checkbox>
- <el-checkbox
- label="Contour"
- @change="ContourvalVolume('Contour')"
- ></el-checkbox>
- </el-checkbox-group>
- </li>
- </div>
-
- <el-button
- type="primary"
- size="mini"
- style="margin:30px 0 30px 40%"
- @click="showVolume()"
- >{{ $t("HCFD.results.ShowVolume")}}</el-button
- >
- </el-form>
- </div>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.VolumeGrid_visiable = false))"
- >{{ $t("HCFD.file.cancel")}}</el-button
- >
- <el-button type="primary" @click="dialog.VolumeGrid_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog>
- <!-- 单位计算开始 -->
- <el-dialog :visible.sync="visiable"
- v-if="active=='six-0'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="d1" fit="cover" />
- <span class="text-color">单位换算</span>
- </div>
- <el-form :model="form1">
- <el-form-item label="kelvin" :label-width="formLabelWidth1">
- <el-input v-model="form1.kelvins" type="number" autocomplete="off"></el-input>
-
- </el-form-item>
- <el-form-item label="℃" :label-width="formLabelWidth1">
- <el-input v-model="form1.ssd" type="number" autocomplete="off"></el-input>
- </el-form-item>
- <div>
- <el-button @click="dialogbtnkew" style="margin:10px 0 0 65px" size="mini">摄氏度</el-button>
- <el-button @click="dialogbtnssd" size="mini">开尔文</el-button>
- </div>
-
- </el-form>
-
- </el-dialog>
- <!-- Y+ Calculator -->
- <el-dialog
- :visible.sync="Yvisiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='six-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="d2" fit="cover" />
- <span class="text-color">Y+值计算</span>
- </div>
- <el-form :model="form" class="gongju">
- <!-- Freestream velocity流速度U∞ -->
- <el-form-item label="自由流速度U∞(m/s):" :label-width="formLabelWidth3">
- <el-input v-model="form.u_freestream" autocomplete="off"></el-input>
- </el-form-item>
- <!--Density 自由氣流密度ρ -->
- <el-form-item label="自由氣流密度ρ(kg/m^3):" :label-width="formLabelWidth3">
- <el-input v-model="form.rho" autocomplete="off"></el-input>
- </el-form-item>
- <!-- Characteristic length 特征长度L-->
- <el-form-item label="特征长度L:(m):" :label-width="formLabelWidth3">
- <el-input
- v-model="form.L"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Dynamic viscosity表流运动粘贴系数μ: -->
- <el-form-item label="表流运动粘贴系数μ(Pa·s):" :label-width="formLabelWidth3">
- <el-input v-model="form.mu" autocomplete="off"></el-input>
- </el-form-item>
- <!-- Desired Y+ value: -->
- <el-form-item label="Y+:" :label-width="formLabelWidth3">
- <el-input
- v-model="form.y_plus_desired"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Reynolds number -->
- <h3 class="Rex">雷诺数: {{ form.Rex }}</h3>
- <!-- Estimated wall distance: -->
- <h3 class="Rex">估计墙距: {{ form.dtc }}</h3>
- <el-form-item style="margin-left: 0">
- <!-- <el-input v-model="form.lys" type="number" autocomplete="off"></el-input> -->
-
- <el-button type="primary" @click="dialogbtny" style="margin:0 0 0 55px">计算</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <!-- r雷诺数计算 -->
- <el-dialog
- :visible.sync="llsvisiable"
- :close-on-click-modal="false"
- v-if="active=='six-2'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="d3" fit="cover" />
- <span class="text-color">雷诺数计算</span>
- </div>
- <el-form :model="form" class="leiluoshu">
- <el-form-item label="流速v(m/s):" :label-width="formLabelWidth3">
- <el-input v-model="form.lls" autocomplete="off" ></el-input>
- </el-form-item>
- <el-form-item label="密度ρ(kg/m^3)" :label-width="formLabelWidth3">
- <el-input v-model="form.lmi" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="动力黏性系数η(Pa·s)" :label-width="formLabelWidth3">
- <el-input v-model="form.ldlzxxs" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="特征长度(内径)d(m):" :label-width="formLabelWidth3">
- <el-input v-model="form.lld" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="">
- <!-- <el-input v-model="form.lys" type="number" autocomplete="off"></el-input> -->
- <h3 class="Rex">雷诺数Re:{{ form.Re }}</h3>
- <el-button type="primary" style="margin:0 0 0 60px" @click="leinsdialogbtny">计算</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <!-- 组件 -->
- <filesload
- ref="filesload"
- :fileurls="fileurls"
- @fileLoadeState="fileLoadeState($event)"
- ></filesload>
- <loading ref="loading" :loadObjs="loadObjs"></loading>
- <!-- <hcfd-Calculator ref="Calculator"></hcfd-Calculator> -->
- </div>
- </template>
- <script>
- // 引入组件
- import geometry from '../geometry/index.vue'
- import meshindex from '../meshindex/index.vue'
- import t1 from '@/assets/icon/u9588.png'
- import t2 from '@/assets/icon/u9616.png'
- import t3 from '@/assets/icon/u9637.png'
- import t4 from '@/assets/icon/u212.png'
- import t5 from '@/assets/icon/u3284.png'
- import w1 from '@/assets/icon/u3250.png'
- import w2 from '@/assets/icon/u9700.png'
- import w3 from '@/assets/icon/u9872.png'
- import w4 from '@/assets/icon/u3877.png'
- import w5 from '@/assets/icon/u9823.png'
- import w6 from '@/assets/icon/u3742.png'
- import d1 from '@/assets/icon/u10148.png'
- import d2 from '@/assets/icon/u10152.png'
- import d3 from '@/assets/icon/u10156.png'
- import d4 from '@/assets/icon/u10160.png'
- import j1 from '@/assets/icon/u10140.png'
- import j2 from '@/assets/icon/u10144.png'
- import q1 from '@/assets/icon/u9681.png'
- import q2 from '@/assets/icon/u10115.png'
- import q3 from '@/assets/icon/u9987.png'
- import q4 from '@/assets/icon/u3868.png'
- import q5 from '@/assets/icon/u10048.png'
- import q6 from '@/assets/icon/u10068.png'
- import adilog from "@/assets/hcfd_images/adilog.png";
- import Pagination from '@/components/Pagination'
- import { Message, MessageBox } from "element-ui";
- import store from "@/store";
- import UgridLoad from "./loads/UgridLoad.vue";
- import VolumLoad from "./loads/VolumLoad.vue";
- import { request, uploadFile } from "@/utils/request";
- import vueUploader from "./fileupload.vue";
- import filesload from "./filesload.vue";
- import { Caegw_ProUrl } from "@/settings"; // 引入settings.js
- import loading from "./loading.vue";
- import transformtool from "./loads/transformtool.vue";
- import echartsHFCD from "./echartsHFCD.vue";
- import TFileStream from "./TFileStream.vue";
- export default {
- components:{geometry,meshindex, vueUploader,
- filesload,
- loading,
- UgridLoad,
- VolumLoad,
- transformtool,
- Pagination,
- // vtkLoad,
- echartsHFCD,
- TFileStream,},
- // websocket,},
- props:{
- objopp:String,
- pid:String,
- femnum:String,
- elodingfalse:{
- type:Boolean,
- default(){
- return false
- }
- }
- },
- data() {
- return {
- checked:false,
- solverConfigid:'',
- mcnames:'apply1',
- formLabelWidth: '60px',
- formLabelWidth2:'73px',
- formLabelWidth4:'37px',
- formLabelWidth5:'100px',
- formLabelWidth6:'120px',
- formLabelWidth7:'170px',
- switchvalue: '1',
- styX:{
- left:''
- },
- t1,
- t2,
- t3,
- t4,
- t5,
- w1,
- w2,
- w3,
- w4,
- w5,
- w6,
- d1,
- d2,
- d3,
- d4,
- j1,
- j2,
- q1,
- q2,
- q3,
- q4,
- q5,
- q6,
- visibles:false,
- restime:'',
- numzhexian:'',
- newlog:'',
- luobj:{
- projectName:'',
- projectId:'',
- projectDesc:'',
- },
- // current:0,
- lsolverState:"2",
- footerShow:true,
- bMesh:0,
- bContour:1,
- vMesh:0,
- vContour:1,
- name:"New",
- xiugai:{},
- Surfacenum: 3,
- Volumenum:3,
- clearobj:{
- projectId:'',
- fileType:'',
- step:Number
- },
- servertype:'ugrid',
- tstep:Number,
- wstep:'0',
- step:'0',
- srsurl:'ugrid',
- footerval:'on',
- top:'50px',
- formLabelWidth1:'70px',
- formLabelWidth3:'180px',
- visiable:false,
- dialogFormVisible: false,
- form1: {
- ssd: '',
- kelvins:'',
- delivery: false,
- type: [],
- resource: '',
- desc: ''
- },
- sum:"",
- formLabelWidth: '120px',
- adilog: adilog,
- activeName: 'one',
- tabPosition: 'bottom',
- showtrue:true,
- drawer: true,
- direction: 'rtl',
- twolist:[
- { icon:t1, titlie:'缩放'},
- {icon:t2, titlie:'平移'},
- {icon:t3, titlie:'旋转'},
- {icon:t4, titlie:'分析类型'},
- {icon:t5, titlie:'并行类型'},
- ],
- physicslist:[
- { icon:w1, titlie:'控制方程'},
- ],
- physicslist2:[
- { icon:w2, titlie:'粘性模型'},
- // {icon:"icon-d-glassware", titlie:'层流'},
- // {icon:"icon-xunhuanbofang", titlie:'湍流'},
- { icon:w3, titlie:'边界条件'},
- {icon:w4, titlie:'运动网格'},
- ],
- physicslist1:[
-
- { icon:w5, titlie:'参考条件'},
- { icon:w6, titlie:'非惯性参考系'}
- ],
- solutionlist:[
- { icon:q1, titlie:'无粘通量方法'},
- { icon:q2, titlie:'时间推进格式'},
- ],
- solutionlist2:[
- { icon:q3, titlie:'线性方程组求解参数'},
- { icon:q4, titlie:'初始化'},
- ],
- solutionlist3:[
- { icon:q5, titlie:'运行控制'},
- { icon:q6, titlie:'输出控制'},
- ],
- solutionlist4:[
- { icon:"icon-xitongcanshupeizhi", titlie:'Advanced Option_特殊的参数'},
- { icon:"icon-icon", titlie:'Advanced Option_Swap Y-Z Axres'},
- { icon:"icon-yunhang", titlie:'运行'},
- { icon:"icon-quxiantu", titlie:'Monitor'},
- { icon:"icon-tuxingtuxiangchuli", titlie:'资源选择'},
- ],
- resultslist:[
- // { icon:"icon-cankaowenjian", titlie:'下载求解结果'},
- { icon:j1, titlie:'物面数据'},
- { icon:j2, titlie:'流场数据'},
- ],
- unitlist:[
- { icon:d1, titlie:'单位换算'},
- { icon:d2, titlie:'Y+计算器'},
- { icon:d3, titlie:'雷诺数计算'},
- ],
- selectlist1:[
- {value:'inviscid',name:'无粘'},
- {value:'laminar',name:'层流'},
- {value:'turbulent',name:'湍流'},
- ],
- selectlist2:[
- {value:'sa',name:'SA'},
- {value:'k-omega-sst',name:'Menter-SST'},
- {value:'sa-des',name:'SA-DES'},
- {value:'k-omega-des',name:'k-omega-DES'},
- {value:'linear-k-epsilon',name:'Linear-k-epsilon'},
- {value:'abid-k-epsilon',name:'Abid-k-epsilon'},
- {value:'menter-sst-les',name:'Menter-SST-LES'},
- {value:'Wilcox-les',name:'Wilcox-LES'},
- ],
- qjklist:[
- {value:'roe',name:'Roe'},
- {value:'vanleer',name:'vanleer'},
- {value:'hllc',name:'HLLC'},
- {value:'aufs',name:'AUFS'},
- {value:'central_diss',name:'Central_Diss'},
- {value:'dlfss',name:'LDFSS'},
- {value:'stvd',name:'STVD'},
- {value:'stvd_modified',name:'STVD_modified'},
- ],
- qjklist2:[
- {value:'none',name:'none'},
- {value:'barth',name:'barth'},
- {value:'venkat',name:'venkat'},
- {value:'minmod',name:'minmod'},
- {value:'vanleer',name:'vanleer'},
- {value:'vanalbada',name:'vanalbada'},
- {value:'smooth',name:'smooth'},
- {value:'hminmod',name:'hminmod'},
- {value:'hvanleer',name:'hvanleer'},
- {value:'hvanalbada',name:'hvanalbada'},
- {value:'hsmooth',name:'hsmooth'},
- {value:'hvenkat',name:'hvenkat'},
- ],
- qjklist3:[
- {value:'roe',name:'Roe'},
- {value:'central_difference',name:'Central_Difference'},
- {value:'hllc',name:'HLLC'},
- {value:'aufs',name:'AUFS'},
- {value:'dlfss',name:'LDFSS'},
- ],
- ydlist:[
- {value:'0',name:'刚体'},
- {value:'1',name:'变形'},
- ],
- tlist1:[
- {value:'steady',name:"定常"},
- {value:'1storder',name:'1阶差分'},
- {value:'2ndorder',name:'2阶差分'},
- {value:'2ndorderOPT',name:'最优2阶差分'},
- {value:'3rdorder',name:'4阶差分'},
- {value:'4thorderMEBDF4',name:'4阶差分'},
- {value:'4thorderESDIRK4',name:'4阶差分'},
- ],
- ydval:'0',
- ydlist2:[
- {value:'0',name:'平动'},
- {value:'1',name:'转动'},
- ],
- ydval2:'0',
- ydlist3:[
- {value:'0',name:'匀速'},
- {value:'1',name:'正弦'},
- ],
- ydval3:'0',
- ydlist4:[
- {value:'0',name:'随体运动'},
- {value:'1',name:'空间固定'},
- ],
- ydval4:'0',
- loadlist:[
- {value:'0',name:'盒子'},
- {value:'1',name:'球'},
- {value:'2',name:'圆柱'},
- {value:'4',name:'圆锥'},
- ],
- loadval:'0',
- objectplanelist:[
- {value:'0',name:' 物面输出'},
- {value:'1',name:'流场输出'},
- ],
- objectplaneval:'0',
- active:'',
- //大对象
- ziyprojects:[],
- paginationConfig: {
- hideSinglePage: false,
- page: 1,
- size: 15,
- sizeList: [10, 15, 30, 50],
- layout: 'total, sizes, prev, pager, next, jumper',
- total: 0,
- },
- getRowKeys(row) {
- return row.id;
- },
- selsectid:[],
- missType:true,
- initialization: "freestreams",
- upVisible: false,
- Yvisiable: false,
- llsvisiable: false,
- newload: true,
- runMonitor: true,
- contourLevel: 3,
- form: {
- u_freestream: "",
- rho: "",
- L: "",
- mu: "",
- y_plus_desired: "",
- dtc: "",
- md: "",
- ls: "",
- cd: "",
- Rex: "",
- Re: "",
- lys: "",
- lmi: "",
- ldlzxxs: "",
- lld: "",
- Re: "",
- dtc: "",
- lls: "",
- },
- uploadlist: [
- {
- name: "mapbc",
- percentage: 0,
- },
- {
- name: "ugrid",
- percentage: 0,
- },
- ],
- ContourSurface: false,
- adilog: adilog,
- loading: loading,
- headMenu_2Show: false,
- leftMenu_2Show: false,
- gennealShow: false,
- physicsShow: false,
- solutionShow: false,
- resultShow: false,
- Consoleshow: true,
- openshow:false,
- TaskGenealshow: false,
- TaskPhysicsshow: false,
- TaskSolutionshow: false,
- TaskSurfaceshow: false,
- TaskVolumeshow: false,
- ugridUrl: "",
- bload: null,
- websock: null,
- logs: "欢迎来到HCFD",
- islogload: true, //控制log请求(ture 发起 false 不发起)
- outline: "OutLine",
- fileNames: [],
- belementCheckeds: ["Contour"],
- boundaryStep: [],
- bStep: 0,
- boundaryScalars: [],
- bScalar: "cp",
- velementCheckeds: ["Contour"],
- vStep: 0,
- volumStep: [],
- volumScalars: [],
- vSalar: "p",
- isSolverEnd: false, //判断是否求解完成
- solverState: "0", //求解状态(0-未求解 1-求解中 2-求解完成)
- menuList: [
- {
- id: "1",
- label: "Setup",
- children: [
- {
- id: "2",
- label: "General",
- },
- {
- id: "3",
- label: "Physics",
- },
- {
- id: "4",
- label: "Solution",
- },
- ],
- },
- {
- id: "5",
- label: "Results",
- children: [
- {
- id: "6",
- label: "Monitor",
- },
- {
- id: "7",
- label: "Surface Grid",
- },
- {
- id: "8",
- label: "Volume Grid",
- },
- {
- id: "9",
- label: "Ugrid",
- },
- ],
- },
- ],
- dialog: {
- //弹出框 控制
- new_visiable: false,
- load_visiable: false,
- ziyuan:false,
- upload_visiable: false,
- scale_visiable: false,
- translation_visiable: false,
- rotation_visiable: false,
- type_visiable:false,
- parallel_visiable:false,
- equation_visiable:false,
- inviscid_visiable:false,
- laminar_visiable: false,
- turbulent_visiable: false,
- dynamic_visiable:false,
- nonitertial_visiable:false,
- border_visiable:false,
- reference_visiable: false,
- fluxrc_visiable: false,
- time_visiable: false,
- timeasm_visiable: false,
- xian_visiable:false,
- initialization_visiable:false,
- specified_visiable: false, //未完成
- runc_visiable: false,
- boundaryo_visiable: false,
- volumeo_visiable: false,
- specialp_visiable: false,
- swap_visiable: false,
- SurfaceGrid_visiable:false,
- VolumeGrid_visiable:false,
- },
- geneal: {
- //数据存储
- MeshTransform: {
- Scale: {
- Factor: 0,
- },
- Translation: {
- Distance: 0,
- X: 1,
- Y: 0,
- Z: 0,
- },
- Rotation: {
- Angle: 0,
- X: 0,
- Y: 0,
- Z: 0,
- X1: 1,
- Y1: 0,
- Z1: 0,
- },
- },
- },
- Physics: {
- Turbulent: {
- TurbulentPrandtlNumber: 0.9,
- },
- Boundary: {
- bquery: null, //hcfdBoundary 选中数据 id
- hcfdBoundaryquery: null, //hcfdBoundary 选中数据
- cquery: null,
- /* 黎曼远场边界(Farfield) 5000
- * 自由来流边界(Freestream)5050
- * 无粘壁面(Inviscous Wall) 3000
- * 粘性壁面(Viscous Wall)4000
- * X-对称平面(X-symmetry Plane)6661
- * Y-对称平面(Y-symmetry Plane ) 6662
- * Z-对称平面Z-symmetry Plane) 6663
- * 周期边界(Periodic) 6100*/
- Conditions: [
- { conditionsCode: 5000, name: "Farfield" },
- { conditionsCode: 5050, name: "Freestream" },
- { conditionsCode: 3000, name: "Inviscous Wall" },
- { conditionsCode: 4000, name: "Viscous Wall" },
- { conditionsCode: 6661, name: "X-symmetry Plane" },
- { conditionsCode: 6662, name: "Y-symmetry Plane" },
- { conditionsCode: 6663, name: "Z-symmetry Plane" },
- { conditionsCode: 6100, name: "Periodic" },
- ],
- },
- },
- Solution: {
- boundaryout: {
- checkAll: false,
- checkeds: [],
- lists: [
- "X-component of velocity",
- "Y-component of velocity",
- "Z-component of velocity",
- "Press",
- "Press coefficient",
- "Mach Number",
- "Vorticity magnitude",
- "X-component of vorticity",
- "Y-component of vorticity",
- "Z-component of vorticity",
- "Q Criterion",
- ],
- isIndeterminate: true,
- },
- volumout: {
- checkAll: false,
- checkeds: [],
- lists: [
- "X-component of velocity",
- "Y-component of velocity",
- "Z-component of velocity",
- "Press",
- "Press coefficient",
- "Mach Number",
- "Vorticity magnitude",
- "X-component of vorticity",
- "Y-component of vorticity",
- "Z-component of vorticity",
- "Q Criterion",
- ],
- isIndeterminate: true,
- },
- },
- //state -1,0 ,1
- //message
- //type 1 一般 2 下载
- loadObjs: [],
- loadVVisiable: false,
- loading: false,
- fileurls: [],
- project: {
- projectId: "",
- lesseeId:'',
- projectName: "",
- projectType: "hcfd",
- projectDesc: "",
- fileType: "ascii",
- solverfiles: [],
- solverVolumUrls: [],
- solverBoundaryUrls: [],
- loadfils: [],
- converge: "",
- uid: "",
- },
- projects: [],
- parameterObjclone: [],
- parameterObj: {
- hcfdBoundarys: [
- {
- name: "WING1",
- id: 1,
- conditionsCode: 3000,
- },
- ],
- nmlParam: {
- a_vort_mag: "false",
- case_title: "case_name",
- angle_of_yaw: 0,
- x_moment_center: 0,
- eqn_type: "cal_perf_incompress",
- schedule_cfl: [0, 0],
- swap_yz_axes: "false",
- v_vort_mag: "false",
- pseudo_time_stepping: "on",
- meanflow_sweeps: 15,
- a_p: "true",
- a_u: true,
- a_w: "true",
- a_v: "true",
- dynamic_Mesh: "off",
- jacobian_eval_freq: 10,
- turb_model: "menter-sst",
- grid_format: "aflr3",
- turbulence_sweeps: 10,
- mach_number: 0.5,
- y_moment_length: 1,
- area_reference: 1,
- flux_limiter: "none",
- a_cp: "true",
- viscous_terms: "turbulent",
- volume_animation_freq: 100,
- steps: 1500,
- flux_construction_lhs: "roe",
- stopping_tolerance: 2.0e-1,
- prandtlnumber_molecular: 0.72,
- restart_write_freq: 250,
- v_vort_x: "false",
- schedule_iteration: [1, 50],
- v_vort_y: "false",
- v_vort_z: "false",
- line_implicit: "off",
- temperature_units: "Rankine",
- number_of_Processors: 2,
- x_moment_length: 1,
- time_accuracy: "steady",
- angle_of_attack: 0,
- subiterations: 0,
- artificial_compress: 15,
- a_q_criterion: "false",
- schedule_cflturb: [50, 50],
- schedule: 1,
- first_order_iterations: 0,
- restart_read: "off",
- temperature: 490,
- input_version: 2.2,
- namelist_verbosity: "off",
- ignore_euler_number: "false",
- data_format: "ascii",
- v_cp: "true",
- time_step_nondim: 0,
- a_mach: "true",
- large_angle_fix: "off",
- v_p: "true",
- animation_freq: 100,
- v_mach: "true",
- project_rootname: "tf",
- v_v: "true",
- v_q_criterion: "false",
- v_u: "true",
- y_moment_center: 0,
- v_w: true,
- z_moment_center: 0,
- parallel_Optional: "Serial",
- analysis_Type: "Steady",
- noninertial_Reference_Frame: "off",
- flux_construction: "roe",
- a_vort_z: "false",
- a_vort_y: "false",
- a_vort_x: "false",
- reynolds_number: 1000000,
- },
- },
- renderer_hight: 500,
- renderer_width: 500,
- showUgridflag: false, //ugrid 是否显示过
- showSurfaceflag: false, //surface 是否显示过
- showVolumeflage: false, //Volume 是否显示过
- showMonitorflage: false, //Monitor是否显示过
- };
- },
- created(){
- },
- mounted() {
- this.init();
- },
- // destroyed() {
- // this.websock.close() //离开路由之后断开websocket连接
- // },
- methods:{
- //数据加载参数配置obj
- hcfdchange(obj,solverConfigid){
- this.parameterObj = JSON.parse(obj);
- sessionStorage.setItem("res", obj);
- this.solverConfigid=solverConfigid;
- },
- //更新参数配置
- hcfdparam(){
- const params = {
- transCode: 'C00004',
- solverConfigid: this.solverConfigid,
- parameterObj: JSON.stringify(this.parameterObj),
- }
- request(params)
- .then((res) => {
- this.$parent.solverchange(this.femnum);
- })
- .catch((err) => {
- })
- },
- // 新版求解控制
- Runsolve(){
- this.hcfdparam();
- this.dialog.runc_visiable = false;
- // this.hcfdExe();
- this.hcfdrun();
- },
- hcfdExe(){
- var _this = this;
- let params = {
- transCode: "C00005",
- solverConfigId:this.solverConfigid,
- };
- request(params)
- .then((res) => {
- Message({
- type: "success",
- message:res.returnMsg,
- });
-
- })
- .catch((err) => {
- setTimeout(function () {
- _this.$refs.loading.visiable = false;
- }, 4000);
- if (err.returnCode == "EB8100017") {
-
- MessageBox.confirm("你还未分配资源?", "提示", {
- confirmButtonText: "分配资源",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- let errUril =
-
- _this.$store.getters.proUrl +
- "?projectId=" +
- _this.project.projectId;
- let params2 = {
- transCode: "A00118",
- lesseeId: _this.$store.getters.lesseeId
- };
- request(params2)
- .then((res) => {
- window.location.href =
- errUril + "&authCode=" + res.authCode;
- })
- .catch((err) => {});
- })
- .catch(() => {
- _this.$refs.loading.visiable = false;
- Message({
- type: "info",
- message: "已取消",
- });
- });
- }
- });
- },
- /**
- * 更新配置 并求解
- */
- async hcfdrun() {
- if (this.solverState == "2") {
- //上次求解完成
- MessageBox.confirm(
- "已完成计算,是否放弃上次计算结果,重新计算? 如果不放弃请自行下载上次结果文件!",
- "提示",
- {
- confirmButtonText: "重新计算",
- cancelButtonText: "取消",
- type: "warning",
- }
- )
- .then(() => {
- MessageBox.close();
- this.$emit("exlodingfalse",true)
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- // if (!isStop && !_this.isSolverEnd) {
- this.$parent.fun();
- // }
-
- })
- .catch(() => {
- Message.info("已取消!");
- MessageBox.close();
- this.$emit("exlodingfalse",false)
- });
- } else {
- this.$emit("exlodingfalse",true)
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- // if (!isStop && !_this.isSolverEnd) {
- isStop = true;
- this.$parent.fun();
- // }
- }
- },
- // 求解的日志
- getlog(){
- let params = {
- transCode: "C00006",
- pid:this.project.projectId,
-
- };
- request(params)
- .then((res) => {
- let rows = res.rows;
- console.log(rows);
-
- })
- .catch((err) => {
-
- });
- },
- handleClick(tab, event) {
- // if(this.activeName=='five'){
- // let params = {
- // transCode: "A00107",
- // projectId: this.project.projectId,
- // };
- // request(params)
- // .then((res) => {
- // this.lsolverState=res.solverState;
- // } )
- // if(this.lsolverState=='2'){
- // // this.resultdata();
- // }else{
- // Message({
- // type: "warning",
- // message: "求解未完成,请完成求解",
- // });
- // }
- // }else{
- // }
- // this.activecleer();
- },
- activecleer(){
- this.active=11;
- },
- //模块选择
- clickgeometry(e,index,key){
- var e=e||window.Event
- this.styX.left=e.clientX+'px';
- this.active=key;
- console.log(key);
- switch(key){
- case 'info1-0':
- this.name="New"
- this.clickNew();
- break;
- case 'info1-1':
- this.loadProjects();
- break;
- case 'info1-2':
- this.name="amend"
- this.clickNew();
- break;
- case 'two-0':
- this.dialog.scale_visiable = true;
- break;
- case 'two-1':
- this.dialog.translation_visiable= true;
- break;
- case 'two-2':
- this.dialog.rotation_visiable= true;
- case 'two-3':
- this.dialog.type_visiable= true;
- break;
- case 'two-4':
- this.dialog.parallel_visiable= true;
- break;
- case 'three-0':
- this.dialog.equation_visiable= true;
- break;
- case 'three2-0':
- this.dialog.inviscid_visiable= true;
- break;
- case 'three2-1':
- this.dialog.border_visiable= true;
- break;
- case 'three2-2':
- this.dialog.dynamic_visiable= true;
- break;
- case 'three1-0':
- this.dialog.reference_visiable = true;
- break;
- case 'three1-1':
- this.dialog.nonitertial_visiable = true;
- break;
- case 'four-0':
- this.dialog.fluxrc_visiable = true;
- break;
- case 'four-1':
- this.dialog.time_visiable = true;
- break;
- case 'four2-0':
- this.dialog.xian_visiable = true;
- break;
- case 'four2-1':
- this.dialog.initialization_visiable = true;
- break;
- case 'four3-0':
- this.dialog.runc_visiable = true;
- break;
- case 'four3-1':
- this.dialog.boundaryo_visiable = true;
- break;
- case 'four4-0':
- this.dialog.specialp_visiable = true;
- break;
- case 'four4-1':
- this.dialog.swap_visiable = true;
- break;
- case 'four4-2':
- this.hcfdrun(true);
- break;
- case 'four4-3':
- break;
- case 'four4-4':
- break;
- case 'five-0':
- this.dialog.SurfaceGrid_visiable = true;
- break;
- case 'five-1':
- this.dialog.VolumeGrid_visiable = true;
- break;
- case 'six-0':
- this.visiable=true;
- break;
- case 'six-1':
- this.Yvisiable= true;
- break;
- case 'six-2':
- this.llsvisiable = true;
- break;
- }
- },
- //清除相关信息
- clearAll() {
- this.showUgridflag = false; //ugrid 是否显示过
- this.showSurfaceflag = false; //surface 是否显示过
- this.showVolumeflage = false; //Volume 是否显示过
- this.showMonitorflage = false;
- this.islogload = true;
- this.logs = "";
- this.project = {
- projectId: "",
- projectName: "",
- projectType: "hcfd",
- projectDesc: "",
- fileType: "ascii",
- solverfiles: [],
- solverVolumUrls: [],
- solverBoundaryUrls: [],
- loadfils: [],
- converge: "",
- };
- },
- init() {
-
- this.project.projectId = this.pid; //获取url 参数
- this.project.lesseeId = this.$store.getters.lesseeId; //获取url 参数
-
- if (
- this.project.projectId != undefined &&
- this.project.projectId != null
- ) {
- // this.selectProjectOK();
- }
- this.missType=true
- },
-
- logtime(){
- let self = this;
- let projectId = self.project.projectId;
- if (projectId != null && projectId != "" && self.islogload) {
- self.islogload = false;
- let params = {
- transCode: "A00112",
- projectId: projectId,
- page: 0,
- count: 30,
- };
- request(params)
- .then((res) => {
- console.log(res)
- let rows = res.rows;
- self.logs = ""; //只显示最新的数据
- rows.forEach((row) => {
- self.logs = row.log + "\n" + self.logs;
- if (row.log.indexOf("Solver end") > 0) {
- self.isSolverEnd = true;
- }
- });
- self.islogload = true;
- })
- .catch((err) => {
- self.islogload = true;
- });
- }
- },
- setVolumScalars(scalars) {
- console.log(scalars)
- this.volumScalars = scalars;
- },
- // 工具栏的点击事件
- yCalchange() {
- this.Yvisiable = true;
- },
- reyCalchange() {
- this.llsvisiable = true;
- },
- atmoCalchange() {},
- // 弹框执行事件
- // 弹框执行事件
- referencevisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- // this.dialog.scale_visiable = false;
- },
-
- timeasmvisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- this.dialog.timeasm_visiable = false;
- },
- runcvisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- this.dialog.runc_visiable = false;
- },
- // this.$emit("visiable",this.visiable);
- dialogbtnkew(){
- this.form1.ssd="";
- var kelvins=parseFloat(this.form1.kelvins)
- this.form1.ssd = this.accAdd(kelvins,273.15);
- // this.form.ssd = Math.floor((parseInt(this.form.kelvins) * 100) / 100)-273.15
- if( this.form1.ssd <0){
- this.form1.ssd =0;
- }
-
- },
- accAdd(arg1,arg2){
- var r1,r2,m;
- try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
- try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
- m=Math.pow(10,Math.max(r1,r2))
- return (arg1*m-arg2*m)/m
- },
-
- dialogbtnssd(){
- this.form1.kelvins="";
- var ssd=parseFloat(this.form1.ssd)
- this.form1.kelvins= this.accAdd(ssd ,-273.15);
- //this.form.kelvins = Math.floor((parseInt(this.form.ssd) * 100) / 100) +273.15
- },
- dialogbtny() {
- let u_freestream = eval(this.form.u_freestream);
- if (u_freestream <= 0.0) {
- alert("Free stream velocity must be greater than zero");
- return;
- }
- let rho = eval(this.form.rho);
- if (rho <= 0.0) {
- alert("Density must be greater than zero");
- return;
- }
- let L = eval(this.form.L);
- if (L <= 0.0) {
- alert("Boundary layer reference length must be greater than zero");
- return;
- }
- let mu = eval(this.form.mu);
- if (mu <= 0.0) {
- alert("Dynamic viscosity must be greater than zero");
- return;
- }
- let y_plus_desired = eval(this.form.y_plus_desired);
- if (y_plus_desired <= 0.0) {
- alert("Desired y+ value must be greater than zero");
- return;
- }
- let Re = (rho * u_freestream * L) / mu;
- let C_f = 0.026 * Math.pow(Re, -(1.0 / 7.0));
- C_f = 0.0576 * Math.pow(Re, -1.0 / 5.0);
- C_f = 0.37 * Math.pow(Math.log(Re) / Math.log(10), -2.584);
- C_f = Math.pow((2 * Math.log(Re)) / Math.log(10) - 0.65, -2.3);
- let tau_w = C_f * 0.5 * rho * u_freestream * u_freestream;
- let U_f = Math.sqrt(tau_w / rho);
- let wall_distance_estimation = (y_plus_desired * mu) / (U_f * rho);
- this.form.Rex = Re.toExponential(1);
- this.form.dtc = wall_distance_estimation.toExponential(1);
- },
- leinsdialogbtny() {
- this.form.Re =
- (this.form.lmi * this.form.lls * this.form.lld) / this.form.ldlzxxs;
- // console.log(this.form.Re);
- },
- unitConversion() {
- this.$refs.Calculator.visiable = true;
- },
- taskchangGeneal() {
- this.TaskGenealshow = false;
- },
- taskchangPhysics() {
- this.TaskPhysicsshow = false;
- },
- taskchangSolution() {
- this.TaskSolutionshow = false;
- },
- taskchangSurface() {
- this.TaskSurfaceshow = false;
- },
- taskchangVolume() {
- this.TaskVolumeshow = false;
-
- },
- // Contour
- showLeftMenu(emt) {
- this.leftMenu_2Show = true;
- },
- uploadRequest1(params) {
- let param = new FormData();
- param.append("transCode", "A00102");
- param.append("file", params.file);
- param.append("projectId", this.project.projectId);
- uploadFile(param)
- .then((res) => {
- // console.log(res);
- // this.fileId = res.fileId
- this.findParam();
- this.getHCFDLoadFiles();
- })
- .catch((err) => {});
- },
- uploadRequest2(params) {
- let param = new FormData();
- param.append("transCode", "A00102");
- param.append("file", params.file);
- param.append("projectId", this.project.projectId);
- uploadFile(param)
- .then((res) => {
- // console.log(res);
- // this.fileId = res.fileId
- this.findParam();
- })
- .catch((err) => {});
- },
- //获取上传文件
- async getHCFDLoadFiles() {
- let params = {
- transCode: "A00110",
- projectId: this.project.projectId,
- };
- await request(params)
- .then((res) => {
- this.project.loadfils = res.files;
- this.fileNames = [];
- res.files.forEach((url) => {
- let names = url.filepath.split("/");
- let name = names[names.length - 1];
- this.fileNames.push(name);
- });
- })
- .catch((err) => {});
- },
- /**
- * 更新配置 并求解
- */
- //选择step
- bStepChange(val){
- this.bStep=val;
- if(this.bStep==0){
- Message({
- type: "warning",
- message: "请选择setp有效值",
- });
- }else{
- this.showboundary();
- }
- },
- //选择step
- vStepChange(val){
- this.vStep=val;
- if(val==0){
- Message({
- type: "warning",
- message: "请选择setp有效值",
- });
- }else{
- this.Volumeshow();
- }
- },
- // 表面加载
- SurfaceChange(value){// 选择色条个数
- this.Surfacenum=value;
- },
- // 体积
- VolumenumChange(value){// 选择色条个数
- this.Volumenum=value;
- },
- async reUpload() {
- this.$refs.mapbc.uploader.upload();
- this.$refs.ugrid.uploader.upload();
- },
- async ugridShow() {
- if (
- this.project.projectId == "" ||
- this.project.projectId == undefined ||
- this.project.projectId == null
- ) {
- Message({
- type: "error",
- message: "缺少文件,请检查修改",
- });
- } else {
- this.dialog.new_visiable = false;
- this.tstep=0;
- this.clearserver();
- this.initWebSocket();
- }
- },
- async findParam() {
- let params = {
- transCode: "A00107",
- projectId: this.project.projectId,
- };
- // console.log(params);
- await request(params)
- .then((res) => {
- // console.log("findParam:" + res);
- this.project.projectName = res.projectName;
- this.project.uid = res.uid;
- let cjuserid = this.$route.query.cjuserid;
- sessionStorage.setItem('projectName',res.projectName)
- if(res.missionType==='3'||res.missionType==='4'){
- this.missType=false
- }else{
- this.missType=true
- }
-
- console.log(this.parameterObj)
- this.parameterObj = JSON.parse(res.parameterObj);
- sessionStorage.setItem("res", res.parameterObj);
- this.lsolverState=res.solverState;
- })
- .catch((err) => {});
- },
- //上传配置参数
- async updateParam() {
- delete this.parameterObj.nmlParam.initialization;
- let params = {
- transCode: "A00104",
- parameterObj: JSON.stringify(this.parameterObj),
- projectId: this.project.projectId,
- lesseeId: this.$store.getters.lesseeId
- };
- console.log(this.parameterObj.nmlParam.a_u);
- console.log(this.parameterObj);
- await request(params)
- .then((res) => {
- this.solverState = res.solverState;
- })
- .catch((err) => {});
- },
- loadProjects() {
- this.dialog.load_visiable=true;
- let params = {
- transCode: "A00101",
- page: 1,
- size: 1,
- projectType: "hcfd",
- lesseeId: this.$store.getters.lesseeId
- };
- this.loading = true;
- request(params)
- .then((res) => {
- this.projects = res.rows;
- this.loading = false;
- })
- .catch((err) => {});
- },
- projectsSelectionChange(val) {
- this.clearAll();
- if (val.length == 1) {
- this.project.projectId = val[0].projectId;;
- this.project.projectName =val[0].projectName;
- this.project.projectDesc = val[0].projectDesc;
-
- this.xiugai=val[0];
- } else if (val.length > 1) {
- this.project.projectId = val[1].projectId;;
- this.project.projectName =val[1].projectName;
- this.project.projectDesc = val[1].projectDesc;
- this.xiugai=val[1];
- }
-
- },
- projectsSelectionSelect(selection, row) {
- if (selection.length <= 1) return;
- this.$refs.projectsTable.clearSelection();
- this.$refs.projectsTable.toggleRowSelection(row, true);
- },
- //load状态回调
- fileLoadeState(files) {
- files.forEach((file) => {
- this.loadObjs.forEach((obj) => {
- if (obj.type == 2) {
- if (obj.filename === file.name) {
- obj.percentage = file.percentage;
- }
- }
- if (obj.type == 1) {
- // obj.message=file.message;
- }
- });
- });
- },
- boundaryChange(boundaryid) {
- this.parameterObj.hcfdBoundarys.forEach((hcfdBoundary) => {
- if (hcfdBoundary.id === boundaryid) {
- this.Physics.hcfdBoundaryquery = hcfdBoundary;
- this.Physics.Boundary.cquery = hcfdBoundary.conditionsCode;
- return;
- }
- });
- },
- conditionsChange(conditionsCode) {
- this.Physics.hcfdBoundaryquery.conditionsCode = conditionsCode;
- },
-
- solutionbCheckAllChange(val) {
- if(val==true){
- this.parameterObj.nmlParam.a_u = true;
- this.parameterObj.nmlParam.a_v = true;
- this.parameterObj.nmlParam.a_w = true;
- this.parameterObj.nmlParam.a_p = true;
- this.parameterObj.nmlParam.a_cp = true;
- this.parameterObj.nmlParam.a_mach = true;
- this.parameterObj.nmlParam.a_vort_mag = true;
- this.parameterObj.nmlParam.a_vort_x = true;
- this.parameterObj.nmlParam.a_vort_y = true;
- this.parameterObj.nmlParam.a_vort_z = true;
- this.parameterObj.nmlParam.a_q_criterion = true;
- this.Solution.boundaryout.isIndeterminate = false;
- //this.solutionbSetParam();
- }else {
-
- this.parameterObj.nmlParam.a_u = false;
- this.parameterObj.nmlParam.a_v = false;
- this.parameterObj.nmlParam.a_w = false;
- this.parameterObj.nmlParam.a_p = false;
- this.parameterObj.nmlParam.a_cp = false;
- this.parameterObj.nmlParam.a_mach = false;
- this.parameterObj.nmlParam.a_vort_mag = false;
- this.parameterObj.nmlParam.a_vort_x = false;
- this.parameterObj.nmlParam.a_vort_y = false;
- this.parameterObj.nmlParam.a_vort_z = false;
- this.parameterObj.nmlParam.a_q_criterion = false;
- this.Solution.boundaryout.isIndeterminate = false;
- }
-
-
- },
- solutionbCheckedCitiesChange(value) {
- let checkedCount = value.length;
- this.Solution.boundaryout.checkAll =
- checkedCount === this.Solution.boundaryout.lists.length;
- this.Solution.boundaryout.isIndeterminate =
- checkedCount > 0 &&
- checkedCount < this.Solution.boundaryout.lists.length;
- this.solutionbSetParam();
- },
- solutionbSetParam() {
- this.Solution.boundaryout.checkeds.forEach((cell) => {
- switch (cell) {
- case "X-component of velocity":
- console.log( this.parameterObj.nmlParam.a_u);
- this.parameterObj.nmlParam.a_u = true;
- break;
- case "Y-component of velocity":
- this.parameterObj.nmlParam.a_v = true;
- break;
- case "Z-component of velocity":
- this.parameterObj.nmlParam.a_w = true;
- break;
- case "Press":
- this.parameterObj.nmlParam.a_p = true;
- break;
- case "Press coefficient":
- this.parameterObj.nmlParam.a_cp = true;
- break;
- case "Mach Number":
- this.parameterObj.nmlParam.a_mach = true;
- break;
- case "Vorticity magnitude":
- this.parameterObj.nmlParam.a_vort_mag = true;
- break;
- case "X-component of vorticity":
- this.parameterObj.nmlParam.a_vort_x = true;
- break;
- case "Y-component of vorticity":
- this.parameterObj.nmlParam.a_vort_y = true;
- break;
- case "Z-component of vorticity":
- this.parameterObj.nmlParam.a_vort_z = true;
- break;
- case "Q Criterion":
- this.parameterObj.nmlParam.a_q_criterion = true;
- break;
- default:
- break;
- }
-
- });
-
- },
-
- solutionvCheckAllChange(val) {
- // this.Solution.volumout.checkeds = val ? this.Solution.volumout.lists : [];
- // this.Solution.volumout.isIndeterminate = false;
- // this.solutionbSetParam();
- if(val==true){
- this.parameterObj.nmlParam.v_u = true;
- this.parameterObj.nmlParam.v_v = true;
- this.parameterObj.nmlParam.v_w = true;
- this.parameterObj.nmlParam.v_p = true;
- this.parameterObj.nmlParam.v_cp = true;
- this.parameterObj.nmlParam.v_mach = true;
- this.parameterObj.nmlParam.v_vort_mag = true;
- this.parameterObj.nmlParam.v_vort_x = true;
- this.parameterObj.nmlParam.v_vort_y = true;
- this.parameterObj.nmlParam.v_vort_z = true;
- this.parameterObj.nmlParam.v_q_criterion = true;
- }else{
- this.parameterObj.nmlParam.v_u = false;
- this.parameterObj.nmlParam.v_v = false;
- this.parameterObj.nmlParam.v_w = false;
- this.parameterObj.nmlParam.v_p = false;
- this.parameterObj.nmlParam.v_cp = false;
- this.parameterObj.nmlParam.v_mach = false;
- this.parameterObj.nmlParam.v_vort_mag = false;
- this.parameterObj.nmlParam.v_vort_x = false;
- this.parameterObj.nmlParam.v_vort_y = false;
- this.parameterObj.nmlParam.v_vort_z = false;
- this.parameterObj.nmlParam.v_q_criterion = false;
- this.Solution.volumout.isIndeterminate = false;
- }
- },
- solutionvCheckedCitiesChange(value) {
- let checkedCount = value.length;
- console.log(value);
- this.Solution.volumout.checkAll =
- checkedCount === this.Solution.volumout.lists.length;
- this.Solution.volumout.isIndeterminate =
- checkedCount > 0 && checkedCount < this.Solution.volumout.lists.length;
- this.solutionvSetParam();
- },
- solutionvSetParam() {
- this.Solution.volumout.checkeds.forEach((cell) => {
- switch (cell) {
- case "X-component of velocity":
- this.parameterObj.nmlParam.v_u = true;
- break;
- case "Y-component of velocity":
- this.parameterObj.nmlParam.v_v = true;
- break;
- case "Z-component of velocity":
- this.parameterObj.nmlParam.v_w = true;
- break;
- case "Press":
- this.parameterObj.nmlParam.v_p = true;
- break;
- case "Press coefficient":
- this.parameterObj.nmlParam.v_cp = true;
- break;
- case "Mach Number":
- this.parameterObj.nmlParam.v_mach = true;
- break;
- case "Vorticity magnitude":
- this.parameterObj.nmlParam.v_vort_mag = true;
- break;
- case "X-component of vorticity":
- this.parameterObj.nmlParam.v_vort_x = true;
- break;
- case "Y-component of vorticity":
- this.parameterObj.nmlParam.v_vort_y = true;
- break;
- case "Z-component of vorticity":
- this.parameterObj.nmlParam.v_vort_z = true;
- break;
- case "Q Criterion":
- this.parameterObj.nmlParam.v_q_criterion = true;
- break;
- default:
- break;
- }
- });
- },
- //显示 UgridLoad
- async showUgrid() {
- console.log(this.showUgridflag);
- this.$refs.monitor.hiden();
- if (!this.showUgridflag) {
- //是否显示过
- this.$refs.ugridLoad.clear();
- if (this.project.loadfils.length == 0) {
- await this.getHCFDLoadFiles();
- }
- this.project.loadfils.forEach((url) => {
- if (url.filepath.indexOf(".ugrid") > 0) {
- this.ugridUrl = url.filepath;
- }
- });
- this.$refs.ugridLoad.loadUgrid(this.ugridUrl, 1);
- this.showUgridflag = true;
- } else {
- this.$refs.ugridLoad.nhiden();
- }
- },
- //显示 Surface
- async showSurface() {
- let mesh = false;
- let contour = false;
- this.belementCheckeds.forEach((ele) => {
- if ("Mesh" == ele) {
- mesh = true;
- } else if ("Contour" == ele) {
- contour = true;
- }
- });
- this.$refs.ugridLoad.hiden();
- this.$refs.volumLoad.hiden();
- this.$refs.monitor.hiden();
- if (!this.showSurfaceflag) {
- if (this.project.solverfiles.length == 0) {
- }
- let burl;
-
- this.project.solverBoundaryUrls.forEach((url) => {
- if (url.indexOf(this.bStep + ".dat") > 0) {
- burl = url;
- }
- });
- if (mesh) {
- this.$refs.boundaryLoad.loadBoundary(burl, 1, this.bScalar);
- }
- if (contour) {
- this.$refs.boundaryLoad.loadBoundary(burl, 2, this.bScalar);
- }
- this.showSurfaceflag = true;
- } else {
- this.$refs.boundaryLoad.clear();
- this.$refs.boundaryLoad.nhiden();
- if (mesh) {
- this.$refs.boundaryLoad.mesh(this.bScalar);
- }
- if (contour) {
- // console.log(222);
- this.$refs.volumLoad.vdivb = false;
- this.$refs.boundaryLoad.divb = true;
- this.$refs.boundaryLoad.contour(this.bScalar);
- }
- }
- },
-
-
-
- large() {
- this.$refs.ugridLoad.large();
- this.$refs.boundaryLoad.large();
- this.$refs.volumLoad.large();
- },
- small() {
- this.$refs.ugridLoad.small();
- this.$refs.boundaryLoad.small();
- this.$refs.volumLoad.small();
- },
- positive(axis) {
- this.$refs.ugridLoad.positive(axis);
- this.$refs.boundaryLoad.positive(axis);
- this.$refs.volumLoad.positive(axis);
- },
- negative(axis) {
- this.$refs.ugridLoad.negative(axis);
- this.$refs.boundaryLoad.negative(axis);
- this.$refs.volumLoad.negative(axis);
- },
- // 资源选择代码
- showresource(){
- this.dialog.ziyuan=true;
- this.getresource();
- },
- //获取资源代码
- getresource(){
- const loading = this.$loading({
- lock: true,
- text: 'Loading',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)',
- })
- setTimeout(() => {
- const params = {
- transCode: 'HG00000',
- page: this.paginationConfig.page,
- count: this.paginationConfig.size,
- lesseeId:this.$store.getters.lesseeId,
-
- }
- request(params)
- .then((res) => {
-
- loading.close()
- this.ziyprojects = res.rows;
- this.paginationConfig.total = res.total
- this.resourcelook();
- })
- .catch((err) => {
- loading.close()
- })
- }, 500)
- },
- getPagination(data) {
- this.paginationConfig = data
- this.getresource()
- },
- //选中
- ziySelectionChange (val) {
-
- let id= []
- val.map((item)=> {
- id.push(item.id)
- })
- this.selsectid= id.join(',')
- },
- ziySelectionSelect(selection, row) {
- },
- // 日志的文本框
- footerShows(evt) {
- if(evt=='claer'){
- this.logs='';
- }else{
- this.footerShow=!this.footerShow
- }
-
- },
- //保存
- resourceOK(){
-
- const params = {
- transCode: 'HG00002',
- otherId:this.project.projectId,
- type:'1',
- resourceIds:this.selsectid,
- lesseeId:this.$store.getters.lesseeId,
- }
- request(params)
- .then((res) => {
- Message({
- type: "success",
- message: "保存成功",
- });
- this.dialog.ziyuan=false;
- })
- .catch((err) => {
-
- })
- },
- changest(val){
- },
- // 查看已经中的
- resourcelook(){
- const loading = this.$loading({
- lock: true,
- text: 'Loading',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)',
- })
- const params = {
- transCode: 'HG00001',
- otherId: this.project.projectId,
- type:'1',
- lesseeId:this.$store.getters.lesseeId,
- }
- request(params)
- .then((res) => {
- loading.close()
- let rst=res.rows;
- console.log(res)
- this.$refs.multipleTable.clearSelection();
- if (rst.length > 0) {
-
- for (var i = 0; i < rst.length; i++) {
- for ( let j = 0 ; j < this.ziyprojects.length; j++ ){
- if (this.ziyprojects[j].id === rst[i].resourceId) {
- this.$refs.multipleTable.toggleRowSelection(this.ziyprojects[j],true);
- }
- }
- }
- }else{
- consolog.log(2222)
- }
- })
- .catch((err) => {
- loading.close()
- })
- },
- closeOff(val){
- if(val=='on'){
- this.Consoleshow=true;
- this.openshow=false;
- }else{
- console.log(val);
- this.Consoleshow=false;
- this.openshow=true;
- }
- },
-
- }
- }
- </script>
- <style lang="scss" >
- @import '@/styles/variables.scss';
- @import '@/styles/mixin.scss';
- .hcfdlab{
- .el-input__inner{
- line-height: 30px;
- height: 30px;
- }
- }
- html,body{
- width: 100%;
- height: 100%;
- }
- .el-tabs__content{
- padding: 0 5px;
- }
- .content{
- display: flex;
- height: 100%;
- position: relative;
- .left{
- width: 200px;
- height: 100%;
- flex-direction: column;
- padding: 15px;
- position: relative;
- height: 88vh;
- // box-shadow: 2px 0 15px 0 rgb(232, 232, 232);
- // -webkit-box-shadow: 2px 0 15px 0 rgb(232, 232, 232);
- // -moz-box-shadow: 2px 0 15px 0 rgb(232, 232, 232);
-
- }
- .part-panel-collapse-handle {
- position: absolute;
- // right: -56px;
- left: -38px;
- top: 44%;
- width: 94px;
- height: 0;
- cursor: pointer;
- text-align: center;
- border-width: 0 20px 18px;
- line-height: 18px;
- border-style: none solid solid;
- transform: rotateZ(
- 90deg);
- font-size: 19px;
- }
- .lbg_color3 i:before{
- transform: rotateZ(
- 0);
- }
- .right{
- flex: 1;
- height: 100%;
- height: 85vh;
- position: relative;
-
- }
- .imgcontent img{
- font-size: 16px;
- }
- .slide-fade-enter-active {
- transition: all .3s ease;
- }
- }
- .tablist{
- border-bottom:1px solid #999;
- padding: 3px 0;
- }
- .tablist .tabitem{
- color: #b6b6b6;
- font-size: 16px;
- padding-right: 5px;
- cursor: pointer;
- &.current{
- color: #Fff ;
- }
- }
- .imgzong{
- display: flex;
- padding-top: 4px;
- flex-wrap:wrap;
- .el-image{
- width: 30px;
- }
- }
- .imgzong .item1{
- padding-right: 4px;
- padding: 4px 4px ;
-
- }
- .shu{
- padding: 4px 10px;
- color: #666;
- }
- .el-tabs__item{
- color:#b6b6b6;
- font-size: 16px;
- }
- .textlab{
- display: inline-block;
- vertical-align: middle;
- margin-top: -28px;
- }
- </style>
- <style>
- .el-input-number__decrease, .el-input-number__increase{
- position: absolute;
- z-index: 1;
- top: 4px;
- width: 31px;
- height: 30px;
- text-align: center;
- background: #F5F7FA;
- color: #606266;
- cursor: pointer;
- font-size: 13px;
- }
- .el-tabs--bottom .el-tabs__header.is-bottom{
- margin: 0;
- }
- .el-tabs__header{
- margin: 0;
- }
- .imgcontent{
- padding: 0 15px;
- }
- .el-tabs__item{
- height: 30px;
- line-height: 30px;
- padding: 0 8px;
- font-size: 12px;
- }
- .el-tabs--border-card{
- background-color: none;
- }
- .baoshi{
- margin-top: 4px;
- color: #b6b6b6;
- }
- .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{
- background-color: #757070;
- }
- .el-dialog__header{
- padding: 15px 20px 10px;
- }
- .textselsect{
- position: absolute;
- z-index: 9;
- bottom: 1px;
- right: 7px;
- z-index: 9;
- }
- .dialoglocation{
- position: absolute;
- top: -15vh;
- left: 10px;
- }
- .el-dialog__wrapper{
- top: 15vh;
- }
- </style>
- // 样式大全
- <style lang="scss" scoped>
- .diyi i{
- font-size: 14px;
- color: #C0C4CC;
- }
-
- .tupian{
- display: flex;
- justify-content: center;
- align-items: center;
- }
- .red{
- color: red;
- }
- .dialog_header{
- align-items: center;
- display: flex;
- }
- .juli{
- margin-top: 15px;
- width: 100%
- }
- </style>
- <style lang="scss">
- @import '@/styles/variables.scss';
- @import '@/styles/mixin.scss';
- .heigeinput
- {
- .el-form-item{
- margin-bottom: 5px;
- }
- }
- .el-dialog__body{
- padding: 10px 20px 10px 20px;
- }
- .line{
- width: 100%;
- height: 1px;
- background-color: #999;
- position: relative;
- margin: 30px 0;
- .linetext{
- position: absolute;
- left: 50%;
- transform: translateX(-50%);
- background-color: #ffff;
- padding: 5px;
- font-size: 12px;
- top: -10px;
- font-weight: 700;
-
- }
-
- }
- .ulist ul{
- display: flex;
- margin: 0;
- padding: 0;
- li{
- flex: 1;
- border: 1px solid #666;
- }
-
- }
- .liitem{
- margin-bottom: 5px;
- }
- .inputwithd .el-input__inner{
- width: 74px;
- }
- .inputtext .el-input{
- margin-top: 5px;
- }
- .dancentent{
- display: flex;
- justify-content:center;
- align-items: center;
- }
- .titleinput .el-input{
- width: 100px;
- }
-
- .itemlist{
- display: flex;
-
- }
- .listbtn{
- display: flex;
- margin-bottom: 5px;
- .anniu{
- flex: 1;
- }
- .el-checkbox{
- flex: 1;
- }
- }
- .anniu{
- padding: 5px 28px;
- font-size: 12px;
- margin: 0;
-
- }
- .titleinput{
- .el-row{
- padding-left: 10px;
- }
- .el-button{
- padding: 5px 28px;
- font-size: 12px;
- }
- .el-button+.el-button{
- margin: 0;
- }
- }
- .el-dialog__wrapper{
- z-index: 2300;
- }
- .tiele{
- width: 324px;
- background-color: #fff;
- position: fixed;
- top: 50%;
- left: 50%;
- z-index: 2049;
- padding: 20px;
- .heder{
- width: 100%;
- height: 40px;
- line-height: 40px;
- font-size: 14px;
- padding: 0 20px;
- border-bottom: 1px solid #eee;
- }
- .tiele_content{
- padding: 20px 20px;
- .el-checkbox{
- display: block;
- }
- }
- p{
- text-align: center;
- }
-
-
- }
- .el-form-item{
- margin: 0;
- }
- .btntext{
- text-align: center;
- background-color: #757070;
- color:#d5d5d5 ;
- font-size: 12px;
- padding: 4px 0;
- margin: 5px 0;
- border-radius: 5px;
- }
- .btnyiban{
- width: 50%;
- background-color: #757070;
- color:#d5d5d5 ;
- }
- .fangxiang .el-row{
- display: flex;
- padding-bottom: 10px;
- }
- .input3{
- display: flex;
- flex-wrap:nowrap;
- justify-content: space-around;
- padding-bottom: 5px;
- .el-input{
- width: 30%;
- }
- }
- .yiinpu .el-form-item__content{
- display:flex;
- .el-input{
- margin-right: 5px;
- }
- }
- .saninput{
- display: flex;
- flex-wrap:nowrap;
- justify-content: space-around;
- .el-input{
- margin-right: 5px;
- }
- .el-form-item__label{
- text-align: left;
- }
- }
- // select样式
- .selecr{
- font-size: 12px;
- .el-select{
- width: 100%;
- }
-
- }
- .btnringth{
- text-align: right;
- }
- .juli .el-input__inner{
- margin-bottom: 5px;
- width:100%;
- }
- </style>
- <style lang="scss" scoped>
- /deep/.toolbar-part-detail{
- position: relative;
- }
- /deep/ .el-form-item__label{
- font-size: 12px;
- line-height: 30px;
- }
- /deep/.el-form-item__content{
- line-height: 30px;
- font-size: 12px;
- }
- .el-form-item{
- margin-bottom: 5px;
- }
- </style>
- <style lang="scss" scoped>
- .femFooter {
- height: 135px !important;
- padding: 0;
- position: relative;
- }
- .footerTitle {
- display: flex;
- justify-content: space-between;
- padding: 5px 20px;
- font-size: 20px;
- height: 30px !important;
- background-color: #bbb;
- }
- .footerTitle div {
- display: flex;
- justify-content: space-around;
- align-items: center;
- }
- .footerTitle p {
- margin: 0;
- }
- .footerTitle span {
- padding: 5px 10px;
- cursor: default;
- }
- /deep/.footerText .el-textarea__inner{
- width: 100%;
- height: 135px !important;
- border: 0;
- font-size: 12px;
- color: #333;
- padding: 2px;
- }
- .radio_text{
- line-height: 28px;
- .el-radio__label{
- color: #d5d5d5;
- }
- .disacent{
- padding: 6px 0 6px 3.125vw;
- font-size:12px;
- }
- }
- .el-table th, .el-table tr{
- background-color: #535353;
- }
- .beij-container {
- width: 100%;
- height: 100%;
- background: linear-gradient(180deg, #ccd3e2 0%, rgba(255, 255, 255, 0) 100%);
- }
- .el-footer {
- padding: 0;
- height: 149px;
- overflow-y: auto;
- }
- .logs_title {
- background: #bfc5cb;
- padding: 10px;
- font-size: 16px;
- }
- .x {
- cursor: default;
- float: right;
- }
- .exloadbox {
- float: right;
- margin-right: 100px;
- display: flex;
- }
- .maxh221{
- max-height: calc(100vh - 10px);
- }
- .maxh400{
- max-height: calc(100vh - 410px);
- }
- body {
- position: relative;
- background-color: #eceef0;
-
- }
- .el-loading-mask {
- background: none;
- }
- .sblock{
- width: 100px;
- display: inline-block;
- }
- .groupradio .el-radio{
- display: block;
- padding: 5px;
- }
- .radiogroup{
- display:flex;
- }
- .radiogroup label{
- flex: 1;
- }
- /deep/ .radiogroup .el-radio-button--mini .el-radio-button__inner{
- border-radius: 5px;
- }
- /deep/ .radiogroup .el-radio-button:last-child .el-radio-button__inner{
- border-radius: 4px ;
- }
- /deep/ .heightclass{
- height: 450px;
- overflow-y: auto;
-
- }
- /deep/ .heightclass .el-dialog__header{
- position: fixed;
- z-index: 99;
- width: 385px;
- }
- /deep/ .heightclass .el-dialog__body{
- margin-top: 60px;
- }
- .displanblock .el-checkbox{
- display: block;
- }
- .outline{
- margin-left: 50px;
- font-size: 20px;
- }
- /deep/.el-dialog__wrapper{
- pointer-events:none;
- }
- /deep/.el-dialog{
- pointer-events:auto;
- }
- /deep/ .asideTag2{
- left: auto;
- right: 10px;
- top: 21px;
- ul{
- display: flex;
- li{
-
- margin-left: 4px;
- width: 28px;
- height: 28px;
- }
- }
- }
- .asideTag{
- top: 30px;
- }
- /deep/ .asideTag ul{
- display: flex;
- li{
- margin-left: 4px;
- width: 28px;
- height: 28px;
- }
- }
- @media screen and (max-width:1330px){
- .headMenu_2 .el-col{
- transform:scale(0.8);
- transform-origin: 0 0;
- }
- .headMenu_2{
- height: 150px !important;
- }
- .asideTag2,.asideTag {
- transform:scale(0.7);
- transform-origin: 0 0;
- }
- }
- @media screen and (max-width:1160px){
- .headMenu_2 .el-col{
- transform:scale(0.7);
- transform-origin: 0 0;
- }
- .asideTag2{
- left: 91%;
- }
- .el-aside{
- width:170px !important;
- }
- .headMenu_2{
- height: 135px !important;
- }
- }
- .text{
- color: #fff;
- font-size:14px;
- margin: 0;
- }
- .y{
- width:100%;
- height:100%;
- background-image: url('../../../assets/3d_images/y.png') center 100%;
- }
- .y2{
- background-image: url('../../../assets/3d_images/y2.png');
- }
- body{
- font-family:'微软雅黑'
- }
- .classfelx{
- flex:1;
- }
- .liitem .formLabelWidth8{
- width: 343px;
- }
- .formLabelWidth15{
- width:70px;
- text-align:center;
- }
- </style>
- <style>
- .imge{
- width:25px;
- vertical-align:middle;
- }
- </style>
|