Ultrasonic vibration with discrete elements

Dear Lammps Developers,
Im a student and doing ultrasonic vibration with discrete elements, I exported the coordinates and amplitude data of each point of the steel plate vibration from ansys, I want to implement the same vibration in lammps, how do I implement it, could you give me some advice?


Your question is problematic to answer because it is at the same time too vague while it also too specific. Thus you need to provide more context:

  • what do you expect to learn from doing the simulation?
  • what kind of data do you have and how exactly should that be used in the simulation?
  • what kind of model do you want to use to represent the steel plate and where would you get the parameters from?

In order to provide suitable level suggestions, please also describe your level of experience with MD simulation and DEM modeling in general. You obviously have limited experience with LAMMPS, if any, but what is your experience level and background in general?

I want to use lammps to simulate the process of ultrasonic cleaning of particulate matter on steel plates (by vibrating the plates).
I got the z-axis amplitude of each point on the steel plate in a certain mode and the coordinates of each point xyz (there are about 20,000 points).
I learned a little bit about DEM modeling through some examples on github, but I had never touched MD simulation or DEM modeling before this.
My intention is to have the steel plate vibrate as it does in ansys (each point on the plate has a different amplitude of vibration). So the steel plate can be any model, as long as it can vibrate. I looked at the lammps documentation and some of the posts on this forum and had an idea, if I could use a single atom or granular as a point on the steel plate, then read the coordinates and amplitude information from the file and use a loop to define the coordinates and amplitude of each atom or granular. This is just my current idea, is this feasible? Or is it too complicated?

This means you are trying to put the cart before the horse and are worrying about the complicated problem before you have sorted out and properly understood the fundamentals.

Thus my recommendation is to first study doing DEM or some other suitable mesoscale model based simulation methods and master the methods and how to choose or derive suitable parameters that properly represent the materials you want to study. You would typically need to find yourself a local(!) tutor or mentor to train and advise you and then go about reproducing some existing published results. You would have to be a certified genius be capable to train yourself and not make any serious mistakes in the process. There is a lot of “practical” knowledge to learn when using MD simulations that cannot be found in text books and the published literature but only be acquired from working with a knowledgeable practitioner; very much like a craft rather than a science.

In those contexts you can model the ultrasonic vibrations simply (but uniformly) through the wiggle keyword of fix move. Or you can try approximating a more complex scheme through atom style variables and implement that. Also, it would be possible to use fix wall/gran/region to model the vibrating object through a region and is moved based on equal style variables.

At any rate, you first need to figure out how to model your materials and properly represent their properties for the geometries you have in mind and only then can start to worry about adding the vibration. This would then also be done in stages where modeling based on your pre-modeled data would be the final step (unless you have already learned what you need to learn with a simpler model). At that point, it is rather likely that you would have to do some C++ programming and creating some custom LAMMPS code in order to apply your pre-modeled data.

Thanks for your suggestion!