Eu recomendaria o código Gadget da MPA Garching para simulações cosmológicas de formação de estruturas. É principalmente gravitacional, mas acredito que você também pode incluir efeitos de gás:
O GADGET calcula forças gravitacionais com um algoritmo hierárquico de árvore (opcionalmente em combinação com um esquema de malha de partículas para forças gravitacionais de longo alcance) e representa fluidos por meio da hidrodinâmica de partículas suavizadas (SPH). O código pode ser usado para estudos de sistemas isolados ou para simulações que incluem a expansão cosmológica do espaço, com ou sem condições periódicas de contorno. Em todos esses tipos de simulações, o GADGET segue a evolução de um sistema de corpo N autolimitante, sem colisão, e permite que a dinâmica dos gases seja opcionalmente incluída. Tanto o cálculo da força quanto o intervalo de tempo do GADGET são totalmente adaptáveis, com uma faixa dinâmica que é, em princípio, ilimitada.
Não sei se é isso que é comumente usado para tarefas como a sua, mas pode ser um lugar para começar a procurar.