Running the Build¶
From inside the working directory containing
3-pacm-dgeba-epoxy-thermoset.yaml:
$ htpolynet run -diag diagnostics.log 3-pacm-dgeba-epoxy-thermoset.yaml &> console.log &
Stage layout under proj-N/systems/ is the same as
example 1 — init/, densification/, precure/,
iter-K/, capping/, postcure/, final-results/ — plus
plots/ and profile.json at the project root.
Setup¶
At setup time htpolynet parameterizes all 22 molecule templates
discussed in the configuration page. An
abbreviated view of the diagnostic log:
INFO> Templates in proj-0/molecules/parameterized
INFO> 22 molecules detected in 3-pacm-dgeba-epoxy-thermoset.yaml
INFO> explicit: 5
INFO> implied by stereochemistry: 6
INFO> implied by symmetry: 11
INFO> AmberTools> generating GAFF parameters from PAC.mol2
INFO> PAC: 210.36 g/mol
INFO> AmberTools> generating GAFF parameters from DGE.mol2
INFO> DGE: 344.43 g/mol
INFO> AmberTools> generating GAFF parameters from PAC~N1-C1~DGE.mol2
INFO> PAC~N1-C1~DGE: 552.78 g/mol
INFO> AmberTools> generating GAFF parameters from DGEC.mol2
INFO> DGEC: 342.42 g/mol
INFO> AmberTools> generating GAFF parameters from PAC~N1-C1~DGE-C1~DGE.mol2
INFO> PAC~N1-C1~DGE-C1~DGE: 895.19 g/mol
...
INFO> Generated 22 molecule templates
INFO> Initial composition is DGE 200, PAC 100
INFO> 100% conversion is 400 bonds
Densification + precure¶
This is a more compact monomer pair than the bisGMA/styrene system,
so the starting density (300 kg/m³) is higher and a single 300 ps NPT
suffices to reach ~1.05 g/cm³ — no repeat: 8 trick needed.
INFO> Densification in proj-0/systems/densification
INFO> Running Gromacs: minimization
INFO> Running Gromacs: nvt ensemble; 10.00 ps, 300.00 K
INFO> Running Gromacs: npt ensemble; 300.00 ps, 300.00 K, 10.00 bar
INFO> Current box side lengths: 5.225 nm x 5.225 nm x 5.225 nm
INFO> Density 1046.77
CURE iterations¶
Target conversion is 0.95, so the cure aims for 380 of the maximum 400 bonds. Early iterations are productive (dozens of bonds at a time); the long tail picks up bonds in ones and twos with the search-radius growth machinery doing the work. A typical run takes ~25–35 iterations. Excerpted:
INFO> ~~~~~~~~~~~~~~ Iteration 1 begins ~~~~~~~~~~~~~~
INFO> Bond search using radius 0.5 nm initiated
INFO> Iteration 1 will generate 71 new bonds
...
INFO> Iteration 1 current conversion 0.177 or 71 bonds
INFO> ~~~~~~~~~~~~~~ Iteration 2 begins ~~~~~~~~~~~~~~
INFO> Bond search using radius 0.5 nm initiated
INFO> Iteration 2 will generate 50 new bonds
...
INFO> Iteration 2 current conversion 0.302 or 121 bonds
...
INFO> ~~~~~~~~~~~~~~ Iteration 32 begins ~~~~~~~~~~~~~~
INFO> Bond search using radius 0.5 nm initiated
INFO> Iteration 32 will generate 2 new bonds
INFO> Step "cure_drag" initiated on 2 distances (max 0.720 nm)
...
INFO> Iteration 32 current conversion 0.950 or 380 bonds
Notice the late iterations engaging the cure_drag step — when the
remaining reactive pairs are far apart, htpolynet adds a harmonic
restraint and pulls them together over short MD before forming the
bond and relaxing. This is also where the
CURE.controls.min_bonds_per_iteration knob has its biggest effect:
raising it batches the small late-stage finds together and collapses
many iter-K directories into fewer, larger ones.
Measured iteration counts on this system:
|
Iterations to reach 95% cure |
|---|---|
|
41 |
|
15 |
|
14 |
So the default of 10 is roughly a 2.7× iteration-count cut over
the un-batched (1) regime, and the marginal benefit from raising
further to 20 is small — diminishing returns set in fast once you
clear the floor of “every late-stage iteration finds one or two bonds
at a time”.
Capping and postcure¶
20 oxirane rings are unreacted at 95 % conversion, so capping has real work to do:
INFO> Capping begins
INFO> Capping will generate 20 new bonds
INFO> Step "cap_relax" initiated on 20 distances (max 0.252 nm)
...
INFO> Connect-Update-Relax-Equilibrate (CURE) ends
The final density after postcure landed around 1.09 g/cm³ in a
representative run. htpolynet then writes final.gro,
final.top, final.tpx, final.grx, the VMD viz pair, and the
profile report. The next page covers a few of the diagnostic plots:
Results.