Browse Source

火灾求解

huangxingxing 1 year ago
parent
commit
7dc772fc1d

+ 8 - 3
src/main/java/com/miniframe/bisiness/system/D00008Service.java

@@ -87,13 +87,18 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 //		TemplateGenerator2.createGeometry(aid,jid);
 		TemplateGenerator.createMonitor(aid,jid);//生成监测点文件
 		if(accident.getStype().equals("Fire")){
-			TemplateGenerator.createFireControl(aid,jid,totaltime,dt,dx,reportstep,interactionstep,cocodes);
+			TemplateGenerator2.createFireControl(aid,jid,totaltime,dt,dx,reportstep,interactionstep,cocodes);
 			LogService.addLog(accident,"fireControl.ftl配置生成——————————————————成功");
-			TemplateGenerator.createFireRunsh(aid,jid);
+			TemplateGenerator2.createFireRunsh(aid,jid);
 			LogService.addLog(accident,"runFile.sh配置生成——————————————————成功");
-			TemplateGenerator.createFireInit(aid,jid);
+			TemplateGenerator2.createFireInit(aid,jid);
 			LogService.addLog(accident,"Fire.init配置生成——————————————————成功");
+
+			TemplateGenerator2.createFireEsccapeControl(aid,jid);
+			LogService.addLog(accident,"FireEscape.control配置生成——————————————————成功");
 			exeFire(aid,jid);
+
+
 		}
 		if(accident.getStype().equals("Water")){
 			TemplateGenerator2.createWaterControl(aid,jid,totaltime,dt,dx,reportstep,interactionstep);

+ 30 - 1
src/main/java/com/miniframe/template/TemplateGenerator2.java

@@ -310,6 +310,8 @@ public class TemplateGenerator2 {
         dataModel.put("fireInteractionPath", "/home/disaster/fire/Fire.interaction");
         //midPath
         dataModel.put("monitorPath", BPATH + "/" + aid + "/" + jid + "/monitor.in");
+
+        dataModel.put("peakin", BPATH + "/" + aid + "/" + jid + "/monitor.in");
         //midPath
         dataModel.put("midPath", BPATH + "/" + aid + "/" + jid + "/fire" + "/mid");
         //outPath
@@ -368,11 +370,14 @@ public class TemplateGenerator2 {
         // 设置模板所在目录
         cfg.setClassForTemplateLoading(TemplateGenerator2.class, "/templates");
         // 获取模板对象
-        Template template = cfg.getTemplate("fireRunsh.ftl");
+        Template template = cfg.getTemplate("fire2Runsh.ftl");
         // 定义数据模型(Map)
         Map<String, Object> dataModel = new HashMap<>();
         //几何文件路径
         dataModel.put("firecontrolPath", BPATH + "/" + aid + "/" + jid + "/fire" + "/Fire.control");
+        //几何文件路径
+        dataModel.put("fireEscapeControlPath", BPATH + "/" + aid + "/" + jid + "/" + "/fire" + "/FireEscape.control");
+
         // 将数据模型传入模板进行处理
         StringWriter writer = new StringWriter();
         template.process(dataModel, writer);
@@ -448,6 +453,30 @@ public class TemplateGenerator2 {
         fileWriter.close();
     }
 
+
+
+    public static void createFireEsccapeControl(Integer aid, Integer jid) throws IOException, TemplateException {
+        Configuration cfg = new Configuration(Configuration.VERSION_2_3_0);
+        // 设置模板所在目录
+        cfg.setClassForTemplateLoading(TemplateGenerator2.class, "/templates");
+        // 获取模板对象
+        Template template = cfg.getTemplate("fire2EscapeControl.ftl");
+        // 定义数据模型(Map)
+        Map<String, Object> dataModel = new HashMap<>();
+        //几何文件路径
+        dataModel.put("geoFilePath", BPATH + "/" + aid + "/" + jid + "/Geometry");
+        dataModel.put("midPath", BPATH + "/" + aid + "/" + jid + "/water" + "/mid");
+         dataModel.put("outPath", BPATH + "/" + aid + "/" + jid + "/water" + "/out");
+        // 将数据模型传入模板进行处理
+        StringWriter writer = new StringWriter();
+        template.process(dataModel, writer);
+        mkDirs(aid, jid, "/fire");
+        FileWriter fileWriter = new FileWriter(BPATH + "/" + aid + "/" + jid + "/" + "/fire" + "/FireEscape.control");
+        fileWriter.write(writer.toString());
+        fileWriter.close();
+    }
+
+
     public static void main(String[] args) throws Exception {
 //        TemplateGenerator.createWaterRunsh(5);
 

+ 18 - 0
src/main/resources/templates/fire2Control.ftl

@@ -0,0 +1,18 @@
+geoFile : ${geoFilePath}
+initFile :  ${initFilePath}
+interaction file name : ${fireInteractionPath}
+monitorFile : ${monitorPath}
+peakFile : /home/disaster/zhty/Program/peakin
+midPath : ${midPath}
+outPath : ${outPath}
+totaltime : ${totaltime}
+dt: ${dt}
+dx: ${dx}
+report step : ${reportstep}
+interactionstep : ${interactionstep}
+Boundary number :${boundarynum}
+FireSource number:${fireSourceNum}
+Number Con:${conNum}
+<#list cons as b>
+${b.code},${b.diffcoe}
+</#list>

+ 7 - 0
src/main/resources/templates/fire2EscapeControl.ftl

@@ -0,0 +1,7 @@
+geoFile : ${geoFilePath}
+midPath : ${midPath}
+outPath : ${outPath}
+escapeFile : /home/disaster/zhty/Program/escape
+personnumber : 1
+pipes22,0.1,500
+#end

+ 4 - 0
src/main/resources/templates/fire2Runsh.ftl

@@ -0,0 +1,4 @@
+cd /home/disaster/zhty/Program
+export LD_LIBRARY_PATH=./bin:$LD_LIBRARY_PATH
+./Fire ${firecontrolPath}
+./calDanger ${fireEscapeControlPath}