[MBDyn-users] Questions on ' relative orientation matrix' in MBDyn

Pierangelo Masarati pierangelo.masarati at polimi.it
Sat Sep 16 06:52:37 CEST 2017


Your model is rotating at 157 radian/s and you're using a 0.02 s time 
step, which means a rotation of "pi" radian per step.  This is too large 
to converge.  If you reduce the time step (for decent accuracy, you 
should use *at least* 20 time steps per revolution, i.e. a time step of 
0.002 s or less) the solution runs smoothly (assuming the rest of the 
model does what it is intended for).

Sincerely, p.

On 09/16/2017 03:48 AM, xiaoli zhang wrote:
> Dear prof. P.Masarati,
> Thank you very much for your answer! I am sorry for not making the 
> problem clear. The complete description of the example is as follow:
> ---------------------------------------------------------
> Here is a a rotating plate amounted on right side tip of a rigid beam, 
> the left side of beam is connect to ground by two torsion springs in 
> pitch and yaw direction, with the global coordinate Y axis coincide 
> with pith axis, Z axis coincide with yaw axis, and stiffness constants 
> ky and kz, respectively:
>
> In the MBDyn model I use a Cardano hinge and a Deformable hinge to 
> model the torsion spring in left tip, and a axial rotation hinge to 
> model the rotation in the right hand.
>
> the result didnot converge.
> ---------------------------------------------------------
>                    \     /     | z
>                     \   /      |
>  |ground  beam       \ /       |
>  O---------O----------O  plate |______x
>  |                   / \
>                     /   \
>                    /     \
> O---Stands for structural node;
> ----------------------------------------------------------
> # Example.set
>
> #    Coordinate NO.
> set: integer ground = 10;
> set: integer beam = 20;
> set: integer beam_spring = 30;
> set: integer beam_cardano = 40;
> set: integer plate = 50;
>
> set: integer RF_ground = 1000;
> set: integer RF_beam = 2000;
> set: integer RF_plate = 3000;
>
> #    General data
> set: real omega = 1500.0/60.0*2*3.14;
>
> set: real kx = 0;
> set: real ky = 100;
> set: real kz = 200;
>
>
> set: real l = 1;
> set: real mass_beam = 10.0;
> set: real Ixx_beam = 0.5;
> set: real Iyy_beam = 1/12.0*mass_beam*l^2;
> set: real Izz_beam = 1/12.0*mass_beam*l^2;
>
> set: real R = 0.25;
> set: real mass_plate = 100;
> set: real Ixx_plate = 1/2.0*mass_plate*R^2;
> set: real Iyy_plate = 1/4.0*mass_plate*R^2;
> set: real Izz_plate = 1/4.0*mass_plate*R^2;
> ----------------------------------------------------
> # Example.ref
>
> #Gound Frame
>
> reference: RF_ground,
>     reference, global, null,
>     reference, global, eye,
>     reference, global, null,
>     reference, global, null;
>
> #Beam Frame
>
> reference: RF_beam,
>     reference, RF_ground, l/2,0.,0.,
>     reference, RF_ground, eye,
>     reference, RF_ground, null,
>     reference, RF_ground, null;
>
> #Plate Frame
>
> reference: RF_plate,
>     reference, RF_beam, l/2,0.,0.,
>     reference, RF_beam, eye,
>     reference, RF_beam, null,
>     reference, RF_beam, omega, 0., 0.;
> ----------------------------------------
> # Example.mbd
> # Parameters preset
> include: "Example.set";
>
> #Coordinate Frame Define
> include: "Example.ref";
>
> begin: data;
>     problem: initial value;
> end: data;
>
> begin: initial value;
>     initial time: 0.;
>     final time: 0.1;
>     time step: 0.02;
>
>     tolerance: 1e-5;
>     max iterations: 10;
>
>     derivatives tolerance: 10e0;
>     derivatives max iterations: 200;
>     derivatives coefficient: 1e-3;
>
>     linear solver: naive, colamd, mt, 1, pivot factor, 1e-8;
>     nonlinear solver: newton raphson, modified, 10;
>     eigenanalysis: 50., parameter, 1.e-6,
>         output matrices, output eigenvectors;
>     method: bdf;
>     output: residual;
> end: initial value;
>
> begin: control data;
>     structural nodes:
>         +1    #ground
>         +1    #beam
>         +1    #plate
>         ;
>     joints:
>         +1    #ground
>         +1    #cardano joint constraint between beam and ground
>         +1    #deformable joint between beam and ground
>         +1    #plate rotation hinge
>         ;
>     rigid bodies:
>         +1    #beam
>         +1    #plate
>         ;
>     print: equation description;
>     print: node connection;
> end: control data;
>
> begin: nodes;
>     structural: ground, static,
>         reference, RF_ground, null,
>         reference, RF_ground, eye,
>         reference, RF_ground, null,
>         reference, RF_ground, null;
>
>     structural: beam, dynamic,
>         reference, RF_beam, null,
>         reference, RF_beam, eye,
>         reference, RF_beam, null,
>         reference, RF_beam, null;
>
>     structural: plate, dynamic,
>         reference, RF_plate, null,
>         reference, RF_plate, eye,
>         reference, RF_plate, null,
>         reference, RF_plate, null;
> end: nodes;
>
> begin: elements;
>     joint: ground, clamp, ground, node, node;
>
>     joint: beam_spring, deformable hinge,
>         ground, position, reference, RF_ground, null,
>                 orientation, reference, RF_ground, eye,
>         beam, position, reference, RF_ground, null,
>                  orientation, reference, RF_ground, eye,
>     linear elastic generic,
>         sym, 0, 0., 0.,
>                -ky, 0.,
>                    -kz;
>     joint: beam_cardano, cardano hinge,
>         ground, position, reference, RF_ground, null,
>                 orientation, reference, RF_ground, eye,
>         beam, position, reference, RF_ground, null,
>                 orientation, reference, RF_ground, eye;
>     joint: plate, axial rotation,
>         beam, position, reference, RF_plate, null,
>                  orientation, reference, RF_beam,
>                         1, 0., 0., -1.,
>                         3, 1., 0., 0.,
>         plate, position, reference, RF_plate, null,
>                    orientation, reference, RF_plate,
>                         1, 0., 0., -1.,
>                         3, 1., 0., 0.,
>         const, omega;
>     body: beam, beam,
>             mass_beam,
>             reference, RF_beam, null,
>             diag,
>                 Ixx_beam,
>                 Iyy_beam,
>                 Izz_beam;
>     body: plate, plate,
>             mass_plate,
>             reference, RF_plate, null,
>             diag,
>                 Ixx_plate,
>                 Iyy_plate,
>                 Izz_plate;
> end: elements;
> ------------------------------------------------
> # the last iteration
>
> Residual(1:10) t=0.02 dt=0.02
> Eq         1:                    0 StructNode(10): force equilibrium Fx
> Eq         2:                    0 StructNode(10): force equilibrium Fy
> Eq         3:                    0 StructNode(10): force equilibrium Fz
> Eq         4:                    0 StructNode(10): moment equilibrium Mx
> Eq         5:                    0 StructNode(10): moment equilibrium My
> Eq         6:                    0 StructNode(10): moment equilibrium Mz
> Eq         7:                    0 StructNode(20): momentum definition Bx
> Eq         8:                    0 StructNode(20): momentum definition By
> Eq         9:                    0 StructNode(20): momentum definition Bz
> Eq        10:                    0 StructNode(20): momenta moment 
> definition Gx
> Eq        11:                    0 StructNode(20): momenta moment 
> definition Gy
> Eq        12:                    0 StructNode(20): momenta moment 
> definition Gz
> Eq        13:                    0 StructNode(20): force equilibrium Fx
> Eq        14:                    0 StructNode(20): force equilibrium Fy
> Eq        15:                    0 StructNode(20): force equilibrium Fz
> Eq        16:                    0 StructNode(20): moment equilibrium Mx
> Eq        17:                    0 StructNode(20): moment equilibrium My
> Eq        18:                    0 StructNode(20): moment equilibrium Mz
> Eq        19:                    0 StructNode(50): momentum definition Bx
> Eq        20:                    0 StructNode(50): momentum definition By
> Eq        21:                    0 StructNode(50): momentum definition Bz
> Eq        22:              42.6781 StructNode(50): momenta moment 
> definition Gx
> Eq        23:                    0 StructNode(50): momenta moment 
> definition Gy
> Eq        24:                    0 StructNode(50): momenta moment 
> definition Gz
> Eq        25:                    0 StructNode(50): force equilibrium Fx
> Eq        26:                    0 StructNode(50): force equilibrium Fy
> Eq        27:                    0 StructNode(50): force equilibrium Fz
> Eq        28:                    0 StructNode(50): moment equilibrium Mx
> Eq        29:                    0 StructNode(50): moment equilibrium My
> Eq        30:                    0 StructNode(50): moment equilibrium Mz
> Eq        31:                    0 ClampJoint(10): position constraint Px
> Eq        32:                    0 ClampJoint(10): position constraint Py
> Eq        33:                    0 ClampJoint(10): position constraint Pz
> Eq        34:                    0 ClampJoint(10): orientation 
> constraint thetax
> Eq        35:                    0 ClampJoint(10): orientation 
> constraint thetay
> Eq        36:                    0 ClampJoint(10): orientation 
> constraint thetaz
> Eq        37:                    0 Joint(40): equation(1)
> Eq        38:                    0 Joint(40): equation(2)
> Eq        39:                    0 Joint(40): equation(3)
> Eq        40:                    0 Joint(40): equation(4)
> Eq        41:                    0 AxialRotationJoint(50): position 
> constraint Px
> Eq        42:                    0 AxialRotationJoint(50): position 
> constraint Py
> Eq        43:                    0 AxialRotationJoint(50): position 
> constraint Pz
> Eq        44:                    0 AxialRotationJoint(50): orientation 
> constraint gx
> Eq        45:                    0 AxialRotationJoint(50): orientation 
> constraint gy
> Eq        46:               13.657 AxialRotationJoint(50): angular 
> velocity constraint wz
> Max iterations number 10 has been reached during first step, Time=0; 
> TimeStep=0.02 cannot be reduced further; aborting...
> An error occurred during the execution of MBDyn; aborting...
>
>
> _______________________________________________
> MBDyn-users mailing list
> MBDyn-users at mbdyn.org
> https://mail.mbdyn.org/cgi-bin/mailman/listinfo/mbdyn-users


-- 
Pierangelo Masarati
Professor
Dipartimento di Scienze e Tecnologie Aerospaziali
Politecnico di Milano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mbdyn.org/pipermail/mbdyn-users/attachments/20170916/b4e45327/attachment-0001.html>


More information about the MBDyn-users mailing list