summaryrefslogtreecommitdiff
path: root/examples/dimer_only.py
blob: c58eb395d780d14334b447c0f97bd831a0ae96ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from interacticle import MoleculeCollection, LennardJones, Coulomb, Simulation

import interacticle.visualizer
from interacticle.visual import WireBox, MolecularLinks

from library import Benzene

setup = MoleculeCollection()

setup.potential(LennardJones(12.011, 0.3550, 0.070))
setup.potential(LennardJones( 1.008, 0.2420, 0.030))

setup.potential(Coulomb(12.011, -0.115))
setup.potential(Coulomb( 1.008,  0.115))

# T-shaped dimer
setup.add(Benzene, (1,1,1.519), rotations=[([0,1,0], 15), ([1,0,0], -9), ([1,0,0], 90), ([0,1,0], 90)])
setup.add(Benzene, (1,1,1.0), rotations=[([0,1,0], 15), ([1,0,0], -9), ([0,0,1], 30)])

# Sandwich-shaped dimer
#setup.add(Benzene, (1,1,1), rotations=[([0,1,0], 15), ([1,0,0], -9), ([1,0,0], 90), ([0,1,0], 90)])
#setup.add(Benzene, (1,1.377,1), rotations=[([0,1,0], 15), ([1,0,0], -9), ([1,0,0], 90), ([0,1,0], 60)])

# Parallel displaced dimer
#setup.add(Benzene, (1,1,1), rotations=[([0,1,0], 15), ([1,0,0], -9), ([1,0,0], 90), ([0,1,0], 90)])
#setup.add(Benzene, (1.5,1.3,1), rotations=[([0,1,0], 15), ([1,0,0], -9), ([1,0,0], 90), ([0,1,0], 90)])

setup.domain_size = 2
setup.tau = 0.0005
setup.cutoff = 0.242*2.5
setup.statistics_step = 100
setup.neighborhood_step = 100

simulation = Simulation(setup, opengl = True)

interacticle.visualizer.simulate(setup, simulation, [ WireBox(setup.domain_size), MolecularLinks(simulation) ], 100)