Here's the raw code:
If we ignore the execute command, we can put it in a command block connected to a fast clock to see the effect:
However, this uses hard-coded coordinates. If we make them relative, we get this:
If you look closely, you'll notice that the number of particles is set to zero:
Some particles support custom directions. Setting the count to zero activates this. These are the important numbers to focus on:
Usually they would be the 'expansion' of the particle field, but in this case they act as relative coordinates. -6.3 blocks in the X, -2 in the Y, and 0 in the Z. You can change these to direct the flow of particles. Hope this was helpful!