Beefs and bugs
From FLUX
Current
- Problems with energy calculation: strange things are afoot (may be fixed; needs rigorous testing)
- Energy increases then decreases in the twisting open-flux simulations (is this due to open Voronoi cells? or to problems with fluxel length compensation?)
- Energy increases during relaxation in some systems
- For at least some runs of FLUX, virtually every line displays something like the first error on this page [1]
- This is probably due to lines crossing at some point
- This can become a major problem in more complex simulations
This appears to be harmless but I will look into it more over the weekend (hopefully) Zowie 18:02, 17 July 2008 (MDT)
- the locale_radius isn't saved. Specifically concentration->locale_radius, but possibly the others as well.
- neither is the concentration boundary condition
- IWBNI the curvature force had the next higher order term(s) in the small angle approximation to sin(theta), to minimize loop size effects from vertex count.
Fixed
- Double-usage of "magic fluxon" values, i.e., fluxons labeled from (-9) to (0)
- Present solution is to try to re-index fluxon labels in input (.flx) file, but long term adjustments to FLUX code may be preferable
- See my RunsOfFLUX page [2] with some of the data/errors from my FLUX runs for more info
Fixed -- the problem was the autocreation of end vertices for newly read fluxons in io.c: autocreated end vertices have negative values based on the fluxon's id number by a simple formula. Extended the formula to not include the range -1 -- -10. Zowie 09:47, 18 July 2008 (MDT)
- Problems with accuracy:
- Some systems are reported to get less accurate (in the sense of having correct field angles) as they relax.
- This seems to be a case of symmetry breaking: initial relaxations of highly symmetric cases tend to go through twisted metastable states when the symmetry breaks (e.g. the potential field demo).
- Problems with Low & Lou solution: average field line size shrinks by factor close to 0.8.
- This should be fixed now with f_pressure_equi2b; needs to be run through the MSU validation suite
- Boundaries:
- The current boundary conditions artificially set the field to be perpendicular to the photosphere everywhere. That is not right! Charles pointed out that we should be able to eliminate the image fluxels for the first and last fluxel on each fluxon, thereby eliminating the problem. That should be simple but remains to be tried.
- Fixed: Yup, I added a mask that prevents the end fluxels of line-tied fluxons from interacting with the image fluxels. That seems to work just fine -- qualitatively, field lines enter the photosphere at approximately the same angle that they approach it from afar, so this is a reasonable short-term fix. It isn't an exact solution -- the last segment "wants" to go under the photosphere, and is prevented only by the combination of the curvature force at the first nontrivial vertex and the pressure force on the first non-endpoint segment -- but at least that is a much better approximation than normal incidence.
- Vertex pseudoforce:
- The new vertex distribution pseudoforce caused problems in Montana
- When Laurel uses the new vertex pseudoforce that distributes vertices along the fluxon it causes the system to hairball in a few instances: generally it is the last fluxon that has problems, and it is only when that fluxon has too few vertices. So far, fiddling with the scalar parameters in front of each of the vertex pseudoforces hasn't yielded the correct combination.
These problems happened because the vertex pseudoforce didn't scale properly with distance (ie not the same way as the other force law components). The current pseudoforce, f_vertex4, seems to solve that problem. zowie 14:55, 27 September 2007 (MDT)
-
fix_curvature:
Fix_curvature caused problems on vertex removal, due to some bookkeeping errors in the unlink_vertex routine. Those appear to be fixed now in the current CVS. I wrote a simple verifier, neighbor_check in the PDL side, that can be used to verify correctness of the neighbor linking structure. It is in </code>.../flux/pdl/PDL/neighbor_check.pdl</code>. zowie 14:57, 27 September 2007 (MDT)
