Quellcode durchsuchen

8.29网格划分

liuqiao vor 2 Jahren
Ursprung
Commit
edaea86bc6
1 geänderte Dateien mit 288 neuen und 0 gelöschten Zeilen
  1. 288 0
      src/views/index/HCFDLab/index.vue

+ 288 - 0
src/views/index/HCFDLab/index.vue

@@ -571,6 +571,209 @@
           @click="runugrid();dialog.upload_visiable = false"
         >{{ $t("HCFD.file.ok")}}</el-button>
       </div>
+    </el-dialog>
+        <!-- 网格自动划分 -->
+    <el-dialog
+      v-if="active=='one-2'"
+      :visible.sync="dialog.mesh_generation"
+      :close-on-click-modal="false"
+      @close='activecleer()'
+      class="dialog"
+      :modal='false'
+      custom-class='dialoglocation dialog_color'
+      width="385px"
+      v-draggable
+      v-draggleft='[styX.left]'
+    >
+      <div
+        slot="title"
+        class=dialog_header
+      >
+        <el-image
+          class="imge"
+          :src="p21"
+          fit="cover"
+        />
+        <span class="text-color">网格自动划分</span>
+      </div>
+    <div class="selecr">
+      <el-form>
+          <el-form-item
+            label="划分类型"
+            :label-width="formLabelWidth5"
+          >
+            <el-select
+              v-model="meshval"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in meshvallist"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+              <div class="radio_text text_color liangf">
+              <div class="classfelx" style="text-align: center;">
+                <el-radio
+                      v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
+                      label="on"
+                      >物理尺寸模型</el-radio>
+                  </div>
+                    <div class="classfelx">
+                    <el-radio
+                      v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
+                      label="off"
+                      >几何尺寸模型</el-radio
+                    >
+                    </div>
+            </div>
+          <el-form-item
+            label="面网格类型"
+            :label-width="formLabelWidth5"
+          >
+            <el-select
+              v-model="meshval1"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in meshvallist1"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item><el-form-item
+            label="模式类型"
+            :label-width="formLabelWidth5"
+          >
+            <el-select
+              v-model="patternval"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in patternlist"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+             <div class="radio_text text_color liangf" v-if="patternval=='1'">
+              <div class="classfelx" style="text-align: center;">
+                <el-radio
+                      v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
+                      label="on"
+                      >面设置大小</el-radio>
+                  </div>
+                    <div class="classfelx">
+                    <el-radio
+                      v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
+                      label="off"
+                      >边设置大小</el-radio
+                    >
+                    </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-input v-model="form.name" autocomplete="off"></el-input>
+    </el-form-item>
+       <div class='selecttype'>
+              <span class="meshcalss">优化设置选择</span>
+                <el-checkbox-group v-model="checkListset" @change="checksetchange">
+             <el-checkbox label="纠正表面相交"></el-checkbox>
+            <el-checkbox label="优化网络" :disabled='disabledset'></el-checkbox>
+           <el-checkbox label="移除重复CAD面"></el-checkbox>
+          </el-checkbox-group>
+          <el-form-item
+            label="单元阶数选择:"
+            :label-width="formLabelWidth5"
+          >
+            <el-select
+              v-model="eleval"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in elsementlist"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+             <el-form-item label="雅可比数值:" :label-width="formLabelWidth5">
+          <el-input v-model="form.name" autocomplete="off"></el-input>
+        </el-form-item>    
+          </div>
+          <div class='selecttype'>
+              <span class="meshcalss"> <el-checkbox v-model="facecheckbox" label="面网格生成后的优化设置选择" @change="facechange"></el-checkbox></span>
+                <div class="jieguo">
+              <div class="jiegleft">
+                <div class="radio_text text_color liangf" style="line-height: 160px;">
+              <div class="classfelx" style="text-align: center;">
+                <el-radio
+                      v-model="jiegradio"
+                      label="结构"
+                      :disabled="disabledface"
+                      >结构</el-radio>
+                  </div>
+                    <div class="classfelx">
+                    <el-radio
+                      v-model="jiegradio"
+                      label="流体"
+                       :disabled="disabledface"
+                      >流体</el-radio
+                    >
+                    </div>
+                    </div>
+              </div>
+              <div class="jiegright">
+                  <div class='selecttype' v-if="jiegradio=='结构'">
+                 <span class="meshcalss "> <el-checkbox    :disabled="disabledface"  label="结构使用默认值" v-model="jiegradioval"></el-checkbox></span>
+                   <el-form-item label="重叠角度" :label-width="formLabelWidth2" :disabled='jiegradioval'>
+                  <el-input v-model="form.name" autocomplete="off" ></el-input>
+                </el-form-item>
+                  <el-form-item label="长度阀值" :label-width="formLabelWidth2" :disabled='jiegradioval'>
+                <el-input v-model="form.name" autocomplete="off"></el-input>
+              </el-form-item>
+               </div>
+                <div class='selecttype' v-else>
+                 <span class="meshcalss"> <el-checkbox label="流体使用默认值" v-model="jiegradioval"></el-checkbox></span>
+                   <el-form-item label="重叠角度" :label-width="formLabelWidth2 " :disabled='jiegradioval'>
+                  <el-input v-model="form.name" autocomplete="off"></el-input>
+                </el-form-item>
+                  <el-form-item label="长度阀值" :label-width="formLabelWidth2"  :disabled='jiegradioval'>
+                <el-input v-model="form.name" autocomplete="off"></el-input>
+              </el-form-item>
+               </div>
+              </div>
+              </div>
+             </div>
+      </el-form>
+    </div>
+      <div
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button @click="dialog.mesh_generation = false">{{ $t("HCFD.file.cancel")}}</el-button>
+        <el-button
+          type="primary"
+          @click="dialog.mesh_generation = false"
+        >{{ $t("HCFD.file.ok")}}</el-button>
+      </div>
     </el-dialog>
     <!-- 缩放 -->
     <el-dialog
@@ -4389,6 +4592,13 @@ export default {
 
   data() {
     return {
+      jiegradioval:false,
+      facecheckbox:false,
+      disabledface:true,
+      jiegradioval:false,
+       jiegradio:"结构",
+      checkListset:['纠正表面相交'],
+      disabledset:true,
       lowbool: false,
       Quickbool: false,
       Startbool: false,
@@ -4728,6 +4938,31 @@ export default {
         { value: "laminar", name: "层流" },
         { value: "turbulent", name: "湍流" },
       ],
+        meshvallist:[
+        { value: "0", name: "面网格" },
+        { value: "1", name: "四面体网格" },
+        { value: "2", name: "六面体网格" },
+        { value: "3", name: "混合网格" },
+      ],
+       meshval:'0',
+         meshvallist1:[
+        { value: "0", name: "三边行" },
+        { value: "1", name: "四边形" },
+        { value: "2", name: "全四边形" },
+        { value: "3", name: "局部" },
+      ],
+       meshval1:'0',
+       patternlist:[
+        { value: "0", name: "global" },
+        { value: "1", name: "local" },
+        { value: "2", name: "none" },
+      ],
+       patternval:'0',
+        elsementlist:[
+        { value: "0", name: "linear" },
+        { value: "1", name: "quadratic" },
+      ],
+       eleval:'0',
       fileTypeli: [
         { value: "timestep", name: "timestep" },
         { value: "model", name: "model" },
@@ -4971,6 +5206,7 @@ export default {
         ziyuan: false,
         geometry_upload: false,
         upload_visiable: false,
+        mesh_generation:false,
         scale_visiable: false,
         translation_visiable: false,
         rotation_visiable: false,
@@ -5777,6 +6013,9 @@ export default {
         case "one-0":
           this.dialog.upload_visiable = true;
           break;
+         case "one-2":
+          this.dialog.mesh_generation = true;
+          break;
         case "two-0":
           this.dialog.scale_visiable = true;
           break;
@@ -6868,6 +7107,23 @@ export default {
         })
         .catch((err) => {});
     },
+    checksetchange(val){
+      if(val.includes("纠正表面相交")){
+        this.disabledset=true;
+     let myArray=this.checkListset;
+      this.checkListset = myArray.filter(function(item) {return item !== "优化网络"
+});
+      }else{
+         this.disabledset=false;
+      }
+    },
+   facechange(){
+      if(this.facecheckbox){
+        this.disabledface=false;
+      }else{
+        this.disabledface=true;
+      }
+   }
   },
   watch: {
     "animationobj.currentstep"() {
@@ -6995,6 +7251,33 @@ body {
   color: #b6b6b6;
   font-size: 16px;
 }
+.meshcalss{
+  position: absolute;
+    display: inline-block;
+    top: -13px;
+    left: 12%;
+    margin: 0 auto;
+    margin-left: -27px;
+    font-size: 12px;
+    padding: 3px 5px;
+    background-color: #ffff;
+    color:#333;
+    .el-checkbox__label{
+        color:#333;
+    }
+}
+.jieguo{
+  display: flex;
+  .jiegleft{
+    width: 35%;
+    .el-radio__label{
+      font-size: 12px;
+    }
+  } 
+  .jiegright{
+    width: 67%;
+  }
+}
 .textlab {
   display: inline-block;
   vertical-align: middle;
@@ -7329,11 +7612,16 @@ body {
   }
 }
 // select样式
+
 .selecr {
   font-size: 12px;
   .el-select {
     width: 100%;
+      .el-checkbox__label{
+        font-size:12px;
   }
+  }
+
 }
 .btnringth {
   text-align: right;