Tópico 23 · Decomposição de domínio 1/2

Decomposição de domínio: dividir o espaço, não as partículas

Em simulações com centenas de milhares ou milhões de partículas, entender como o computador divide o problema é tão importante quanto a física de Hertz-Mindlin. Com um milhão de partículas, o computador divide a lista de partículas ou o espaço físico? O foco aqui é o motor DEM (LIGGGHTS), sem fluidos.

1. Processamento serial (monolítico)
No serial não há divisão de partículas nem do espaço. Um único núcleo abriga o domínio inteiro, as paredes CAD e 100% das partículas. A cada passo, atualiza a lista de vizinhos, resolve as interações partícula-partícula (podem consumir até 80% do tempo), as interações partícula-parede e integra as equações de movimento. Não há sincronização de rede, mas o tempo cresce rapidamente com o número de colisões.
2. Processamento paralelo: decomposição espacial (spatial-decomposition)

Uma abordagem ingênua seria dividir o número de partículas pelo número de núcleos — o LIGGGHTS/LAMMPS não faz isso por padrão. A divisão ocorre pela região espacial.

👻
Conceito — partículas fantasmas (ghost particles): se uma esfera na fronteira entre o Núcleo 1 e o Núcleo 2 colide com uma partícula do vizinho, o LIGGGHTS cria regiões de halo (zonas de sobreposição). As partículas próximas à fronteira são copiadas temporariamente para a memória do vizinho como ghost particles, existindo apenas para leitura no cálculo da força. O tamanho da zona de halo deve ser um pouco maior que o maior diâmetro de partícula.
Prof. Cláudio Roberto Duarte — UFU · DEM & LIGGGHTS Fonte: dem_detalhamento.php — Tópico 23