liuqiao 3 anos atrás
pai
commit
2bef2081f9

BIN
src/assets/icon/u10014.png


BIN
src/assets/icon/u10040.png


BIN
src/assets/icon/u10068 (1).png


BIN
src/assets/icon/u100682.png


BIN
src/assets/icon/u10082.png


BIN
src/assets/icon/u19971.png


+ 499 - 5
src/views/index/FEMLab/fem.vue

@@ -58,8 +58,44 @@
           </el-tab-pane>
            <!-- 求解控制 -->
                  <el-tab-pane label="求解控制" name="five">
-              <div class="imgzong">
-             <div class="item1"  v-for="(item,index) in shxlist"  :key="'three-'+ index" :class="{activeOrange:active=='three-'+ index}" @click="clickgeometry($event,index,'three-'+ index)">
+              <div class="imgzong" v-if="femnum=='FEM'">
+             <div class="item1"  v-for="(item,index) in fexkz"  :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>
+               <span class="shu">|</span>
+               <div v-if="bxval=='0'">
+               <div class="item1"   v-for="(item,index) in fexkz2"  :key="'five2-'+ index" :class="{activeOrange:active=='five2-'+ index}" @click="clickgeometry($event,index,'five2-'+ index)">
+                <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
+                        <el-image :src="item.icon" fit="cover" />   
+            </el-tooltip>
+             </div>
+               </div>
+               <div v-if="bxval=='1'">
+               <div class="item1"   v-for="(item,index) in fexkz3"  :key="'five3-'+ index" :class="{activeOrange:active=='five3-'+ index}" @click="clickgeometry($event,index,'five3-'+ index)">
+                <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
+                        <el-image :src="item.icon" fit="cover" />   
+            </el-tooltip>
+             </div>
+               </div>
+                <div v-if="bxval=='2'">
+               <div class="item1"   v-for="(item,index) in fexkz4"  :key="'five4-'+ index" :class="{activeOrange:active=='five4-'+ index}" @click="clickgeometry($event,index,'five4-'+ index)">
+                <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
+                        <el-image :src="item.icon" fit="cover" />   
+            </el-tooltip>
+             </div>
+               </div>
+               <div v-if="bxval=='3'">
+               <div class="item1"   v-for="(item,index) in fexkz5"  :key="'five5-'+ index" :class="{activeOrange:active=='five5-'+ index}" @click="clickgeometry($event,index,'five5-'+ index)">
+                <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
+                        <el-image :src="item.icon" fit="cover" />   
+            </el-tooltip>
+             </div>
+               </div>
+            </div>
+             <div class="imgzong" v-if="femnum=='FEMLab2.0'">
+             <div class="item1"  v-for="(item,index) in fexkz6"  :key="'five11-'+ index" :class="{activeOrange:active=='five11-'+ index}" @click="clickgeometry($event,index,'five11-'+ index)">
                 <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
                         <el-image :src="item.icon" fit="cover" />   
             </el-tooltip>
@@ -778,7 +814,357 @@
         >
       </div>
     </el-dialog>
-
+    <!-- 求解控制 -->
+    <!-- 分析类型 -->
+    <el-dialog
+     v-if="active=='five-0'"
+      :visible.sync="dialog.cae_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="shx2" fit="cover" />
+     <span class="text-color">分析类型</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+       <el-form-item label="分析类型" :label-width="formLabelWidth2">
+      <el-select  @change="changest" v-model="bxval"  placeholder="请选择">
+    <el-option
+      v-for="item in bxlist"
+      :key="item.value"
+      :label="item.name"
+      :value="item.value"
+      >
+    </el-option>
+  </el-select>
+   </el-form-item>
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.cae_visiable = false">取消</el-button>
+        <el-button type="primary" @click="dialog.cae_visiable = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
+    <!-- 并行分析 -->
+    <el-dialog
+     v-if="active=='five-1'"
+      :visible.sync="dialog.parallel_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="shx10" fit="cover" />
+     <span class="text-color">并行分析</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+       <el-form-item label="并行分析" :label-width="formLabelWidth2">
+      <el-select  @change="changest" v-model="bxval1"  placeholder="请选择">
+    <el-option
+      v-for="item in bxlist1"
+      :key="item.value"
+      :label="item.name"
+      :value="item.value"
+      >
+    </el-option>
+  </el-select>
+   </el-form-item>
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.parallel_visiable = false">取消</el-button>
+        <el-button type="primary" @click="dialog.parallel_visiable = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
+    <!-- 静力分析 -->
+  <el-dialog
+     v-if="active=='five2-0'"
+      :visible.sync="dialog.statical_analysis"
+      :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="shx24" fit="cover" />
+     <span class="text-color">静力分析</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+       <el-form-item label="算法控制" :label-width="formLabelWidth2">
+      <el-select  @change="changest" v-model="jliaval1"  placeholder="请选择">
+    <el-option
+      v-for="item in jlialist1"
+      :key="item.value"
+      :label="item.name"
+      :value="item.value"
+      >
+    </el-option>
+  </el-select>
+   </el-form-item>
+     <el-form-item label="非线性开关" :label-width="formLabelWidth2">
+       <el-radio-group v-model="form.radio">
+          <el-radio :label="0">开</el-radio>
+          <el-radio :label="1">关</el-radio>
+        </el-radio-group>
+   </el-form-item>
+    <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="checked">刚度矩阵</el-checkbox>
+    <el-checkbox v-model="checked">节点应变</el-checkbox>
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.statical_analysis = false">取消</el-button>
+        <el-button type="primary" @click="dialog.statical_analysis = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
+    <!-- 模态分析 -->
+ <el-dialog
+     v-if="active=='five3-0'"
+      :visible.sync="dialog.model_analysis"
+      :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="shx25" fit="cover" />
+     <span class="text-color">模态分析</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+         <div class="line">
+      <div class="linetext">属性</div>
+    </div> 
+       <el-form-item label="特征值求解方法" :label-width="formLabelWidth6">
+      <el-select  @change="changest" v-model="jliaval2"  placeholder="请选择">
+    <el-option
+      v-for="item in jlialist2"
+      :key="item.value"
+      :label="item.name"
+      :value="item.value"
+      >
+    </el-option>
+  </el-select>
+   </el-form-item>
+       <el-form-item label="特征值个数" :label-width="formLabelWidth6">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+     <el-form-item label="质量耦合开关" :label-width="formLabelWidth6">
+       <el-radio-group v-model="form.radio">
+          <el-radio :label="0">开</el-radio>
+          <el-radio :label="1">关</el-radio>
+        </el-radio-group>
+   </el-form-item>
+    <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="checked">刚度矩阵</el-checkbox>
+    <el-checkbox v-model="checked">节点应变</el-checkbox>
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.model_analysis = false">取消</el-button>
+        <el-button type="primary" @click="dialog.model_analysis = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
+    <!-- 传热分析 -->
+ <el-dialog
+     v-if="active=='five4-0'"
+      :visible.sync="dialog.heat_analysis"
+      :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="shx26" fit="cover" />
+     <span class="text-color">传热分析</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+         <div class="line">
+      <div class="linetext">属性</div>
+    </div> 
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.heat_analysis = false">取消</el-button>
+        <el-button type="primary" @click="dialog.heat_analysis = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
+ <!-- 瞬态响应分析 -->
+ <el-dialog
+     v-if="active=='five5-0'"
+      :visible.sync="dialog.transient_analysis"
+      :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="shx27" fit="cover" />
+     <span class="text-color">瞬态响应分析</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+         <div class="line">
+      <div class="linetext">属性</div>
+    </div> 
+  <el-form-item label="求解方法" :label-width="formLabelWidth5">
+      <el-select  @change="changest" v-model="jliaval3"  placeholder="请选择">
+    <el-option
+      v-for="item in jlialist3"
+      :key="item.value"
+      :label="item.name"
+      :value="item.value"
+      >
+    </el-option>
+  </el-select>
+   </el-form-item>
+   <el-form-item label="输入δN" :label-width="formLabelWidth5">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+<el-form-item label="输入αN" :label-width="formLabelWidth5">
+      <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="总时间" :label-width="formLabelWidth5">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+       <el-form-item label="时间步增量" :label-width="formLabelWidth5">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+       <el-form-item label="写出频率" :label-width="formLabelWidth5">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+      <el-form-item label="写出格式" :label-width="formLabelWidth5">
+      <el-select  @change="changest" v-model="jliaval4"  placeholder="请选择">
+    <el-option
+      v-for="item in jlialist4"
+      :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="formLabelWidth5">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+    <el-checkbox v-model="checked">刚度矩阵</el-checkbox>
+    <el-checkbox v-model="checked">节点应变</el-checkbox>
+        <el-checkbox v-model="checked">质量矩阵</el-checkbox>
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.transient_analysis = false">取消</el-button>
+        <el-button type="primary" @click="dialog.transient_analysis = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
+    <!-- 创建分析 -->
+  <el-dialog
+     v-if="active=='five11-0'"
+      :visible.sync="dialog.create_analysis"
+      :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="shx28" fit="cover" />
+     <span class="text-color">创建分析</span>
+  </div>
+  <div class="selecr">
+      <el-form>
+          <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-radio-group v-model="form.radio">
+          <el-radio :label="0">开</el-radio>
+          <el-radio :label="1">关</el-radio>
+        </el-radio-group>
+   </el-form-item>
+       <el-form-item label="分析类型" :label-width="formLabelWidth2">
+      <el-select  @change="changest" v-model="cjaval"  placeholder="请选择">
+    <el-option
+      v-for="item in cjalist"
+      :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="formLabelWidth5">
+      <el-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+    <el-checkbox v-model="checked">刚度矩阵</el-checkbox>
+    <el-checkbox v-model="checked">节点应变</el-checkbox>
+      </el-form>
+  </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="info"  @click="dialog.create_analysis = false">取消</el-button>
+        <el-button type="primary" @click="dialog.create_analysis = false"
+          >确定</el-button
+        >
+      </div>
+    </el-dialog>
           </div>
 </template>
 <script>
@@ -813,10 +1199,16 @@ import shx20 from '@/assets/icon/u9842.png'
 import shx21 from '@/assets/icon/u9850.png'
 import shx22 from '@/assets/icon/u9852.png'
 import shx23 from '@/assets/icon/u9851.png'
+import shx24 from '@/assets/icon/u10014.png'
+import shx25 from '@/assets/icon/u10040.png'
+import shx26 from '@/assets/icon/u100682.png'
+import shx27 from '@/assets/icon/u10082.png'
+import shx28 from '@/assets/icon/u19971.png'
+
 
 export default {
     components:{geometry,meshindex,result,toolindex},
-
+    props:['femnum'],
   data() {
     return {
       checked:false,
@@ -840,7 +1232,11 @@ export default {
       shx21,
       shx22,
       shx23,
-
+      shx24,
+       shx25,
+        shx26,
+        shx27,
+        shx28,
          activeName: 'one',
             active:'',
              styX:{
@@ -882,6 +1278,13 @@ export default {
               cstjspeed_visiable:false,
               properties_visiable:false,
               contactpair_visiable:false,
+              cae_visiable:false,
+              parallel_visiable:false,
+              statical_analysis:false,
+              model_analysis:false,
+              heat_analysis:false,
+              transient_analysis:false,
+              create_analysis:false,
            
           },
         jihlist:[
@@ -919,6 +1322,25 @@ export default {
             { icon:shx22, titlie:'接触体-接触属性'},
             { icon:shx23, titlie:'接触体-接触对'},
         ],
+        fexkz:[
+           { icon:shx2, titlie:'分析类型'},
+           { icon:shx10, titlie:'并行类型'},
+        ],
+         fexkz2:[
+            { icon:shx24, titlie:'静力分析'},
+        ],
+        fexkz3:[
+            { icon:shx25, titlie:'模态分析'},
+        ],
+        fexkz4:[
+            { icon:shx26, titlie:'传热分析'},
+        ],
+        fexkz5:[
+            { icon:shx27, titlie:'瞬态响应分析'},
+        ],
+      fexkz6:[
+            { icon:shx28, titlie:'创建分析'},
+        ],
         jhlist:[
              {value:'0',name:'节点集合'},
             {value:'1',name:'单元集合'},
@@ -974,8 +1396,57 @@ export default {
                {value:'1',name:'(节点-面)'},
         ],
         femval12:'0',
+        bxlist:[
+               {value:'0',name:'静力分析'},
+               {value:'1',name:'模态分析'},
+               {value:'2',name:'传热分析'},
+               {value:'3',name:'瞬态响应分析'},
+        ],
+         bxval:'0',
+          bxlist1:[
+               {value:'0',name:'串行'},
+               {value:'1',name:'MPI并行'},
+        ],
+         bxval1:'0',
+         jlialist1:[
+               {value:'0',name:'MUMPS直接求解法'},
+               {value:'1',name:'PCG迭代求解法'},
+               {value:'2',name:'I DI直接求解法'},
+        ],
+        jliaval1:'0',
+         jlialist2:[
+               {value:'0',name:'Inverse iteration'},
+               {value:'1',name:'Lanczos'},
+        ],
+        jliaval2:'0',
+           jlialist3:[
+               {value:'0',name:'Newmark'},
+               {value:'1',name:'HHT'},
+                {value:'2',name:'Direct'},
+        ],
+        jliaval3:'0',
+            jlialist4:[
+               {value:'0',name:'1'},
+               {value:'1',name:'2'},
+        ],
+        jliaval4:'0',
+        cjalist:[
+          {value:'0',name:'静力分析'},
+          {value:'1',name:'模态分析'},
+          {value:'2',name:'解响分析'},
+           {value:'3',name:'响应分析'},
+          {value:'4',name:'随机振动分析'},
+           {value:'5',name:'瞬态响应分析'},
+            {value:'6',name:'热传导分析'},
+           {value:'7',name:'热-固耦合分析'},
+        ],
+        cjaval:'0'
+
     }
   },
+  mounted(){
+  console.log(this.femnum)
+  },
   methods:{
       //  
       changest(){
@@ -1033,6 +1504,29 @@ this.styX.left=e.clientX+'px';
   case 'four3-2':
       this.dialog.contactpair_visiable=true;
       break;
+          case 'five-0':
+          this.dialog.cae_visiable=true;
+      break;
+        case 'five-1':
+          this.dialog.parallel_visiable=true;
+      break;
+         case 'five2-0':
+          this.dialog.statical_analysis=true;
+      break;
+          case 'five3-0':
+          this.dialog.model_analysis=true;
+      break;
+         case 'five4-0':
+          this.dialog.heat_analysis=true;
+      break;
+      case 'five5-0':
+          this.dialog.transient_analysis=true;
+      break;
+          case 'five11-0':
+          this.dialog.create_analysis=true;
+      break;
+
+     
 
  
   }

+ 10 - 3
src/views/index/index.vue

@@ -9,9 +9,13 @@
         <div v-if="value2=='HCFDLab'">
         <hcfd ref="hcfd" :objopp="objopp" ></hcfd>
         </div>
-          <div v-else-if="value2=='FEM'">
-        <fem ref="fem" ></fem>
+          <div v-else-if="value2=='FEM'||value2=='FEMLab2.0'">
+        <fem ref="fem" :femnum="femnum" ></fem>
         </div>
+           <!-- <div v-else-if="value2=='FEMLab2.0'">
+        <fem ref="fem" ></fem>
+        </div> -->
+      
         <div class="adi" v-else>
           <el-tabs  :tab-position="tabPosition" v-model="activeName" type="card" @tab-click="handleClick">
           <el-tab-pane label="几何建模" name="one"><geometry></geometry></el-tab-pane>
@@ -101,6 +105,7 @@ export default {
         pid:'',
       activeName: 'one',
       objopp:'',
+      femnum:'',
         tab:[
             {index:0,name:"几何建模"},
             {index:1,name:"网格划分"},
@@ -168,7 +173,8 @@ export default {
       value0:'ADI.SimWork', 
     options2:[
     {value: 'HCFDLab',label: 'HCFDLab'},
-     { value: 'FEM',label: 'FEM'},
+     { value: 'FEM',label: 'FEMLab(结构力学)'},
+    { value: 'FEMLab2.0',label: 'FEMLab(结构力学)2.0'},
     { value: 'adi',label: 'adi'},
         ],
       value2:'HCFDLab',
@@ -197,6 +203,7 @@ methods:{
       },
       solverchange(val){
         console.log(val)
+        this.femnum=val;
            const params = {
           transCode: 'C00003',
         pid:this.pid,