Comments (3)
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.
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.
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)
- [Feature Request] Make lammps_extract_fix consistent with lammps_extract_compute for global arrays HOT 4
- [BUG] pair_style ylz needs explicit symmetrization of the interaction cutoff
- Failed to use GPU acceleration for hybrid/overlay type potential HOT 3
- [BUG] Fortran scatter_atoms() does not update atom positions when using atom_style atomic HOT 3
- [BUG] Strange communication lapse while scaling PPPM to extreme scale HOT 53
- ERROR: Pair coeff for hybrid has invalid style: library.meam HOT 1
- [BUG] "boost_serialization" option missing in PLUMED.cmake HOT 1
- [Feature Request] Implement MPI collective operations in KOKKOS implementation of KSPACE HOT 2
- I still face the same problem. Adding -pk gpu 4 neigh no seems not works for me ,the related file have uploaded HOT 2
- [BUG] run_style verlet/split fails for certain types of examples
- [BUG] Inconsistent syntax for dump_modify triclinic/general
- [BUG] Incorrect output for triclinic/general when using dump style custom
- [Feature Request] Improve efficiency of fix_ipi
- [Feature Request] Fix deposition rate specified in time units
- HPC LAMMPS Master Class at Temple University June 3rd - 7th, 2024
- [BUG] LAMMPS on GPU core dumps reading data file HOT 9
- Temperature in charmm2lammps generated input file HOT 5
- [BUG] Compiling with CMake and Kokkos Forces PASCAL60 HOT 1
- [BUG] Cohesion + damping `coeff_restitution` can result in nan positions HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lammps.