|
@@ -76,10 +76,11 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
|
|
|
WorkflowVo wvo = TemplateGenerator.getWorkflowVo(pid);
|
|
|
//创建cpace
|
|
|
String cpacsPath =TemplateGenerator.createcCpacsXml(pid,cspvo);
|
|
|
- //创建workflow
|
|
|
- String workflowPath =TemplateGenerator.createcWorkflowXml(pid,wvo);
|
|
|
|
|
|
- if(cpacsPath!=null&&workflowPath!=null){
|
|
|
+
|
|
|
+ if(cspvo.getXfoil()!=null){//workflow 求解器
|
|
|
+ //创建workflow
|
|
|
+ String workflowPath =TemplateGenerator.createcWorkflowXml(pid,wvo);
|
|
|
List<Solver> solvers =new ArrayList<>();
|
|
|
Solver solver =new Solver();
|
|
|
solver.setWorkflowPath(workflowPath);
|
|
@@ -92,6 +93,31 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
|
|
|
//创建run.py
|
|
|
TemplateGenerator.createRunpy2(pid);
|
|
|
run2(pid);
|
|
|
+ }else if(cspvo.getAdflow()!=null){ //adflow 求解器
|
|
|
+ //创建adflow
|
|
|
+ String workflowPath =TemplateGenerator.createcWorkflowXml2(pid,wvo);
|
|
|
+ List<Solver> solvers =new ArrayList<>();
|
|
|
+ Solver solver =new Solver();
|
|
|
+ solver.setWorkflowPath(workflowPath);
|
|
|
+ solver.setCpacsPath(cpacsPath);
|
|
|
+ solvers.add(solver);
|
|
|
+ provo.setSolvers(solvers);
|
|
|
+ //文件迁移
|
|
|
+ XIFileUtils.mkdir(LogService.BPATH+"/"+pro.getId()+"/in/model");
|
|
|
+ XIFileUtils.mkdir(LogService.BPATH+"/"+pro.getId()+"/in/model");
|
|
|
+ XIFileUtils.mkdir(LogService.BPATH+"/"+pro.getId()+"/in/model/aerodynamic");
|
|
|
+ XIFileUtils.mkdir(LogService.BPATH+"/"+pro.getId()+"/in/model/aerodynamic");
|
|
|
+ String xyzfid=cspvo.getFfd().getFid();
|
|
|
+ String gid =cspvo.getAdflow().getFid();
|
|
|
+ String xyzFile = XIFileUtils.getRootPathStr()+"/"+XIFileUtils.getFileUrl(xyzfid);
|
|
|
+ String gfile = XIFileUtils.getRootPathStr()+"/"+XIFileUtils.getFileUrl(gid);
|
|
|
+ XIFileUtils.fileCopy(xyzFile,LogService.BPATH+"/"+pro.getId()+"/in/model/aerodynamic/"+cspvo.getFfd().getFname());
|
|
|
+ XIFileUtils.fileCopy(gfile,LogService.BPATH+"/"+pro.getId()+"/in/model/aerodynamic/"+cspvo.getAdflow().getGridfile());
|
|
|
+ //创建problem.xml
|
|
|
+ TemplateGenerator.createProblemXml(pid,provo);
|
|
|
+ //创建run.py
|
|
|
+ TemplateGenerator.createRunpy2(pid);
|
|
|
+// run2(pid);
|
|
|
}else{
|
|
|
if(StringUtil.isEmpty(pro.getStype())){
|
|
|
throw new BusinessException("MDO000011");
|