Giter VIP home page Giter VIP logo

Comments (3)

dsbolin avatar dsbolin commented on June 10, 2024

Hi Kevin,
Thanks for the very detailed description.

In short, I agree with everything you pointed out, especially that the solution (short-term, and arguably even long term) is a clarification in the documentation.

Slightly longer answer: the original intent/philosophy was to have material properties (Young's modulus, etc.) not necessarily associated with particle types, but rather associated with pairwise interactions, but use mixing rules based on Hertz theory when needed/unspecified. This is partly for consistency with how all other pair styles work in LAMMPS, and partly for additional flexibility to the user. So, with pair coeff, the intent is to allow the user to manually override the mixing rules for different types, e.g. pair coeff 1 2 would override the mixing of the type 1 and type 2 coefficients, even though that may not be consistent with the effective modulus from Hertz theory. For walls, the idea is similar, where the modulus is not the modulus of the wall, but the effective modulus associated with the interaction of the wall and the particle specified in the wall fix. As you correctly point out, if the effective modulus associated with Hertz contact is desired, the user can simply compute this for a given combination of a wall material modulus and particle type, and use multiple fix wall/gran commands for different particle types. While that can be slightly clunky in a script, it would not incur a noticeable performance penalty (and personally I've never needed more that 2 or 3 particle types in a granular simulation).

Please let me know if you have a specific suggestion about the rewording for the doc page, otherwise I can come up with something to clarify that the wall coefficients are associated with the wall-particle interaction rather than the material of the wall.

from lammps.

kjhanley avatar kjhanley commented on June 10, 2024

Hi Dan,

I see the intent — that makes sense. A clarification of the doc page would be the best solution then. I had a go at drafting an addition to the doc page, though it may be a little wordy. Please edit in any way you see fit, of course:

When fstyle granular is specified, the associated fstyle_params are taken as those for a wall–particle interaction. For example, for the hertz/material normal contact model with $E$ = 960 and $\nu$ = 0.2, the effective Young’s modulus for a wall–particle interaction is computed as $\frac{960}{2(1-0.2^2)}$ = 500. A mixing rule is not applied which implicitly takes the particles' properties into consideration.

If the simulation contains particles with different Young's moduli, and the correct effective moduli for wall–particle interactions are sought, the user may define multiple fix wall/gran commands: one (or more) for each atom type. The fix wall/gran command(s) corresponding to each atom type would be specified with the Young's modulus that would yield the desired wall–particle effective Young's modulus.

from lammps.

cgadal avatar cgadal commented on June 10, 2024

Hi both,

Just fell on this issue while noticing the same problem as @kjhanley. Altough maybe obvious when stated, I think this:

As you correctly point out, if the effective modulus associated with Hertz contact is desired, the user can simply compute this for a given combination of a wall material modulus and particle type, and use multiple fix wall/gran commands for different particle types.

probably deserved to be written as well, especially for new users of lammps as myself.

from lammps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.