Pull request for refactoring Fem towards CAE workbench (Test passed on my PC)
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
- 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.
- 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:
- FemGui.getActiveAnalysis()) # ActiveDocumentObject should be got fom Fem, not from GUI module?
- 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.
- 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
- 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