Skip to main content
13-Aquamarine
March 22, 2013
Question

Conditional loads, mechanism dynamics

  • March 22, 2013
  • 1 reply
  • 1862 views

Morning,

How does one switch on/off a load or driver based on a measure value.

Simple scenario is we don't know precisely when a limit will be reached and I might want a spring/damper to stop working (pretend something has broken) or another piece of mechanism to begin it's motion.

The conditions appear to be dependent on time domains only.

Will we get flexible beams in mechanism?

I can do this in Mechanica motion,

Thanks


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.

1 reply

16-Pearl
March 22, 2013

This can be done! I've applied it hundreds of times (even back in "Mechanica Motion" for you long-time, hard core users!) - the trick is creating a "User Defined" measure that acts as an "on-off" flag. Say you wish to stop a spring from working if the displacement of a body it's connected to moves beyond a certain location, for example >10. This position is monitored by a measure you already have called "dist". Now, create a "User Defined" measure (call it "spring_limit") that has a relation in it to check for the value of this existing measure that is your contiional parameter, "dist", and create the function like this:

dist <= 10

Now, anytime that the value of "dist" is less than or equal to 10, the value for "spring_limit" will equal 1 (one). If the condition is "false" (dist > 10), the value of "spring_limit" will equal 0 (zero). You then use this flag to multiply it by a user defined force which represents your spring, and if the distance of the body goes beyond 10, the value of your spring force will be zero. Your user defeined spring force fucntion may look like this:

spring_limit * K * dist

Where "K" is your spring constant. This approach will allow you to create some very complicated forcing functions.

BTW - I'm curious how you did this in MM.

346gnu13-AquamarineAuthor
13-Aquamarine
March 22, 2013

Thanks Christopher,

... I was hoping for a nerdy day, got pulled away onto dull stuff, back now.

In MM I did this in a similar manner except I added in the use of the 'minimum' function to the conditional statement so that when it went to zero it stayed zero. Most of the forces were polynomial point to point.

The problem with the method you describe is that if 'dist' drops again, the spring becomes active again. In my mechanism I need it to 'break', permanently regardless of later motion.

The 'minimum' function stores the smallest value of the function regardless of what happens later. I don't think there is a 'minimum' function in Mechanism.

Charles

346gnu13-AquamarineAuthor
13-Aquamarine
April 15, 2013

Is there a 'minimum' function in Mechanism Dynamics?

Or is there another way to permanently switch something off as a result of meeting a condition (regardless of the time that condition is met) ?

Thanks