Salome HOME
0ec4c87498879d7f8888e679818eee4594bb0af0
[modules/smesh.git] / src / Tools / padder / doc / input / padder_userguide.doc
1 /*!
2
3 \page padder_userguide_page Use the padder SMESH Plugin
4
5 -# \ref S1_PADDER
6 -# \ref S2_PADDER
7 -# \ref S3_PADDER
8
9 \section S1_PADDER The SpherePadder Algorithm
10
11 SpherePadder is a geometric algorithm that creates a set of rigid spherical particles of different sizes called a "discrete element mesh". The centroid positions of particles are randomly generated by a "disordering" technique described in [1] that provides a polydisperse assembly with a particular size distribution. The spheres are positioned or “padded” into a tetrahedral mesh, which must be generated first. As illustrated below, SpherePadder creates a Discrete Element (DE) assembly in seven steps (see [1] for details):
12
13 \image html padder_image01.png
14
15 In order to increase the density of the whole packing and to fill spheres in the gaps close to the mesh boundaries (created by removing boundary spheres), SpherePadder detect `void spaces' where new spheres could be added by applying a particular geometric procedure, using tetrahedra resulting from a tridimensional Delaunay triangulation built with the sphere centers. That triangulation is generated by using the CGAL library [2].
16
17 DE meshes generated by SpherePadder algorithm are used in EUROPLEXUS fast dynamics software simulations [3] to model the discontinuous behaviour (fractures, fragmentation) of reinforced concrete structures under severe dynamic loads such as impacts or explosions. The characteristic size of elements does not have to be representative of concrete constituents, such as granulars or cement matrix, since the aim is to reproduce the dynamic behaviour of the simulated material at the macroscopic scale.
18
19 To generate DE mesh for a reinforced concrete structure, one should supply a single tetrahedral mesh for concrete and as many segment-type 1D meshes as groups of steel reinforcement bars of different diameters. The size (length) of segment-type steel reinforcement elements should correspond to the modelled bar’s diameter. SpherePadder algorithm will create steel discrete elements by using the segment’s length as the DE diameter. 
20
21 Warning: The User should control that all steel bars of a given diameter in a mesh belong to the same mesh group, and that different steel bar groups do not use the same diameter.
22
23 \image html padder_image02.png
24
25 If steel mesh is not provided, a pure concrete DE mesh is generated.
26
27 In MED representation, DE meshes are described by using MED_BALL type structural elements. Each MED_BALL element is defined by its centroid location and a diameter.
28
29 Written in C++, SpherePadder is free software licensed under the terms of the GNU General Public License.
30
31 Bibliography:
32 - [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.
33 - [2] CGAL, Computational Geometry Algorithms Library. https://gforge.inria.fr.
34 - [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).
35
36 \section S2_PADDER The SpherePadder SALOME plugin
37
38 The SpherePadder algorithm is implemented in the SMESH module as a SALOME plugin. This section illustrates how to use this plugin to create a discrete element mesh.
39
40 In this example, we consider a concrete piece with a single reinforcement bars group. Thus, two standard (Finite Element type) meshes have been created and published in the study, the first one named “concrete”, and second one named "ferrail", for the steel bars part:
41
42 \image html padder_image03.png
43
44 The SpherePadder plugin can be activated in the SMESH plugins menu, as illustrated on the figure below:
45
46 \image html padder_image04.png
47
48 When clicking on the "PADDER mesher" item, the graphical interface of the SpherePadder plugin appears:
49
50 \image html padder_image05.png
51
52 This interface invites you to specify input data by pressing the button "Input". This command opens the Input dialog box allowing to specify the list and the type of selected meshes (to be chosen between "concrete" and "steelbar" using the combobox on the right side of the input line):
53
54 \image html padder_image06.png
55
56 In the figure below, the mesh with name "concrete" has been selected in the study and added to the list of the input file as a "concrete mesh". First, you have to choose the mesh in the dialog box using the rounded arrow icon, then specify for this mesh a group name which will be published in the final DE mesh, and finally click on the "Add" icon:
57
58 \image html padder_image07.png
59
60 Then, the mesh with name "ferrail" is selected and added to the list as a "steelbar mesh":
61
62 \image html padder_image08.png
63
64 The input dialog box has to be validated to return to the main plugin interface. The "Compute" button is now enabled, indicating that the problem is ready to be computed:
65
66 \image html padder_image09.png
67
68 The command "Compute" starts the job run. The progression can be requested using the command "Refresh". In the figure below, the job is still running:
69
70 \image html padder_image10.png
71
72 Finally, the job is finished and the result is ready to be published in the SALOME study:
73
74 \image html padder_image11.png
75
76 Click on the button "Publish" to import the resulting MED file into SMESH and publish the resulting mesh in the SALOME study:
77
78 \image html padder_image12.png
79
80 Note that the final ED mesh contains as many groups as the used input meshes. Their names have been specified in the input dialog. For the moment, the DE mesh is shown as a set of points of equal size. In the next version, the PointSprite (sphere-like) mode will be used to show the MED_BALL elements with their real diameters.
81
82 \image html padder_image13.png
83
84 \section S3_PADDER Configuring the plugin
85
86
87 The configuration of the plugin consists in specifying the location of
88 the padder executable program for each of the SALOME resource (at
89 least for the localhost resource). This specification is done in the
90 file padder.cfg, located in the plugin installation folder
91 (i.e. <SMESH_ROOT_DIR>/plugins):
92
93 \code
94 # This section specify the configurations to be used respectively for
95 # the local execution and the remote execution. The value for 'local'
96 # and 'remote' keys must be the name of a configuration section in
97 # this file. The default key must specify a value between "local" or
98 # "remote" to indicate the user preference. 
99 [resources]
100 local   = localhost
101 remote  = nepal
102
103 [preferences]
104 defaultres = local
105
106 # The following sections defines the available configurations.
107 # The name of the section can be choosen arbitrary. But the value of
108 # the resname key MUST be the name of a SALOME resource defined in the
109 # catalog of resources (CatalogResources.xml).
110
111 # For each section:
112 # - resname : the name of the SALOME resource to be used in this configuration
113 # - binpath : the path to the padder executable program on this resource
114 # - envpath : the path to the environment file on this resource
115 [localhost]
116 resname = localhost
117 binpath = /home/.programs/salome/workspace/V6_4_BR/SMESH/install/share/salome/resources/smesh/padderexe/padder.exe
118 envpath = /home/.programs/salome/workspace/V6_4_BR/SMESH/install/share/salome/resources/smesh/padderexe/envPadder.sh
119
120 [nepal]
121 resname = nepal@nepal
122 binpath = /usr/local/bin/padder.exe
123 envpath = /usr/local/share/envPadder.sh
124 \endcode
125
126 */