CLUMP: Code Library to generate Multi-sphere Particles

Generation and shape characterisation of multi-sphere particles
141.0 次下载
更新时间 2024/6/28

Code Library for Universal Multi-sphere Particles

GitHub last commit GitHub issues GitHub pull requests License GitHub tweet

What CLUMP doesSimple exampleCreditsBYOS Acknowledging CLUMP


What CLUMP does

CLUMP is a collection of scripts to generate multi-sphere particles of overlapping or non-overlapping spheres, which approximate target geometries. Multi-spheres (a.k.a. clumps) are popular in numerical simulations using the Discrete Element Method (DEM), but these geometric objects find applications in a wider set of applications, past numerical modelling. The motivation behind developing CLUMP stemmed from the need to compare different clump-generation techniques, both in terms of particle morphology and mechanical performance using the DEM. To this end, CLUMP offers two existing and well-established clump-generation techniques and proposes a new one. The generated clumps can be exported in various formats, compatible with some of the most prominent DEM codes. Last, the surface of each generated clump can be extracted as a triangulated mesh and saved as an stl file, allowing for a full characterisation of particle morphology, using tools like SHAPE or 3D-printing of physical particle replicas. CLUMP was initially developed in MATLAB and has now been fully translated into Python. Both implementations will continue to be developed in parallel as the software evolves.

Simple example

This example demonstrates different approaches to generate clumps for the same target geometry. The variables below are documented within each function.

MATLAB implementation of CLUMP:

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 );

Python implementation of CLUMP:

# Generate clumps using the approach of Ferellec and McDowell (2010)
from CLUMP import GenerateClump_Ferellec_McDowell
mesh,clump=GenerateClump_Ferellec_McDowell(inputGeom, dmin, rmin, rstep, pmax, seed, output, outputVTK, visualise)

# Generate clumps using the approach proposed in this code, involving the Euclidean transform of 3D images
from CLUMP import GenerateClump_Euclidean_3D
mesh,clump = GenerateClump_Euclidean_3D(inputGeom, N, rMin, div, overlap, output, outputVTK, visualise)

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

The MATLAB and Python implementations of CLUMP use different sets of external dependencies.

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 request the implementation of new features or even better contribute and share your implementations of new or existing clump-generation techniques. CLUMP was created out of our intent to provide the DEM community with a means of easy comparison between different particle generation 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.

Download BibTeX entry

2021 © Vasileios Angelidakis, Sadegh Nadimi, Masahide Otsubo, Stefano Utili.
Newcastle University, UK & The University of Tokyo, Japan

引用格式

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.

查看更多格式
MATLAB 版本兼容性
创建方式 R2021a
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

CLUMP_MATLAB/examples

CLUMP_MATLAB/functions

CLUMP_MATLAB/lib/MyCrust

CLUMP_MATLAB/lib/Rigid-Body-Parameters

CLUMP_MATLAB/lib/Rigid-Body-Parameters/Auxiliary Functions

CLUMP_MATLAB/lib/Rigid-Body-Parameters/Auxiliary Functions/Remeshing

CLUMP_MATLAB/lib/iso2mesh

CLUMP_MATLAB/lib/iso2mesh/sample

CLUMP_MATLAB/lib/stlTools

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明
2021.08.01

Update logo thumbnail

2021.08

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库