Prawdopodobieństwo Boltzmannowskie.
Przy zwijaniu się polimerów, energia może się podnieść przy przestawieniu z prawdopodobieństwem boltzmannowskim. Czyli ze wzrostem różnicy energii przed i po ruchu prawdopodobieństwo podwyższenia się energii rośnie. Energia między poszczególnymi cząsteczkami podawana jest celowo w jednostkach kBT. W tym momencie w naszym wzorze wystarczy jedynie policzyć e-(Epo - Eprzed) co przełożone na język Java wygląda następująco:
/*** Losuje liczbe, określa prawdopodobieństwo przestawienia
* w zależności od energii.
* @param energy1 - energia przed przestawieniem
* @param energy2 - energia po przestawieniu
* @return 1 - jeśli ma się przestawić;
* 0 - jeśli nie ma się przestawić.
*/
public static boolean randBoltzmann (float energy1, float energy2) {
int losowa;
double boltzmanProbability;
Random rand = new Random ();
losowa = rand.nextInt (100)+1;
boltzmanProbability = Math.exp (energy1 - energy2);
return (losowa<= ((int)(boltzmanProbability*100)));
}
Posted on Thu, 16 Dec 2004 01:01 by leeloo (1436 day(s) old) Trackbacks [1171]




