tempData = state.dataManager.recordTemperature('all', 100) state.activateFix(ljcut) state.activateFix(bondHarm) state.activateFix(angleHarm) state.activateFix(dihedralOPLS) state.activateFix(improperHarm) unitEng = 0.066 unitLen = 3.5 unitMass = 12 writeconfig = WriteConfig(state, fn='poly_out', writeEvery=100, format='xyz', handle='writer') writeconfig.unitLen = 1/unitLen #temp = state.dataManager.recordEnergy('all', 50) #reader = LAMMPS_Reader(state=state, unitLen = unitLen, unitMass = 12, unitEng = 0.066, bondFix = bondHarm, angleFix = angleHarm, nonbondFix = ljcut, dihedralFix = dihedralOPLS, improperFix=improperHarm, atomTypePrefix = 'PTB7_', setBounds=False) reader = LAMMPS_Reader(state=state, unitLen = unitLen, unitMass = unitMass, unitEng = unitEng, nonbondFix = ljcut, atomTypePrefix = 'PTB7_', setBounds=False, bondFix = bondHarm, angleFix = angleHarm, dihedralFix = dihedralOPLS,improperFix=improperHarm,) reader.read(dataFn = 'poly_min.data') #1 kelven = 1.38e-23 J/K / (276/6.022e23) = .00301 temp units #to tReal * conversion = LJ tempo #pressure = pReal * unitLen^3/unitEng = 3.5^3/.066 #so to pressure / 649.62 = pReal tUnit = 0.0301 pUnit = unitLen**3 / unitEng ''' 1 12 2 32.065 3 12 4 19 5 1
state.activateFix(bondFENE) state.activateFix(angleHarm) #state.bounds = Bounds(state, Vector(-9, -10, -10), Vector(20, 24, 24)) writeconfig = WriteConfig(state, fn='poly_out', writeEvery=10, format='xyz', handle='writer') temp = state.dataManager.recordEnergy('all', collectEvery=50) reader = LAMMPS_Reader(state=state, unitLen=1, unitMass=1, unitEng=1, bondFix=bondFENE, nonbondFix=ljcut, angleFix=angleHarm, atomTypePrefix='POLY_', setBounds=True) #state.bounds.lo = state.bounds.lo - Vector(0, 0, 3) #state.bounds.hi = state.bounds.hi + Vector(0, 0, 3) reader.read(dataFn='brush.data', inputFns=['brush.in', 'brush.init', 'brush.settings']) print state.bounds.lo print state.bounds.hi InitializeAtoms.initTemp(state, 'all', 0.1) state.atomParams.setValues('POLY_0', atomicNum=6)
state.dt = 0.005 ljcut = FixLJCut(state, 'ljcut') bondFENE = FixBondFENE(state, 'bondFENE') angleHarm = FixAngleCosineDelta(state, 'angleHarm') #tempData = state.dataManager.recordTemperature('all', 100) state.activateFix(ljcut) state.activateFix(bondFENE) state.activateFix(angleHarm) #state.bounds = Bounds(state, Vector(-9, -10, -10), Vector(20, 24, 24)) writeconfig = WriteConfig(state, fn='poly_out', writeEvery=10, format='xyz', handle='writer') temp = state.dataManager.recordEnergy('all', collectEvery = 50) reader = LAMMPS_Reader(state=state, unitLen = 1, unitMass = 1, unitEng = 1, bondFix = bondFENE, nonbondFix = ljcut, angleFix = angleHarm, atomTypePrefix = 'POLY_', setBounds=True) #state.bounds.lo = state.bounds.lo - Vector(0, 0, 3) #state.bounds.hi = state.bounds.hi + Vector(0, 0, 3) reader.read(dataFn = 'brush.data', inputFns = ['brush.in', 'brush.init', 'brush.settings']) print state.bounds.lo print state.bounds.hi InitializeAtoms.initTemp(state, 'all', 0.1) state.atomParams.setValues('POLY_0', atomicNum=6) state.atomParams.setValues('POLY_1', atomicNum=7) state.atomParams.setValues('POLY_2', atomicNum=1) state.activateWriteConfig(writeconfig)
dihedralOPLS = FixDihedralOPLS(state, 'opls') improperHarm = FixImproperHarmonic(state, 'imp') tempData = state.dataManager.recordTemperature('all', 100) state.activateFix(ljcut) state.activateFix(bondHarm) state.activateFix(angleHarm) state.activateFix(dihedralOPLS) state.activateFix(improperHarm) unitLen = 3.5 writeconfig = WriteConfig(state, fn='poly_out', writeEvery=10, format='xyz', handle='writer') writeconfig.unitLen = 1/unitLen state.activateWriteConfig(writeconfig) reader = LAMMPS_Reader(state=state, unitLen = unitLen, unitMass = 12, unitEng = 0.066, bondFix = bondHarm, angleFix = angleHarm, nonbondFix = ljcut, dihedralFix = dihedralOPLS, improperFix=improperHarm, atomTypePrefix = 'PTB7_', setBounds=False) reader.read(dataFn = 'poly_min.data') InitializeAtoms.initTemp(state, 'all', 0.1) ''' 1 12 2 32.065 3 12 4 19 5 1 6 12 7 16 8 16 9 12 10 1
fixSpring.tetherFunc = springFuncEquiled fixSpring.updateTethers() #tethering to the positions they fell into fixSpring.k = 1000 fixSpring.multiplier = Vector(1, 1, 1) #now spring holds in both dimensions #InitializeAtoms.initTemp(state, 'all', subTemp) #need to add keyword arguments #okay, substrate is set up, going to do deposition integrator = IntegratorVerlet(state) #REMEMBER CHARGES ewald = FixChargeEwald(state, "chargeFix", "all") ewald.setParameters(64, 1.0, 3) #state.activateFix(ewald) reader = LAMMPS_Reader(state=state, unitLen = unitLen, unitMass = unitMass, unitEng = unitEng, bondFix = bondHarm, nonbondFix = ljcut, angleFix = angleHarm, dihedralFix = dihedralOPLS, atomTypePrefix = 'EBZ_', setBounds=False) reader.read(dataFn = 'ebz.data') state.atomParams.setValues('substrate', atomicNum=1) state.atomParams.setValues('EBZ_1', atomicNum=1) state.atomParams.setValues('EBZ_2', atomicNum=1) state.atomParams.setValues('EBZ_3', atomicNum=6) state.atomParams.setValues('EBZ_4', atomicNum=6) print("Average per particle energy: {}".format(integratorRelax.energyAverage())) # Start deposition toDeposit = [(7, 3), (6, 4)] wallDist = 20 topWall = FixWallHarmonic(state, handle='wall', groupHandle='all', origin=Vector(0, 0, state.bounds.hi[2]), forceDir=Vector(0, 0, -1), dist=wallDist, k=10)
dihedralOPLS = FixDihedralOPLS(state, 'opls') tempData = state.dataManager.recordTemperature('all', 100) state.activateFix(ljcut) state.activateFix(bondHarm) state.activateFix(angleHarm) state.activateFix(dihedralOPLS) unitLen = 3.55 writeconfig = WriteConfig(state, fn='dio_out', writeEvery=10, format='xyz', handle='writer') writeconfig.unitLen = 1/unitLen state.activateWriteConfig(writeconfig) fixNVT = FixNVTRescale(state, 'temp', 'all', [0, 1], [0.1, 0.1], 1) #state.activateFix(fixNVT) reader = LAMMPS_Reader(state=state, unitLen = unitLen, unitMass = 12, unitEng = 0.07, bondFix = bondHarm, angleFix = angleHarm, nonbondFix = ljcut, dihedralFix = dihedralOPLS, atomTypePrefix = 'DIO_', setBounds=False) reader.read(dataFn = 'DIO_VMD.data') InitializeAtoms.initTemp(state, 'all', 0.1) state.atomParams.setValues('DIO_0', atomicNum=6) state.atomParams.setValues('DIO_1', atomicNum=1) state.atomParams.setValues('DIO_2', atomicNum=53) print state.atoms[0].pos.dist(state.atoms[1].pos) integRelax = IntegraterRelax(state) integRelax.run(100000, 1e-9) InitializeAtoms.initTemp(state, 'all', 0.1) integVerlet = IntegraterVerlet(state) integVerlet.run(100000) #print state.atoms[0].pos.dist(state.atoms[1].pos)
unitLen = 3.55 writeconfig = WriteConfig(state, fn='dio_out', writeEvery=10, format='xyz', handle='writer') writeconfig.unitLen = 1 / unitLen state.activateWriteConfig(writeconfig) fixNVT = FixNVTRescale(state, 'temp', 'all', [0, 1], [0.1, 0.1], 1) #state.activateFix(fixNVT) reader = LAMMPS_Reader(state=state, unitLen=unitLen, unitMass=12, unitEng=0.07, bondFix=bondHarm, angleFix=angleHarm, nonbondFix=ljcut, dihedralFix=dihedralOPLS, atomTypePrefix='DIO_', setBounds=False) reader.read(dataFn='DIO_VMD.data') InitializeAtoms.initTemp(state, 'all', 0.1) state.atomParams.setValues('DIO_0', atomicNum=6) state.atomParams.setValues('DIO_1', atomicNum=1) state.atomParams.setValues('DIO_2', atomicNum=53) print state.atoms[0].pos.dist(state.atoms[1].pos) integRelax = IntegratorRelax(state) integRelax.run(100000, 1e-9) InitializeAtoms.initTemp(state, 'all', 0.1)