3 \page padder_userguide_page Use the SpherePadder SMESH Plugin
9 \section S1_PADDER The SpherePadder Algorithm
11 SpherePadder is a geometric algorithm that creates a set of rigid
12 spherical particles of different sizes called a "discrete element
13 mesh". The centroid positions of particles are randomly generated by a
14 "disordering" technique described in [1] that provides a polydisperse
15 assembly with a particular size distribution. The spheres are
16 positioned or “padded” into a tetrahedral mesh, which must be
17 generated first. As illustrated below, SpherePadder creates a Discrete
18 Element (DE) assembly in seven steps (see [1] for details):
20 \image html padder_image01.png
22 In order to increase the density of the whole packing and to fill
23 spheres in the gaps close to the mesh boundaries (created by removing
24 boundary spheres), SpherePadder detect `void spaces' where new spheres
25 could be added by applying a particular geometric procedure, using
26 tetrahedra resulting from a tridimensional Delaunay triangulation
27 built with the sphere centers. That triangulation is generated by
28 using the CGAL library [2].
30 DE meshes generated by SpherePadder algorithm are used in EUROPLEXUS
31 fast dynamics software simulations [3] to model the discontinuous
32 behaviour (fractures, fragmentation) of reinforced concrete structures
33 under severe dynamic loads such as impacts or explosions. The
34 characteristic size of elements does not have to be representative of
35 concrete constituents, such as granulars or cement matrix, since the
36 aim is to reproduce the dynamic behaviour of the simulated material at
37 the macroscopic scale.
39 To generate DE mesh for a reinforced concrete structure, one should
40 supply a single tetrahedral mesh for concrete and as many segment-type
41 1D meshes as groups of steel reinforcement bars of different
42 diameters. The size (length) of segment-type steel reinforcement
43 elements should correspond to the modelled bar’s
44 diameter. SpherePadder algorithm will create steel discrete elements
45 by using the segment’s length as the DE diameter.
47 Warning: The User should control that all steel bars of a given
48 diameter in a mesh belong to the same mesh group, and that different
49 steel bar groups do not use the same diameter.
51 \image html padder_image02.png
53 If steel mesh is not provided, a pure concrete DE mesh is generated.
55 In MED representation, DE meshes are described by using MED_BALL type
56 structural elements. Each MED_BALL element is defined by its centroid
57 location and a diameter.
59 Written in C++, SpherePadder is free software licensed under the terms
60 of the GNU General Public License.
63 - [1] J.-F.Jerier, V.Richefeu, D.Imbault, F.-V. Donzé, “Packing spherical discrete elements for large scale simulations”, Computer Methods in Applied Mechanics and Engineering 199 (2010) 1668–1676.
64 - [2] CGAL, Computational Geometry Algorithms Library. https://gforge.inria.fr.
65 - [3] EUROPLEXUS: a computer program for the finite element simulation of fluid–structure systems under transient dynamic loading. http://europlexus.jrc.ec.europa.eu, (User’s Manual).
67 \section S2_PADDER The SpherePadder SALOME plugin
69 The SpherePadder algorithm is implemented as an external software
70 program. This external program is integrated in the SMESH module as a
71 SALOME plugin that manage the execution of the SpherePadder program
72 from within the SALOME framework. This section illustrates how to use
73 this plugin to create a discrete element mesh.
75 In this example, we consider a concrete piece with a single
76 reinforcement bars group. Thus, two standard (Finite Element type)
77 meshes have been created and published in the study, the first one
78 named “concrete”, and second one named "ferrail", for the steel bars
81 \image html padder_image03.png
83 The SpherePadder plugin can be activated in the SMESH plugins menu, as
84 illustrated on the figure below:
86 \image html padder_image04.png
88 When clicking on the "PADDER mesher" item, the graphical interface of
89 the SpherePadder plugin appears:
91 \image html padder_image05.png
93 This interface invites you to specify input data by pressing the
94 button "Input". This command opens the Input dialog box allowing to
95 specify the list and the type of selected meshes (to be chosen between
96 "concrete" and "steelbar" using the combobox on the right side of the
99 \image html padder_image06.png
101 In the figure below, the mesh with name "concrete" has been selected
102 in the study and added to the list of the input file as a "concrete
103 mesh". First, you have to choose the mesh in the dialog box using the
104 rounded arrow icon, then specify for this mesh a group name which will
105 be published in the final DE mesh, and finally click on the "Add"
108 \image html padder_image07.png
110 Then, the mesh with name "ferrail" is selected and added to the list
111 as a "steelbar mesh":
113 \image html padder_image08.png
115 The input dialog box has to be validated to return to the main plugin
116 interface. The "Compute" button is now enabled, indicating that the
117 problem is ready to be computed:
119 \image html padder_image09.png
121 The command "Compute" starts the job run. The progression can be
122 requested using the command "Refresh". In the figure below, the job is
125 \image html padder_image10.png
127 Finally, the job is finished and the result is ready to be published
130 \image html padder_image11.png
132 Click on the button "Publish" to import the resulting MED file into
133 SMESH and publish the resulting mesh in the SALOME study:
135 \image html padder_image12.png
137 Note that the final ED mesh contains as many groups as the input
138 meshes. Their names have been specified in the input dialog.
140 A new functionality has been added to SpherePadder allowing to mesh
141 curved geometries. Circular objects with concave boundaries such as
144 \image html padder_curvedgeom.png
146 can be "padded" with spherical discrete elements. Henceforward,
147 the PointSprite (sphere-like) mode is used to show the MED_BALL
148 elements with their real diameters:
150 \image html padder_sphererendering.png
152 \section S3_PADDER Configuring the SpherePadder SALOME plugin
154 The configuration of the plugin consists in specifying the location of
155 the padder executable program (padder.exe) and its runtime environment
156 file (padder.env). This configuration is automatically done at
157 installation process of the SALOME plateform, on the basis of the
158 environment variable PADDERHOME that localizes the installation root
159 of the SpherePadder external program. This installation process
160 creates a configuration file padder.cfg located in the folder
161 \<SMESH_ROOT_DIR\>/share/salome/plugins/smesh, where \<SMESH_ROOT_DIR\> is
162 the installation root directory of the SMESH module.
164 In the case where you have to specify a different configuration than
165 the generated configuration, you must edit the file padder.cfg. This
166 file defines a list of computing resources, and at least a local
167 resource (a padder program working on your local host), and a remote
168 resource (a padder program working on a remote host):
171 # This section specify the configurations to be used respectively for
172 # the local execution and the remote execution. The value for 'local'
173 # and 'remote' keys must be the name of a configuration section in
174 # this file. The default key must specify a value between "local" or
175 # "remote" to indicate the user preference.
183 # The following sections defines the available configurations.
184 # The name of the section can be choosen arbitrary. But the value of
185 # the resname key MUST be the name of a SALOME resource defined in the
186 # catalog of resources (CatalogResources.xml).
189 # - resname : the name of the SALOME resource to be used in this configuration
190 # - binpath : the path to the padder executable program on this resource
191 # - envpath : the path to the environment file on this resource
194 binpath = /home/.programs/salome/workspace/V6_4_BR/SMESH/install/share/salome/resources/smesh/padderexe/padder.exe
195 envpath = /home/.programs/salome/workspace/V6_4_BR/SMESH/install/share/salome/resources/smesh/padderexe/envPadder.sh
198 resname = nepal@nepal
199 binpath = /usr/local/bin/padder.exe
200 envpath = /usr/local/share/envPadder.sh
203 The resource labels (localhost and nepal in the above example) must
204 correspond to existing computing resources of SALOME. These resources
205 are specified in the SALOME configuration CatalogResources.xml,
206 located at the root directory of your SALOME application. The
207 resources catalog is supposed to contain at least the localhost
208 resource of type 'ssh' defined as follow:
211 <!DOCTYPE ResourcesCatalog>
214 <!-- Generic configuration that should works on every workstation -->
215 <machine name="localhost" hostname="localhost"
216 protocol="ssh" batch="ssh_batch"
217 memInMB="500" CPUFreqMHz="0" nbOfNodes="1" nbOfProcPerNode="1"/>
222 Note that these SALOME computing resources can be graphically edited
223 using the JOBMANAGER module (see JOBMANAGER documentation).
225 The typical error message when trying to use the padder plugin while
226 the localhost resource is not correctly defined is :
229 ERR: the job with jobid = 0 can't be started
230 ERR: No batchmanager for that cluster - Bad batch description of the resource"
233 This error message is display in the graphical interface of the plugin
234 when you request a computing of your mesh:
236 \image html padder_error_noresource.png
238 Another typical error when using the padder plugin is due to the ssh
239 configuration between your client host and the execution host:
242 ERR: the job with jobid = 0 can't be started
243 ERR: Error of connection on remote host ! status = 65280
246 This error message is display in the graphical interface of the plugin
247 when you request a computing of your mesh:
249 \image html padder_error_noconnection.png
251 The underlying batch system for executing padder jobs is based on a
252 ssh communication between the client local host and the execution host
253 (see the protocol specified in the CatalogResources.xml file above),
254 even if the executive host is your local host (i.e. the same as the
255 client host). Then, a ssh connection must be configured so that the
256 underlying batch system could work properly, even between your local
257 host and itself. The configuration could be done using a set of
258 instruction as follow in a shell terminal (see ssh documentation for
263 ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<hostname>
266 You can check the configuration by testing that you can connect to the
267 host \<hostname\> with the login \<username\> without being asked a
271 ssh <username>@<hostname>