Skip to content

fix confusion between CFL/inner and outer iterations

Marco De Lucia requested to merge fix_confusion_inner_outer into hannes-philipp

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 iterations and 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 run().

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 // MDL:.

Merge request reports