public class CatalysisAtom extends AbstractGrowthAtom
Modifier and Type | Field and Description |
---|---|
private CatalysisAtomAttributes |
attributes |
static byte |
BR |
static byte |
C |
static byte |
CO |
private int |
coCusWithCoCus
Current atom is CO^CUS and it has as many CO^CUS neighbours.
|
static byte |
CUS |
private boolean |
eligible |
private byte |
latticeSite
Bridge or CUS.
|
private CatalysisAtom[] |
neighbours |
static byte |
O |
static byte |
O2 |
private int |
occupiedNeighbours |
private double[][][] |
probabilities
Default rates to jump from one type to the other.
|
private CatalysisProcess[] |
processes |
private static BasicGrowthTypesTable |
TYPE_TABLE |
ARMCHAIR_EDGE, BULK, CORNER, EDGE, KINK, SICK, TERRACE, ZIGZAG_EDGE, ZIGZAG_WITH_EXTRA
Constructor and Description |
---|
CatalysisAtom(int id,
short iHexa,
short jHexa) |
Modifier and Type | Method and Description |
---|---|
void |
addCoCusNeighbours(int value) |
boolean |
areTwoTerracesTogether() |
void |
checkImmobile()
Makes this atom "immobile" if it is surrounded by 4 neighbours.
|
AbstractGrowthAtom |
chooseRandomHop() |
void |
cleanCoCusNeighbours() |
void |
clear()
Resets current atom; TERRACE type, no neighbours, no occupied, no outside and no probability.
|
java.util.List |
getAllNeighbours() |
AbstractGrowthAtomAttributes |
getAttributes() |
int |
getCoCusNeighbours() |
byte |
getLatticeSite() |
CatalysisAtom |
getNeighbour(int pos) |
int |
getOrientation()
For the orientation they are only available two position.
|
double |
getProbability(int originType,
int targetType)
Dummy method.
|
CatalysisAtom |
getRandomNeighbour(byte process) |
byte |
getTypeWithoutNeighbour(int position)
Returns the type of the neighbour atom if current one would not exist.
|
void |
initialiseRates(double[][][] probabilities)
Default rates to jump from one type to the other.
|
boolean |
isEligible() |
boolean |
isIsolated()
Tells when current atom is completely surrounded.
|
boolean |
isPartOfImmobilSubstrate() |
void |
obtainRateFromNeighbours() |
double |
probJumpToNeighbour(int ignored,
int position) |
void |
setAttributes(AbstractGrowthAtomAttributes attributes) |
void |
setNeighbour(AbstractGrowthAtom a,
int pos) |
void |
swapAttributes(AbstractGrowthAtom a) |
java.lang.String |
toString() |
double |
updateOneBound(int pos) |
addOccupiedNeighbour, addProbability, addRate, addToSumRate, areTwoTerracesTogetherInPerimeter, compareTo, equalRate, equals, getAngle, getBondsProbability, getBondsProbability, getCartesianPosition, getCartesianSuperCell, getDepositionPosition, getDepositionTime, getEdgeRate, getHops, getId, getiHexa, getIslandNumber, getjHexa, getMultiAtomNumber, getMultiplier, getOccupiedNeighbours, getProbability, getProbability, getRate, getSumRate, getType, hashCode, initialiseRates, isInnerPerimeter, isOnList, isOuterPerimeter, isOutside, isVisited, remove, removeMultiAtomNumber, removeMultiAtoms, resetPerimeter, resetProbability, setAngle, setBondsProbability, setBondsProbability, setCartesianPosition, setCartesianSuperCell, setDepositionPosition, setDepositionTime, setHops, setInnerPerimeter, setIslandNumber, setMultiAtomNumber, setMultiplier, setOnList, setOuterPerimeter, setOutside, setProcceses, setRate, setSumRate, setType, setVisited, updateRate
getNumberOfNeighbours, getPos, getProbabilities, getRealType, isOccupied, isOnList, isRemoved, setList, setNeighbour, setNumberOfNeighbours, setOccupied, setProbabilities, setRemoved, unRemove
public static final byte CO
public static final byte O
public static final byte C
public static final byte O2
public static final byte BR
public static final byte CUS
private static final BasicGrowthTypesTable TYPE_TABLE
private int occupiedNeighbours
private final CatalysisAtom[] neighbours
private final byte latticeSite
private boolean eligible
private final CatalysisProcess[] processes
private double[][][] probabilities
private CatalysisAtomAttributes attributes
private int coCusWithCoCus
public AbstractGrowthAtomAttributes getAttributes()
getAttributes
in class AbstractGrowthAtom
public void setAttributes(AbstractGrowthAtomAttributes attributes)
setAttributes
in class AbstractGrowthAtom
public byte getLatticeSite()
public boolean isIsolated()
isIsolated
in class AbstractGrowthAtom
public void initialiseRates(double[][][] probabilities)
probabilities
- Default rates.public double getProbability(int originType, int targetType)
getProbability
in class AbstractGrowthAtom
originType
- targetType
- public int getOrientation()
getOrientation
in class AbstractGrowthAtom
public void setNeighbour(AbstractGrowthAtom a, int pos)
setNeighbour
in class AbstractGrowthAtom
public java.util.List getAllNeighbours()
getAllNeighbours
in class AbstractGrowthAtom
public CatalysisAtom getNeighbour(int pos)
getNeighbour
in class AbstractGrowthAtom
public CatalysisAtom getRandomNeighbour(byte process)
public void addCoCusNeighbours(int value)
public void cleanCoCusNeighbours()
public int getCoCusNeighbours()
public double updateOneBound(int pos)
updateOneBound
in class AbstractGrowthAtom
pos
- position of the neighbourpublic boolean isEligible()
public boolean isPartOfImmobilSubstrate()
isPartOfImmobilSubstrate
in class AbstractGrowthAtom
public byte getTypeWithoutNeighbour(int position)
getTypeWithoutNeighbour
in class AbstractGrowthAtom
position
- position is the original one; has to be inverted.public boolean areTwoTerracesTogether()
areTwoTerracesTogether
in class AbstractGrowthAtom
public void checkImmobile()
public AbstractGrowthAtom chooseRandomHop()
chooseRandomHop
in class AbstractGrowthAtom
public void obtainRateFromNeighbours()
obtainRateFromNeighbours
in class AbstractGrowthAtom
public double probJumpToNeighbour(int ignored, int position)
probJumpToNeighbour
in class AbstractGrowthAtom
public void clear()
clear
in interface IElement
clear
in class AbstractGrowthAtom
public void swapAttributes(AbstractGrowthAtom a)
swapAttributes
in class AbstractGrowthAtom
public java.lang.String toString()
toString
in class AbstractGrowthAtom