Preliminary for Adaptive Time Step + IQN_MVJ
Created by: ghost
General Changes
- The algorithm class has been modified for allowing adaptive time step (in a further update).
- The Metafor outputs are now managed by an user-defined extractor.execute function.
- The simulation outputs are exported according to the dtSave option only.
- The number of threads is correctly assigned using -k.
- New coupling algorithm : Multi-Vector Jacobian.
- The timeItTresh option has been removed.
- Better formatting of the cmd terminal prints.
- Update of PFEM3D wrapper (v2.2.0)
- Update of PFEM wrapper (v1.26).
- PFEM3D with axisymmetric.
PFEM (Marco) Changes
- The extractor can now write VTK files without segfault during the ctest.
- The results are extracted with respect to CUPyDO dtSave instead of PFEM saveFreq.
- Changes in the reference results of the battery (see bellow).
- The GUI (graphical interface) is disabled in FSI.
- Fix for axisymmetric (B.-J Bobach).
Time Step Changes
- The simulation starts at 0 seconds instead of a negative time -dt.
- When CUPyDO is at time t(n), the solvers are run for t(n) -> t(n+1) instead of t(n-1) -> t(n).
- The simulation ends based on the current time instead of the number of time steps performed.
- CUPyDO no longer crash when FSI coupling is performed at the first time step.
Changes in the Battery
PFEM (Marco)
All those changes lead to sightly different final results (because the prints are not exactly at the same time step, because the simulation starts at t = 0, because we use PFEM v1.26, ...) that are above the tolerance of 1%. I updated the results by now looking at the last output of the simulation instead of a specific step, and increased the tolerance to a less restrictive value of 5%.
PFEM3D
The battery was still passing (i.e. the changes did not sufficiently affect the test cases to invalidate the reference values). I still updated the tolerance and the reference result to the new ones obtained on my computer for a better match with the current algorithm (using the new multi-vector Jacobian MVJ coupling).
SU2 Fluid
I disabled SU2 test cases on Windows. The reason is that I previously enabled them because I managed to compile SU2 on Windows with Msys. However, solvers that have been compiled by MVS and GCC may lead to random segfaults while working together with their Python wrapper in CUPyDO. In brief, I decided to disable MVS-incompatible solvers on Windows. For Linux computers : see the update or the previous issue https://github.com/ulgltas/CUPyDO/issues/27.