Skip to content

Pull request for refactoring Fem towards CAE workbench (Test passed on my PC)

Jonathan Wiedemann requested to merge github/fork/qingfengxia/master into master

Created by: qingfengxia

Aims of this pull request:

  • genralization of CAE solver, sharing mesh and analysis class infra-strcture
  • simplification of work for new solvers: A new solver will need only case-runner, case-writer, resultp-reader
  • decoupling analysis and solver.

Achieved refactoring work

  1. FemTools.py -> CaeSolver (general class to start external solver process) + ccxFemSolver (specific solver) Significant refactoring(mainly renaming) work happens here, code logic is remain identical.
  2. MechanicalAnalysis -> CaeAnalysis (general class) + JobControlTaskPanel (general class) + FemResultControlTaskPanel + FemCommands.py Just split a big class into several class, thereby, half code is reusable.

As there is file split, it looks messy, but I almost nothing touched in MachanicalAnaysis.py

Feature request or discussion:

  1. FemGui.getActiveAnalysis()) # ActiveDocumentObject should be got fom Fem, not from GUI module?
  2. MechanicalMaterial.py macro replay stuck here. material index selection is not recorded by python console, line 111. Can we give a default material instead of None.
  3. C++ code should load only FemCommands, instead of MechanicalAnalysis

The currrent MechanicalAnalysis should be split into CaeAnalysis.py or any name you like + FemCommands.py

  1. I am still puzzled at why "print str" does not showup, and why FemTools() can not be shared in JobControlTaskPanel ?

Thanks very much for review this pull request

Qingfeng Xia

Merge request reports