Thermal expansion coefficient¶
In this ReaxFF tutorial thermal expansion coefficients, CTE, are calculated from a polymer’s strain vs. temperature dependence.
The systems and workflows presented here are originally described in the publication Effect of chemical structure on thermo-mechanical properties of epoxy polymers: Comparison of accelerated ReaxFF simulations and experiments, Polymer 159, 354-368 (2018).
The tutorial consists of the following steps:
Note
The calculations are computationally demanding. For optimal performance, a parallel execution on a compute cluster is advised. This can best be done by using the remote job management of the GUI
Importing the polymer structure¶
The tutorial will use a cross-linked epoxy polymer generated with the bond boost method (see also bond boost tutorial ).
Begin by downloading the polymer and import into AMSinput:
here
to download the .xyz file detda_epoxy.xyzAnnealing the polymer¶
For the calculation of the thermal expansion coefficient we determine the volume change caused by increasing of the temperature. The data points will be sampled within the temperature range of 300-340K. Before the actual sampling, a short simulated annealing sequence was found produce less noisy results. However, if the sampling intervals are chosen long enough the simulated annealing can also be left out.
Start by choosing the MD settings:
650000
2000
To allow the unit cell to shrink or expand we further add a barostat:
1.0
atm.500
fs.The annealing is defined in the thermostat panel
100 fs
We will now define the following annealing temperature profile:
increase the temperature from 298.15 to 600K over a duration of 100000 steps
followed by a cooling down back to 350K over a duration of 200000
then we do a stepwise cool down to 300K again
298.15 600 350 350 340 340 330 330 320 320 310 310 300 300
into the Temperature(s) field100000 200000 50000 10000 50000 10000 50000 10000 50000 10000 50000 10000 50000
into the Duration(s) fieldWe are now ready to start the calculation
Extracting strain vs. temperature profiles¶
To extract the strain and temperatures from the trajectory for post-processing we make use of a Python script.
strain.py
from here
Next, you need to open the command line to execute the script with the AMS Python interpreter.
Tip
Windows and Mac users should open a pre-configured command-line from the GUI
In the command line, the script can be executed as follows
$AMSBIN/plams strain.py -v resultsdir=CTE.results -v startstep=300000
# T[K] a[Å] b[Å] c[Å] V [Å**3]
350.4 85.121 70.228 90.103 538628.483
349.1 85.056 70.040 90.475 538988.118
347.8 85.309 69.796 90.124 536617.975
350.3 84.836 69.976 90.170 535290.469
350.2 84.862 70.100 90.187 536503.084
349.1 84.613 70.046 90.683 537466.316
but you can easily write them to file called strain.out instead:
$AMSBIN/plams strain.py -v resultsdir=CTE.results > strain.out
Calculation of the thermal expansion coefficient¶
The strain can be plotted with any graph plotting software, e.g. gnuplot or any spreadsheet software. Import the results file into the software of choice and plot two column #5 (volume) against column #1 (temperature) and
Perform a regression analysis and determine the slope. Calculate the volumetric thermal expansion coefficient (αV) from the volume of the first data point (V0) and the slope of the linear fit curve:
We can then use that the coefficient of linear thermal expansion CTE (αl) is approximately
which gives αl = 129 · 10-6[1/°C]. The simulated expansion coefficient is about two times larger than the experimental expansion coefficient of 65 · 10-6[1/°C].
The original publication Effect of chemical structure on thermo-mechanical properties of epoxy polymers: Comparison of accelerated ReaxFF simulations and experiments, Polymer 159, 354-368 (2018) also found good agreement between the calculated and experimental value.