Para implementar a coleta do número de colisões numa atualização da simulação, utilizou-se o padrão de projeto Observer, onde a classe responsável pelo cálculo desta estatística observa o simulador, o qual envia um sinal para todas as classes registradas como observadoras de colisão toda vez que uma colisão ocorre.
Já o coeficiente de difusão exigiu poucas mudanças na arquitetura: depois de
refatorar a coleta de estatístitcas, bastou criar uma classe para seu cálculo
e criar um atributo na classe Molecule
que armazena a posição inicial
da molécula. O coeficiente de difusão calculado por esta classe é o escalar
obtido pela equação de Einstein (
).
Luiz Fernando Oliveira Corte Real 2008-11-28