Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
All you're trying to do is numerically integrate the accelerations over time to get the new position at any given time.

Okay. Accept by setting mass = 1 (or any other constant), were effectively ignoring the mass; so any "position" derived is at the very best scaled incorrectly. Presumably, the undeclared, set or explained $scale in your pseudo-code is there to account for that.

So effectively, $v becomes a running accumulation of the consecutive instantaneous force vectors (minus their direction?) scaled by some arbitrary constant. The direction could be retrieved/retained by storing tan-1( Fy / Fx )

But, F(N) = m(kg) * a(ms-2). Set m = 1, and F(N) = a(ms-2). I'm given F, I want metres, so rearranging m = N * s-2. I have N, but no s. s is undefined and undefinable. If the mechanism is rotating slowly, the time taken to traverse an input step of 1 degree will be longer than if it is running quickly. Perhaps orders of magnitude: 1 rpm versus 1000 rpm.

And if we set the time to some arbitrary constant, then we are equating distance moved with force acting: m = N. If the mechanism was a simple rotation around a single axis, we might get away with that. (And I'm unconvinced of even that.)

But as the force we have is acting in a semi-radial direction on a compound (cam) linkage, the force will act for some unspecified time period to 'straighten' the link, at which point it reaches a form of equilibrium. But achieving that position will only require some subset of the force acting. At that point, the rest of the force will simply be expended trying to stretch the link. And as far as I can tell, there is no way to decide what proportion of the force did work, and what was expended in futility.

Since my steps are (can only be) (angular) distance traveled -- and that's what I'm trying to determine -- the next input position is defined as the position resulting from the last integration. The best I can do to achieve my desired "at least 1 simulation for every degree of rotation", is: if the result of a step is substantially greater than one degree, divide the angles I used to establish the position I fed into that step, by 2 or 3 or whatever is appropriate, and re-run the model to obtain the intermediate positions.

But that accumulation of intermediate steps will almost certainly result in a different final position, as the forces acting through a degree of movement are definitely non linear.

For example, let's assume that the general direction of the preponderance of forces acting is fixed. (They aren't, but bear with me.) And for simplicity, let's assume that direction is the opposite direction of the green force line shown in my diagram. And the X/Y force values I get are Fx = 200, Fy = 3.

In the first step, the vast majority of that X component will be expended in trying to compress the link A-B. And only the small Y component will cause A to rotate about B, some small amount.

In the next step, the small movement that resulted from the previous step means that the leverage has changed, and the same forces acting will have a bigger effect. Ditto the next step, and the step after that, until eventually, A has rotated far enough around B that A-B is aligned with the resultant force vector. At that point, if the forces acting don't vary, no further rotation would be possible.

My point is, I cannot see how directly equating distance with force can possibly result in anything useful?

Please, I'm an engineer who does a little math. If I missing the purity of the math you are suggesting, (and simply muddying it with all my talk of physical units and motions, I'm sorry :) but since any determination of work done derive from F = ma inevitably requires a known time delta, and there is simply no way to derive one from a static model.

Nor do I see it possible to assume one or allocate one arbitrarily.

Also, and perhaps more importantly, F = ma requires that all forces (and masses and accelerations) are taken into account; but, by Newton's 3rd, the reaction force from the solid, fixed and immovable B is unaccountable in the above.

Update:BTW, don't you just love the way a-holes downvote what they don't understand. Amuses me no end :)


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.

In reply to Re^7: [OT] Forces. by BrowserUk
in thread [OT] Forces. by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2024-04-24 09:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found