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

Desequilíbrio de carga e o balanceamento dinâmico

A decomposição espacial funciona bem se o material estiver distribuído por toda a caixa. Grãos, porém, sofrem gravidade, formam pilhas, compactam-se no fundo e deixam o topo vazio.

⚠️
Aviso — homogeneidade granular: com uma decomposição estática (caixas de tamanhos iguais) e grãos acumulados em uma extremidade, ocorre o desequilíbrio de carga (load imbalance).

Núcleo A (topo vazio)

Não tem partículas e termina os cálculos em instantes, ficando ocioso.

Núcleo B (fundo compactado)

Com 500.000 partículas compactadas, faz quase 80% do processamento das forças.

🐢
O mais lento dita o ritmo: a integração exige um ponto de sincronização ao fim de cada passo. O Núcleo A não avança enquanto o Núcleo B não terminar. O núcleo sobrecarregado impõe o ritmo global.
Balanceamento de carga dinâmico

Para evitar que alguns núcleos trabalhem enquanto outros ficam ociosos, aplica-se o balanceamento de carga dinâmico. Em vez de redistribuir partículas, o LIGGGHTS altera a geometria das caixas: os planos de corte das fronteiras se movem continuamente ao longo dos eixos. A caixa do Núcleo A (ocioso) cresce e engole mais partículas; a do Núcleo B encolhe para lidar com uma fatia menor e mais densa.

🎯
Objetivo: não é dividir o volume em partes iguais, mas fazer as fronteiras se adaptarem à geometria da pilha, para que todos os núcleos contenham aproximadamente o mesmo número de partículas e contatos. Com carga uniforme, todos terminam o passo juntos, a sincronização é rápida e a escalabilidade é máxima. No script, essas reavaliações são declaradas com comandos como o fix balance.
Prof. Cláudio Roberto Duarte — UFU · DEM & LIGGGHTS Fonte: dem_detalhamento.php — Tópico 23