def IntermolecularIneffectiveCollision(self, mole, oldMol1, oldMol2, index1, index2): operator = Operators() newMol1, newMol2 = operator.Intermolecular(oldMol1, oldMol2) pe1 = CRO().CalculatePE(mole, newMol1) pe2 = CRO().CalculatePE(mole, newMol2) e_inter = 0 gamma4 = random.uniform(0, 1) mole.numHit[index1] = mole.numHit[index1] + 1 mole.numHit[index2] = mole.numHit[index2] + 1 e_inter = (mole.PE1[index1] + mole.PE1[index2] + mole.KE1[index1] + mole.KE1[index2]) - (pe1 + pe2) if (e_inter >= 0): mole.moleculeTable[index1] = newMol1 mole.moleculeTable[index2] = newMol2 mole.PE1[index1] = pe1 mole.PE1[index2] = pe2 mole.KE1[index1] = e_inter * gamma4 mole.KE1[index2] = e_inter * (1 - gamma4) if (mole.PE1[index1] < mole.minPE[index1]): mole.minStruct[index1] = mole.moleculeTable[index1] mole.minPE[index1] = mole.PE1[index1] mole.minHit[index1] = mole.numHit[index1] # endif if (mole.PE1[index2] < mole.minPE[index2]): mole.minStruct[index2] = mole.moleculeTable[index2] mole.minPE[index2] = mole.PE1[index2] mole.minHit[index2] = mole.numHit[index2]
def IntermolecularIneffectiveCollision(self,mole,oldMol1,oldMol2,index1,index2,shiftcost,flowcost,N): operator = Operators() newMol1, newMol2 = operator.Intermolecular(oldMol1, oldMol2) pe1 = CRO().CalculatePE(newMol1,shiftcost,flowcost,N) pe2 = CRO().CalculatePE(newMol2,shiftcost,flowcost,N) e_inter = 0 gamma4 = random.uniform(0,1) #print ('Intermoleculer newMoll', newMol1) mole.moleculeTable.append(newMol1) mole.moleculeTable.append(newMol2) mole.PE.append(pe1) mole.PE.append(pe2) #print('PE Check',mole.PE) #print ('Intermoleculer Table', mole.moleculeTable) #mole.numHit[index1] = mole.numHit[index1] + 1 #mole.numHit[index2] = mole.numHit[index2] + 1 e_inter = (mole.PE[index1] + mole.PE[index2] + mole.KE1[index1] + mole.KE1[index2]) - (pe1 + pe2) mole.KE1.append(e_inter * gamma4) mole.KE1.append(e_inter * (1-gamma4)) if (e_inter>=0): #mole.moleculeTable[index1] = newMol1 #mole.moleculeTable[index2] = newMol2 #mole.moleculeTable.append(newMol1) #mole.moleculeTable.append(newMol2) #mole.PE[index1] = pe1 #mole.PE[index2] = pe2 #mole.KE1[index1] = e_inter * gamma4 #mole.KE1[index2] = e_inter * (1 - gamma4) '''