This is a spatial geometry/linear algebra question with direct applications in crystallography. However, knowledge of crystallography is NOT necessary to answer the question.
I have the defining parameters (Bravais lattice) of parallelepiped (unit cell) which are edge lengths (a,b, and c) and angles in between (α,β,γ) as well as the fractional coordinates of objects (atoms) inside.
What is the best way to create a mesh network inside the parallelepiped, meaning that I need full cartesian coordinate of all mesh points. Mesh lines are going to be parallel to the a,b, and c vectors and distance between each mesh point is fixed and known (σx,σy,σz).
Here is how I tried to do this:
1-Converting the fractional to cartesian for all objects(atoms) inside the parallelepiped (unit cell).
2- Finding the vertices of the parallelepiped.
3- Making the mesh by dividing the edges and the space in between along the a, b, and c vectors.
Are there other ways to do this besides the three steps above?
Edit: Thanks to comments for clarifying how to do step 2. Question is now whether the overall 3 step above is the best way to do this.
Why do you believe it could be done better?
$\vec{p}_{ijk} = i \sigma_x \vec{e}_x + j \sigma_y \vec{e}_y + k \sigma_z \vec{e}_z$
is what you are looking for, based on your own definition. If by creating a mesh you mean creating all of its coordinates and storing them somewhere, then having 3 for-loops and creating one point at a time is equivalent to the best solution, as it takes a constant amount of operations to create one coordinate.