Medidas estáticas: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
Em dinâmica molecular, medidas estáticas são medidas que
Em dinâmica molecular, medidas estáticas são medidas que
=Psi 6=
= Psi 6=
== Teoria ==
== Teoria ==
No estudo do agrupamento de pontos equidistantes em um espaço 2D, é possível provar matematicamente que o formato formado pelos pontos que maximiza a utilização do espaço é o padrão hexagonal. Para dinâmicas moleculares com potenciais de Lennard-Jones com densidade suficientemente alta (rho ~) é possível observar que o padrão formado após o relaxamento (tempo suficiente para a rede se estabilizar) é de fato o padrão hexagonal.
No estudo do agrupamento de pontos equidistantes em um espaço 2D, é possível provar matematicamente que o formato formado pelos pontos que maximiza a utilização do espaço é o '''padrão hexagonal'''. Para dinâmicas moleculares com potenciais de Lennard-Jones com densidade suficientemente alta (rho ~) é possível observar que o padrão formado após o relaxamento (tempo suficiente para a rede se estabilizar) é de fato o padrão hexagonal.


O psi 6 é uma análise de o quão hexagonal um padrão de posições está em um certo tempo da simulação. É possível associar a cada partícula um valor que varia entre -1 e 1 da hexagonalidade do padrão de posições formado por ele e seus primeiros vizinhos (conjunto de partículas mais próximas).  Com essa medida é possível quantificar diferentes regiões da "caixa" em que as partículas estão localizadas e então localizar possíveis "defeitos" no padrão hexagonal.
O psi 6 é uma análise de o quão hexagonal um padrão de posições está em um certo tempo da simulação. É possível associar a cada partícula um valor que varia entre -1 e 1 da hexagonalidade do padrão de posições formado por ele e seus primeiros vizinhos (conjunto de partículas mais próximas).  Com essa medida é possível quantificar diferentes regiões da "caixa" em que as partículas estão localizadas e então localizar possíveis "defeitos" no padrão hexagonal.


Para um padrão hexagonal perfeito, cada partícula apresenta 6 primeiros vizinhos, cada qual posicionado simetricamente em torno dessa. Analisando a simetria, cada vizinho consecutivo deve apresentar um ângulo de pi/3.
Para um padrão hexagonal perfeito, cada partícula apresenta 6 primeiros vizinhos, cada qual posicionado simetricamente em torno dessa. Analisando a simetria, cada vizinho consecutivo deve apresentar um ângulo de <math>\frac{\pi}{3}</math>. Buscando uma relação em que esta situação seja a situação de <math>\psi_6 = 1</math>, é possível definir que o <math>\psi_6 </math> vale:
 
<center><math>
\psi_6=\frac{1}{6}\sum_i^ncos(6\theta_i)
</math></center>
 
Onde i é o índice do i-ésimo vizinho e n é o número de primeiros vizinhos. Esta relação deixa específico que o caso de 6 primeiros vizinhos e <math>\theta=60</math> resulte em um valor de <math>\psi_6=1</math>.
 
== Implementação Computacional ==
 
Pode-se separar a implementação computacional em dois procedimentos necesssários: Encontrar os primeiros vizinhos para cada partícula e então calcular, de fato, o valor de <math>\Psi_6</math>
 
=== Encontrando vizinhos ===
 
Por definição, os primeiros vizinhos de uma partícula são aquelas partículas que estão presentes em um anel mais próximo dela, como mostra a fig.
 
O problema de encontrar primeiros vizinhos é um problema bastante discutido em teoria da computação e diversos métodos foram desenvolvidos para efetuar esta tarefa. Desta forma a maioria dos métodos otimizados são de difícil implementação e então não serão tratados nesse verbete. Se o leitor tiver interesse, entretanto, são recomendados as seguintes referências:
 
O método aqui citado é pouco otimizado, pois utiliza-se um for em <math>N^2</math>, porém de implementação razoavelmente simples. O método consiste em encontrar as 6 partículas mais próximas da partícula-teste (partícula em que busca-se calcular o valor de <math>\psi_6</math>), desta forma o valor de <math>\psi_6</math> resultará em um valor razoável ( >0.8 ) se os 6 vizinhos são de fato os primeiros vizinhos e estão localizados em um padrão quase-hexagonal em torno da partícula-teste.
 
Define-se dois vetores chamados ''neighborsX'',''neighborsY'' e ''dNeighbors'', que guardarão as posições X,Y e a distância do i-ésimo vizinho. Então os valores iniciais destes vetores recebem valores altos em relação as medidas da caixa (neste exemplo utilizou-se 20 para os dois lados), da seguinte forma:
 
<pre>
int i;
double neighborsX[6],neighborsY[6];
for(i=0;i<6;i++){
neighborsX[i]=999;
neighborsY[i]=999;
        dNeighbors[i]=999;
}
 
</pre>
 
Após, realizar-se-á a busca pelas 6 partículas mais próximas da partícula-teste, como queremos calcular para todas as partículas (NP) presentes na simulação, faremos um "for" em <math>N^2</math> guardando as posições das duas partículas, é importante resetar os valores de dNeighbors toda vez que começa-se para outra partícula teste:
 
<pre>
for(i=0;i<NP;i++){           
xOrg=xx[i];
yOrg=yy[i];
for(j=0;j<6;j++){
dNeighbors[j]=999.;
}
for(j=0;j<NP;j++){
x2=xx[j];
y2=yy[j];
</pre>
 
<pre>
if(i!=j){
 
if(distance(xOrg,yOrg,x2,y2)<radiusLimit)
{
dNew=distance(x2,y2,xOrg,yOrg);
dOld=0;
for(k=0;k<6;k++){
if(dNeighbors[k]>dOld){
dOld=dNeighbors[k];
index=k;
}
}
if(dNew<dOld){
neighborsX[index]=x2;
neighborsY[index]=y2;
dNeighbors[index]=dNew;
}
}
        }
}
 
 
 
 
 
</pre>
 
 
 
 
 
 
 
 


=Pair Distribution Function=
=Pair Distribution Function=

Edição das 15h17min de 18 de junho de 2016

Em dinâmica molecular, medidas estáticas são medidas que

Psi 6

Teoria

No estudo do agrupamento de pontos equidistantes em um espaço 2D, é possível provar matematicamente que o formato formado pelos pontos que maximiza a utilização do espaço é o padrão hexagonal. Para dinâmicas moleculares com potenciais de Lennard-Jones com densidade suficientemente alta (rho ~) é possível observar que o padrão formado após o relaxamento (tempo suficiente para a rede se estabilizar) é de fato o padrão hexagonal.

O psi 6 é uma análise de o quão hexagonal um padrão de posições está em um certo tempo da simulação. É possível associar a cada partícula um valor que varia entre -1 e 1 da hexagonalidade do padrão de posições formado por ele e seus primeiros vizinhos (conjunto de partículas mais próximas). Com essa medida é possível quantificar diferentes regiões da "caixa" em que as partículas estão localizadas e então localizar possíveis "defeitos" no padrão hexagonal.

Para um padrão hexagonal perfeito, cada partícula apresenta 6 primeiros vizinhos, cada qual posicionado simetricamente em torno dessa. Analisando a simetria, cada vizinho consecutivo deve apresentar um ângulo de . Buscando uma relação em que esta situação seja a situação de , é possível definir que o vale:

Onde i é o índice do i-ésimo vizinho e n é o número de primeiros vizinhos. Esta relação deixa específico que o caso de 6 primeiros vizinhos e resulte em um valor de .

Implementação Computacional

Pode-se separar a implementação computacional em dois procedimentos necesssários: Encontrar os primeiros vizinhos para cada partícula e então calcular, de fato, o valor de

Encontrando vizinhos

Por definição, os primeiros vizinhos de uma partícula são aquelas partículas que estão presentes em um anel mais próximo dela, como mostra a fig.

O problema de encontrar primeiros vizinhos é um problema bastante discutido em teoria da computação e diversos métodos foram desenvolvidos para efetuar esta tarefa. Desta forma a maioria dos métodos otimizados são de difícil implementação e então não serão tratados nesse verbete. Se o leitor tiver interesse, entretanto, são recomendados as seguintes referências:

O método aqui citado é pouco otimizado, pois utiliza-se um for em , porém de implementação razoavelmente simples. O método consiste em encontrar as 6 partículas mais próximas da partícula-teste (partícula em que busca-se calcular o valor de ), desta forma o valor de resultará em um valor razoável ( >0.8 ) se os 6 vizinhos são de fato os primeiros vizinhos e estão localizados em um padrão quase-hexagonal em torno da partícula-teste.

Define-se dois vetores chamados neighborsX,neighborsY e dNeighbors, que guardarão as posições X,Y e a distância do i-ésimo vizinho. Então os valores iniciais destes vetores recebem valores altos em relação as medidas da caixa (neste exemplo utilizou-se 20 para os dois lados), da seguinte forma:

int i;
double neighborsX[6],neighborsY[6];
for(i=0;i<6;i++){
	neighborsX[i]=999;
	neighborsY[i]=999;
        dNeighbors[i]=999;
}

Após, realizar-se-á a busca pelas 6 partículas mais próximas da partícula-teste, como queremos calcular para todas as partículas (NP) presentes na simulação, faremos um "for" em guardando as posições das duas partículas, é importante resetar os valores de dNeighbors toda vez que começa-se para outra partícula teste:

for(i=0;i<NP;i++){             
		xOrg=xx[i];
		yOrg=yy[i];
		for(j=0;j<6;j++){
			dNeighbors[j]=999.;
		}
		for(j=0;j<NP;j++){
			x2=xx[j];
			y2=yy[j];
			if(i!=j){

			if(distance(xOrg,yOrg,x2,y2)<radiusLimit)
			{	
				dNew=distance(x2,y2,xOrg,yOrg);
				dOld=0;
				for(k=0;k<6;k++){
					if(dNeighbors[k]>dOld){
						dOld=dNeighbors[k];
						index=k;
					}
				}
				if(dNew<dOld){
				neighborsX[index]=x2;
				neighborsY[index]=y2;
				dNeighbors[index]=dNew;
				}
			}		
        		}
		}









Pair Distribution Function

Representação do cálculo numérico de ;

A Pair Distribution Function , ou "", é uma função que estima o quão provável é encontrar duas partículas a uma distância dentro de um sistema de várias partículas.

Em um sistema de partículas, o é definido como a média do número de partículas a uma distância :

Numéricamente pode ser interpretado como a média do número de pares de partículas a uma distância entre e pesado pelo volume/área desta região.

Onde é o/a volume/área total e é a função retangular.


Em resumo, o é a média dos histogramas do número de partículas em um bin de largura a uma feitos para cada partícula no sistema pesado pelo volume/área deste bin.

Construção do Código

Resultados

Resultado do cálculo de '"`UNIQ--postMath-0000001B-QINU`"';

Referências

  • Frenkel, Daan and Smit, Berend (2001). Understanding Molecular Simulation. Academic Press.