Mate, the actuators just control the speeds at which the masses change radius, as a function of angle.Fletcher wrote:Hi Mr V .. spent a few hours today looking behind the scenes of your sim. Not trying to shade you. Just some thoughts on fundamentals.
The Actuators displacement is controlled by Length of Actuator formula (for those that can't see this) which is dependent on 2 relative points in the wheel. So independent of any capacity to do Work formula.
I dumped a lot of the MOI stuff and went back to basics of Green Driver GPE/KEt and Red Loads KE translational vs System KE to see how things lined up.
I note that the extra energy you apparently see comes from that Actuator length formula controlling the position of the Red Loads moving radially out and then in. And that it appears to close at first glance more quickly than it opens. This means it requires more Power to close quickly like that. And at the same time fighting against Cp's (tangential inertia). I think there must be a question mark about this.
ATEOTD since the Red Loads move equal distances radially their Net GPE remains zeroed. So we only have Driver GPE loss to convert to Driver and Loads Translational KE (KEt). Since the Driver always has some residual velocity (KE) then we don't have the full compliment of GPE loss to use doing Work on the Loads to bring them to CoR against Cp's.
This is where I think there is a problem in your Outputs. My instinct tell me that it takes more Work (or Power) to close the Loads than GPE Driver loss even if all was available to do the Work which it is not because the Driver still has velocity and KE.
It ain't easy to drive those radial loads back to CoR in an unassisted system, IMO.
ETA: Energy is said to be the capacity to do Work. It is the currency for Work. That's why I think you need to swap out the actuator length control formulas which currently dictate where the Loads are located at any time, to reflect real energy or f x d requirements an actual move would entail.
JMO's.
They're not "fed with energy".
They're not "fed with energy" no matter how they're applied - using any of the default functions.
They simply supply whatever force is required as a function of the mass and acceleration.
That force is multiplied by the radial velocity at which it is applied, and then integrated over time.
And then, independently, the actual CF force acting on the masses is calculated from the standard formula, and also multiplied by radial velocity, then integrated over time.
So the energy divergence we're looking at is between the actual centrifugal force profile, and the actual energy spent in doing work against it.
Any of the actuator's input functions can be used in this way (tho "acceleration" is hardest to keep in sync to rotation) - however i thought i was returning to a 'back to basic' iteration on your advice.. the problem that does arise using the "length" control, as-is, is unintended dissipative losses as the masses accelerate hard back into the center, then slam to a halt. At lower speeds, all this KE is recovered by the actuators, however at higher speeds this begins to fail, and we get an inadvertent inelastic collision.
The fix for this is to switch to using the "velocity" control instead. The basic function used is almost identical to the "length" version, "if (body[5].v.y < 0, -point[17].v.y, 0)" - so now the radial velocity of the masses is a function of the angular velocity and angle. This sacrifices positional precision - the MoI will no longer park at the exact intended values - whilst helping to eliminate lossy decelerations.
This is further refined by adding 'acceleration damping' to the inbound stroke, accelerating harder mid-way in, then braking progressively into the center, such that all radial KE is completely recouped by the actuator integrals.
So i'm switching back to the more refined method, just to keep the data clean and consistent across the maximal range of velocity.
The energy i'm "apparently" seeing is just data, unbiased in any way - it's real data... the only question is whether the gain is real or not.
It's persistent across a wide range of velocities, with a non-linear envelope.
So whatever its provenance, it has to have an identifiable cause...