[MBDyn-users] Example to Total Pin Joint

Rudi Jaeger rudijaeger at yahoo.com
Fri Mar 14 13:15:12 CET 2008


Dear MBDyn-Users,

my problem with the total joint is the following: I would like to have a simple
pendulum, were I can easily restrict the movement into a given direction.
I thought this can be done with:

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

begin: data;
    integrator: multistep;                    # integrator type
end: data;

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:
    ref1,                                # refsys label
    reference, global, 1.0, 0.0, 0.0,            # location vector
    reference, global, eye,                    # orientation matrix
    reference, global, null,                    # translational velocity vector
    reference, global, 0.,0.,0.;                # angular velocity vector

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;

begin: 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: nodes;

begin: elements;

body: 
    bod1,                                # body label
    nod1,                                # binding node
    1.0,                                    # mass
    reference, ref1, null,                    # relative center of mass
    null;                                # inertia matrix

joint:
    jnt1,                                # joint label
    revolute pin,                            # joint type
    nod1,                                # node 1
    reference, global, null,                    # relative offset 1
    hinge,                                 # local orientation 1
        1, -0.707, 0.707, 0., 
        3,  0.707, 0.707, 0.,                
    reference, global, null,                    # relative offset 2
    hinge,                                 # local orientation 2
        1, -0.707, 0.707, 0., 
        3,  0.707, 0.707, 0.;                
joint:
    jnt2,                                # joint label
    total pin joint,                        # joint type
    nod1,                                # node 1
    position constraint,
    inactive,active,inactive,
    null;

gravity:
    0., 0., -1.,                            # direction
    const,                                # type
    9.81;                                # magnitude

end: elements;

This is a pendulum that moves alomg the diagonal of the xy-plane.
I thought that by using the total pin joint I could make it move
along the x-direction - with fixed y-positon. But this does not work:

Y12Solver (y12factor): warning, possible bad conditioning of matrix

What do I do or understand wrong?

Cheers,
Rudi

       
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile.  Try it now.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mbdyn.org/pipermail/mbdyn-users/attachments/20080314/5de751b8/attachment.htm>


More information about the Mbdyn-users mailing list