Hey!
Thanks for the detailed question. I reproduced your problem with your tuneCV command. In short, the failure to converge comes from the mesh resolution, not from your tuneCV settings.
Why it fails
The Aliev-Panfilov model has a very steep upstroke: over 700 mV/ms in a single-cell bench run, with APD90 of about 318 ms. The wavefront is therefore very thin, and it gets thinner as conductivity drops, because front width is roughly CV × upstroke duration. At 350 µm the front is much narrower than one element, so:
- CV depends strongly on the mesh. With your starting gi=0.0915 / ge=0.3286 I measured 0.68 m/s at 350 µm, 1.06 at 200 µm, and about 1.13 at ≤ 50 µm (the converged value).
- CV no longer scales like √g. tuneCV assumes it does and rescales conductivity by (v_target/v)². On a mesh this coarse that step overshoots, the next run blocks, tuneCV replaces the blocked CV with a placeholder of 0.05 m/s, and it overshoots again. The iterations keep bouncing between block and very fast conduction.
- For 0.3 m/s the conductivity needed is so low that coarse meshes block completely. On an irregular mesh with a median edge of 380 µm, some regions will propagate and others will block. That fits the "improper wave propagation" you saw with your hand-tuned values.
If you want to keep the 380um mesh, I suggest that you use a different ionic model with a less steep upstroke. If you insist on using Aliev-Panfilov as is, you have to refine the mesh to something closer to 50-100 um.