|
@@ -131,6 +131,12 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="listitem lbg_color3 bkcolor3" v-for="(item,index) in fexkz7" :key="'five6-'+ index" :class="{activeOrange:active=='five6-'+ index}" @click="clickgeometry($event,index,'five6-'+ index)" >
|
|
|
+ <div class="item2 " >
|
|
|
+ <el-image :src="item.icon" fit="cover" />
|
|
|
+ <span >{{item.titlie}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
</el-tab-pane>
|
|
@@ -210,7 +216,7 @@
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialog.fem_upload = false">{{ $t("HCFD.file.cancel")}}</el-button>
|
|
|
- <el-button type="primary" @click="runugrid();dialog.fem_upload = false"
|
|
|
+ <el-button type="primary" @click="dialog.fem_upload = false"
|
|
|
>{{ $t("HCFD.file.ok")}}</el-button
|
|
|
>
|
|
|
</div>
|
|
@@ -942,7 +948,7 @@
|
|
|
<div class="selecr">
|
|
|
<el-form>
|
|
|
<el-form-item label="分析类型" :label-width="formLabelWidth2">
|
|
|
- <el-select @change="changest" v-model="bxval" placeholder="请选择">
|
|
|
+ <el-select @change="changestleixing" v-model="bxval" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in bxlist"
|
|
|
:key="item.value"
|
|
@@ -1092,14 +1098,27 @@
|
|
|
<el-radio label="1">关</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
+ <div class="line">
|
|
|
+ <div class="linetext">方法</div>
|
|
|
+ </div>
|
|
|
+ <el-radio-group
|
|
|
+ v-model="parameterObj.eigv_method.value"
|
|
|
+ >
|
|
|
+ <el-radio label="1">{{
|
|
|
+ $t("FEM.solution.inverse")
|
|
|
+ }}</el-radio>
|
|
|
+ <el-radio label="2">{{
|
|
|
+ $t("FEM.solution.lanczos")
|
|
|
+ }}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
<div class="line">
|
|
|
<div class="linetext">输出控制</div>
|
|
|
</div>
|
|
|
<el-form-item label="结果文件名称" :label-width="formLabelWidth5">
|
|
|
<el-input v-model="form.name" autocomplete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-checkbox v-model="parameterObj.dump_stiff.value" true-label="true" false-label="false">刚度矩阵</el-checkbox>
|
|
|
- <el-checkbox v-model="parameterObj.dump_mass.value" true-label="true" false-label="false" >节点应变</el-checkbox>
|
|
|
+ <el-checkbox v-model="parameterObj.dump_stiff.value" true-label="true" false-label="false">刚度矩阵输出</el-checkbox>
|
|
|
+ <el-checkbox v-model="parameterObj.dump_mass.value" true-label="true" false-label="false" >质量矩阵输出</el-checkbox>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -1161,7 +1180,7 @@
|
|
|
<div class="linetext">属性</div>
|
|
|
</div>
|
|
|
<el-form-item label="求解方法" :label-width="formLabelWidth5">
|
|
|
- <el-select @change="changest" v-model="jliaval3" placeholder="请选择">
|
|
|
+ <el-select @change="changest" v-model="parameterObj.f_transient.value" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in jlialist3"
|
|
|
:key="item.value"
|
|
@@ -1180,6 +1199,9 @@
|
|
|
<div class="line">
|
|
|
<div class="linetext">分析步控制</div>
|
|
|
</div>
|
|
|
+ <el-form-item :label="$t('FEM.solution.caseNum')" :label-width="formLabelWidth5">
|
|
|
+ <el-input v-model="parameterObj.sid.value"></el-input>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="总时间" :label-width="formLabelWidth5">
|
|
|
<el-input v-model="parameterObj.num_steps.value" autocomplete="off"></el-input>
|
|
|
</el-form-item>
|
|
@@ -1204,11 +1226,11 @@
|
|
|
<div class="linetext">输出控制</div>
|
|
|
</div>
|
|
|
<el-form-item label="结果文件名称" :label-width="formLabelWidth5">
|
|
|
- <el-input v-model="parameterObj.result_file.value" autocomplete="off"></el-input>
|
|
|
+ <el-input v-model="parameterObj.result_file.value" disabled autocomplete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-checkbox v-model="parameterObj.dump_stiff.value" true-label="true" false-label="false">刚度矩阵</el-checkbox>
|
|
|
- <el-checkbox v-model="parameterObj.strain_o.value" true-label="true" false-label="false">节点应变</el-checkbox>
|
|
|
- <el-checkbox v-model="parameterObj.dump_mass.value" true-label="true" false-label="false">质量矩阵</el-checkbox>
|
|
|
+ <el-checkbox v-model="parameterObj.dump_stiff.value" true-label="true" false-label="false">刚度矩阵输出</el-checkbox>
|
|
|
+ <el-checkbox v-model="parameterObj.strain_o.value" true-label="true" false-label="false">节点压力输出</el-checkbox>
|
|
|
+ <el-checkbox v-model="parameterObj.dump_mass.value" true-label="true" false-label="false">质量矩阵输出</el-checkbox>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -1964,16 +1986,18 @@ import p15 from '@/assets/icon/result_slice.png'
|
|
|
import p16 from '@/assets/icon/result_stream.png'
|
|
|
import p17 from '@/assets/icon/animation.png'
|
|
|
import p18 from '@/assets/icon/result_curve.png'
|
|
|
+import p19 from '@/assets/hcfd_images/run.png'
|
|
|
|
|
|
export default {
|
|
|
components:{geometry,meshindex,result,toolindex,filesload,vueUploader,Addtabs},
|
|
|
props:{
|
|
|
femnum:String,
|
|
|
- Logs:String,
|
|
|
+ logs:String,
|
|
|
+ pid:String,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,
|
|
|
+ p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,
|
|
|
isVolume:"",
|
|
|
outlineobj:{
|
|
|
scalarName:'',
|
|
@@ -2078,9 +2102,9 @@ export default {
|
|
|
dump_mass: {key: 'dump_mass', order: '1', value: 'true'},
|
|
|
dump_stiff: {key: 'dump_stiff', order: '1', value: 'true'},
|
|
|
eigenv: {key: 'eigenv', order: '3', value: 'false'},
|
|
|
- eigv_method: {key: 'eigv_method', order: '1', value: null},
|
|
|
- f_static: {key: 'static', order: '3', value: 'false'},
|
|
|
- f_transient: {key: 'transient', order: '1', value: ''},
|
|
|
+ eigv_method: {key: 'eigv_method', order: '1', value: 'false'},
|
|
|
+ f_static: {key: 'static', order: '3', value: 'true'},
|
|
|
+ f_transient: {key: 'transient', order: '1', value: '1'},
|
|
|
freq: {key: 'freq', order: '1', value: ''},
|
|
|
gam_newmark: {key: 'gam_newmark', order: '2', value: null},
|
|
|
mesh_inp: {key: 'mesh_inp', order: '3', value: null},
|
|
@@ -2092,6 +2116,7 @@ export default {
|
|
|
solver: {key: 'solver', order: '1', value: ''},
|
|
|
sort: {key: 'sort', order: '1', value: ''},
|
|
|
strain_o: {key: 'strain_o', order: '1', value: 'false'},
|
|
|
+ dynamic: {key: 'dynamic', order: '1', value: 'true'}
|
|
|
// solution: {
|
|
|
// f_static: "true",
|
|
|
// solver: "",
|
|
@@ -2262,6 +2287,9 @@ export default {
|
|
|
],
|
|
|
fexkz6:[
|
|
|
{ icon:shx28, titlie:'创建分析'},
|
|
|
+ ],
|
|
|
+ fexkz7:[
|
|
|
+ { icon:p19, titlie:'运行'},
|
|
|
],
|
|
|
jhlist:[
|
|
|
{value:'0',name:'节点集合'},
|
|
@@ -2346,7 +2374,7 @@ export default {
|
|
|
{value:'1',name:'HHT'},
|
|
|
{value:'2',name:'Direct'},
|
|
|
],
|
|
|
- jliaval3:'0',
|
|
|
+
|
|
|
jlialist4:[
|
|
|
{value:'0',name:'1'},
|
|
|
{value:'1',name:'2'},
|
|
@@ -2379,8 +2407,8 @@ this.init();
|
|
|
methods:{
|
|
|
init() {
|
|
|
//this.project.projectId = this.pid; //获取url 参数
|
|
|
- this.pid='342e86b234af41a0bca0b9adeef0120d'
|
|
|
this.project.projectId = this.pid;
|
|
|
+ console.log(this.project.projectId);
|
|
|
this.project.lesseeId = this.$store.getters.lesseeId; //获取url 参数
|
|
|
},
|
|
|
handfiles(file) {
|
|
@@ -2390,6 +2418,24 @@ this.init();
|
|
|
upDisOk(){
|
|
|
this.disOK=false
|
|
|
// this.loadObjs[1].state=1
|
|
|
+ },
|
|
|
+ changestleixing(val){
|
|
|
+ console.log(val);
|
|
|
+ if(val=='0'){
|
|
|
+ this.parameterObj.f_static.value=true;
|
|
|
+ }else{
|
|
|
+ this.parameterObj.f_static.value=false;
|
|
|
+ }
|
|
|
+ if(val=="1"){
|
|
|
+ this.parameterObj.eigenv.value=true;
|
|
|
+ }else{
|
|
|
+ this.parameterObj.eigenv.value=false;
|
|
|
+ }
|
|
|
+ if(val=='2'){
|
|
|
+ this.parameterObj.dynamic.value=true;
|
|
|
+ }else{
|
|
|
+ this.parameterObj.dynamic.value=false;
|
|
|
+ }
|
|
|
},
|
|
|
//load状态回调
|
|
|
fileLoadeState(files) {
|
|
@@ -2410,14 +2456,21 @@ this.init();
|
|
|
femchange(obj,solverConfigid){
|
|
|
console.log( this.parameterObj);
|
|
|
this.parameterObj = JSON.parse(obj);//JSON.parse(obj);
|
|
|
-
|
|
|
sessionStorage.setItem("res", obj);
|
|
|
this.femsolverConfigid=solverConfigid;
|
|
|
+ console.log(this.femsolverConfigid);
|
|
|
+ if(this.parameterObj.f_static.value==true){
|
|
|
+ this.bxval='0';
|
|
|
+ }else if(this.parameterObj.eigenv.value=true){
|
|
|
+ this.bxval='1';
|
|
|
+ }else if(this.parameterObj.dynamic.value=true){
|
|
|
+ this.bxval='2';
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
async femRun() {
|
|
|
//更新参数,求解,抓取日志
|
|
|
await this.femparam();
|
|
|
- await this.femExe();
|
|
|
// this.getLogs();
|
|
|
},
|
|
|
//更新参数配置
|
|
@@ -2428,7 +2481,7 @@ femparam(){
|
|
|
solverConfigid:this.femsolverConfigid,
|
|
|
parameterObj: JSON.stringify(this.parameterObj),
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
request(params)
|
|
|
.then((res) => {
|
|
|
Message({
|
|
@@ -2456,7 +2509,7 @@ femparam(){
|
|
|
MessageBox.confirm("你还未分配资源?", "提示", {
|
|
|
confirmButtonText: "分配资源",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
+ type: "warning",
|
|
|
})
|
|
|
.then(() => {
|
|
|
let errUril =
|
|
@@ -2587,7 +2640,11 @@ this.styX.left=e.clientX+'px';
|
|
|
break;
|
|
|
case 'six4-0':
|
|
|
this.dialog.an_Animation=true;
|
|
|
- break;
|
|
|
+ break;
|
|
|
+ case 'five6-0':
|
|
|
+ this.femExe();
|
|
|
+ break
|
|
|
+
|
|
|
}
|
|
|
|
|
|
},
|
|
@@ -2675,9 +2732,7 @@ this.styX.left=e.clientX+'px';
|
|
|
console.log(params);
|
|
|
request(params)
|
|
|
.then((res) => {
|
|
|
- console.log(11111);
|
|
|
console.log(res);
|
|
|
- console.log(22222)
|
|
|
|
|
|
})
|
|
|
.catch((err) => {
|
|
@@ -2768,29 +2823,9 @@ this.styX.left=e.clientX+'px';
|
|
|
console.log(e);
|
|
|
//数据接收
|
|
|
try{
|
|
|
- const redata = JSON.parse(e.data);
|
|
|
- console.log(redata);
|
|
|
- if(typeof redata==='object'&& redata){
|
|
|
+ const redata = JSON.parse(e.data);
|
|
|
if(redata.type == "log"){
|
|
|
- // this.$emit('getthislog',redata.stats+redata.value);
|
|
|
- }
|
|
|
- if (redata.type == "iter") {
|
|
|
-
|
|
|
- // this.convergeDateLoad(redata.value);
|
|
|
- //获取运行多少步了
|
|
|
- const lines = redata.value;
|
|
|
- var patiter = /^ iter /;
|
|
|
- if (patiter.exec(lines) !== null) {
|
|
|
- const onelines = kgReplace(lines.trim()).split(" ")
|
|
|
- .map((str) => str.trim());
|
|
|
- this.s1= onelines.slice(1,2).map((str) => Number(str));
|
|
|
- console.log(this.s1);
|
|
|
-
|
|
|
- }
|
|
|
- this.timedata(redata.startTime,redata.time,this.s1[0]);
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
+ this.$emit('getthislog',redata.stats+redata.value);
|
|
|
}
|
|
|
}catch(error){
|
|
|
return false;
|