Started testing with 4 direct journeys from Earth to Mercury, Venus and Mars and Jupiter.
The Auto-Min setting seems to be working ok, No crazy values on the variables. Mercury took longer that the others, due to its highly elliptical and inclined orbit.
As anticipitated, it was faster when the date was near a launch window and even faster when the arrival on the target planet coincided with the line of nodes.
The fact that the setting is optional and you don't have to use it if you don't want to is great, since TransX veterans may want to use their own way of doing things. I think new users will find it useful though.
I also tested backwards compatibility with scenarios from previous versions of TransX and everything seems to be ok.
Or to be more specific:
1) During my tests of slingshots (Earth->Venus->Mercury), it turned out that the minimum would most probably be found when the Pe/PlanetRad is < 1.0. Would it be enough to designate such minimum and let the user decide (or notice) that it's erratic?
I think that's enough. The < 1 Pe/Pl ratio is normal for that slingshot. Arriving from Earth to Venus with a hohmann transfer gives you an encounter velocity of ~3.8 km/s
To go to Mercury from Venus you need something between 4.1 km/s (arrival at apoapsis) and 7.8 km/s (arrival at periapsis). So we are looking at a minimum dV deficit of 0.3 km/s. and a maximum of 4 km/s. (without taking into account the plane change).
That deficit means a Pe/Pl ratio < 1
In practise, you need at least 2 passes from Venus and one DSM.
Enjo said:
2) What about manouvre mode. Is it working OK?
It doesn't appear to be working there. I setup an Earth-Moon maneuver with 2 scenarios. One with the spacecraft coplanar to the Moon and a second one for an off plane transfer. The hohmann dV says 0 and the Auto-Min setting doesn't work for the Prograde. Oddly enough, it jumps to an odd value when set to Outward or Pl.Change.
(IMO the auto-min setting is enough for the Eject plan and doesn't need to implemented on the maneuver too.)
Suggested addition (other than the total DV and Circ Delta):
Now that we have the hohmann transfer dv displayed on the Eject plan, it would be great if we could also show to the user some helpful info about finding the launch window date. Here is how I imagine it to work:
Knowing the semi major axes of the planets means that you also know the transfer orbit half period, which is equal to the transfer time. From that you can find what the angle between the planets must be, in order to be in a correct launch window.
Example (Earth-Venus)
Earth: Dist = 1AU, Sid. Period = 365.25 days
Venus: Dist = 0.72 AU, Sid. Period = 224.7 days
SMa is of transfer orbit = (0.72 + 1)/ 2 = 0.86 AU.
Transfer period = 0.86^1.5 = 0.7975 years
Transfer time = 0.7975/2 = 0.39875 = 145.6 days
Venus will cover 145.6/224.7 = 64.8% of its orbit = 233.3°
180-233.3° = -53.3° (negative angle means the target needs to be behind)
So Earth needs to be ahead of Venus 53.3° degrees at the time of transfer.
Example (Earth-Mars):
Earth: Dist = 1AU, Sid. Period = 365.25 days
Mars: Dist = 1.52 AU, Sid. Period = 686.97 days
SMa of transfer orbit = (1+1.52)/2 = 1.26 AU
Transfer period = 1.26^1.5 = 1.414 years.
Transfer time = 1.414/2 = 0.707 years = 258.2 days
Mars will cover 258.2/686.97 = 37.6% of its orbit = 135.3°
Angle: 180°-135.3° = 44.7° (positive means the target needs to be ahead)
So Mars needs to be 180°-135.3° = 44.7° ahead from Earth at the time of the transfer.
If we want to take this a step further, we can connect the Date variable to the angle and show the angle for the date selected from the user on the Eject plan.
It doesn't seem like a difficult feature to add. The angle between the planets can be easily found with a 2D simplification (not that it's difficult to use all 3 spatial coordinates, just unnecessary). I am not so sure as to how to connect the date and re-calculate the angle, but I don't think it's too difficult.
As a "safety" feature, (custom solar systems , high R.Inc between departure and arrival planets, etc), the feature could be turned off after a predefined maximum R.Inc value.