The drawing of the vector field (displaying an animation frame) would simply be for development and seeing it work.
I was originally thinking to calculate and then store the vector value based on the surrounding tiles so that instead of calculating for each unit on the tile, they would just reference the single value and set their direction to that. My game in mind was a zombie-style top-down shooter where the player runs around trying to stay alive, so the sheer number of zombies (as the difficulty progresses) would probably require computing once per tile rather than once per unit on a tile.
I'm no programming expert. If I chose to calculate based on neighbor tiles, how would I do that as efficiently as possible? I'm working on trying to use an array but it isn't quite working properly yet.