Diffusion CFTP coupl pos.py

From Werner KRAUTH

(Difference between revisions)
Jump to: navigation, search
Revision as of 13:32, 6 June 2024
Werner (Talk | contribs)

← Previous diff
Current revision
Werner (Talk | contribs)

Line 1: Line 1:
 +==Context==
 +This page is part of my [[BegRohu_Lectures_2024|2024 Beg Rohu Lectures]] on "The second Markov chain revolution" at the [https://www.ipht.fr/Meetings/BegRohu2024/index.html Summer School] "Concepts and Methods of Statistical Physics" (3 - 15 June 2024).
 +
 +==Python program==
import random import random
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
- +
N = 5 N = 5
pos = [] pos = []

Current revision

Context

This page is part of my 2024 Beg Rohu Lectures on "The second Markov chain revolution" at the Summer School "Concepts and Methods of Statistical Physics" (3 - 15 June 2024).

Python program

import random
import matplotlib.pyplot as plt

N = 5
pos = []
for stat in range(100000):
   all_arrows = {}
   time_tot = 0
   while True:
      time_tot -= 1
      arrows = [random.choice([-1, 0, 1]) for i in range(N)]
      if arrows[0] == -1: arrows[0] = 0
      if arrows[N - 1] == 1: arrows[N - 1] = 0
      all_arrows[time_tot] = arrows
      positions=set(range(0, N))
      for t in range(time_tot, 0):
         positions = set([b + all_arrows[t][b] for b in positions])
         if len(positions) == 1: break
      if len(positions) == 1: break
   a = positions.pop()
   pos.append(a)
plt.title('Backward coupling: 1-d with walls: position at coupling time')
plt.hist(pos, bins=N, range=(-0.5, N - 0.5), density=True)
plt.savefig('backward_coupling_position.png')
plt.show()
Personal tools