Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss17:musterbildende_chemische_systeme

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss17:musterbildende_chemische_systeme [2017/06/01 17:31]
fmbk25
ss17:musterbildende_chemische_systeme [2017/06/08 17:31] (aktuell)
fmbk25
Zeile 14: Zeile 14:
   * komplexere Musterbildungen durch ändern der Variablen   * komplexere Musterbildungen durch ändern der Variablen
  
-Protokoll 1.6.17: 
-Diffusionscode: ​ 
-import matplotlib.pyplot as plt 
-import numpy as np 
-from copy import deepcopy 
  
-x0=0 +[[ss17:protokolle_muster|Protokolle]]
-x1=10 +
-dx = 0.1 +
-dt=0.0001 +
-D= 10.0 +
-def init(): +
- #sin +
- sigma = 0.8 +
- a = np.linspace(x0,​x1,​(x1-x0)/​dx) +
- #sin +
- #a = 10*np.sin(a) +
- #gauss +
- a = 1/​sigma*np.exp(-0.5*((a-(x1-x0)/​2)/​sigma)**2) +
- return a+
  
  
-def getnewtimestep(a):​ 
- b=[0]*len(a) 
- for i in range(1,​len(a)-1):​ 
- b[i] = a[i] + D*dt/​dx**2*(a[i+1]+a[i-1]-2*a[i]) 
- b[0] = a[0] +D*dt/dx**2 * (a[1]-2*a[0]) ​   #Randpunkte muessen gesondert behandelt werden 
- b[-1] = a[-1] + D*dt/dx**2 * ( a[-2] - 2*a[-1]) ​ #Randpunkte muessen gesondert behandelt werden 
- ​ return b  
  
- 
- 
- 
-a=  init() 
-N = 10000 
- 
-for i in range(N): 
- if i % (N/10)==0: 
- plt.plot(a,​ label="​t= " + str(i)) 
- a = getnewtimestep(a) 
-plt.legend() 
-#​plt.ylim([0,​10]) 
-plt.show() 
- 
-den Diffusionscode verändert (Betrag, Gerade, Anfangswerte verändert) 
ss17/musterbildende_chemische_systeme.1496331069.txt.gz · Zuletzt geändert: 2017/06/01 17:31 von fmbk25