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
Posted Jan 28, 2011, 2:51 p.m. EST Interfacing, Modeling Tools & Definitions, Parameters, Variables, & Functions, Structural Mechanics Version 4.1 1 Reply
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
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