For implicit coupling the writeCheckpoint is called by the function:
Precice_WriteIterationCheckPoint
This function takes the values of the last timestep as checkpoint values. However, for implicit coupled simulations where the calculix is subcycling, the last calculix timestep is not the same as the last coupling timestep. Therefore, the wrong checkpoint is written.
For implicit coupling the writeCheckpoint is called by the function:
Precice_WriteIterationCheckPointThis function takes the values of the last timestep as checkpoint values. However, for implicit coupled simulations where the calculix is subcycling, the last calculix timestep is not the same as the last coupling timestep. Therefore, the wrong checkpoint is written.
#106 attempted to fix this, but it was not merged in time, and now the branch has diverged. If anyone is interested, feel free to build upon that.