[MBDyn-users] Example to Total Pin Joint

fumagalli at aero.polimi.it fumagalli at aero.polimi.it
Fri Mar 14 18:25:09 CET 2008


Just read the updates...
Maybe I am missing something...
How can you move a pendulum keeping a coordinate fixed?

Cheers,
Ale

>
> Dear Dr. Masarati,
>
> I think it does now, what I want it to do:
>
>
> # *************************************************
> # ***          Substitution Variables           ***
> # *************************************************
>
> set: integer nod1=1;                        # node
> set: integer bod1=1;                        # body
> set: integer jnt1=1;                        # joint
> set: integer jnt2=2;                        # joint
> set: integer ref1=1;                        # refsys
>
>
> # *************************************************
> # ***               Integrator                  ***
> # *************************************************
>
> begin: data;
>     integrator: multistep;                    # integrator type
> end: data;
>
>
> # *************************************************
> # ***          Numerical Configuration          ***
> # *************************************************
>
> begin: multistep;
>     initial time: 0.0;
>     final time: 2.0;
>     time step: 1.e-3;
>     max iterations: 10;
>     tolerance: 1.e-6;
>     derivatives tolerance: 1.0;
>     derivatives coefficient: 1.0;
> end: multistep;
>
>
> # *************************************************
> # ***             Reference Systems             ***
> # *************************************************
>
> reference:
>     ref1,                                # refsys label
>     reference, global, 1.0, 1.0, 0.0,            # location vector
>     reference, global, eye,                    # orientation matrix
>     reference, global, null,                    # translational velocity
> vector
>     reference, global, 0.,0.,0.;                # angular velocity vector
>
>
> # *************************************************
> # ***              Control Data                 ***
> # *************************************************
>
> begin: control data;
>     structural nodes: 1;                    # number of structural nodes
>     rigid bodies: 1;                        # number of rigid bodies
>     joints: 2;                            # number of joints
>     gravity;                                # use gravity
> end: control data;
>
>
>
>
> # *************************************************
> # ***            Node Definitions               ***
> # *************************************************
>
> begin: nodes;
>
>
> # *************************************************
> # ***            Structural Nodes               ***
> # *************************************************
>
> structural:
>     nod1,                                # node label
>     dynamic,                                # type
>     reference, ref1, null,                    # position
>     reference, ref1, eye,                    # orientation matrix
>     reference, ref1, null,                    # initial translational
> velocities
>     reference, ref1, null;                    # initial rotational
> velocities
>
>
> # *************************************************
> # ***           End Node Definitions            ***
> # *************************************************
>
> end: nodes;
>
>
>
>
> # *************************************************
> # ***          Element Definitions              ***
> # *************************************************
>
> begin: elements;
>
>
> # *************************************************
> # ***                 Bodies                    ***
> # *************************************************
>
> body:
>     bod1,                                # body label
>     nod1,                                # binding node
>     1.0,                                    # mass
>     reference, ref1, null,                    # relative center of mass
>     diag,
>     0.1,0.1,0.1;                            # inertia matrix
>
>
> # *************************************************
> # ***                 Joints                    ***
> # *************************************************
>
> joint:
>     jnt1,                                # joint label
>     spherical pin,                            # joint type
>     nod1,                                # node 1
>     reference, global, null,                    # relative offset 1
>     reference, global, null;                    # absolute pin position
>
> joint:
>     jnt2,                                # joint label
>     total pin joint,                        # joint type
>     nod1,                                # node 1
>     position constraint,
>     inactive,active,inactive,
>     0.0,1.0,0.0,
>     1.0;
>
>
> # *************************************************
> # ***                 Gravity                   ***
> # *************************************************
>
> gravity:
>     0., 0., -1.,                            # direction
>     const,                                # type
>     9.81;                                # magnitude
>
>
> # *************************************************
> # ***         End Element Definitions           ***
> # *************************************************
>
> end: elements;
>
>
> # *************************************************
> # ***        End-of-File                        ***
> # *************************************************
>
> As suggested I added inertia to the body and used a spherical pin
> as "basis joint". The initial position of the mass has also changed.
>
> If all constrains are inactive, the mass moves along the diagonal
> in the xy-plane. If the total pin setting is as above:
>
> joint:
>      jnt2,                                # joint label
>      total pin joint,                        # joint type
>      nod1,                                # node 1
>      position constraint,
>      inactive,active,inactive,
>      0.0,1.0,0.0,
>      1.0;
>
> the mass will only move along the x-axis with its y-value always 1.0.
> It seems to be important that the initial position of the mass and
> the setting of the tpl-drive coincide, i.e. this will not work:
>
> joint:
>       jnt2,                                # joint label
>       total pin joint,                        # joint type
>       nod1,                                # node 1
>       position constraint,
>       inactive,active,inactive,
>       0.0,1.0,0.0,
>       0.5;
>
> If the movement should be along the y-axis (with x being constraint),
> the setting would be:
>
> joint:
>       jnt2,                                # joint label
>       total pin joint,                        # joint type
>       nod1,                                # node 1
>       position constraint,
>       active,inactive,inactive,
>       1.0,0.0,0.0,
>       1.0;
>
> The results look good. Am I still doing something wrong?
>
> Cheers,
> Rudi
>
>
> I think the singularity problem is related to the fact that your node
> has some angular rotation degree of freedom (the revolute pin allows
> rotation about one axis) but null inertia, and thus the resulting
> problem is singular.  You're not having any issue with the total pin
> joint, since you made all degrees of constraint inactive.  To achieve
> what you want all you need is:
>
> - fix the moment of inertia of body "bod1" (or constrain its rotation)
>
> - use the total pin joint to add all degrees of constraint you desire.
>
> I'm not sure I understood what you wish to constraint; you want a point
> mass, located in {1,0,0}, to be allowed to rotate about an axis that
> passes through 0 oriented in the {1,1,0} direction, and you want that
> point to be allowed to move along that same axis {1,1,0}?  In that case,
> all you need is a properly crafted total pin joint.  Please confirm or
> correct my interpretation of your intentions, and I can provide you an
> example.
>
>
> ---------------------------------
> Looking for last minute shopping deals?  Find them fast with Yahoo!
> Search.
>
>
>
> _______________________________________________
> MBDyn-users mailing list
> MBDyn-users at mbdyn.org
> https://www.mbdyn.org/mailman/listinfo/mbdyn-users
>







More information about the Mbdyn-users mailing list