public class GrapheneAtom extends AbstractGrowthAtom
| Modifier and Type | Field and Description |
|---|---|
private boolean |
allRatesTheSame |
private HopsPerStep |
distancePerStep |
private int |
n1
Total number of 1st neighbours.
0 <= n1 <= 3
|
private int |
n2
Total number of 2nd neighbours.
0 <= n2 <= 6
|
private int |
n3
Total number of 3rd neighbours.
0 <= n3 <= 3
|
private GrapheneAtom[] |
neighbours |
private static GrapheneTypesTable |
typesTable |
ARMCHAIR_EDGE, BULK, CORNER, EDGE, KINK, SICK, TERRACE, ZIGZAG_EDGE, ZIGZAG_WITH_EXTRA| Constructor and Description |
|---|
GrapheneAtom(int id,
short iHexa,
short jHexa,
HopsPerStep distancePerStep) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
areAllRatesTheSame() |
boolean |
areTwoTerracesTogether() |
AbstractGrowthAtom |
chooseRandomHop()
Decides to which position is going to jump.
|
void |
clear()
Resets current atom; TERRACE type, no neighbours, no occupied, no outside and no probability.
|
java.util.List |
getAllNeighbours() |
HopsPerStep |
getDistancePerStep() |
int |
getN1()
Total number of 1st neighbours.
|
int |
getN2()
Total number of 2nd neighbours.
|
int |
getN3()
Total number of 3rd neighbours.
|
GrapheneAtom |
getNeighbour(int pos) |
int |
getNeighbourCount()
Total number of neighbours.
|
byte |
getNewType(int neighbourPosition,
int addOrRemove)
Calculates the new atom type when adding or removing a neighbour.
|
int |
getOrientation() |
byte |
getTypeWithoutNeighbour(int originPos)
saber que tipo de átomo sería si el vecino originPos estuviera vacío
útil para saber el tipo de átomos que serás al saltar.
|
boolean |
isEligible()
KINK and BULK atom types are considered immobile atoms.
|
boolean |
isPartOfImmobilSubstrate() |
void |
obtainRateFromNeighbours() |
double |
probJumpToNeighbour(int originType,
int pos)
Probability to jump to given neighbour position.
|
void |
setN1(int addOrRemove) |
void |
setNeighbour(AbstractGrowthAtom a,
int pos) |
void |
setNeighbours(GrapheneAtom[] neighbours) |
double |
updateOneBound(int posNeighbour) |
addOccupiedNeighbour, addProbability, addRate, addToSumRate, areTwoTerracesTogetherInPerimeter, compareTo, equalRate, equals, getAngle, getAttributes, getBondsProbability, 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, getPos, getProbabilities, getRealType, isOccupied, isOnList, isRemoved, setList, setNeighbour, setNumberOfNeighbours, setOccupied, setProbabilities, setRemoved, unRemoveprivate static GrapheneTypesTable typesTable
private boolean allRatesTheSame
private GrapheneAtom[] neighbours
private int n1
private int n2
private int n3
private HopsPerStep distancePerStep
public GrapheneAtom(int id,
short iHexa,
short jHexa,
HopsPerStep distancePerStep)
public void setNeighbours(GrapheneAtom[] neighbours)
public boolean isEligible()
public boolean isPartOfImmobilSubstrate()
isPartOfImmobilSubstrate in class AbstractGrowthAtompublic int getN1()
public void setN1(int addOrRemove)
public int getN2()
public int getN3()
public HopsPerStep getDistancePerStep()
public int getNeighbourCount()
public void setNeighbour(AbstractGrowthAtom a, int pos)
setNeighbour in class AbstractGrowthAtompublic GrapheneAtom getNeighbour(int pos)
getNeighbour in class AbstractGrowthAtompublic java.util.List getAllNeighbours()
getAllNeighbours in class AbstractGrowthAtompublic int getOrientation()
getOrientation in class AbstractGrowthAtompublic void clear()
clear in interface IElementclear in class AbstractGrowthAtompublic AbstractGrowthAtom chooseRandomHop()
chooseRandomHop in class AbstractGrowthAtompublic boolean areTwoTerracesTogether()
areTwoTerracesTogether in class AbstractGrowthAtompublic byte getNewType(int neighbourPosition,
int addOrRemove)
neighbourPosition - position of the neighbour. Must be 1, 2 or 3addOrRemove - add or remove one neighbour. Must be -1 or 1public void obtainRateFromNeighbours()
obtainRateFromNeighbours in class AbstractGrowthAtompublic double updateOneBound(int posNeighbour)
updateOneBound in class AbstractGrowthAtompublic double probJumpToNeighbour(int originType,
int pos)
probJumpToNeighbour in class AbstractGrowthAtomoriginType - pos - public byte getTypeWithoutNeighbour(int originPos)
getTypeWithoutNeighbour in class AbstractGrowthAtomoriginPos - private boolean areAllRatesTheSame()