La prima funzione è marca, dopo che nella configurazione
iniziale sono stati assegnati i monomeri sui due piani m0 ed m1 e
i relativi tipi sui piani mb0 e mb1, esegue un test di presenza
nei vicini necessari per la
"connettività" e per il "volume escluso", ne copia il risultato
in segnali d'appoggio che vengono
poi calciati al posto giusto con un opportuno kick.
Ogni cella dell'automa cellulare controlla se è
presente almeno uno dei due vicini di est, ovest o se stesso e fa sapere
il risultato ai vicini di nord, sud, nord0 e sud0.
Nella Lut dirMuovi vengono verificate le condizioni di
"connettività" e "volume escluso" che permettono lo spostamento
di un monomero; la funzione verifica se il monomero è presente e
se a quel passo di simulazione si può muovere controllando i
piani randmov; a questo punto, se le due condizioni sono
verificate, si sceglie casualmente, utilizzando i segnali rand0 e
rand1, la direzione tra le quattro possibili con 25% di
probabilità e
poi, a seconda della direzione scelta, si controllano la
"connettività" e il "volume escluso".
Se le verifiche per direzione scelta sono soddisfatte, si pone
a zero il bit m1 nel piano1 del monomero che deve essere spostato
e vengono memorizzati il tipo e la posizione che dovrà assumere
nella LUT successiva.
Nella LUT deposita attraverso i piani di appoggio
definiti è possibile posizionare i monomeri spostati nella nuova
posizione: infatti ricordando tipo e direzione da assumere,
memorizziamo in m1 ed in mb1 presenza e tipo e poniamo a zero i
piani d'appoggio utilizzati.
L'ultima funzione che regola il
movimento dei monomeri è ScambiaInfo e serve per
invertire le informazioni presenti sul piano0 con quelle del
piano1 in modo tale che al passo seguente siano diversi i monomeri
di cui dobbiamo controllare il movimento e che eventualmente
dobbiamo spostare.
La funzione ScambiaInfo
Ultimo aggiornamento: 29 settembre 2003
Torna alla pagina precedente