Save current throttle and Isp to other variables During timewarp, perturb orbit and mass based on saved throttle and Isp [3/3] Perturb orbit Perturb mass Perturb other resources (e.g. energy) Look up energy consumption Look up mass consumption Format thrust in more readable form [3/3] mN when < 1 N N when < 1000 N kN when < 1000000 N Drop out of timewarp on depletion of any resource Scale energy to more realistic amount Show resource consumption Test if this works for multiple engines and sails [2/2] Multiple engines Multiple sails Use one or more deltaV propellants [2/2] Iterate over list of deltaV propellants and calculate demand and deltaV Automatically detect which propellants contribute to deltaV Do they have density units? Yes. Modularize PersistentEngine with methods used by OnFixedUpdate [5/5] UpdatePersistentParameters CalculateDemands ApplyDemands CalculateDeltaVV ApplyDeltaVV Make PersistentEngine a separate addon that uses existing ModuleEngines* module [6/6] Add “engine” field to PersistentEngine class Make class inherit PartModule Use “engine” field instead of direct fields Make module search vessel for ModuleEngine* module Update ion engine config to add PersistentEngine instead of replace ModuleEnginesFX Disable persistent features when ModuleEngine not found Realistic sail attitude control Vanes to cause solar torque about CM Gimbaled boom to shift CM Realistic moments of inertia (i.e. BIG) IKAROS style thin film reflective control devices Make new solar sail models [0/5] Square sail (LightSail, Lunar Flashlight, NEA Scout) 4 triangular panels with billowed shape Wrinkled looking surface Sunjammer 4 triangular panels with stripe net and billow in between Steering vanes Vanes at boom tips that rotate to face sun with ~20 deg cant for stability Halley Rendezvous square sail Big, billowed sail with masts and stays IKAROS Animated rotation Scale rotation speed to sensible amount during time warp Animate change in reflective control device color as it performs attitude maneuvers Make TweakScale work with parts [0/2] Solar sail Ion engine With solar electric ion engine spacecraft, batteries deplete in high timewarp, even though the panels generate enough ElectricCharge [1/2] Temporarily bypass by turning off resource request and depletion Fix Sample craft: 1 ion engine, 2 gigantor XL solar arrays, Z-200 battery 5% throttle At 100x and 1000x, batteries a little low At 1000x, batteries ~50% At max warp, batteries deplete, but vessel doesn’t shutdown In timewarp, persistent engines lower a suborbital engine when they should be raising it [1/2] Temporary fix: throw error message when suborbital & in timewarp, don’t perturb orbit Make it work Add GUI window that shows propellant data [0/3] Button in main GUI to toggle List of propellant names List of propellant rates Test if resource wasn’t fully requested (demandOut < demand) [0/6] Test to make sure demandOut always == demand during normal operation Scale mass change dm to ratio of demandOut/demand Ensure a similar ratio of other propellants was applied Apply a reduced deltaV Flag depletion Do we want to calculate PersistentThrust as a function of PersistentThrottle, minThrust, and maxThrust?