1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285 |
- <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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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","pid", "exLoading"],
- 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,
- //exLoading:"hidden",
- 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);
- console.log( this.parameterObj),
- console.log( this.parameterObj.hcfdBoundarys);
- sessionStorage.setItem("res", obj);
- this.solverConfigid=solverConfigid;
- },
- //更新参数配置
- hcfdparam(){
- const params = {
- transCode: 'C00004',
- solverConfigid: this.solverConfigid,
- parameterObj: JSON.stringify(this.parameterObj),
- }
- request(params)
- .then((res) => {
- Message({
- type: "success",
- message: "参数上传,成功",
- });
- })
- .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() {
- console.log(1111)
- if (this.solverState == "2") {
- //上次求解完成
- MessageBox.confirm(
- "已完成计算,是否放弃上次计算结果,重新计算? 如果不放弃请自行下载上次结果文件!",
- "提示",
- {
- confirmButtonText: "重新计算",
- cancelButtonText: "取消",
- type: "warning",
- }
- )
- .then(() => {
- MessageBox.close();
- this.exLoading='visible';
-
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- if (!isStop && !_this.isSolverEnd) {
- this.$parent.fun();
- }
-
- })
- .catch(() => {
- Message.info("已取消!");
- MessageBox.close();
- this.exLoading='hidden';
- });
- } else {
- this.exLoading='visible';
- 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':
- this.getbtnmonitor();
- break;
- case 'four4-4':
- this.showresource();
- 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) => {});
- },
- //获取计算结果文件 并缓存
- async gethcfdsolverfiles() {
- let params = {
- transCode: "A00109",
- projectId: this.project.projectId,
- };
- await request(params)
- .then((res) => {
- this.project.solverfiles = res.files;
- })
- .catch((err) => {});
- this.project.solverfiles.forEach((solverfile) => {
- let url = solverfile.filepath;
- if (
- url.indexOf("volume_timestep") > 1 ||
- url.indexOf("boundary_timestep") > 1 ||
- url.indexOf("converge.dat") > 1
- ) {
- let names = url.split("/");
- let name = names[names.length - 1];
- let loadOj3 = {
- type: 2,
- filename: name,
- percentage: 0,
- };
- this.loadObjs.push(loadOj3);
- this.$refs.filesload.load(url);
- }
- if (url.indexOf("volume_timestep") > 1) {
- this.project.solverVolumUrls.push(url);
- }
- if (url.indexOf("boundary_timestep") > 1) {
- this.project.solverBoundaryUrls.push(url);
- }
- if (url.indexOf("converge.dat") > 1) {
- this.project.converge = url;
- }
- });
- this.project.solverVolumUrls.forEach((url) => {
- let step = url.split("volume_timestep")[1].split(".da")[0];
- this.bStep=step;
- this.volumStep.push(step);
- let newArr = [...new Set(this.volumStep)]; //去重
- this.volumStep = newArr;
- });
- this.project.solverBoundaryUrls.forEach((url) => {
- let step = url.split("boundary_timestep")[1].split(".da")[0];
- this.vStep=step;
- this.boundaryStep.push(step);
- let newArr = [...new Set(this.boundaryStep)]; //去重
- this.boundaryStep = newArr;
- });
- },
- /**
- * 更新配置 并求解
- */
- //日志
- getthislog(log){
- this.newlog = log+"\n"+this.newlog;
- this.logs=this.newlog;
- if ( this.logs.indexOf("Solver end") >= 0) {
- this.exLoading='hidden';
- this.isSolverEnd = true;
- }
- },
- // 剩余时间
- restimeyear(time){
- this.restime=time;
- },
- //求解
- // hcfdExe() {
- // var _this = this;
- // let params = {
- // transCode: "A00105",
- // projectId: this.project.projectId,
- // lesseeId:this.$store.getters.lesseeId,
- // userName:this.$store.getters.name
- // };
- // request(params)
- // .then((res) => {
- // })
- // .catch((err) => {
- // // console.log("hcfdExe" + err);
- // setTimeout(function () {
- // _this.$refs.loading.visiable = false;
- // }, 4000);
- // if (err.returnCode == "EB8100017") {
- // //资源未分配
-
- // MessageBox.confirm("你还未分配资源?", "提示", {
- // confirmButtonText: "分配资源",
- // cancelButtonText: "取消",
- // type: "warning",
- // })
- // .then(() => {
- // // const errUril = Caegw_ProUrl +"?projectId="+_this.project.projectId;
- // let errUril =
- // // window.location.protocol +
- // // "//" +
- // // window.location.host +
- // // "/" +
- // _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 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) {
- await this.gethcfdsolverfiles();
- }
- 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>
|