Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Modelling a non-linear spring and MATLAB interfacing

Please login with a confirmed email address before reporting spam

Good morning everyone,

I'm having some trouble trying to create a system of non-linear springs.

Here's a full description of what's going on:

If you take a chain of spheres (like in the Newton's Cradle toy) and look at the contact force between two spheres you find two interesting non-linearities--there is no tensional force (if the spheres don't touch, they don;t interact) and the compressional force is Hertzian, meaning that is has the form F = k*x^(3/2) where x is the overlap between the two spheres. As you can easily see, there is no way to linearize this force for small displacements.

The most common way to model this system is merely to take a chain of point masses with non-linear springs between them. My question is whether or not there's a good way for me to do this in COMSOL. I know I can put point masses on a truss, but I'm not seeing an easy way to code in the forces between two spheres or even extract the positions of each sphere.. I need to do a time-dependent problem (so it's not merely an issue of force equilibration) to describe the dynamics of the system.

Ultimately, I'd like my COMSOL model to have two sections--a discrete particle model of the sphere chain and a FEM mesh of a thin plate, so I can look at the Rayleigh-Lamb waves generated by one of the spheres striking the plate. So somehow I need to extract out the position of each mass in the chain, calculate the forces, and use that to describe the loading forces on the mass and on the plate.

Alternately, I have tried to find some way to handle the modelling of the discrete particles in MATLAB and the plate in COMSOL. It's easy to solve for the dynamics of the spheres in MATLAB, but I need to extract out the position of the last sphere and its point of contact on the plate at each point in time, calculate the force between the two objects, and feed this information back in to the model for the next time step. As far as I can tell LIVELINK won't let me do anything quite so fancy.

Does anyone have any suggestions?

Thank you,
Paul

1 Reply Last Post Jan 29, 2011, 8:41 p.m. EST

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jan 29, 2011, 8:41 p.m. EST
After some conversation with a COMSOL rep, the best solution I found was to use the ODE solver to model the motion of each particle, which works reasonably well. However, I'm having one point of difficulty--I want my ODE equation to be able to pull out the displacement a thin plate at a particular point at every step in time. Is there a good way to do this?

Also as a suggestion to makers of COMSOL: The instructions for the ODE part seemed thin and I was unable to find any good model tutorials for the ODE solver. I would appreciate having these more fleshed out.

Thank you,
Paul
After some conversation with a COMSOL rep, the best solution I found was to use the ODE solver to model the motion of each particle, which works reasonably well. However, I'm having one point of difficulty--I want my ODE equation to be able to pull out the displacement a thin plate at a particular point at every step in time. Is there a good way to do this? Also as a suggestion to makers of COMSOL: The instructions for the ODE part seemed thin and I was unable to find any good model tutorials for the ODE solver. I would appreciate having these more fleshed out. Thank you, Paul

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.