Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add seed parameter and kwargs to Pack #184

Merged
merged 14 commits into from
Jan 30, 2025
65 changes: 65 additions & 0 deletions P3HT.mol2
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
@<TRIPOS>MOLECULE
RES
27 27 1 0 1
SMALL
NO_CHARGES
@<TRIPOS>CRYSIN
13.8222 9.4717 9.3109 90.0000 90.0000 90.0000 1 1
@<TRIPOS>ATOM
1 C0 14.1713 10.6638 10.2575 C0 1 RES
2 C0 12.7816 10.5396 9.6397 C0 1 RES
3 C0 11.8555 9.6942 10.5225 C0 1 RES
4 C0 10.4652 9.5693 9.8894 C0 1 RES
5 C0 9.5345 8.7093 10.7585 C0 1 RES
6 C0 8.1488 8.5349 10.1180 C0 1 RES
7 C1 7.4178 9.8420 9.9706 C1 1 RES
8 C1 7.0527 10.6406 11.0504 C1 1 RES
9 S2 6.2624 11.9995 10.4564 S2 1 RES
10 C1 6.3741 11.5898 8.8302 C1 1 RES
11 C1 7.0354 10.3740 8.7296 C1 1 RES
12 H3 14.8183 11.2776 9.5959 H3 1 RES
13 H3 14.6325 9.6595 10.3735 H3 1 RES
14 H3 14.1093 11.1550 11.2515 H3 1 RES
15 H3 12.8767 10.0661 8.6379 H3 1 RES
16 H3 12.3520 11.5574 9.5139 H3 1 RES
17 H3 12.2944 8.6797 10.6472 H3 1 RES
18 H3 11.7630 10.1704 11.5235 H3 1 RES
19 H3 10.0306 10.5856 9.7667 H3 1 RES
20 H3 10.5621 9.0987 8.8861 H3 1 RES
21 H3 9.9875 7.7008 10.8798 H3 1 RES
22 H3 9.4290 9.1641 11.7676 H3 1 RES
23 H3 7.5352 7.8577 10.7499 H3 1 RES
24 H3 8.2742 8.0520 9.1238 H3 1 RES
25 H4 7.2362 9.8904 7.7826 H4 1 RES
26 H5 7.2416 10.4260 12.0935 H5 1 RES
27 H5 5.9961 12.1726 8.0013 H5 1 RES
@<TRIPOS>BOND
1 1 2 1
2 1 12 1
3 1 13 1
4 1 14 1
5 2 3 1
6 2 15 1
7 2 16 1
8 3 4 1
9 3 17 1
10 3 18 1
11 4 5 1
12 4 19 1
13 4 20 1
14 5 6 1
15 5 21 1
16 5 22 1
17 6 7 1
18 6 23 1
19 6 24 1
20 7 8 1
21 7 11 1
22 8 9 1
23 8 26 1
24 9 10 1
25 10 11 1
26 10 27 1
27 11 25 1
@<TRIPOS>SUBSTRUCTURE
1 RES 1 RESIDUE 0 **** ROOT 0
69 changes: 69 additions & 0 deletions P3HT.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<ForceField name="" version="" combining_rule="geometric">
<AtomTypes>
<Type name="H5" class="H5" element="_H5" mass="1.008" def="_H5" desc=""/>
<Type name="H3" class="H3" element="_H3" mass="1.008" def="_H3" desc=""/>
<Type name="H4" class="H4" element="_H4" mass="1.008" def="_H4" desc=""/>
<Type name="S2" class="S2" element="_S2" mass="32.06" def="_S2" desc=""/>
<Type name="C0" class="C0" element="_C0" mass="12.011" def="_C0" desc=""/>
<Type name="C1" class="C1" element="_C1" mass="12.011" def="_C1" desc=""/>
</AtomTypes>
<HarmonicBondForce>
<Bond class1="C0" class2="C0" length="0.15393138859485156" k="216071.5673604569"/>
<Bond class1="C0" class2="H3" length="0.10976204613301968" k="306243.2994478932"/>
<Bond class1="C0" class2="C1" length="0.15021762614242648" k="245043.09124482484"/>
<Bond class1="C1" class2="C1" length="0.13696133519685275" k="417404.23786464764"/>
<Bond class1="C1" class2="S2" length="0.17644359746123384" k="146619.58148765477"/>
<Bond class1="C1" class2="H5" length="0.10847683421363911" k="342520.45189188817"/>
<Bond class1="S2" class2="C1" length="0.17456724887079533" k="155523.3472930218"/>
<Bond class1="C1" class2="H4" length="0.10863386001736958" k="335143.64070747164"/>
</HarmonicBondForce>
<HarmonicAngleForce>
<Angle class1="C0" class2="C0" class3="C0" angle="1.971023440361023" k="571.7145128119677"/>
<Angle class1="C0" class2="C0" class3="H3" angle="1.919396162033081" k="400.7807950494681"/>
<Angle class1="C0" class2="C0" class3="C1" angle="1.9725769758224487" k="567.2166987593794"/>
<Angle class1="C0" class2="C1" class3="C1" angle="2.387712240219116" k="370.1760901705978"/>
<Angle class1="C1" class2="C0" class3="H3" angle="1.916161298751831" k="419.6637425240785"/>
<Angle class1="C1" class2="C1" class3="S2" angle="2.26436710357666" k="600.522063868667"/>
<Angle class1="C1" class2="C1" class3="H5" angle="2.385676145553589" k="242.64219357507048"/>
<Angle class1="C1" class2="C1" class3="C1" angle="2.221386194229126" k="622.0677222701529"/>
<Angle class1="C1" class2="C1" class3="H4" angle="2.2988548278808594" k="253.7424039841016"/>
<Angle class1="C1" class2="S2" class3="C1" angle="1.749892234802246" k="1116.8353273914954"/>
<Angle class1="S2" class2="C1" class3="H5" angle="2.220374345779419" k="269.41800934151877"/>
<Angle class1="S2" class2="C1" class3="C1" angle="2.220290422439575" k="647.3334296165826"/>
<Angle class1="H3" class2="C0" class3="H3" angle="1.889668583869934" k="334.4416957736681"/>
</HarmonicAngleForce>
<PeriodicTorsionForce>
<Proper class1="C0" class2="C0" class3="C0" class4="C0" periodicity1="1" k1="0.4446541383098747" phase1="3.141592653589793" periodicity2="2" k2="1.0641324288535725" phase2="3.141592653589793" periodicity3="3" k3="0.6187414486983862" phase3="0.0" periodicity4="4" k4="0.5066066972730099" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C0" class3="C0" class4="H3" periodicity1="1" k1="0.5465327435421055" phase1="3.141592653589793" periodicity2="2" k2="0.7277209918403849" phase2="3.141592653589793" periodicity3="3" k3="0.6779125309414975" phase3="0.0" periodicity4="4" k4="0.5867722704365655" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C0" class3="C0" class4="C1" periodicity1="1" k1="0.5332706983018924" phase1="3.141592653589793" periodicity2="2" k2="0.6781320628943731" phase2="3.141592653589793" periodicity3="3" k3="0.6463249164829086" phase3="0.0" periodicity4="4" k4="0.4977203525254705" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C0" class3="C1" class4="C1" periodicity1="1" k1="0.12238527177792649" phase1="3.141592653589793" periodicity2="2" k2="0.7807330298796531" phase2="3.141592653589793" periodicity3="3" k3="0.1774644193997523" phase3="0.0" periodicity4="4" k4="0.09216524281414898" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C1" class3="C1" class4="S2" periodicity1="1" k1="0.5786208954379767" phase1="3.141592653589793" periodicity2="2" k2="2.842784895778366" phase2="3.141592653589793" periodicity3="3" k3="0.7710115009187717" phase3="0.0" periodicity4="4" k4="1.1263615231934767" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C1" class3="C1" class4="H5" periodicity1="1" k1="0.7395275776749591" phase1="3.141592653589793" periodicity2="2" k2="2.7895061031106647" phase2="3.141592653589793" periodicity3="3" k3="1.0461584698966508" phase3="0.0" periodicity4="4" k4="1.0942429210772013" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C1" class3="C1" class4="C1" periodicity1="1" k1="0.538864636847019" phase1="3.141592653589793" periodicity2="2" k2="2.5564452357481624" phase2="3.141592653589793" periodicity3="3" k3="0.6456854236483743" phase3="0.0" periodicity4="4" k4="0.7314356894933955" phase4="3.141592653589793"/>
<Proper class1="C0" class2="C1" class3="C1" class4="H4" periodicity1="1" k1="0.682134452090223" phase1="3.141592653589793" periodicity2="2" k2="2.3315878182279266" phase2="3.141592653589793" periodicity3="3" k3="1.0665263434207997" phase3="0.0" periodicity4="4" k4="1.1146888113517457" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C0" class3="C0" class4="H3" periodicity1="1" k1="0.6612874747218241" phase1="3.141592653589793" periodicity2="2" k2="0.483419675865326" phase2="3.141592653589793" periodicity3="3" k3="0.7296692710615724" phase3="0.0" periodicity4="4" k4="0.7218410810245874" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="S2" class4="C1" periodicity1="1" k1="0.9636998079270306" phase1="3.141592653589793" periodicity2="2" k2="2.0409706090428386" phase2="3.141592653589793" periodicity3="3" k3="0.25436992778068435" phase3="0.0" periodicity4="4" k4="1.7999624251851083" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="C1" class4="S2" periodicity1="1" k1="0.7687335799138368" phase1="3.141592653589793" periodicity2="2" k2="1.6338215907587652" phase2="3.141592653589793" periodicity3="3" k3="0.3542618758163248" phase3="0.0" periodicity4="4" k4="4.45242496169517" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="C1" class4="H5" periodicity1="1" k1="0.570083219086181" phase1="3.141592653589793" periodicity2="2" k2="2.1815039160847336" phase2="3.141592653589793" periodicity3="3" k3="0.7716853027845768" phase3="0.0" periodicity4="4" k4="2.156847260827534" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="C0" class4="H3" periodicity1="1" k1="0.38728187322744817" phase1="3.141592653589793" periodicity2="2" k2="0.9219229460656695" phase2="3.141592653589793" periodicity3="3" k3="0.43900193554126477" phase3="0.0" periodicity4="4" k4="0.34081858108351826" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="C1" class4="C1" periodicity1="1" k1="0.5206761509295338" phase1="3.141592653589793" periodicity2="2" k2="2.0487999452612695" phase2="3.141592653589793" periodicity3="3" k3="0.6130560066678546" phase3="0.0" periodicity4="4" k4="0.8629304388917788" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="C1" class4="H4" periodicity1="1" k1="0.6412500835144828" phase1="3.141592653589793" periodicity2="2" k2="1.8733197187679993" phase2="3.141592653589793" periodicity3="3" k3="0.7413555842564578" phase3="0.0" periodicity4="4" k4="1.0437038077128085" phase4="3.141592653589793"/>
<Proper class1="C1" class2="S2" class3="C1" class4="C1" periodicity1="1" k1="0.6960290748702487" phase1="3.141592653589793" periodicity2="2" k2="2.088983844149571" phase2="3.141592653589793" periodicity3="3" k3="0.5547735206934491" phase3="0.0" periodicity4="4" k4="3.53922094147389" phase4="3.141592653589793"/>
<Proper class1="C1" class2="S2" class3="C1" class4="H5" periodicity1="1" k1="0.253896535740638" phase1="3.141592653589793" periodicity2="2" k2="0.9487142496471072" phase2="3.141592653589793" periodicity3="3" k3="0.30464962207789564" phase3="0.0" periodicity4="4" k4="1.8754742342372939" phase4="3.141592653589793"/>
<Proper class1="S2" class2="C1" class3="C1" class4="C1" periodicity1="1" k1="0.6110069398915527" phase1="3.141592653589793" periodicity2="2" k2="3.3714306755352688" phase2="3.141592653589793" periodicity3="3" k3="0.8516906779880893" phase3="0.0" periodicity4="4" k4="1.3471516776480432" phase4="3.141592653589793"/>
<Proper class1="S2" class2="C1" class3="C1" class4="H4" periodicity1="1" k1="0.5612513561633545" phase1="3.141592653589793" periodicity2="2" k2="1.8362699384244767" phase2="3.141592653589793" periodicity3="3" k3="0.6686530659273753" phase3="0.0" periodicity4="4" k4="2.0740096712720066" phase4="3.141592653589793"/>
<Proper class1="H3" class2="C0" class3="C0" class4="H3" periodicity1="1" k1="0.7212915252274826" phase1="3.141592653589793" periodicity2="2" k2="0.526992527639806" phase2="3.141592653589793" periodicity3="3" k3="0.795905797795687" phase3="0.0" periodicity4="4" k4="0.7872790249395221" phase4="3.141592653589793"/>
<Proper class1="H4" class2="C1" class3="C1" class4="H5" periodicity1="1" k1="0.7060693950971926" phase1="3.141592653589793" periodicity2="2" k2="2.083876918100669" phase2="3.141592653589793" periodicity3="3" k3="0.8218595483887952" phase3="0.0" periodicity4="4" k4="1.1600202111121225" phase4="3.141592653589793"/>
<Proper class1="S2" class2="C1" class3="C1" class4="S2" periodicity1="1" k1="1.070931195128239" phase1="3.141592653589793" periodicity2="2" k2="1.744053528160295" phase2="3.141592653589793" periodicity3="3" k3="0.7096954547184122" phase3="0.0" periodicity4="4" k4="1.0641796515291302" phase4="3.141592653589793"/>
<Proper class1="C1" class2="C1" class3="C1" class4="C0" periodicity1="1" k1="0.5978682619809318" phase1="3.141592653589793" periodicity2="2" k2="3.6147194548213073" phase2="3.141592653589793" periodicity3="3" k3="0.738388884614829" phase3="0.0" periodicity4="4" k4="0.7256531276883756" phase4="3.141592653589793"/>
<Proper class1="H4" class2="C1" class3="C1" class4="C1" periodicity1="1" k1="0.6977869351472782" phase1="3.141592653589793" periodicity2="2" k2="1.8910739165357562" phase2="3.141592653589793" periodicity3="3" k3="0.7653483712203806" phase3="0.0" periodicity4="4" k4="1.118810556242128" phase4="3.141592653589793"/>
</PeriodicTorsionForce>
<NonbondedForce coulomb14scale="1.0" lj14scale="1.0">
<Atom type="C0" charge="-0.03563004732131958" sigma="0.337953176162662" epsilon="0.45538911611061844"/>
<Atom type="C1" charge="-0.16065320372581482" sigma="0.34806468869450646" epsilon="0.3635030558377792"/>
<Atom type="S2" charge="0.06319281458854675" sigma="0.3563594872561357" epsilon="1.046"/>
<Atom type="H3" charge="0.04735146462917328" sigma="0.26445434132681245" epsilon="0.06602135607582665"/>
<Atom type="H4" charge="0.1513296663761139" sigma="0.2572581535063279" epsilon="0.06531785996356952"/>
<Atom type="H5" charge="0.16874316334724426" sigma="0.24536265277299726" epsilon="0.05483968129296432"/>
</NonbondedForce>
</ForceField>
242 changes: 242 additions & 0 deletions Units exercise.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "67081b67-7a25-48f2-8daa-f78434be755d",
"metadata": {},
"outputs": [],
"source": [
"# Calculating tau for PPS"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "2381633c-98ef-418a-81af-5c1b506f16eb",
"metadata": {},
"outputs": [],
"source": [
"import numpy"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "bd0aacb8-cf68-4620-814f-19804e586e54",
"metadata": {},
"outputs": [],
"source": [
"sigma = 0.3438e-9 # nm to meters\n",
"epsilon = 1.7782 * 1000 # kJ to J\n",
"mass = 68.0 / 1000 # g to kg"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "c96c3a58-5e42-4237-8a87-7bafb8ccabb1",
"metadata": {},
"outputs": [],
"source": [
"tau = numpy.sqrt((mass * (sigma**2)) / epsilon)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "38a6a264-08dd-4566-aa49-b9b590fffeb4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.126033119686479e-12"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tau"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "921fcaf7-bb84-4477-a610-e4066baf5c36",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.1260331196864793e-15"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tau * 0.001 # one time step of 0.001"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5325480a-21af-4ebe-8004-d6d12d54dd35",
"metadata": {},
"outputs": [],
"source": [
"# Find the volume of a box with 100000 monomers of PPS and a density of 1.2 g/cm^3"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "f564c18d-9a7b-4de1-ae19-2a348c7ab407",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"9.409941326248203e-18"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mass = 68 / (6.022e23) # g/mol to g of one monomer\n",
"density = 1.2\n",
"n = 100000\n",
"volume = (n * mass) / density\n",
"volume"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1e07ad36-1b4b-4746-8d98-347a6a6e4e2b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.1111980293376474e-06"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L = numpy.cbrt(volume)\n",
"L"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "7eaa4cdd-3b7f-4c0f-959a-ee16e7edf3e2",
"metadata": {},
"outputs": [],
"source": [
"# given box with length of 10nm, how many monomers are inside the box at that density?"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "256f63cf-9882-4f23-95d5-de5851cc9b03",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.1999999999999998e-18"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"length = 1e-6\n",
"m = (length**3) * density\n",
"m"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "b580cb6a-5ced-44d8-986a-9a04f0c46e39",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10627.058823529409"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"monomers = m / mass\n",
"monomers"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b88b8ea7-f897-46d9-928b-e6b15068e836",
"metadata": {},
"outputs": [],
"source": [
"# what is the change in box length per step with 20Hz and 38micron amplitude"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "40eb2918-b7dc-4e07-983b-cd5faa3e0b62",
"metadata": {},
"outputs": [],
"source": [
"frequency = 20 # 1/s\n",
"amplitude = 3.8e-5"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading
Loading