Pyrough - a tool to build 3D samples with rough surfaces for atomistic and finite-element simulations
Pyrough is a Python code generating 3D objects with the ability to manage surface height distribution of isotropic and Gaussian random surfaces using the classical roughness theory. Pyrough constructs both classical mesh samples (.msh, .stl, etc.) compatible with most FEM programs as well as atomistic structures (.lmp, .xyz, .cfg, etc.) for further molecular dynamics studies.
A parameter file including the main aspects of the targeted 3D sample (material, shape, dimensions, orientations, crystal structure, etc.) enables the generation of a rough object by using the coupled Gmsh library. Several 3D shapes are currently available in Pyrough including classical particle shapes (cubes, spheres, Wulff shapes), cylindrical or faceted wires as well as plates or thin films. Additional ones might easily be implemented by the user thanks to Pyrough’s modular construction.
- Installation
- Rough surface generation
- Package functions
- Pyrough module
- Sample_class module
- Param_class module
- Func_pyrough module
Kurto()
align_poly()
base()
box()
cart2cyl()
center_3d_dataset()
concatenate_list_data()
coord_cart_sphere()
coord_sphere()
cube()
cube_faces()
cyl2cart()
cylinder()
duplicate()
faces_normals()
make_obj()
make_rough()
make_rough_wulff()
node_corner()
node_indexing()
node_surface()
normalize()
phi()
poly()
radius()
random_numbers()
random_surf2()
rdnsurf()
rdnsurf_2()
read_stl()
read_stl_wulff()
rebox()
refine_3Dmesh()
refine_box()
refine_sphere()
refine_wire()
remove_duplicates_2d_ordered()
rescale()
rho()
rms_calc()
rot()
rot_matrix()
rotate_obj_wulff()
rough()
rough_matrix_sphere()
segment_intersects_plane()
sigma()
sk()
sphere()
stat_analysis()
stat_sphere()
stl_file()
theta()
vectors()
vertex_tp()
write_stl()
wulff()
- Surface_Analysis module
- Generation of rough shapes
- Bibliography
- Credits