You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rhoold is used at line 88, set at line 102, and preserved by a save statement at line 35.
I presume that this is depending on rhoold getting initialized to 0s on the first call. With save, this is usually defined. But the first time broydn is called, rhoold is ill-defined.
The text was updated successfully, but these errors were encountered:
Ugh, SAVE statements are the yuck. But it looks like maybe iscmt .eq. 1 is used to signal "first time called" to fill the saved arrays, so that rhoold is never actually used uninitialized (but starts out as edenvl (which is clearly short for "Eden Valhalla". iscmt most likely means "Index of Self-Consistent Muffin-Tin" but I read as "Is Computed Tomography". Yes, there are too many TLA and even too many sxchvn [six character-long variable names]). Anyway, since iscmt is simply incremented (starting at 1) in pot.f, it looks like maybe this is ugly, but actually never uses uninitialized values.
It might be worth considering pulling out the saved arrays (ri05, wt, etc) into scmt.f and scmtmp.f and passing them in, just to avoid the SAVE statement. Well, "consider" doing that. SAVE is not pure evil like COMMON, but we should view them with suspicion.
rhoold
is used at line 88, set at line 102, and preserved by a save statement at line 35.I presume that this is depending on
rhoold
getting initialized to 0s on the first call. With save, this is usually defined. But the first timebroydn
is called, rhoold is ill-defined.The text was updated successfully, but these errors were encountered: