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, updateRate
getNumberOfNeighbours, getPos, getProbabilities, getRealType, isOccupied, isOnList, isRemoved, setList, setNeighbour, setNumberOfNeighbours, setOccupied, setProbabilities, setRemoved, unRemove
private 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 AbstractGrowthAtom
public 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 AbstractGrowthAtom
public GrapheneAtom getNeighbour(int pos)
getNeighbour
in class AbstractGrowthAtom
public java.util.List getAllNeighbours()
getAllNeighbours
in class AbstractGrowthAtom
public int getOrientation()
getOrientation
in class AbstractGrowthAtom
public void clear()
clear
in interface IElement
clear
in class AbstractGrowthAtom
public AbstractGrowthAtom chooseRandomHop()
chooseRandomHop
in class AbstractGrowthAtom
public boolean areTwoTerracesTogether()
areTwoTerracesTogether
in class AbstractGrowthAtom
public 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 AbstractGrowthAtom
public double updateOneBound(int posNeighbour)
updateOneBound
in class AbstractGrowthAtom
public double probJumpToNeighbour(int originType, int pos)
probJumpToNeighbour
in class AbstractGrowthAtom
originType
- pos
- public byte getTypeWithoutNeighbour(int originPos)
getTypeWithoutNeighbour
in class AbstractGrowthAtom
originPos
- private boolean areAllRatesTheSame()