def OnwallIneffectiveCollision(self, mole, oldMol, index): operator = Operators() newMol = operator.OnWall(oldMol) PEnew = CRO().CalculatePE(mole, newMol) KEnew = 0.0 mole.numHit[index] = mole.numHit[index] + 1 t = mole.PE1[index] + mole.KE1[index] if (t >= PEnew): a = (random.uniform(0, 1) * (1 - self.KELossRate)) + self.KELossRate KEnew = (mole.PE1[index] - PEnew + mole.KE1[index]) * a mole.moleculeTable[index] = newMol mole.PE1[index] = PEnew mole.KE1[index] = KEnew if (mole.PE1[index] < mole.minPE[index]): mole.minStruct[index] = mole mole.minPE[index] = mole.PE1[index] mole.minHit[index] = mole.numHit[index]
def OnwallIneffectiveCollision(self,mole,oldMol, index,shiftcost,flowcost,N): operator = Operators() newMol = operator.OnWall(oldMol) PEnew = CRO().CalculatePE(newMol,shiftcost,flowcost,N) KEnew = 0.0 #mole.numHit[index] = mole.numHit[index] + 1 t = mole.PE[index] + mole.KE1[index] if (t>=PEnew): a = (random.uniform(0,1) * (1-self.KELossRate))+self.KELossRate #KEnew = (mole.PE[index] - PEnew + mole.KE[index])*a ''' #mole.KE1[index] = KEnew if(mole.PE[index]<mole.minPE[index]): mole.minStruct.append(mole) #mole.minPE[index] = mole.PE[index] #mole.minHit[index] = mole.numHit[index] #endif ''' mole.moleculeTable.append(newMol) mole.KE1.append(KEnew) #print(mole.moleculeTable) mole.PE.append(PEnew) mole.KE1.append(KEnew)