Handout (1.4 MB)
This Cortix use-case simulates the motion of a swarm of droplets in a vortex stream. It consists of two modules, namely, a Droplet module used to model the droplet dynamics, and a Vortex module used to model the effects of the surrounding air on the falling droplets. The Droplet module is instantiated as many times as there are droplets in the simulation while a single Vortex module is connected to all Droplet instances. The communication between modules entails a two-way data exchange between the Vortex module and the Droplet modules, where Droplet sends its position to Vortex and Vortex returns the air velocity to Droplet at the given position.
A set of 1000 droplets of water (Droplet modules) are released from 500-m altitude into a Vortex stream of air at random positions within a square area of 250 x 250 m2 and random droplet diameter sizes ranging from 5 mm to 8 mm; standard physical properties of both fluids are used. This droplet swirl example tests the parallel scalability of Cortix to connect over 1000 modules, as well as the multiple instantiation of the same module aimed at simulating the collective phenomena of rainfall. Future work will focus on Cortix module development to build models of complex dynamical systems as applied to various scientific areas. As shown in table 1, adding more droplets to the simulation, increased running time. The communication bottleneck of one-to-all modules can be seen from the fact that the performance trend is not linear in particular above 1000 processes.
Supplementary URL: https://cortix.org