hexagon logo

What is the difference between Primitives and General constraint?

I was reading one old ADAMS tutorial where the instructor used General constraints. At that time inline primitives option was not available. Now both options are available in the new version. It makes me confused to differentiate between them. Kindly share your knowledge on the same.
 
  • Hi,
     
    What tutorial are you referring to?
     
    The majority of the answers are in Adams Help, press F1 while you have Adams open and have a look at:
    Adams Basic Package > Adams View > Adams View > Building Models > Joints > Idealized Joints
    Adams Basic Package > Adams View > Adams View > Building Models > Joints > Primitive Joints
    Adams Basic Package > Adams Solver > Adams Solver C++ vs. FORTRAN > Special Topics about the Adams Solver C++ > GCONs
     
    Alternatively you can click on any button of interest (joint / primitive joints...) and press F1 while on that gui, this will take you to an specific page to help you out defining the function correctly
     
    hope it helps
     
     
  • Thank you, Alexis.
    I am going through the help menu as suggested by you.
    I am discussing the following tutorial (please see 8.2.4 Creation of the GCON):
    After reading this tutorial I am curious to find the difference between primitives and general constraint(GCON).
  • Based upon the tutorial, can I assume you are a student? Would you mind populating your user details as such, please?
    SInce you have access to this forum you should have access to SimCompanion, that is full of examples and interesting theory to read, is worth having a look and interrogating for joints...
    It will be worth talking to the University staff to find out what level of support you get from MSC in your area and see what other training you have access to.
  • Thank you, Alexis. I am a PhD scholar at the Indian Institute of Technolgy, Kanpur, known as IIT Kanpur. I have also updated my details in the user account.
  • Hi, whoever wrote that manual is wrong. Joint primitives has always been around, at least since well before I started using Adams in 1991. General constraints on the other hand are fairly new, only been around for a few years and only in the C++ solver. The Fortran solver that far outdates the C++ solver still don't have a GCON statement and never will.
     
    Originally all joints and joint primitives were implemented with their own set of equations. Joints were defined as constraints that had a real world equivalent such as a hinge (revolute joint) or slider (translational joint) while joint primitives simply removed DOF from the system. But all of them were holonomic.
    Comes the C++ solver and new opportunities sometime around year 2000 (and the first releases were not even that stable). All new programming. And instead of writing each joint and jprim with their own set of equations, the GCON was defined. And all joints and jprims could now be defined in terms of a GCON. This happens "behind the veil" from the user standpoint. You never see this.
    But then the GCON was made available to the user as well. This was a big thing. Not because of that you now could use that instead of using joints, but because it allowed you to define non-holonomic constraints. And also get around some of the limitations of a couplers and motions.
     
  • Looking at that example, I see a few things that is suspicious from a modeling practice stand point.
    First, the GCON is not used instead of an inline jprim but instead of an inplane jprim. THis is because it uses the function DY(m1,m2,m2) that defines a plane, not a line.
    Second, and this is a big no-no in general model building: Do not use the CM marker for anything else than defining center of mass location and eventually the inertia axis. If you start doing this, sooner or later you build a model where the mass and inertias are auto-calculated by Adams. You define a function involving the cm-marker and then do some small change to the geometry which now breaks the intended function of the model as Adams would have moved and reoriented the cm-marker. These are some of the hardest problems there is to debug. So don't do it.