Overview — Yade 3rd ed. documentation (original) (raw)

\( \usepackage{euler} % must be loaded before fontspec for the whole doc (below); this must be kept for pngmath, however \usepackage{hyperref} \usepackage{amsmath} \usepackage{amsbsy} %\usepackage{mathabx} \usepackage{underscore} \usepackage[all]{xy} % Metadata of the pdf output \hypersetup{pdftitle={Yade Documentation}} \hypersetup{pdfauthor={Smilauer, V., et al.}} \hypersetup{pdfkeywords={Discrete element method, granular materials, contact law, hydromechanical coupling}} % symbols \renewcommand{\mat}{\boldsymbol} \renewcommand{\vec}{\boldsymbol} \renewcommand{\tens}{\boldsymbol} %normalized and locfram here \def\normalized#1{\widehat{#1}} \def\locframe#1{\widetilde{#1}} % timestep \def\Dt{\Delta t} \def\Dtcr{\Dt_{\rm cr}} % algorithm complexity \def\bigO#1{{\mathcal{O}(#1)}} % variants for greek symbols \let\epsilon\varepsilon \let\theta\vartheta \let\phi\varphi % shorthands \let\sig\sigma \let\eps\epsilon % variables at different points of time \def\prev#1{#1^-} \def\pprev#1{#1^\ominus} \def\curr#1{#1^{\circ}} \def\nnext#1{#1^\oplus} \def\next#1{#1^+} % shorthands for geometry \def\currn{\curr{\vec{n}}} \def\currC{\curr{\vec{C}}} \def\uT{\vec{u}_T} \def\curruT{\curr{\vec{u}}_T} \def\prevuT{\prev{\vec{u}}_T} \def\currn{\curr{\vec{n}}} \def\prevn{\prev{\vec{n}}} % motion \def\pprevvel{\pprev{\dot{\vec{u}}}} \def\nnextvel{\nnext{\dot{\vec{u}}}} \def\curraccel{\curr{\ddot{\vec{u}}}} \def\prevpos{\prev{\vec{u}}} \def\currpos{\curr{\vec{u}}} \def\nextpos{\next{\vec{u}}} \def\curraaccel{\curr{\dot{\vec{\omega}}}} \def\pprevangvel{\pprev{\vec{\omega}}} \def\nnextangvel{\nnext{\vec{\omega}}} \def\loccurr#1{\curr{\locframe{#1}}} \def\numCPU{n_{\rm cpu}} \DeclareMathOperator{\Align}{Align} \DeclareMathOperator{\sign}{sgn} % sorting algorithms \def\isleq#1{\currelem{#1}\ar@/^/[ll]^{\leq}} \def\isnleq#1{\currelem{#1}\ar@/^/[ll]^{\not\leq}} \def\currelem#1{\fbox{$#1$}} \def\sortSep{||} \def\sortInv{\hbox{\phantom{||}}} \def\sortlines#1{\xymatrix@=3pt{#1}} \def\crossBound{||\mkern-18mu<} \)

Welcome to Yade - Open Source Discrete Element Method

The Yade project is a strong community based entirely on peaceful international cooperations. This diverse foundation has bound us to many brilliant scientists from Ukraine and Russia who are unjustly affected by the current hostilities perpetrated by Russia on Ukraine. We, the Yade developers and users, hope for the immediate cessation of agression followed by the prompt restoration of peace in Ukraine. We stand with the people of Ukraine, the citizens of Russia, and the thousands of Russian scientists who vehemently protest this war. As these scientists point out, this unlawful invasion puts many innocent lives at risk in both Ukraine and Russia. Without a doubt, we will continue to keep these Ukranians and Russians in our thoughts as we await a peaceful conclusion ahead.

Yade is an extensible open-source framework for discrete numerical models, focused on the Discrete Element Method. The computation parts are written in c++ using a flexible object model and allowing independent implementation of new algorithms and interfaces. Python is used for rapid and concise scene construction, simulation control, postprocessing and debugging.

Yade is located at yade-dem.org, which contains this documentation and wiki. Development is kindly hosted on launchpad and GitLab ; they are used for source code, bug tracking and source downloads and more. Building, regression tests and packages distribution are hosted on servers of the Grenoble Geomechanics group at Laboratoire 3SR, UMS Gricad and Gdańsk University of Technology.

Yade supports high precision calculations (following this publication) and Python 3 (see backward compatibility for Python 2). The development branch is on GitLab.

This documentation describes Yade version 2024-10-14.git-50d6d62, see changelogs. You can also download a PDF version of this documentation.

Acknowledging Yade

Please make sure you read the "Acknowledging Yade" section if you plan to use Yade for publications.

Introduction getting familiar with Yade Tutorial first steps with practical examples User's Manual functionality guide and description Programmer's Manual understanding and modifying the internals of Yade DEM Formulation the Discrete Element Method (DEM) Class reference simulation building blocks, c++ & python Yade modules python modules extending Yade Multiscale FEMxDEM Parallel coupling using Escript and Yade
References articles cited in the documentation Installation from binaries and sources Full contents with all the details Index all functions, classes, attributes Search search the documentation Yade Technical Archive documents written by and for the Yade community

Yade Community

Authors and contributors information about the people working on Yade Public support and Discussions Getting help, getting in touch Publications on Yade itself or done with Yade Screenshots and videos Simulation examples; feel free to add yours. Discord server A place to meet, chat, and collaborate Twitter account Follow Yade news and interact with us Paid support and Consulting Need professional help? Yade community events community events