mesh_module deform
Purpose
Command for enabling mesh deformation due to wearing.
Syntax
mesh_module deform keyword value
Keywords:
Keyword |
Description |
|---|---|
id |
obligatory, user-defined name for the mesh module |
rate with which the mesh is scaled, either a constant or a variable. |
Examples
mesh_module deform id my_deform
mesh_module deform id my_deform scaling 0.1
mesh_module deform id my_deform scaling v_scale
Description
This module deform the mesh based on the wear that it experiences if the scaling
keyword is not set. In cases it is set, the mesh is continuously scaled with the defined
scale_rate. scale_rate can be a variable or a constant.
If scaling is not set, it is mandatory that stresses and wear are tracked,
i.e. stress = on, and wear_model = finnie or archard is mandatory (detailed description in
mesh_module wear)
The deformation is calculated as follows: (i) the (scalar) wear on each mesh element is calculated (ii) the wear is distributed to each node of the element based on the barycentric coordinates of the contact point that causes the (scalar wear), (iii) the scalar wear is multiplied with the surface normal of each element, which gives a deformation vector for each node, (iv) a summation is performed that adds up all deformation vectors over neighboring triangles so that the resulting deformation vector is the sum of contributions of all elements that share a certain node.
Note
This feature requires to store a list of “node neighbors, i.e. elements that share the same node. Since ghost mesh elements are optimized for performance of particle-wall contacts, not all ghost mesh elements that are required for the summation of deformation vectors are available on each process locally. Thus, this module uses a combined communication approach (regular communication for elements that are available and allreduce communication for elements that are too far away). The allreduce part may not perform linearly in parallel, but should always be the smaller part of communication.
Warning
When using this module and periodic boundary conditions the mesh needs to fulfill the following properties: (i) a triangle is not allowed to be in contact with itself through periodic boundaries, (ii) if two triangles are in contact inside the domain, they are not allowed to be in contact through periodic boundaries. Note that these restrictions are not validated by Aspherix(R) and must be ensured by the user.
Additional information
See mesh command.
Restrictions
This mesh module requires the usage of mesh_module wear and that module needs to precede the deform module.