• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Adams
  3. Variable length

Following Cadence Design Systems’ acquisition of the Design & Engineering (D&E) business, the D&E Community Forum on the Nexus Community Center has been migrated in the Cadence Physical System Simulation Community. For more details and if you have any questions, please refer to the FAQ.

Stats

  • State Not Answered
  • Replies 14
  • Subscribers 3
  • Views 1
  • Members are here 0
More Content

Variable length

jatinzaverbhai.mandani
jatinzaverbhai.mandani over 3 years ago
Hello everyone,
 
Some help please because I'm running out of ideas.
 
So, I have two markers / construction frames : first one has a fix location, but the second one is dependent by the first marker.
 
There is a relationship between markers: the 2nd one moves along the axis of the 1st one, only after the distance (DM) between them drops under a certain length.
 
So far I've tried with IF function and with VARVAL... but no success.
 
Examples :
marker_2 = (LOC_RELATIVE_TO({0.0, 0.0, (IF(....))}, marker_1) or
marker_2 = (LOC_RELATIVE_TO({0.0, 0.0, (VARVAL(....))}, marker_1)
 
 
 
How can I integrate a run-time variable into a marker definition ?
 
 
 
 
Thank you very much!
  • Sign in to reply
  • Cancel
  • Henrik.Skovbjerg
    0 Henrik.Skovbjerg over 3 years ago
    What you are doing with "LOC_RELATIVE_TO" is a parameterization in the Adams interface.
    The IF function and the VARVAL() function is used in the solver, so they cannot be used for parameterization of a marker in the interface.
     
    For parameterizations you can use this syntax:
    (DM(marker_1, marker_2) < 10.0 ? 9.0 : 11.0)
    • Cancel
    • Vote Up -1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jatinzaverbhai.mandani
    0 jatinzaverbhai.mandani over 3 years ago
    DM function is, unfortunately, not suitable to me.
    I need a function for both ADAMS interface and Solver.
     
    Other ideas ??
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Henrik.Skovbjerg
    0 Henrik.Skovbjerg over 3 years ago
    You were asking about parameterizations - that is used when MODELING in the Adams interface, as in creating your model.
    If you want something that controls the position of two markers (on different parts of course) during an analysis, you use constraints or forces.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jesper Slattengren
    0 Jesper Slattengren over 3 years ago
    You can't integrate run-time expressions in the parameterization.
    Once the simulation starts, the parameterization is gone, dead, does not exist from a solver perspective. The marker is where it is.
     
    But what you write as "the 2nd one moves along the axis of the 1st one" is a solver constraint, not a parameterization.
    Use for example a translational joint or an inline jprim.
    constraint create primitive_joint inline jprim_name=jprim_1 &
    i_marker_name = marker_2 &
    j_marker_name = marker 1
    This forces marker_2 to move along the z_axis of marker_1.
     
    Then you write "only after the distance (DM) between them drops under a certain length." I don't completely understand what you intend here. What does it do when the length is greater than the specified value? Free to move as it wants along the axis specified by the jprim above?
    If that is the case, this is handled by a force. If the trigger value (DM as you call it) is greater than zero, then an SFORCE is appropriate utilizing a IMPACTfunction. (if DM can be zero or negative, you should use a VFORCE as a translational SFORCE never can have length zero when the direction would become undefined)
    force create direct single_component_force &
    type = translational &
    action_only=off &
    i_marker = marker_2 &
    j_marker=marker_1 &
    function="BISTOP(DZ(marker_2,marker_1,marker_2),VZ(marker_2,marker_1,marker_2), 42, 1e4, 1.1,10, 0.1)
    This will allow marker_2 to move freely along the z-axis of marker_1 as long as the distance between them is greater than 42. If distance is lower than 42, they will move together.
     
    Note that marker_1 and marker_2 must of course belong to different parts.
     
     
     
     
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jatinzaverbhai.mandani
    0 jatinzaverbhai.mandani over 3 years ago
    Thank you to both of you, Henrik and JSlat !
     
    The main idea is that I want to recreate a bump-stop element for my ACar model.
     
    My client does not really understand these concepts like free length, clearance, and compressed length (at the end of Jounce).
    It looks like the client does not get the bump-stop representation from ADAMS Car Sweat smile
    Then, I took the decision to have a graphical representation (a revolution geometry) of the bump-stop.
    It would be much easier for me to explain to the client how this bump-stop does work during the wheel travel.
     
    Now : I would like this revolution geometry to vary in height during the jounce movement.
    Of course, this bump-stop behaves acc. to a spline (deflation vs. force).
     
    In my measurement I used functions like IF and VARVAL and ADAMS returns excellent results for the bump-stop.
     
    Do you think is it possible to vary the height / length of a revolution geometry ? I mean in real time during the jounce.
     
     
    Many thanks! I look forward to your suggestions.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information