CLUMP: Code Library to generate Multi-sphere Particles
Code Library for Universal Multi-sphere Particles
What CLUMP does • Architectural features • File tree • Simple example • Credits • BYOS Acknowledging CLUMP
What CLUMP does
CLUMP is a collection of scripts to generate multi-sphere particles of overlapping or non-overlapping spheres, to approximate target geometries. The motivation behind developing CLUMP stemmed from the need to compare different clump-generation techniques, both in terms of particle morphology and mechanical performance. To this, CLUMP offers (to date) two existing and well established clump-generation techniques and proposes a new one. The generated clumps can be exported to various formats, compatible with some of the most prominent DEM codes. Last, the surface of each created clump can be extracted as a triangulated mesh, allowing for a full characterisation of particle morphology, using tools like SHAPE.
Architectural features
CLUMP comprises the following modules:
-
GenerateClump
- Favier et al (1999)
- Ferellec and McDowell (2010)
- Euclidean 3D (proposed in this code)
-
ExportClump
- YADE
- LAMMPS
- EDEM
- PFC3D
-
CharacteriseClump
- Surface extraction
File tree
-
CLUMP
- LICENSE
- README.md
- README.txt
- classes (Definition of objects)
- examples
- figures
- functions
- lib (External dependencies)
Simple example
This example demonstrates different approaches to generate clumps for the same target geometry. The variables below are documented within each function.
addpath(genpath('functions')); % Load in-house functions
addpath(genpath('lib')); % Load external functions (dependencies)
addpath(genpath('classes')); % Load object-oriented architecture
% Generate clumps using the approach of Ferellec and McDowell (2010)
[mesh, clump]=GenerateClump_Ferellec_McDowell( stlFile, dmin, rmin, rstep, pmax, seed, output );
% Generate clumps using the approach proposed in this code, involving the Euclidean transform of 3D images
[mesh, clump]=GenerateClump_Euclidean_3D( stlFile, N, rMin, div, overlap, output );
New users are advised to start from running the available examples in the examples folder, to get familiarised with the syntax and functionalities of CLUMP.
Credits
CLUMP uses several external functions available within the Matlab FEX community. We want to acknowledge the following contributions:
- Qianqian Fang - Iso2Mesh
- Luigi Giaccari - Surface Reconstruction From Scattered Points Cloud
- Pau Micó - stlTools
- Anton Semechko - Rigid body parameters of closed surface meshes
These external dependencies are added within the source code of CLUMP, to provide an out-of-the-box implementation. The licensing terms of each external dependency can be found inside the lib folder.
BYOS (Bring Your Own Scripts)!
If you enjoy using CLUMP, you are welcome to require the implementation of new clump-generation approaches and features or even better contribute and share your implementations. CLUMP was created to provide a comparison of different methods, by collecting them in one place and we share this tool hoping that members of the community will find it useful. So, feel free to expand the code, propose improvements and report issues.
Acknowledging CLUMP
Angelidakis, V., Nadimi, S., Otsubo, M. and Utili, S., 2021. CLUMP: A Code Library to generate Universal Multi-sphere Particles. SoftwareX 15, p.100735.
Newcastle University, UK & The University of Tokyo, Japan
2021 © Vasileios Angelidakis, Sadegh Nadimi, Masahide Otsubo, Stefano Utili. Citar como
Angelidakis, Vasileios, et al. “CLUMP: A Code Library to Generate Universal Multi-Sphere Particles.” SoftwareX, vol. 15, Elsevier BV, July 2021, p. 100735, doi:10.1016/j.softx.2021.100735.
Compatibilidad con la versión de MATLAB
Compatibilidad con las plataformas
Windows macOS LinuxEtiquetas
Agradecimientos
Inspirado por: SHAPE: SHape Analyser for Particle Engineering, Iso2Mesh, Surface Reconstruction From Scattered Points Cloud, stlTools, Rigid body parameters of closed surface meshes
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
examples
functions
lib/MyCrust
lib/Rigid-Body-Parameters
lib/Rigid-Body-Parameters/Auxiliary Functions
lib/Rigid-Body-Parameters/Auxiliary Functions/Remeshing
lib/iso2mesh
lib/iso2mesh/sample
lib/stlTools
No se pueden descargar versiones que utilicen la rama predeterminada de GitHub
Versión | Publicado | Notas de la versión | |
---|---|---|---|
2021.08.01 | Update logo thumbnail |
|
|
2021.08 |
|