In the current state of
hannes-philpp branch (as of commit ff611d7a), "timestep" is not yet set when calling the Simulation() constructor, so we can't compute the CFL condition there. Furthermore, there is in general confusion between user-required output, which are set by the application/main() and are represented by
timestep (we can call them "outer" iterations) and the actually CFL-allowed "allowed_dt" and "inner" iterations required by FTCS to reach those timesteps within a call to
I tried and "fixed" this in Simulation.cpp and FTCS.cpp. Please take a look and merge if it's ok. In this branch I updated the CFL condition to eq. 44 of the doc and in my tests it seems stable. Look for example at "FTCS_2D_proto_closed_mdl.cpp"
I tried to comment everywhere I changed with