FEMPath.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.miniframe.solverconfig.fem;
  2. import com.miniframe.constant.MFConstant;
  3. import com.miniframe.core.ext.UtilTools;
  4. import com.miniframe.model.system.AdiModeling;
  5. import com.miniframe.model.system.AdiSolverConfig;
  6. import com.miniframe.model.system.AdiSolverJob;
  7. import com.miniframe.model.system.SysFile;
  8. import com.miniframe.model.system.dao.SysFileMapper;
  9. import com.miniframe.tools.XIFileUtils;
  10. import java.io.File;
  11. import java.io.IOException;
  12. import java.nio.file.Files;
  13. import java.nio.file.Path;
  14. import java.nio.file.Paths;
  15. import java.nio.file.StandardCopyOption;
  16. /**
  17. * 对执行所需要的文件进行文件夹规整已满足求解
  18. */
  19. public class FEMPath {
  20. public static void femCreatePath(AdiModeling modeling,
  21. AdiSolverConfig config,
  22. AdiSolverJob job ) throws IOException {
  23. String jobPath = XIFileUtils.getRootPathStr()+ MFConstant.separator+job.getPid();
  24. System.out.println(jobPath);
  25. String exePath = jobPath+ MFConstant.separator+"fem";
  26. String exeInPath = exePath+ MFConstant.separator+"data_in";
  27. File exeInDir = new File(exeInPath);
  28. if(!exeInDir.exists()){
  29. exeInDir.mkdirs();
  30. }
  31. String exeOutPath = exePath+ MFConstant.separator+"data_out";
  32. File exeOutDir = new File(exeOutPath);
  33. if(!exeOutDir.exists()){
  34. exeOutDir.mkdirs();
  35. }
  36. SysFileMapper fileMapper = UtilTools.getBean(SysFileMapper.class);
  37. SysFile nmlFile= fileMapper.selectByPrimaryKey(config.getNmlFile());
  38. fileMove(nmlFile,exePath+MFConstant.separator+"analysis.in");
  39. // SysFile mapbcFile= fileMapper.selectByPrimaryKey(config.getMapbcFile());
  40. // fileMove(mapbcFile,exeInPath+MFConstant.separator+"fem.bdf");
  41. SysFile grid= fileMapper.selectByPrimaryKey(modeling.getGridFile());
  42. fileMove(grid,exeInPath+MFConstant.separator+"fem.bdf");
  43. }
  44. /**
  45. * 文件移动
  46. * @param file
  47. * @param pathStr
  48. * @throws IOException
  49. */
  50. public static void fileMove(SysFile file ,String pathStr) throws IOException {
  51. Path path = Paths.get(pathStr);
  52. SysFileMapper fileMapper = UtilTools.getBean(SysFileMapper.class);
  53. Files.move(Paths.get( XIFileUtils.getRootPathStr()+ MFConstant.separator+file.getFilepath()),
  54. path, StandardCopyOption.REPLACE_EXISTING);
  55. String fielRelativePath = XIFileUtils.getRelativizePathStr(path);
  56. file.setFilepath(fielRelativePath);
  57. file.setFilename(path.getFileName().toString());
  58. fileMapper.updateByPrimaryKey(file);
  59. }
  60. }