Generation of rough shapes

In this chapter, the strategy for applying roughness to simple shapes is explained.

Box

A box of dimensions width, length and height is first constructed. Surface nodes are the ones at the maximum height of the pristine sample mesh. The roughening procedure consists in displacing each surface node along the z-axis according to h(x,y).

{"Box":
    {"eta": 0.05,
    "Height": 50.0,
    "Width": 151.0,
    "Length": 151.0,
    "Mesh_size": 5,
    "Refine_factor": 0.7,
    "RMS": 5,
    "N": 30,
    "M": 30,
    "Raw_stl": "na"},

"Output":
    {"ATOM": ["lmp", "xyz"],
    "FEM": ["stl", "msh"]},

"ATOM_Param": 
    {"Lattice_parameter": 4.07,
    "Material": "Au",
    "Orien_x": [1,0,0], 
    "Orien_y":[0,1,0] , 
    "Orien_z": [0,0,1], 
    "Lattice_structure": "fcc"}
}

Sphere

Surface roughness is applied to each surface node of the sphere by summing spherical harmonics.

{"Sphere": 
    {"Mesh_size": 7,
    "Refine_factor": 0.5,
    "C1": 10000,
    "eta": 0.3,
    "Radius": 75,
    "N": 30,
    "M": 30,
    "Raw_stl": "na"},

"Output":
    {"ATOM": ["lmp", "xyz"],
    "FEM": ["stl", "msh"]},

"ATOM_Param":
    {"Lattice_parameter": 3.615,
    "Material": "Cu",
    "Orien_x": [1,0,0],
    "Orien_y":[0,1,0] ,
    "Orien_z": [0,0,1],
    "Lattice_structure": "fcc"}
}

Wire

A cylinder of radius radius and length length is constructed. Surface nodes are those positioned on the external radius r of the cylinder. Thus, each surface node from the wire mesh is moved along r-axis by its corresponding displacement vector from the generated rough surface.

{"cWire":
    {"Length": 200, 
    "Radius": 20, 
    "C1": 2,
    "eta": 0.1,
    "N": 30, 
    "M": 30, 
    "Mesh_size": 5,
    "Refine_factor": 0.75,
    "Raw_stl": "na"}, 

"Output":
    {"ATOM": ["lmp", "xyz"],
    "FEM": ["stl", "msh"]},

"ATOM_Param": 
    {"Lattice_parameter": 4.07,
    "Material": "Au",
    "Orien_x": [1,0,0], 
    "Orien_y":[0,1,0] , 
    "Orien_z": [0,0,1], 
    "Lattice_structure": "fcc"}
}

Faceted wire

The initial mesh is constructed from centered regular polygon base with nfaces sides and of length length. Surface nodes are here translated along the facet normal \(\vec{n}\) they belong to.

{"fWire":
    {"Length": 200,
    "N_Faces" : 6,
    "Radius": 30,
    "N": 30,
    "M": 30, 
    "RMS": 1.5,
    "eta": 0.5,
    "Mesh_size": 5,
    "Refine_factor": 0.5,
    "Raw_stl": "na"}, 

"Output":
    {"ATOM": ["lmp", "xyz"],
    "FEM": ["stl", "msh"]},

"ATOM_Param": 
    {"Lattice_parameter": 4.07,
    "Material": "Au",
    "Orien_z": [1,1,1], 
    "Orien_y":[1,-2,1] , 
    "Orien_x": [-1,0,1], 
    "Lattice_structure": "fcc"}
}

Wulff-shaped faceted nanoparticle

One rough surface per facet is generated in this case. Each node is translated along its facet normal \(\vec{n}\) using h(x,y) to build the rough surface. The process is repeated for each facet of the sample.

{"Wulff":
    {"eta": 0.75,
    "RMS": 1,
    "n_atoms": 27738,
    "N": 30,
    "M": 30,
    "Surfaces": [[1,0,0], [1,1,0], [1,1,1]],
    "Energies": [1296.53414304361, 1531.21487518984, 1196.42896317992],
    "Mesh_size": 5,
    "Refine_factor": 0.5,
    "Raw_stl": "na"},

"Output":
    {"ATOM": ["lmp", "xyz"],
    "FEM": ["stl", "msh"]},

"ATOM_Param":
    {"Lattice_parameter": 4.07,
    "Material": "Au",
    "Orien_x": [1,0,0],
    "Orien_y":[0,1,0],
    "Orien_z": [0,0,1],
    "Lattice_structure": "fcc"}
}

Cube

A pristine cube of edge length length is generated. Surface roughness is applied in the same way as in the case of wulff shapes.

{"Cube":
    {"eta": 0,
    "RMS": 1.5,
    "N": 30,
    "M": 30,
    "Length": 100,
    "Mesh_size": 5,
    "Refine_factor": 0.5,
    "Raw_stl": "na"},

"Output":
    {"ATOM": ["lmp", "xyz"],
    "FEM": ["stl", "msh"]},

"ATOM_Param": 
    {"Lattice_parameter": 4.07, 
    "Material": "Au", 
    "Orien_z": [1,0,0], 
    "Orien_y":[0,1,0] , 
    "Orien_x": [0,0,1], 
    "Lattice_structure": "fcc"}
}