Due to the dynamic nature of vehicular traffic and the road surroundings, vehicle-to-vehicle (V2V) propagation characteristics vary greatly on both small and large scale. Recent measurements have shown that both large static objects (e.g., buildings and foliage) and mobile objects (surrounding vehicles) have a profound impact on V2V communication. At the same time, system-level vehicular ad hoc network (VANET) simulators by and large employ simple statistical propagation models, which do not account for surrounding objects explicitly. We designed Geometry-based Efficient propagation Model for V2V communication (GEMV 2 ), which uses outlines of vehicles, buildings, and foliage to distinguish the following three types of links: line of sight (LOS), non-LOS (NLOS) due to vehicles, and NLOS due to static objects. For each link, GEMV 2 calculates the large-scale signal variations deterministically, whereas the small-scale signal variations are calculated stochastically based on the number and size of surrounding objects. We implement GEMV 2 in MATLAB and show that it scales well by using it to simulate radio propagation for city-wide networks with tens of thousands of vehicles on commodity hardware. We make the source code of GEMV 2 freely available. Finally, we validate GEMV 2 against extensive measurements performed in urban, suburban, highway, and open-space environments.