public class ConcertedAtom extends AgAtomSimple
| Modifier and Type | Field and Description |
|---|---|
private ConcertedProcess[] |
processes |
CORNER, EDGE, EDGE_A, EDGE_B, ISLAND, KINK, KINK_A, KINK_B, TERRACEARMCHAIR_EDGE, BULK, SICK, ZIGZAG_EDGE, ZIGZAG_WITH_EXTRA| Constructor and Description |
|---|
ConcertedAtom(int id,
int i) |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Resets current atom; TERRACE type, no occupied, no outside and no probability.
|
double |
getBondsProbability(int i)
Get probability in the given neighbour position.
|
private java.util.BitSet |
getCode()
Gets a BitSet of the current occupancy.
|
private byte |
getDetachedType(byte type,
int position)
When detaching from an island, the energy has to be different.
|
private int |
getDistance(int first,
int second)
Takes into account that maximum distance can be 3.
|
private byte |
getEdgeSubtype(java.util.BitSet bits)
Two atoms are together, separated by one position or two positions.
|
private byte |
getKinkSubtype(java.util.BitSet bits)
If the given number from bits is multiple of 21 all atoms are separated,
other multiples of 7, all 3 atoms are together.
|
ConcertedAtom |
getRandomNeighbour(byte process) |
byte |
getRealType()
Defines 11 atom types,subtypes:
0 -> 0
1 -> 1
2,0 -> 2
2,1 -> 3
2,2 -> 4
3,0 -> 5
3,1 -> 6
4,0 -> 7
4,1 -> 8
4,2 -> 9
5 -> 10
6 -> 16
with some of them as detaching destination.
|
private byte |
getType4Subtype(java.util.BitSet bitSet)
It is just the complementary of the edge one.
|
private byte |
getTypeCode(byte type,
java.util.BitSet bits) |
byte |
getTypeWithoutNeighbour(int position)
Returns the type of the neighbour atom if current one would not exist.
|
boolean |
isDimer() |
areTwoTerracesTogether, chooseRandomHop, isEligible, isPartOfImmobilSubstrate, probJumpToNeighbouraddNImmobile, addNMobile, getAllNeighbours, getNeighbour, getNewType, getNImmobile, getNMobile, getOrientation, getOrientation, getPos, obtainRateFromNeighbours, setNeighbour, setNImmobile, setNMobile, updateOneBoundaddOccupiedNeighbour, addProbability, addRate, addToSumRate, areTwoTerracesTogetherInPerimeter, compareTo, equalRate, equals, getAngle, getAttributes, getBondsProbability, getCartesianPosition, getCartesianSuperCell, getDepositionPosition, getDepositionTime, getEdgeRate, getHops, getId, getiHexa, getIslandNumber, getjHexa, getMultiAtomNumber, getMultiplier, getOccupiedNeighbours, getProbability, getProbability, getProbability, getRate, getSumRate, getType, hashCode, initialiseRates, isInnerPerimeter, isIsolated, isOnList, isOuterPerimeter, isOutside, isVisited, remove, removeMultiAtomNumber, removeMultiAtoms, resetPerimeter, resetProbability, setAngle, setAttributes, setBondsProbability, setBondsProbability, setCartesianPosition, setCartesianSuperCell, setDepositionPosition, setDepositionTime, setHops, setInnerPerimeter, setIslandNumber, setMultiAtomNumber, setMultiplier, setOnList, setOuterPerimeter, setOutside, setProcceses, setRate, setSumRate, setType, setVisited, swapAttributes, toString, updateRategetNumberOfNeighbours, getProbabilities, isOccupied, isOnList, isRemoved, setList, setNeighbour, setNumberOfNeighbours, setOccupied, setProbabilities, setRemoved, unRemoveprivate final ConcertedProcess[] processes
public ConcertedAtom getRandomNeighbour(byte process)
public void clear()
public boolean isDimer()
public double getBondsProbability(int i)
getBondsProbability in class AbstractGrowthAtomi - neighbour position.public byte getRealType()
getRealType in interface IAtomgetRealType in class AgAtomSimpleprivate byte getTypeCode(byte type,
java.util.BitSet bits)
public byte getTypeWithoutNeighbour(int position)
getTypeWithoutNeighbour in class AgAtomSimpleposition - this position is the original one; has to be inverted.private byte getDetachedType(byte type,
int position)
type - position - private java.util.BitSet getCode()
private byte getEdgeSubtype(java.util.BitSet bits)
bits - private byte getKinkSubtype(java.util.BitSet bits)
bits - private byte getType4Subtype(java.util.BitSet bitSet)
bitSet - private int getDistance(int first,
int second)
first - atom position [0,5]second - atom position [0,5]