[MBDyn-users] nlsf viscous constitutive law

MBDyn users list mbdyn-users at mbdyn.org
Tue May 5 23:51:41 CEST 2020


Dear List,

I wanted to implement a damper with a force limit, i.e. linear damping 
until a maximum allowed force was reached. To do this I tried using the 
nlsf viscous constitutive law with a deformable displacement joint. I 
used a mulitlinear scalar function to attempt to get the correct force 
profile. I have attached a minimal example of this. However, when I 
examine the output, the deformable joint force is zero. Can anyone 
suggest what I might be doing wrong?

Best regards,

Richard
-------------- next part --------------

begin: data;
    problem: initial value;
end: data;

# initial value problem
begin: initial value;
    initial time: 0.0;
    final time: 20.0;
    time step: 0.100000000000000006;
    tolerance: 0.000000001;
    max iterations: 20;
end: initial value;


begin: control data;
    structural nodes: 2;
    rigid bodies: 2;
    joints: 2;
    gravity;
    default orientation: orientation matrix;
    output results: netcdf, no text;
end: control data;

begin: nodes;

    # 6 DOF structural node
    structural : 1, dynamic, # label, type
        position, 0.0, 0.0, 0.0, # absolute position
        orientation, 
        matr,
        1.0, 0.0, 0.0, 
        0.0, 1.0, 0.0, 
        0.0, 0.0, 1.0, # absolute orientation
        velocity, 0.0, 0.0, 0.0, # absolute velocity
        angular velocity, 0.0, 0.0, 0.0 # absolute angular velocity
    ; # end structural node

    # 6 DOF structural node
    structural : 2, dynamic, # label, type
        position, 0.0, 0.0, 0.0, # absolute position
        orientation, 
        matr,
        1.0, 0.0, 0.0, 
        0.0, 1.0, 0.0, 
        0.0, 0.0, 1.0, # absolute orientation
        velocity, 0.0, 0.0, 0.0, # absolute velocity
        angular velocity, 0.0, 0.0, 0.0 # absolute angular velocity
    ; # end structural node

end: nodes;

scalar function : "mlsf damping", multilinear, -2.0, -100.0, -1.0, -100.0, 1.0, 100.0, 2.0, 100.0, end ;


begin: elements;

    # body
    body : 3, 1, # label, node label
        1.0, # mass
        0.0, 0.0, 0.0, # relative centre of mass
        matr,
        0.004000000000000001, 0.0, 0.0, 
        0.0, 0.004000000000000001, 0.0, 
        0.0, 0.0, 0.004000000000000001 # inertia matrix
    ; # end one-mass body

    # body
    body : 4, 2, # label, node label
        1.0, # mass
        0.0, 0.0, 0.0, # relative centre of mass
        matr,
        0.004000000000000001, 0.0, 0.0, 
        0.0, 0.004000000000000001, 0.0, 
        0.0, 0.0, 0.004000000000000001 # inertia matrix
    ; # end one-mass body

    # clamp
    joint : 5, clamp,
        1, # node label
            position, node, # absolute position
            orientation, node # absolute orientation
    ; # end clamp

    # deformable displacement joint with name PTO_Damper 
    joint : 6, deformable displacement joint,
        1, # node label
            position, reference, node, null,
        2, # node label
            position, reference, other node, null,
        nlsf viscous, null, null, null, "mlsf damping"
    ; # end deformable displacement joint

    gravity : uniform, single, 0.0, 0.0, -1.0, const, 9.810000000000000497;

end: elements;


More information about the MBDyn-users mailing list