Pyrough: A tool to build 3D samples with rough surfaces for atomistic and finite-element simulations
Natural samples are characterized by surface roughness which is intrinsically multi-scale as depicted by the well known concept of fractal dimension. Nevertheless, surface asperities are barely taken into account in simulations and modeling where flat surfaces and sharp corners or edges are generally preferred for the sake of simplicity. In this context, we propose here a versatile Python program called Pyrough that aims at building virtual samples characterized by configurable surface roughness for numerical applications such as atomistic and finite-element simulations. The program is open source and relies on the classical roughness theory that integrates the concept of self-affine surface. Several basic shapes including basic blocks, spheres, grains and wires with self-affine surface asperities are implemented and the object-oriented structure of the program simplifies the implementation of more complex objects. Virtual sample design is improved using Pyrough, which enables more realistic simulations to be made. Several application examples including e.g., the design of wavy grain boundaries or nanoindentation testing using a roughened indenter tip are presented.