Elementy dynamiki molekularnej. AB 13 grudnia 2016
|
|
- Edyta Owczarek
- 6 lat temu
- Przeglądów:
Transkrypt
1 Elementy dynamiki molekularnej AB 13 grudnia 2016
2 Czym zajmuje się DM?
3 Co to jest DM? Dynamika molekularna (MD lub DM) zajmuje się czastkami masywnymi, poruszającymi się pod działaniem sił newtonowskich. Pozwala symulować układy cząstek w ciałach stałych, cieczach i gazach, opisywać ruch gwiazd i galaktyk. 1 Prostym przykładem, który omawialiśmy, jest wahadło. 1 Patrz: np. F. Ercolessi, A Molecular Dynamics Primer, and Examples in Fortran
4 Co to jest DM? W przypadku układów chaotycznych, jak np. oscylator Duffinga mẍ(t) = γẋ(t) + 2ax 4bx 3 + F 0cos(ωt). rozwiązania numeryczne są praktycznie niewykonalne. Małe błedy numeryczne w danych oraz błędy numerycznych zaokrągleń prowadzą do rozbieżności (badanie wykładników Liapunowa). 2
5 Przestrzeń fazowa. Mapy Poincare go. Analizę wyników prowadzi się najczęściej w przestrzeni fazowej położeń (x(t)) i prędkości (v(t)). W przypadku zachowań chaotycznych przestrzeń fazową zastępuje się mapą Poincare go, która jest zbiorem punktów przestrzeni fazowej, odpowiadających chwilom czasu t = 0, T, 2T,..., gdzie T jest okresem związanym z charakterystyczną częstością w układzie cząstek, np. częstością w członie wymuszającym w przypadku oscylatora Duffinga, a więc ω. W przypadku układów okresowych otrzymamy jeden punkt w przestrzeni fazowej. Dla układów chaotycznych mogą to być dowolne zbiory punktów. Mogą pojawiać się tzw. bifurkacje (rozgałęzienia). Układy z tzw. chaosem deterministycznym mogą prowadzić do struktur fraktalnych, dziwnych atraktorów, których wymiar przestrzenny jest ułamkowy. 3
6 Metoda Runge-Kutta I dx dt dv dx = v (1) = γv + 2ax 4bx 3 + F 0 cos(ωt) (2) Program całkuje układ równań ruchu metodą Runge go-kutty 4go rzędu: k1 = h f (t, x(t)) k2 = h f (t + h 2, x(t) k 1) k3 = h f (t + h 2, x(t) k 2) k2 = h f (t + h, x(t) + k 3) x(t + h) = x(t) ( k k k 3 + k 4). (3) 4
7 Program I! Duffing Oscillator program duffing implicit none! real kind with decimal precision() >= 14 and exponent range() >= 300 integer, parameter :: dp = selected_real_kind(14, 300)! constants real(dp), parameter :: zero = 0._dp, one = 1._dp, two = 2._dp real(dp), parameter :: half = one / two, six = (one + two) * two! physics parameters real(dp) :: omega = 2.4_dp, gamma = 0.1_dp real(dp) :: a = 0.5_dp, b = 0.25_dp real(dp) :: F0 = 2.0_dp! variables real(dp), dimension(2) :: xv, dxvdt real(dp) :: t, t_max, dt real(dp), dimension(2) :: k1, k2, k3, k4, xv_step character(len=50) :: file_name! get input from user and initialize print *, Duffing Oscillator Simulation print *, ============================= 5
8 Program II print *, Enter initial x and v: read *, xv(1), xv(2) print *, Enter time step dt read *, dt print *, Enter integration time: read *, t_max print *, Enter output file name: read *, file_name open(unit=2, file=file_name) t = zero write(2, *) t, xv(1), xv(2)! main integration loop do if (t >= t_max) exit! 4th order Runge-Kutta step call find_dxvdt(t, xv, dxvdt) k1 = dt * dxvdt xv_step = xv + k1 / two call find_dxvdt(t + half * dt, xv_step, dxvdt) k2 = dt * dxvdt xv_step = xv + k2 / two call find_dxvdt(t + half * dt, xv_step, dxvdt) k3 = dt * dxvdt xv_step = xv + k3 call find_dxvdt(t + dt, xv_step, dxvdt) 6
9 Program III k4 = dt * dxvdt xv = xv + (k1 + two * k2 + two * k3 + k4) / six t = t + dt write(2, *) t, xv(1), xv(2) end do print *, Output in file:, file_name close(2) contains! Duffing equation subroutine find_dxvdt(t, xv, dxvdt) implicit none real(dp), intent(in) :: t real(dp), dimension(2), intent(in) :: xv real(dp), dimension(2), intent(out) :: dxvdt dxvdt(1) = xv(2) dxvdt(2) = - gamma * xv(2) + 2 * a * xv(1) - 4 * b * xv(1)**3 dxvdt(2) = dxvdt(2) + F0 * cos(omega * t) end subroutine find_dxvdt end program duffing 7
10 Przykładowe wyniki
11 Przykładowe wyniki
12 Przykładowe wyniki
13 Przykładowa mapa Poincare go
14 Podobna mapa dla wahadła tłumionego AngularVelocity Angle d 2 θ/dt 2 + sin(θ(t)) + β θ(t) + A sin(ωt) = 0 12
15 Zadanie Proszę dopisać w programie fragment obliczeń mapy Poincarego dl oscylatora Duffinga. Narysować mapę dla kilku wybranych przypadków danych początkowych. a) tylko punkty. b) punkty i linie. Porównać i wyciągnąć wnioski. Wykonać to samo dla prostego oscylatora harmonicznego. 13
16 Algorytm Verleta I Algorytm Verleta jest tzw. algorytmem symplektycznym i zachowuje energię całkowitą cząstek spełniających równania ruchu Hamiltona dokładniej niż algorytm Runge go-kutty. Załóżmy, że jednowymiarowy ruch cząstki dany jest równaniwm F = ma. Rozwińmy położenie x cząstki w szereg Taylora x(t + h) = x(t) + v(t) a(t)h ȧ(t)h3 + O(h 4 ) x(t h) = x(t) v(t) a(t)h2 1 6 ȧ(t)h3 + O(h 4 ) Dodając te równania otrzymamy prosty algorytm Verleta: x(t + h) = 2x(t) x(t h) + a(t)h 2 + O(h 4 ) x(t + h) x(t h) v(t) = + O(h 2 ) (4) 2h 14
17 Algorytm Verleta II Nie jest to algorytm samostartujący (jak np. algorytm RK). Samostartujący algorytm Verleta o podobnej dokładności jest x(t + h) = x(t) + v(t)h a(t)h2 + O(h 4 ) v(t + h) = v(t) [a(t) + a(t + h)] h + O(h2 ) (5) Jest to algorytm dwukrokowy. Położenie x(t + h) wylicza się na podstawie x(t), v(t) i a(t). Stąd a(t + h) i v(t + h). 15
18 Schemat algorytmu Verleta I! samostartujący algorytm Verleta! subroutine sverlet(dt, x, dxdt, d2xdt2, n, alpha) dimension x(n), dxdt(n), d2dxt(n) do i=1,n x(i) = x(i) + dxdt(i) * dt * d2xdt2(i) * dt**2 dxdt(i) = dxdt(i) * d2xdt2(i) * dt end do compute_accelerations(x, d2xdt2, alpha, n) do i=1,n dxdt(i) += 0.5 * d2xdt2(i) * dt end do end subroutine sverlet 16
19 Schemat algorytmu Verleta II subroutine compute_accelerations(x, d2xdt2, alpha, n) dimension x(n), d2xdt2, real alpha do i = 2, n-1 dx_plus = x[i+1] - x[i] dx_minus = x[i] - x[i-1] d2xdt2[i] = dx_plus - dx_minus + & alpha * (dx_plus**2 - dx_minus**2.0); end do end subroutine compute_accelerations 17
20 Modelowanie argonu (Ar)
21 Modelowanie argonu Rozpatrujemy N atomów szlachetnego argonu (m 6, kg). Atomy w przybliżeniu zachowują się jak sztywne kule przyciągające się siłami van der Waalsa, które będziemy modelować potencjałem Lennarda-Jonesa : [ ( σ ) 12 ( σ ) ] 6 V (r) = 4ɛ. r r Tutaj r jest odległością centrów atomów, ɛ = 1, J, a σ = 3, m odpowiada r dla którego energia jest zerem. Człon r 12 opisuje odpychający twardy rdzeń, a r 6 reprezentuje przyciąganie typu dipol-dipol. 18
22 Potencjał L-J V(r) [mev] r [σ] 19
23 Potencjał L-J Zadania 1. Obliczyć V w jego minimum r min. 2. Obliczyć siłę F działającą na cząstki umieszczone w potencjale L-J. 3. Narysować F (r) dla 0 < r
24 Przygotowanie programu MD (java) I Ustalenie jednostek. m = σ = ɛ = 1. Jednostką czasu jest w tym układzie mσ τ = 2 = 2, s. Czas charakterystyczny jest więc rzędu ɛ picosekund. Ustalenie liczby cząstek N i rozmiarów sieci (pojemnika) L Zadanie położeń początkowych cząstek Zadanie prędkości początkowych (metoda initialize()) Obliczenie sił i przyspieszeń. Siła działająca na atom i-ty jest F i = j=1,j i F ij, gdzie F ij dostajemy z potencjału L-J. Stąd, przyspieszenie a i (t) = d v i (t)/dt = d 2 r i (t)/dt 2 = F i /m (metoda computeaccelerations()). Całkowanie 3N równań różniczkowych drugiego rzędu z użyciem algorytmu Verleta, z zadanym krokiem czasowym (metoda velocityverlet()). 21
25 Przygotowanie programu MD (java) II Ponieważ liczba cząstek N w układzie jest stała i stała jest objętość L 3, a siły L-J są konserwatywne, więc całkowita energia jest również zachowana. Dla układu w równowadze termicznej spełniona jest zasada ekwipartycji energii: 3(N 1) 1 2 k BT = m 2 Nawias oznacza średnią termiczną po zespole. Wielkość 3(N 1) jest liczbą temperaturowych stopni swobody (wszystkie stopnie swobody minus trzy translacyjne). Stąd obliczamy temperaturę T. Program główny main() wywołuje metodę inicjalizacji (initialize()), następnie oblicza krok za krokiem kolejne stany układu (velocityverlet()) i na koniec oblicza temperaturę T (metoda instantenoustemperature). N i v 2 i. 22
26 Schemat algorytmu MD I // Basis: // public class MD { static int N = 64; // number of particles double[][] r = new double[n][3]; double[][] v = new double[n][3]; double[][] a = new double[n][3]; // positions // velocities // accelerations double L = 10; // linear size of cubical volume double vmax = 0.1; // maximum initial velocity component void initialize() { // initialize positions int n = (int)(math.ceil(math.pow(n, 1.0/3))); // ^ number of atoms in each direction double a = L / n; // lattice spacing int p = 0; // particles placed so far for (int x = 0; x < n; x++) for (int y = 0; y < n; y++) for (int z = 0; z < n; z++) { if (p < N) { r[p][0] = (x + 0.5) * a; r[p][1] = (y + 0.5) * a; 23
27 Schemat algorytmu MD II r[p][2] = (z + 0.5) * a; ++p; // initialize velocities for (int part = 0; part < N; part++) for (int i = 0; i < 3; i++) v[part][i] = vmax * (2 * Math.random()); void computeaccelerations() { for (int i = 0; i < N; i++) // set all accelerations to zero for (int k = 0; k < 3; k++) a[i][k] = 0; for (int i = 0; i < N-1; i++) // loop over all distinct pairs i,j for (int j = i+1; j < N; j++) { double[] rij = new double[3]; // position of i relative to j double rsqd = 0; for (int k = 0; k < 3; k++) { rij[k] = r[i][k] - r[j][k]; rsqd += rij[k] * rij[k]; double f = 24 * (2 * Math.pow(rSqd, -7) - Math.pow(rSqd, -4)); for (int k = 0; k < 3; k++) { a[i][k] += rij[k] * f; 24
28 Schemat algorytmu MD III a[j][k] -= rij[k] * f; void velocityverlet(double dt) { computeaccelerations(); for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) { r[i][k] += v[i][k] * dt * a[i][k] * dt * dt; v[i][k] += 0.5 * a[i][k] * dt; computeaccelerations(); for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) v[i][k] += 0.5 * a[i][k] * dt; double instantaneoustemperature() { double sum = 0; for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) sum += v[i][k] * v[i][k]; 25
29 Schemat algorytmu MD IV return sum / (3 * (N - 1)); public static void main(string[] argv) { MD md = new MD(); md.initialize(); double dt = 0.01; for (int i = 0; i < 2000; i++) { md.velocityverlet(dt); System.out.println("" + md.instantaneoustemperature()); 26
30 Potencjał L-J
31 Dalsze ulepszenia algorytmu MD Periodyczne warunki brzegowe - możliwość ucieczki cząstek z układu. Warunki początkowe dla położeń i prędkości powinny być bardziej fizyczne (np. sieć fcc - face centered cubic lattice; prędkości zgodne z rozkładem Maxwella-Boltzmanna). Układ powinien dążyć do stanu równowagi przy zadanej temperaturze. Pomiar (obliczenia) różnych wielkości charakteryzujących układ. Niebieskie atomy (4) tworzą bazę komórki elementarnej. Ich położenia w jednostkach a są: (0, 0, 0), (0.5, 0.5, 0), (0.5, 0, 0.5), (0, 0.5, 0.5). W programie przesuwamy bazę o (0.5, 0.5, 0.5) tak, że atomy znajdują się wewnątrz objętości; żaden nie jest na brzegu. 28
32 Vdistribution.java I /** The method gasdev() from Numerical Recipes returns random numbers with a Gaussian probability distribution P(x) = (1/(2\pi\sigma^2)) * e^{-(x-x0)^2/(2*sig^2), with center x0 = 0 and unit variance \sigma^2 = 1. This function uses the Box-M\"uller algorithm. */ import java.util.random; class Vdistribution { static boolean available = false; static double gset; Random ran = new Random(); double gasdev () { double fac, rsq, v1, v2; if (!available) { do { v1 = 2.0 * ran.nextdouble(); v2 = 2.0 * ran.nextdouble(); rsq = v1 * v1 + v2 * v2; 29
33 Vdistribution.java II while (rsq >= 1.0 rsq == 0.0); fac = Math.sqrt(-2.0 * Math.log(rsq) / rsq); gset = v1 * fac; available = true; return v2*fac; else { available = false; return gset; void initvelocities(double[][] v, int N) { // Gaussian with unit variance for (int n = 0; n < N; n++) // number of particles for (int i = 0; i < 3; i++) v[n][i] = gasdev(); // x, y, z components of velocity // Test method; plot histogram public static void main(string[] argv){ int N = ; // number of random g-numbers int nbins = 30; // number of bins double hbin = 0.1; int[] bins = new int[nbins]; Vdistribution vd = new Vdistribution(); 30
34 Vdistribution.java III for(int i=0;i<n;i++) { double g = vd.gasdev(); int j = (int)(g / hbin); if (j < nbins) ++bins[j]; //System.out.println(" "+available); int mmax = bins[0]; for(int i=1;i<nbins;i++) mmax = bins[i]>mmax? bins[i] : mmax; // plot hist for(int i=0;i<nbins;i++){ double hist = (50*bins[i])/mmax; if(hist>0){ System.out.print(" "); for(int j=1;j<hist;j++) System.out.print("-"); if(50*bins[i]/mmax>0) System.out.println("*"); 31
35 Liczby gaussowskie!""""""""""""""""""""""""""""""""""""""""""""""""#!"""""""""""""""""""""""""""""""""""""""""""""""""#!"""""""""""""""""""""""""""""""""""""""""""""""#!"""""""""""""""""""""""""""""""""""""""""""""#!""""""""""""""""""""""""""""""""""""""""""""#!""""""""""""""""""""""""""""""""""""""""#!"""""""""""""""""""""""""""""""""""""""#!""""""""""""""""""""""""""""""""""""#!""""""""""""""""""""""""""""""""""#!""""""""""""""""""""""""""""""#!"""""""""""""""""""""""""""#!""""""""""""""""""""""""#!"""""""""""""""""""""#!"""""""""""""""""""#!""""""""""""""""#!"""""""""""""#!"""""""""""#!""""""""""#!"""""""#!""""""#!""""#!"""#!"""#!""#!"#!#!#!# Liczby losowe gaussowskie otrzymane metodą gasdev() (wynik z terminala). 32
36 Schemat algorytmu MD I import java.util.random; class MD2 { // simulation parameters int N = 64; double rho = 1.0; double T = 1.0; double L; // number of particles // density (number per unit volume) // temperature // linear size of cubical volume /* Functions */ void initialize(); // allocates memory, calls following 2 functions void initpositions(); // places particles on an fcc lattice void initvelocities(); // initial Maxwell-Boltzmann velocity distribution void rescalevelocities(); // adjust the instanteous temperature to T double gasdev(); // Gaussian distributed random numbers Random gen = new Random(); double[][] r = new double[n][3]; double[][] v = new double[n][3]; double[][] a = new double[n][3]; // random number generator // positions // velocities // accelerations 33
37 Schemat algorytmu MD II void initialize() { initpositions(); initvelocities(); /** Calculations of lattice constant from number of particles and number density, and positions; fcc latice */ void initpositions() { // compute side of cube from number of particles and number density L = Math.pow(N / rho, 1.0/3); // find M large enough to fit N atoms on an fcc lattice int M = 1; while (4 * M * M * M < N) ++M; double a = L / M; // lattice constant of conventional cell // 4 atomic positions in fcc unit cell double xcell[] = {0.25, 0.75, 0.75, 0.25; double ycell[] = {0.25, 0.75, 0.25, 0.75; double zcell[] = {0.25, 0.25, 0.75, 0.75; 34
38 Schemat algorytmu MD III int n = 0; // atoms placed so far for (int x = 0; x < M; x++) for (int y = 0; y < M; y++) for (int z = 0; z < M; z++) for (int k = 0; k < 4; k++) if (n < N) { r[n][0] = (x + xcell[k]) * a; r[n][1] = (y + ycell[k]) * a; r[n][2] = (z + zcell[k]) * a; ++n; static boolean available = false; static double gset; /** The method gasdev() from Numerical Recipes returns random number with a Gaussian probability distribution P(x) = (1/(2\pi\sigma^2)) * e^{-(x-x0)^2/(2*sig^2), with center x0 = 0 and unit variance \sigma^2 = 1. This function uses the Box-M\"uller algorithm. */ 35
39 Schemat algorytmu MD IV double gasdev () { double fac, rsq, v1, v2; if (!available) { do { v1 = 2.0 * gen.nextdouble(); v2 = 2.0 * gen.nextdouble(); rsq = v1 * v1 + v2 * v2; while (rsq >= 1.0 rsq == 0.0); fac = Math.sqrt(-2.0 * Math.log(rsq) / rsq); gset = v1 * fac; available = true; return v2*fac; else { available = false; return gset; /** Initial velocities of all particles (Maxwell-Boltzmann dist) */ void initvelocities() { // Gaussian with unit variance for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) 36
40 Schemat algorytmu MD V v[n][i] = gasdev(); // Adjust velocities so center-of-mass velocity is zero double vcm[] = {0, 0, 0; for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) vcm[i] += v[n][i]; for (int i = 0; i < 3; i++) vcm[i] /= N; for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) v[n][i] -= vcm[i]; // Rescale velocities to get the desired instantaneous temperature rescalevelocities(); /** Rescales velocities of particles */ void rescalevelocities() { double vsqdsum = 0; for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) vsqdsum += v[n][i] * v[n][i]; double lambda = Math.sqrt( 3 * (N-1) * T / vsqdsum ); for (int n = 0; n < N; n++) 37
41 Schemat algorytmu MD VI for (int i = 0; i < 3; i++) v[n][i] *= lambda; /** Calculates accelerations of particles */ void computeaccelerations() { for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) a[i][k] = 0; // set all accelerations to zero for (int i = 0; i < N-1; i++) // loop over all distinct pairs i,j for (int j = i+1; j < N; j++) { double[] rij = new double[3]; // position of i relative to j double rsqd = 0; for (int k = 0; k < 3; k++) { rij[k] = r[i][k] - r[j][k]; // closest image convention if (Math.abs(rij[k]) > 0.5 * L) { if (rij[k] > 0) rij[k] -= L; else 38
42 Schemat algorytmu MD VII rij[k] += L; rsqd += rij[k] * rij[k]; double f = 24 * (2 * Math.pow(rSqd, -7) - Math.pow(rSqd, -4)); for (int k = 0; k < 3; k++) { a[i][k] += rij[k] * f; a[j][k] -= rij[k] * f; /** Calculates positions/velocities from the Verlet algorithm */ void velocityverlet(double dt) { computeaccelerations(); for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) { r[i][k] += v[i][k] * dt * a[i][k] * dt * dt; // use periodic boundary conditions if (r[i][k] < 0) r[i][k] += L; if (r[i][k] >= L) 39
43 Schemat algorytmu MD VIII r[i][k] -= L; v[i][k] += 0.5 * a[i][k] * dt; computeaccelerations(); for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) v[i][k] += 0.5 * a[i][k] * dt; /** Calculate temperature */ double instantaneoustemperature() { double sum = 0; for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) sum += v[i][k] * v[i][k]; return sum / (3 * (N - 1)); /** Main method Writes data to the file */ 40
44 Schemat algorytmu MD IX public static void main(string[] argv) { MD2 md = new MD2(); md.initialize(); double dt = 0.01; for (int i = 0; i < 2000; i++) { md.velocityverlet(dt); System.out.println("" + md.instantaneoustemperature()); if (i % 100 == 0) md.rescalevelocities(); 41
45 Wyniki MD Temperatura (T=1) w funkcji czasu. 42
46 MD bardziej wydajnie
47 MD wydajniej Obcięcie potencjału dla potencjałów krótkozasięgowych i szybko malejących z odległością (np. r/σ > 1) można dokonać obcięcia.. 43
48 Schemat algorytmu MD I import java.util.random; public class MD3 { // simulation parameters int N = 864; double rho = 1.0; double T = 1.0; double L; double[][] r, v, a; // number of particles // density (number per unit volume) // temperature // will be computed from N and rho // positions, velocities, accelerations // variables to implement Verlet s neighbor list double rcutoff = 2.5; double rmax = 3.3; int npairs; int[][] pairlist; double[][] drpair; double[] rsqdpair; int updateinterval = 10; // cut-off on Lennard-Jones potential and force // maximum separation to include in pair list // number of pairs currently in pair list // the list of pair indices (i,j) // vector separations of each pair (i,j) // squared separation of each pair (i,j) // number of time steps between // updates of pair list 44
49 Schemat algorytmu MD II Random gen = new Random(); void initialize() { r = new double[n][3]; v = new double[n][3]; a = new double[n][3]; initpositions(); initvelocities(); // allocate memory for neighbor list variables npairs = N * (N - 1) / 2; pairlist = new int[npairs][2]; // to store indices i and j drpair = new double[npairs][3]; // to store components x,y,z rsqdpair = new double [npairs]; double computeseparation (int i, int j, double dr[]) { // find separation using closest image convention double rsqd = 0; for (int d = 0; d < 3; d++) { dr[d] = r[i][d] - r[j][d]; if (dr[d] >= 0.5*L) dr[d] -= L; if (dr[d] < -0.5*L) 45
50 Schemat algorytmu MD III dr[d] += L; rsqd += dr[d]*dr[d]; return rsqd; void updatepairlist() { npairs = 0; double[] dr = new double[3]; for (int i = 0; i < N-1; i++) // all distinct pairs for (int j = i+1; j < N; j++) { // of particles i,j double rsqd=computeseparation(i, j, dr); if (rsqd < rmax*rmax) { pairlist[npairs][0] = i; pairlist[npairs][1] = j; ++npairs; void updatepairseparations() { double[] dr = new double[3]; for (int p = 0; p < npairs; p++) { int i = pairlist[p][0]; 46
51 Schemat algorytmu MD IV int j = pairlist[p][1]; double rsqd = 0; rsqd = computeseparation(i, j, dr); for (int d = 0; d < 3; d++) drpair[p][d] = dr[d]; rsqdpair[p] = rsqd; void computeaccelerations() { for (int i = 0; i < N; i++) // set all accelerations to zero for (int k = 0; k < 3; k++) a[i][k] = 0; for (int p = 0; p < npairs; p++) { int i = pairlist[p][0]; int j = pairlist[p][1]; if (rsqdpair[p] < rcutoff*rcutoff) { double r2inv = 1 / rsqdpair[p]; double r6inv = r2inv*r2inv*r2inv; double f = 24*r2Inv*r6Inv*(2*r6Inv - 1); for (int d = 0; d < 3; d++) { a[i][d] += f * drpair[p][d]; a[j][d] -= f * drpair[p][d]; 47
52 Schemat algorytmu MD V void velocityverlet(double dt) { // assume accelerations have been computed for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) { r[i][k] += v[i][k] * dt * a[i][k] * dt * dt; // use periodic boundary conditions if (r[i][k] < 0) r[i][k] += L; if (r[i][k] >= L) r[i][k] -= L; v[i][k] += 0.5 * a[i][k] * dt; updatepairseparations(); computeaccelerations(); for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) v[i][k] += 0.5 * a[i][k] * dt; 48
53 Schemat algorytmu MD VI void initpositions() { // compute side of cube from number of particles and number density L = Math.pow(N / rho, 1.0/3); // find M large enough to fit N atoms on an fcc lattice int M = 1; while (4 * M * M * M < N) ++M; double a = L / M; // lattice constant of conventional cell // 4 atomic positions in fcc unit cell double[] xcell = {0.25, 0.75, 0.75, 0.25; double[] ycell = {0.25, 0.75, 0.25, 0.75; double[] zcell = {0.25, 0.25, 0.75, 0.75; int n = 0; // atoms placed so far for (int x = 0; x < M; x++) for (int y = 0; y < M; y++) for (int z = 0; z < M; z++) for (int k = 0; k < 4; k++) if (n < N) { r[n][0] = (x + xcell[k]) * a; r[n][1] = (y + ycell[k]) * a; r[n][2] = (z + zcell[k]) * a; ++n; 49
54 Schemat algorytmu MD VII static boolean available = false; static double gset; double gasdev () { double fac, rsq, v1, v2; if (!available) { do { v1 = 2.0 * gen.nextdouble(); v2 = 2.0 * gen.nextdouble(); rsq = v1 * v1 + v2 * v2; while (rsq >= 1.0 rsq == 0.0); fac = Math.sqrt(-2.0 * Math.log(rsq) / rsq); gset = v1 * fac; available = true; return v2*fac; else { available = false; return gset; 50
55 Schemat algorytmu MD VIII void initvelocities() { // Gaussian with unit variance for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) v[n][i] = gasdev(); // Adjust velocities so center-of-mass velocity is zero double[] vcm = {0, 0, 0; for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) vcm[i] += v[n][i]; for (int i = 0; i < 3; i++) vcm[i] /= N; for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) v[n][i] -= vcm[i]; // Rescale velocities to get the desired instantaneous temperature rescalevelocities(); void rescalevelocities() { double vsqdsum = 0; for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) 51
56 Schemat algorytmu MD IX vsqdsum += v[n][i] * v[n][i]; double lambda = Math.sqrt( 3 * (N-1) * T / vsqdsum ); for (int n = 0; n < N; n++) for (int i = 0; i < 3; i++) v[n][i] *= lambda; double instantaneoustemperature() { double sum = 0; for (int i = 0; i < N; i++) for (int k = 0; k < 3; k++) sum += v[i][k] * v[i][k]; return sum / (3 * (N - 1)); public static void main(string[] argv) { MD3 md = new MD3(); md.initialize(); md.updatepairlist(); md.updatepairseparations(); md.computeaccelerations(); double dt = 0.01; for (int i = 0; i < 1000; i++) { md.velocityverlet(dt); 52
57 Schemat algorytmu MD X System.out.println("" + md.instantaneoustemperature()); if (i % 200 == 0) md.rescalevelocities(); if (i % md.updateinterval == 0) { md.updatepairlist(); md.updatepairseparations(); 53
58 Wyniki MD Temperatura (T=1) w funkcji czasu. 54
59 Thank you! 54
model isinga 2d ab 10 grudnia 2016
model isinga 2d ab 10 grudnia 2016 tematyka Model spinów Isinga Hamiltonian i suma statystyczna modelu Metoda Monte-Carlo. Algorytm Metropolisa. Obserwable Modelowanie: Model Isinga 1 hamiltonian I Hamiltonian,
17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek
Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdział 17 KLASYCZNA DYNAMIKA MOLEKULARNA 17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek Rozważamy układ N punktowych cząstek
FORTRAN 90 Ruch planet
FORTRAN 90 Ruch planet Janusz Andrzejewski 30/04/13 Algorytm Verleta (podstawowy) x[n+1] = 2x[n] x[n 1] + dt^2 F[n]/m + O(dt^4 ) v[n] = (x[n+1] x[n 1] )/(2dt ) + O(dt^3 ) x[1] = x[0] + v[0] τ + (F[0]/m)dt^2
INSTRUKCJA DO ĆWICZENIA NR 7
KATEDRA MECHANIKI STOSOWANEJ Wydział Mechaniczny POLITECHNIKA LUBELSKA INSTRUKCJA DO ĆWICZENIA NR 7 PRZEDMIOT TEMAT OPRACOWAŁ LABORATORIUM MODELOWANIA Przykładowe analizy danych: przebiegi czasowe, portrety
3 Metoda NCGF rozwiązywania równania Schrödingera 5
Spis treści 1 Ruch paczki falowej 1 2 Leapfrog method 2 3 Metoda NCGF rozwiązywania równania Schrödingera 5 Temat: Zależne od czasu równanie Schrödingera. Ruch pakietów falowych. Wartości własne. Przykłady
ciało w potencjale radialnym schemat Eulera orbity kontrola kroku czasowego
Wykład pokazuj acy, że wybór stałego nie zawsze jest dobrym pomysłem. Jak napisać program, który będzie sam sobie dobierał krok czasowy na podstawie narzuconej przez nas tolerancji dokładności orbita komety
Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3
Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat
Zwyczajne równania różniczkowe (ZRR) Metody Runge go-ku/y
Zwyczajne równania różniczkowe (ZRR) Metody Runge go-ku/y Metoda Runge go-ku/y (4) Embedded Runge-Kutta methods. Są to jawne metody z dwoma zbiorami współczynników, pozwalające oszacować błąd obliczeń.
IX. MECHANIKA (FIZYKA) KWANTOWA
IX. MECHANIKA (FIZYKA) KWANTOWA IX.1. OPERACJE OBSERWACJI. a) klasycznie nie ważna kolejność, w jakiej wykonujemy pomiary. AB = BA A pomiar wielkości A B pomiar wielkości B b) kwantowo wartość obserwacji
Hard-Margin Support Vector Machines
Hard-Margin Support Vector Machines aaacaxicbzdlssnafiyn9vbjlepk3ay2gicupasvu4iblxuaw2hjmuwn7ddjjmxm1bkcg1/fjqsvt76fo9/gazqfvn8y+pjpozw5vx8zkpvtfxmlhcwl5zxyqrm2vrg5zw3vxmsoezi4ogkr6phieky5crvvjhriqvdom9l2xxftevuwcekj3lktmhghgniauiyutvrwxtvme34a77kbvg73gtygpjsrfati1+xc8c84bvraowbf+uwnipyehcvmkjrdx46vlykhkgykm3ujjdhcyzqkxy0chur6ax5cbg+1m4bbjptjcubuz4kuhvjoql93hkin5hxtav5x6yyqopnsyuneey5ni4keqrxbar5wqaxbik00icyo/iveiyqqvjo1u4fgzj/8f9x67bzmxnurjzmijtlybwfgcdjgfdtajwgcf2dwaj7ac3g1ho1n4814n7wwjgjmf/ys8fenfycuzq==
Ćwiczenie 4: Ciepło właściwe monokryształu fcc argonu
Ćwiczenie 4: Ciepło właściwe monokryształu fcc argonu Tym razem zajmiemy się już problemem bardziej złożonym. Celem ćwiczenia jest wyznaczenie dla monokryształu fcc argonu ciepła właściwego c, tj. ciepła
Równania różniczkowe zwyczajne
Równania różniczkowe zwyczajne Zajmiemy się teraz problemem numerycznego rozwiązywania równań różniczkowych zwyczajnych o postaci: z warunkeim początkowym. Zauważmy że przykładowe równanie różniczkowe
Wykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering
Machine Learning for Data Science (CS4786) Lecture 11 Spectral Embedding + Clustering MOTIVATING EXAMPLE What can you say from this network? MOTIVATING EXAMPLE How about now? THOUGHT EXPERIMENT For each
Podstawy fizyki sezon 1 VII. Ruch drgający
Podstawy fizyki sezon 1 VII. Ruch drgający Agnieszka Obłąkowska-Mucha WFIiS, Katedra Oddziaływań i Detekcji Cząstek, D11, pok. 111 amucha@agh.edu.pl http://home.agh.edu.pl/~amucha Ruch skutkiem działania
Ruch drgający. Ruch harmoniczny prosty, tłumiony i wymuszony
Ruch drgający Ruch harmoniczny prosty, tłumiony i wymuszony Ruchem drgającym nazywamy ruch ciała zachodzący wokół stałego położenia równowagi. Ruchy drgające dzielimy na ruchy: okresowe, nieokresowe. Ruch
Helena Boguta, klasa 8W, rok szkolny 2018/2019
Poniższy zbiór zadań został wykonany w ramach projektu Mazowiecki program stypendialny dla uczniów szczególnie uzdolnionych - najlepsza inwestycja w człowieka w roku szkolnym 2018/2019. Składają się na
Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Numeryczne rozwiązywanie równań różniczkowych ( )
Numeryczne rozwiązywanie równań różniczkowych Równanie różniczkowe jest to równanie, w którym występuje pochodna (czyli różniczka). Przykładem najprostszego równania różniczkowego może być: y ' = 2x które
Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki
Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Programowanie, część IV
Programowanie, część IV Rafał J. Wysocki Instytut Fizyki Teoretycznej, Wydział Fizyki UW 12 kwietnia 2011 Rafał J. Wysocki (rwys@fuw.edu.pl) Programowanie, część IV 12 kwietnia 2011 1 / 42 Równania ruchu
Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis
Machine Learning for Data Science (CS4786) Lecture11 5 Random Projections & Canonical Correlation Analysis The Tall, THE FAT AND THE UGLY n X d The Tall, THE FAT AND THE UGLY d X > n X d n = n d d The
Dynamika nieliniowa i chaos deterministyczny. Fizyka układów złożonych
Dynamika nieliniowa i chaos deterministyczny Fizyka układów złożonych Wahadło matematyczne F θ = mgsinθ Druga zasada dynamiki: ma = mgsinθ a = d2 x dt 2 = gsinθ Długość łuku: x = Lθ Równanie ruchu: θ ሷ
Metody Lagrange a i Hamiltona w Mechanice
Metody Lagrange a i Hamiltona w Mechanice Mariusz Przybycień Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykład 8 M. Przybycień (WFiIS AGH) Metody Lagrange a i Hamiltona... Wykład
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Fizyka 12. Janusz Andrzejewski
Fizyka 1 Janusz Andrzejewski Przypomnienie: Drgania procesy w których pewna wielkość fizyczna na przemian maleje i rośnie Okresowy ruch drgający (periodyczny) - jeżeli wartości wielkości fizycznych zmieniające
Zadanie ChemCad - Batch Reaktor
Zadanie ChemCad - Batch Reaktor Opracowanie: dr inŝ. E.Wolak Treść zadania: Octan sodu powstaje w wyniku reakcji: NaOH + C2 H5COOCH3 C2H5OH + CH3COONa Wodorotlenek sodu i octan etylu zasilają reaktor okresowy
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Kacper Kulczycki. Dynamika molekularna atomów oddziałujących siłami van der Waalsa
Kacper Kulczycki Dynamika molekularna atomów oddziałujących siłami van der Waalsa Warszawa 2007 Spis treści: Spis treści 1 Wstęp 2 Teoria 2 Algorytm 3 Symulacje 4 Wyniki 24 Wnioski 47 1 Wstęp Ćwiczenie
TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction
TTIC 31210: Advanced Natural Language Processing Kevin Gimpel Spring 2019 Lecture 9: Inference in Structured Prediction 1 intro (1 lecture) Roadmap deep learning for NLP (5 lectures) structured prediction
S ścianki naczynia w jednostce czasu przekazywany
FIZYKA STATYSTYCZNA W ramach fizyki statystycznej przyjmuje się, że każde ciało składa się z dużej liczby bardzo małych cząstek, nazywanych cząsteczkami. Cząsteczki te znajdują się w ciągłym chaotycznym
Prawa ruchu: dynamika
Prawa ruchu: dynamika Fizyka I (B+C) Wykład X: Równania ruchu Więzy Rozwiazywanie równań ruchu oscylator harminiczny, wahadło ruch w jednorodnym polu elektrycznym i magnetycznym spektroskop III zasada
Programowanie, część IV
Programowanie, część IV Rafał J. Wysocki Instytut Fizyki Teoretycznej, Wydział Fizyki UW 22 maja 2012 Rafał J. Wysocki (rwys@fuw.edu.pl) Programowanie, część IV 22 maja 2012 1 / 77 Równania ruchu Symulacje
Ćwiczenie M-2 Pomiar przyśpieszenia ziemskiego za pomocą wahadła rewersyjnego Cel ćwiczenia: II. Przyrządy: III. Literatura: IV. Wstęp. l Rys.
Ćwiczenie M- Pomiar przyśpieszenia ziemskiego za pomocą wahadła rewersyjnego. Cel ćwiczenia: pomiar przyśpieszenia ziemskiego przy pomocy wahadła fizycznego.. Przyrządy: wahadło rewersyjne, elektroniczny
Matematyka 3. Suma szeregu. Promień zbieżności szeregu. Przykład 1: Przykład 2: GenerateConditions
Matematyka 3 Suma szeregu? Sum i max Sum[f, {i, i max }] evaluates the sum f. Sum[f, {i, i min, i max }] starts with i = i min. Sum[f, {i, i min, i max, di}] uses steps di. Sum[f, {i, {i 1, i 2, }}] uses
RÓWNANIE DYNAMICZNE RUCHU KULISTEGO CIAŁA SZTYWNEGO W UKŁADZIE PARASOLA
Dr inż. Andrzej Polka Katedra Dynamiki Maszyn Politechnika Łódzka RÓWNANIE DYNAMICZNE RUCHU KULISTEGO CIAŁA SZTYWNEGO W UKŁADZIE PARASOLA Streszczenie: W pracy opisano wzajemne położenie płaszczyzny parasola
MECHANIKA II. Dynamika ruchu obrotowego bryły sztywnej
MECHANIKA II. Dynamika ruchu obrotowego bryły sztywnej Daniel Lewandowski Politechnika Wrocławska, Wydział Mechaniczny, Katedra Mechaniki i Inżynierii Materiałowej http://kmim.wm.pwr.edu.pl/lewandowski/
Laboratorium II: Modelowanie procesów fizycznych Skrypt do ćwiczeń
PJWSTK/KMKT-07082006 Laboratorium II: Modelowanie procesów fizycznych Katedra Metod Komputerowych Techniki Polsko Japońska Wyższa Szkoła Technik Komputerowych I. KINETYKA Kinetyka zajmuje się ruchem ciał
Python. Wprowadzenie. Jolanta Bachan
Python Wprowadzenie Jolanta Bachan Zainstaluj i przetestuj Pythona https://www.python.org/downloads/ print 'Hello world!' operatory numeryczne: + - * / // % ** operatory porównania: ==!= > < >=
Rozwiązywanie równań różniczkowych zwyczajnych za pomocą komputera
Rozwiązywanie równań różniczkowych zwyczajnych za pomocą komputera Arkadiusz Syta A. Syta (Politechnika Lubelska) 1 / 19 Wstęp Przegląd wybranych pakietów oprogramowania i funkcji Rozwiązywanie równań
FIZYKA STATYSTYCZNA. d dp. jest sumaryczną zmianą pędu cząsteczek zachodzącą na powierzchni S w
FIZYKA STATYSTYCZNA W ramach fizyki statystycznej przyjmuje się, że każde ciało składa się z dużej liczby bardzo małych cząstek, nazywanych cząsteczkami. Cząsteczki te znajdują się w ciągłym chaotycznym
wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy
i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ
Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych
Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych Plan laboratorium Generatory liczb pseudolosowych dla rozkładów dyskretnych: Generator liczb o rozkładzie równomiernym Generator
2017 R. Robert Gajewski: Mathcad Prime 4. Solution of examples Rozwiązania przykładów
07 R. Robert Gajewski: Mathcad Prime 4 0. Calculate numerically and present results in different formats and precision. 0. Oblicz numerycznie i przedstaw wyniki w różnych formatach i z różną precyzją.
Wykład 6 Drgania. Siła harmoniczna
Wykład 6 Drgania Ruch, który powtarza się w regularnych odstępach czasu, nazywamy ruchem okresowym (periodycznym). Przemieszczenie cząstki w ruchu periodycznym można wyrazić za pomocą funkcji sinus albo
Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
SYMULACJA ZAKŁÓCEŃ W UKŁADACH AUTOMATYKI UTWORZONYCH ZA POMOCĄ OBWODÓW ELEKTRYCZNYCH W PROGRAMACH MATHCAD I PSPICE
POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 76 Electrical Engineering 2013 Piotr FRĄCZAK* SYMULACJA ZAKŁÓCEŃ W UKŁADACH AUTOMATYKI UTWORZONYCH ZA POMOCĄ OBWODÓW ELEKTRYCZNYCH W PROGRAMACH MATHCAD
OBLICZANIE POCHODNYCH FUNKCJI.
OBLICZANIE POCHODNYCH FUNKCJI. ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH. Obliczanie pochodnych funkcji. Niech będzie dana funkcja y(x określona i różniczkowalna na przedziale
WAHADŁO SPRĘŻYNOWE. POMIAR POLA ELIPSY ENERGII.
ĆWICZENIE 3. WAHADŁO SPRĘŻYNOWE. POMIAR POLA ELIPSY ENERGII. 1. Oscylator harmoniczny. Wprowadzenie Oscylatorem harmonicznym nazywamy punt materialny, na tóry,działa siła sierowana do pewnego centrum,
OpenPoland.net API Documentation
OpenPoland.net API Documentation Release 1.0 Michał Gryczka July 11, 2014 Contents 1 REST API tokens: 3 1.1 How to get a token............................................ 3 2 REST API : search for assets
SYMULACJA DYNAMIKI MOLEKULARNEJ
SYMULACJA DYNAMIKI MOLEKULARNEJ ionized.psf min2.coor xyz.xsc par_all27_na.prm dyn2.conf NAMD dyn2.coor dyn2.xsc dyn2.vel dyn2.out dyn2.dcd dyn2.restart.coor dyn2.restart.xsc dyn2.restart.vel dyn2.restart.coor.old
Niezawodność diagnostyka systemów laboratorium. Ćwiczenie 2
dr inż. Jacek Jarnicki doc. PWr Niezawodność diagnostyka systemów laboratorium Ćwiczenie 2 1. Treść ćwiczenia Generowanie realizacji zmiennych losowych i prezentacja graficzna wyników losowania. Symulacja
e E Z = P = 1 Z e E Kanoniczna suma stanów Prawdopodobieństwo wystąpienia mikrostanu U E = =Z 1 Wartość średnia energii
Metoda Metropolisa Z = e E P = 1 Z e E Kanoniczna suma stanów Prawdopodobieństwo wystąpienia mikrostanu U E = P E =Z 1 E e E Wartość średnia energii Średnia wartość A = d r N A r N exp[ U r N ] d r N exp[
Algorytmy z powrotami. Algorytm minimax
Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019
Poniższy zbiór zadań został wykonany w ramach projektu Mazowiecki program stypendialny dla uczniów szczególnie uzdolnionych - najlepsza inwestycja w człowieka w roku szkolnym 2018/2019. Tresci zadań rozwiązanych
EXAMPLES of file operations using the library <stdio.h>
EXAMPLES of file operations using the library TEXT files containing sequences of numbers: TXT- 1: Calculator - summing two numbers stored in a text file ( fopen, fscanf, fprintf, fclose ) TXT-
Podłączanie bibliotek Zapis danych do pliku graficznego Generowanie promienia pierwotnego Import sceny z pliku Algorytm ray tracingu
Ray Tracer cz.1 Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 4 Kwiecień 2017 Michał Chwesiuk Ray Tracer cz.1 4 Kwiecień 2017 1/21 Plan zajęć laboratoryjnych
Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych.
Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych. Jedną z metod symulacji dynamiki cieczy jest zastosowanie metody siatkowej Boltzmanna.
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Kinematyka: opis ruchu
Kinematyka: opis ruchu Fizyka I (B+C) Wykład IV: Ruch jednostajnie przyspieszony Ruch harmoniczny Ruch po okręgu Klasyfikacja ruchów Ze względu na tor wybrane przypadki szczególne prostoliniowy, odbywajacy
/** Program demonstrujący działanie klasy GregorianCalendar import java.util.*; public class TestKalendarza // zbuduj d i zainicjalizuj z aktualną datą GregorianCalendar d = new GregorianCalendar(); int
Wykład 2. Przykład zastosowania teorii prawdopodobieństwa: procesy stochastyczne (Markova)
Wykład 2 Przykład zastosowania teorii prawdopodobieństwa: procesy stochastyczne (Markova) 1. Procesy Markova: definicja 2. Równanie Chapmana-Kołmogorowa-Smoluchowskiego 3. Przykład dyfuzji w kapilarze
Siły zachowawcze i energia potencjalna. Katarzyna Sznajd-Weron Mechanika i termodynamika dla matematyki stosowanej 2017/18
Siły zachowawcze i energia potencjalna Katarzyna Sznajd-Weron Mechanika i termodynamika dla matematyki stosowanej 2017/18 Polecana literatura John R Taylor, Mechanika klasyczna, tom1 Wydawnictwo Naukowe
Liczby pseudolosowe. Math. Różne sposoby generowania liczb pseudolosowych. Wybrane metody klasy Math
Liczby pseudolosowe Różne sposoby generowania liczb pseudolosowych 01 import java.util.random; 02 03 public class Przypadek { 05 public static void main(string[] args) { 06 Random randomgenerator = new
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
Linear Classification and Logistic Regression. Pascal Fua IC-CVLab
Linear Classification and Logistic Regression Pascal Fua IC-CVLab 1 aaagcxicbdtdbtmwfafwdgxlhk8orha31ibqycvkdgpshdqxtwotng2pxtvqujmok1qlky5xllzrnobbediegwcap4votk2kqkf+/y/tnphdschtadu/giv3vtea99cfma8fpx7ytlxx7ckns4sylo3doom7jguhj1hxchmy/irhrlgh67lxb5x3blis8jjqynmedqujiu5zsqqagrx+yjcfpcrydusshmzeluzsg7tttiew5khhcuzm5rv0gn1unw6zl3gbzlpr3liwncyr6aaqinx4wnc/rpg6ix5szd86agoftuu0g/krjxdarph62enthdey3zn/+mi5zknou2ap+tclvhob9sxhwvhaqketnde7geqjp21zvjsfrcnkfhtejoz23vq97elxjlpbtmxpl6qxtl1sgfv1ptpy/yq9mgacrzkgje0hjj2rq7vtywnishnnkzsqekucnlblrarlh8x8szxolrrxkb8n6o4kmo/e7siisnozcfvsedlol60a/j8nmul/gby8mmssrfr2it8lkyxr9dirxxngzthtbaejv
Ruch drgajacy. Drgania harmoniczne. Drgania harmoniczne... Drgania harmoniczne... Notatki. Notatki. Notatki. Notatki. dr inż.
Ruch drgajacy dr inż. Ireneusz Owczarek CNMiF PŁ ireneusz.owczarek@p.lodz.pl http://cmf.p.lodz.pl/iowczarek 1 dr inż. Ireneusz Owczarek Ruch drgajacy Drgania harmoniczne Drgania oscylacje to cykliczna
Programowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Piłką na platformach i przez teleporty. Andrzej P.Urbański Wydział Informatyki Politechnika Poznańska
Piłką na platformach i przez teleporty Andrzej P.Urbański Wydział Informatyki Politechnika Poznańska Play Canvas system programowania gier Zintegrowane narzędzia do tworzenia obiektów 3D, skryptów JavaScript
Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek
Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania
MODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl dwojcik@swps.edu.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/
V. RÓWNANIA RUCHU MECHANIKI KLASYCZNEJ Janusz Adamowski
V. RÓWNANIA RUCHU MECHANIKI KLASYCZNEJ Janusz Adamowski 1 1 Wstęp Rozważamy ruch jednej cząstki klasycznej w jednym wymiarze. Otrzymane wyniki będzie można łatwo uogólnić na przypadek pojedynczej cząstki
Prędkość fazowa i grupowa fali elektromagnetycznej w falowodzie
napisał Michał Wierzbicki Prędkość fazowa i grupowa fali elektromagnetycznej w falowodzie Prędkość grupowa paczki falowej Paczka falowa jest superpozycją fal o różnej częstości biegnących wzdłuż osi z.
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
CYFROWE PRZETWARZANIE SYGNAŁÓW
POLITECHNIKA RZESZOWSKA im. I. Łukasiewicza WYDZIAŁ ELEKTROTECHNIKI I INFORMATYKI Katedra Metrologii i Systemów Diagnostycznych CYFROWE PRZETWARZANIE SYGNAŁÓW Sygnały stochastyczne, parametry w dziedzinie
Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie
Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie 1. Cel ćwiczenia i zakres Poznanie środowiska IntelliJ IDEA Maven narzędzie do budowanie projektów typy podstawowe i tablice, instrukcje warunkowe,
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
PRACA DYPLOMOWA Magisterska
POLITECHNIKA WARSZAWSKA Wydział Samochodów i Maszyn Roboczych PRACA DYPLOMOWA Magisterska Studia stacjonarne dzienne Semiaktywne tłumienie drgań w wymuszonych kinematycznie układach drgających z uwzględnieniem
Języki i metody programowania Java Lab2 podejście obiektowe
Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie
Uczenie ze wzmocnieniem
Uczenie ze wzmocnieniem Maria Ganzha Wydział Matematyki i Nauk Informatycznych 2018-2019 Temporal Difference learning Uczenie oparte na różnicach czasowych Problemy predykcyjne (wieloetapowe) droga do
Modelowanie wybranych zjawisk fizycznych
Ryszard Myhan Modelowanie zjawiska tarcia suchego Suwaka porusza się w poziomych prowadnicach, gdzie x=x(t) oznacza przesunięcie suwaka względem nieruchomej prowadnicy w kierunku zgodnym z kierunkiem siły
Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja
Opis zagadnieo 1-3 Iteracja, rekurencja i ich realizacja Iteracja Iteracja to czynnośd powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa
Nazwisko i imię: Zespół: Data: Ćwiczenie nr 1: Wahadło fizyczne. opis ruchu drgającego a w szczególności drgań wahadła fizycznego
Nazwisko i imię: Zespół: Data: Cel ćwiczenia: Ćwiczenie nr 1: Wahadło fizyczne opis ruchu drgającego a w szczególności drgań wahadła fizycznego wyznaczenie momentów bezwładności brył sztywnych Literatura
Metody Obliczeniowe Mikrooptyki i Fotoniki
Metody Obliczeniowe Mikrooptyki i Fotoniki https://www.igf.fuw.edu.pl/pl/courses/lectures/metody-obliczen-95-021c/ Podstawy metody różnic skończonych (Basics of finite-difference methods) Podstawy metody
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Convolution semigroups with linear Jacobi parameters
Convolution semigroups with linear Jacobi parameters Michael Anshelevich; Wojciech Młotkowski Texas A&M University; University of Wrocław February 14, 2011 Jacobi parameters. µ = measure with finite moments,
Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Programowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Podstawy programowania Paweł Daniluk Wydział Fizyki Jesień 2012 P. Daniluk (Wydział Fizyki) PO w. II Jesień 2012 1 / 28 Strona wykładu http://bioexploratorium.pl/wiki/
KORELACJA 1. Wykres rozrzutu ocena związku między zmiennymi X i Y. 2. Współczynnik korelacji Pearsona
KORELACJA 1. Wykres rozrzutu ocena związku między zmiennymi X i Y 2. Współczynnik korelacji Pearsona 3. Siła i kierunek związku między zmiennymi 4. Korelacja ma sens, tylko wtedy, gdy związek między zmiennymi
Physics-Based Animation 4 Mass-spring systems
COL865: Special Topics in Computer Applications Physics-Based Animation 4 Mass-spring systems Particle systems Consider n point masses in R 3 ith particle has mass m i, position x i, velocity v i External
Camspot 4.4 Camspot 4.5
User manual (addition) Dodatek do instrukcji obsługi Camspot 4.4 Camspot 4.5 1. WiFi configuration 2. Configuration of sending pictures to e-mail/ftp after motion detection 1. Konfiguracja WiFi 2. Konfiguracja
Java Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ
Wprowadzenie Generowanie liczb o zadanym rozkładzie Generowanie liczb o zadanym rozkładzie wejście X U(0, 1) wyjście Y z zadanego rozkładu F (y) = 1 e λy y = ln(1 F (y) λ = ln(1 0,1563 0, 5 0,34 Wprowadzenie
Prawa ruchu: dynamika
Prawa ruchu: dynamika Fizyka I (B+C) Wykład IX: Więzy Rozwiazywanie równań ruchu oscylator harminiczny, wahadło ruch w jednorodnym polu elektrycznym i magnetycznym spektroskop III zasada dynamiki Siły
Bryła sztywna. Fizyka I (B+C) Wykład XXIII: Przypomnienie: statyka
Bryła sztywna Fizyka I (B+C) Wykład XXIII: Przypomnienie: statyka Moment bezwładności Prawa ruchu Energia ruchu obrotowego Porównanie ruchu obrotowego z ruchem postępowym Przypomnienie Równowaga bryły
Drgania wymuszone - wahadło Pohla
Zagadnienia powiązane Częstość kołowa, częstotliwość charakterystyczna, częstotliwość rezonansowa, wahadło skrętne, drgania skrętne, moment siły, moment powrotny, drgania tłumione/nietłumione, drgania