Welcome To Support Community

Materials Studio

Advanced Search
Ask Search:
reinierreinier 

Script to calculate the thermal conductivity with Forcite

Hi everyone,

Attached is a script to calculate the thermal conductivity with Forcite using the imposed-flux method. In this method kinetic energy is exchanged between two fixed layers, repeatedly during a molecular dynamics simulation. Consequently energy flows between the layers. The system responds by creating a temperature gradient. The thermal conductivity follows as the ratio of flux and gradient.

The script implements both the fixed flux method of Jund [1] and the variable flux method of Müller-Plathe [2]. The script supports exchange of kinetic energy of atoms, molecules, repeat units, or sub units. Optionally you can calculate temperature and density fields to visualize the results:

ThermalConductivity.png

To run the script you must provide a 3d atomistic structure. You can create input structures using Amorphous Cell module in Materials Studio. For best performance the system should be extended in the z-direction, corresponding to the direction of the flux. Further instructions, and a description of the input parameters and output study table data, is provided in a pdf document.

An example run is included for argon at 500 K and density 0.2652 g/cc. The script predicts a thermal conductivity of 0.0337 W/m/K, compared to 0.0355 W/m/K experimentally.

Please note the disclaimer: This custom script is compatible with Materials Studio version 5.5. It is provided "as is" and is NOT supported by Accelrys nor is it warranted for any purpose whatsoever. The user assumes responsibility for any malfunctions or bugs.

Hope it is of use to anyone!

Reinier

  1. Jund, P.; Jullien, R., "Molecular dynamics calculation of the thermal conductivity of vitreous silica.", Phys. Rev. B, 59, 13707-13711 (1999).
  2. Müller-Plathe, F., "A simple nonequilibrium molecular dynamics method for calculating the thermal conductivity.", J. Chem. Phys., 106, 6082-6085 (1997).
Historic PostHistoric Post (BIOVIA) 

Hi, can this script be run in parallel on multi-processors?  The other question is can it be used in Discover? Thanks.

reinierreinier

Sorry about the delay. Yes, you can run the script in parallel. I have used 2, 4, 8 processors, depending on the length of the dynamics runs and system size. The script only works with Forcite. Discover uses a different scripting language (tcl instead of perl).

Reinier

Historic PostHistoric Post (BIOVIA) 

I would like to ask how the temperature gradient is calculated in that script. Do you take the linear regression of the temperature profile  and averaged over the both side of the hot region? Do you exclude the hot and cold layer and the layers near them ?

Also I would like to ask if I could use the Stillinger-Weber force field potential to that script?

Thank you in advance for your answers.

reinierreinier

Hi Biernacka,

On line 175 you'll find a parameter $numSkip that determines the number of layers to exclude from the fit. It is currently set to 2, which means that the exchange layers plus their adjacent layers are excluded. For higher fluxes you may have to increase this parameter; to judge this, plot the temperature data on the Profiles tab in the study table. This is for the example run:

profile.png

A linear regression is carried out for both regions separately with the slopes reported on the Analysis tab in the study table. The gradients are averaged when calculating the conductivity.

Best,

Reinier

reinierreinier

Hi Aleksandra,

The steps you took should be sufficient to run the job. However the example run took quite long to complete (over 2 hours using 4 processors), so you may want to reduce the number of steps to test this, e.g. try

     NumExchangesEqui => 0,
     NumExchangesProd => 10,

which should complete in a few minutes. Note that the progress of a script job applies to individual statements in the script, i.e. each dynamics run will progress from 0 to 100, but in this case the runs are probably too short to actually see this.

Also note that the example is output rather than input; you can rerun it, but the fields will be duplicated.

Best,

Reinier

AleksandraAleksandra

Hi Reiner

This might be quite obvious but could you please tell me how to execute the script for argon? I open Argon.xsd and ThermalConductivity.pl files in Material Studio and click on Run on Server button. The job starts running, however there is no progress. Are there any actions I have to take before executing the script?

Many thanks

Historic PostHistoric Post (BIOVIA) 

Hi Akkermans,

I have a question for the script: what do you mean by "the layers must be even" in Line 93?

Do you mean that the numbers of atoms in each layer should be the same?

What shall I do if I want to study the thermal conductivity in a system that isn't even along the z direction?

Thank you very much.

Best,

Jianwei

reinierreinier

Hi Jianwei,

Using an even number of layers is just for convenience, such that layer 1 is the hot layer, and layer N/2 the cold layer, with the same number of layers in between. It is not related to the number of atoms.

The number of atoms in a layer will fluctuate all the time. On average you will find that the number of atoms depends on the layer, since the density is temperature dependent. The script also outputs this information.

Best,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hi Reinier,

Thank you very much for your reply.

Another question: Can this script be used for systems comprising of segments with different shape and components? E.g. layer 1 is a tube, layer 2 is a film .....

Thank you again for your reply.

Best regards,

Jianwei

reinierreinier

Hi Jianwei,

The script was posted merely as a demonstration of what can be done with MaterialsScript; you really need to apply it to a system of interest to find out what it can and cannot do in practise.

For multicomponent systems, each component will have its own conductivity. Often people use simulation to predict the pure component properties, and then use a composite model, or finite element method, to predict the composite properties. For layered systems, there is the additional complexity of direction, and in general you need a conductivity tensor to relate flux and gradient.

Good luck,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hi Reinier,

May I ask you whether the script can be used to calculate the thermal conductivity of graphene? I have executed the script several times but what I've received so far is either a negative thermal conductivity (-0.025 W/mK (?!)) or an error of running out of memory.

My graphene box size is not constructed using the amorphous cell module. It is a periodic cell imported from the structure document. I did some modifications to make the box orthogonal and relax the structure. Its dimension is 34.68x16.38x6.80 angstrom for length A. B, C respectively.

Is there anything else I can do to have the script produce meaningful results?

Thank you in advance, and I am looking forward to your response.

Regards,

Long Phu

reinierreinier

Hi Long Phu,

I have no first-hand experience with application to graphene, but there are some examples in the literature where the same method was applied to graphene and related materials:

  1. N. Wei, L. Xu, H.Q. Wang, J.C. Zheng, Strain engineering of thermal conductivity in graphene sheets and nanoribbons: a demonstration of magic flexibility, Nanotechnology 22, 105705 (2011) (link)
  2. A. Bagri, S.P. Kim, R.S. Ruoff, V.B. Shenoy, Thermal transport across Twin Grain Boundaries in Polycrystalline Graphene from Nonequilibrium Molecular Dynamics Simulations, Nano Letters 11, 3917–3921 (2011) (link)
  3. M. Alaghemandi, F. Müller-Plathe, M.C. Böhm, Thermal conductivity of carbon nanotube—polyamide-6,6 nanocomposites: Reverse non-equilibrium molecular dynamics simulations, J. Chem. Phys. 135, 184905 (2011) (link)

You may want to compare your system size and energy flux with those papers (and/or try to reproduce the data in here).

If the conductivity comes out negative, my guess is that the energy flux is too small, which would give a gradient too close to zero, or the simulation is too short. If you plot the temperature data you should find a clear V-shape as the one posted above. You can increase the flux be reducing NumberOfSteps.

It would be of interest to know why the script gives a memory error, as I would not expect memory to build up. Did you run the script on the server? Perhaps you could attach the input structure and script you used.

Hope this helps,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hi Reinier,

Thank you for the papers. They are very helpful when it comes to setting up the input structure. However, the script still generates an error like this when I try to run it:

Dynamics calculation - Deviation in total energy (405990 kcal/mol) between successive steps was greater than the specified maximum (50000 kcal/mol) in Forcite.Dynamics (function/property "Run") at -e line 261.

Anyway attached here is the script as well as the structure I used. I hope that you may take a look at them.

Thank you in advance and I am looking forward to your response!

Long Phu

reinierreinier

Dear Long Phu,

I had a quick look at the structure and script settings and a few things look unusual:

  1. The cell length in the a-direction is very small (0.340 Å). This will result in extreme repulsion forces by image atoms in neighbouring cell, which presumably is the reason that dynamics fails instantly. Add sufficient vacuum to avoid interaction between images (or remove periodicity in this direction). However see 4.
  2. The number of layers is very high (160), compared to the c-length (17.043372 Å). This means that there are very few (if any) atoms per layer, which will impact the exchange protocol, and the calculation of averages. It may also be the reason that memory runs out, since fields are requested with a very small resolution. Aim for 50-100 atoms per layer, and disable field calculation initially.
  3. The c-length is relatively small (17.043372 Å). The conductivity depends strongly on the box length, in this case, since the mean free path of phonons is much larger than the box, as explained in the papers above. In practise people repeat the calculation at different box lengths.
  4. The script uses the box area normal to the transport direction to determine the flux. However for the graphene case, energy only flows through the much smaller cross section of the sheet. This means the reported fluxes are too small. You will need to estimate the graphene cross-section and substitute this on line 177 for $cellArea (in Ų).

Taking all this in consideration, I ran the script on a graphene sample of 25 x 20 x 290 Å, assuming a cross-sectional area of 58.8 Ų (estimated using the enclosed volume of a Connolly surface). The predicted conductivity was 248.8 W/(m K), which agrees well with ref 2 above and ref 43 therein (which predicts 256 W/(m K) for a 29.5 nm sample),

4. Z.Y. Ong and and E. Pop, Effect of substrate modes on thermal transport in supported graphene, Phys. Rev. B 84, 075471 (2011) (link)

Regards,

Reinier

[update]

I just received the results of a much longer calculation on this system (ca 1.5 ns). Using the cross-section estimate above, the flux converges to 351.5 GW/m² as show below:

EnergyFlux.png

In this calculation NumberOfSteps was set to 50, i.e. every 50 steps kinetic energy was exchanged. As this is quite high, the temperature respons has a non-linear part near the hot and cold layer:

Temperature.png

To estimate the temperature gradient this part is usually ignored. A linear fit to the red data give a gradient of 0.151 K/Å, or 1.51 GK/m.

Hence the resulting thermal conductivity is λ = flux/gradient = 351.5/1.51 = 232.8 W/(m K), in reasonable correspondence with the value quoted in ref 2 (256 W/(m K)).

njutnjut

Hi Reinier,

I am not very clear about this.

For the attached, it is muscovite(001) structure, what I should do? I know how to set settings to be used in Forcite, but for the muscovite, is some vaccum slab should be built?

Best Regards

njut

razheysrazheys

Hi,

I've recently run the thermal conductivity script to calculate the thermal conductivity of PbTe at different temperatures. I run the script for 300 number of steps, using universal forcefield type, at increasing temperature of 300, 400, and 500K. Without changing anything else. However the trend resulted from these calculations seems to be the opposite from the experimental result. The thermal conductivity is increased instead of decreasing in the function of temperature. Could you advice me on this, i.e. the factors affecting the result, crystal sketching, optimization or etc?

Best regards,

razheys

reinierreinier

Hi razheys,

I don't have much experience here, but I believe the main problem with crystalline material is that the thermal transport is dominated by phonons whose wavelength do not fit in a typical simulation box. So the results must be extrapolated to infinite box length, and you will have to consider the temperature dependence of this "long range correction". I would speculate that this correction decreases with temperature (since the phonon mean free path does), which could make up for the increase observed in the finite box.

The method might be more suitable for amorphous material, but have a look through the literature to see if (and how) it has been done before. May be someone else on this forum is in a better position to comment.

Regards,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hi Reinier,

Thank you for your script. I have been modifying your script for using in MS 4.2.

In line 272 and 297, the Delete function only deletes the content in the xtd file rather than the file itself. It causes the name clash in the following run... I also tried the unlink function but still was not able to delete the xtd file.

It seems to me that the Delete function is more like the ClearContent function which is not a pre-defined function in MS 4.2.

How can I delete the xtd file in MS 4.2?

Regards,

Bruce

reinierreinier

Hi Bruce,

Instead of deleting the file, you could try renaming it, e.g.

$xtd->Name .= time();

You might also want to free the memory ($xtd->Discard).

I am not sure if and how files can be deleted in 4.2. You are probably best to upgrade to MS 6.1, since your version if over 5 years old now, and the API has evolved considerably. In fact in MS 6.1 the Delete in line 272 is no longer required.

Good luck,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hi Reinier,

Thank you very much for your suggestion. 'Name' seems to be a read-only property in MS 4.2... I am thinking of copy the last frame of the trajectory produced by an earlier run each time to a new file, which can be used for a subsequent run.

Regards,

Bruce

amirhosseinamirhossein

Hi Reiner,

thank you for the great job.i have a question.can i use these script for  claculation of thermal conductivity of nanofluids?and if the answer is yes how?

best regards

amirhossein aref

reinierreinier

Hi Amir,

I have never really applied the script to nanofluids, although this sounds like an interesting direction.

System size I imagine will be a challenge, since the particles are of nanometer size. You could try calculating the conductivity as a function of particle size and extrapolate to experimental conditions?

Alternatively you could try calculating the conductivity of the pure components, and use a suitable composite model to predict the properties of the mixture.

Note that the script supports exchange of kinetic energy of atoms, molecules, repeat units, or sub units. For instance if you assign molecules to the solvent, but not the particles, you can set up a heat flux in the solvent alone, which might help.

Good luck and let us know how you get on.

Best,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hello Reinier,

Thanks for this useful script.

I was trying to calculate thermal conductivity for SiC(beta), my system size was 21 x 21 x 65.

But the value I get is very low ( ~7 ) compared to that of experimental value( ~120 W/m.K).

I tried big and small system, but the value never got closer.

Can you suggest something ?

Also Do you think this method can be used to calculate thermal conductivity for metal and their alloys ?

In fact I tried one, but the result is not good. Can you suggest some method for calculating thermal conductivity of metals ?

Thanks for your reply,

Mousumi

reinierreinier

Hi Mousumi,

I think the method was originally developed for amorphous systems, like glasses and liquids. I am not sure this is the best method for crystals, because of the phonon scattering length. According to [1]

a plot of the inverse of thermal conductivity, k, versus the inverse of the system size, lg, should be a linear curve, the intercept being the thermal conductivity of the infinitely large system

You might want to try GULP, also available in Materials Studio, which has a better range of force fields for metals. I believe it offers thermal conductivity using a different method, based on the phonon dispersion curve. If you search for "thermal conductivity" on http://references.accelrys.com/ you might find more details.

Good luck,

Reinier

[1] A. Bagri, S.P. Kim, R.S. Ruoff, V.B. Shenoy, Thermal transport across Twin Grain Boundaries in Polycrystalline Graphene from Nonequilibrium Molecular Dynamics Simulations, Nano Letters 11, 3917-3921 (2011) (link)

elinaelina

Hello

I'm new with material studio and my project is aboute calculating thermal conductivity. i was wondering if you could help me how to start it? is there any tutorial in mateial studio or not.

Thank you.

reinierreinier

Hi Elina,

Welcome to Materials Studio! There is no tutorial for thermal conductivity in Materials Studio, but the zip above contains an example run for argon. I suggest you try reproducing this first. Materials Studio does have tutorials on how to run scripts and how to construct an amorphous cell should you need them.

The zip als contains a pdf, with a description of all input parameters whose value you can change.

Enjoy,

Reinier

Historic PostHistoric Post (BIOVIA) 

Hi Reinier

I am performing MD simulation of CNT reinforced Poly carbonate (PC) system. After packing the PC around the CNT, the resulting structure obtained is in .xtd form. In the script provided the format is .xsd. Can we find the thermal conductivity of this composite system using your script.

Awaiting your reply

Yours lovingly

Sumit Sharma

National Institute of Technology

Jalandhar

Punjab

India





reinierreinier

Hi Sumit,

With File | Export you can save the current frame in a trajectory as xsd, or simply Copy and Paste it in a new structure document.

I have not applied the script to these type of systems, so can't advice on that, other than the above comment made on Oct 16, 2013.

Good luck,

Reinier

reinierreinier

Please create a new discussion entry for this, as it is unrelated to this topic. Thanks.

Historic PostHistoric Post (BIOVIA) 

Hi Reinier

Thanks very much for your response. The problem is solved.

Can we find the hardness of a composite material in Materials Studio. I have studied number of papers but there is no explanation given. Also, how can we perform nanoindentation in Materials studio.

I will be highly grateful to you if you can solve this problem.

Yours lovingly

Sumit Sharma

Research scholar

Historic PostHistoric Post (BIOVIA) 

Dear Reinier

I have started a new discussion. Can you help me please?

Yours

Sumit

Historic PostHistoric Post (BIOVIA) 

sir

please reply to my new discussion on hardness

elinaelina

Hi Reinier,

Thanks for your response. I read the tutorial on how to run a scripts in Materials Studio but I cannot to run this script yet. I was wondering if you could explain it more for me.

Many thanks

Elina

reinierreinier

Hi Elina,

What exactly is the problem?

Here are some basic steps to run the script:

  1. Download the archive ThermalConductivity.zip and extract the files.
  2. Create a new project.
  3. Import ThermalConductivity.pl and Examples/Argon.xsd into the project.
  4. Delete the fields in Argon.xsd (using the Volumetric Selection tool).
  5. To test, set NumExchangesEqui to 0, NumExchangesProd to 1, CalculateFields to "No"
  6. Run the script (Tools | Scripting | Run on server, or CTRL-F5)

This should launch a script job that completes within a few minutes. A study table with results will be returned.

Step 4 is not essential, but avoids confusion, as Argon.xsd is the output of the example run, not the input.

Hoe this works,

Reinier

elinaelina

Thank you so much, it works.

so, to start I want to calculate the thermal conductivity of graphin. I know it is possible and I should use this script but the problem is how to creat a sheet of graphin and how big it should be?

I deeply appreciate if you help me again.

Thank you

Elina

reinierreinier

Please have a look at my post above dated 04-Oct-2012. There is a graphite unit cell in the Structures/ceramics folder.

amirhosseinamirhossein

Hello reinier

i used your script for some nanofluids and i think the results is acceptable,i investigated the effect of concentration and temperature on thermal vonductivity of nanofluids using your script and the results was acceptable

but my problem is to simulate the nanoparticle that i intend to use in the nanofluid, graphene

i inserted a graphite structure from documents and changed it to produce a graphene cell

furthermore i changed some parameters in the initial script

about 3-4 hours after i ran the script, following error appeared

'' Unsupported value data type for property assignment (writing property "FieldValue", parameter 1) at -e line 922.''

what do you think about it


thank you

Amirhossein Aref

reinierreinier

Hi Amirhossein,

I have never seen this error. Line 922 contains

$temperatureFieldProbe->FieldValue += $T;

which suggests a problem with $T, but it is not clear to me what it could be. If $T were inf/nan I expect a different error.

However I found that a problem giving the same error message was fixed for version 7.0, so you could try that if using an earlier version.

In the meantime you could disable field calculation (it is not essential) using

CalculateFields => "No"

or wrap the FieldValue assignment in an eval{} to ignore the error.

Best,

Reinier

amirhosseinamirhossein

rienier, i have simulated the thermal conductivity of paraffin oil at 293 k but the result is about 50% higher than expermental value, i have used COMPASS forcefield and Nose thermostat, the number of layers and steps was 40 and 250 and total time of simulation is 200 ps. 100ps to equilibrium and another 100ps to production, time step is 1fs

the simulation box is consisted of C-20, C-30 and C-40

how do u think about this deviation?

regards

amirhossein

reinierreinier

It could be many things, but please note the comment at the end of the documentation:

Known issues

All-atom forcefields, such as COMPASS and pcff, tend to overestimate the thermal conductivity.

This has been attributed to the fact that such force fields treat all bonds and angles as flexible,

whereas in reality they are fixed since the thermal energy is not sufficient to excite some bonds

and angles (Zhang (2005) and Lussetti (2007)). For instance a CH stretch mode has an energy

of 3300 cm-1, whereas at room temperature the thermal energy is just 207 cm-1. Consequently,

at room temperature, such a mode is not available for energy transport, since it cannot store

more energy than that of the ground state.

It is possible to correct for quantum effects, by assuming that all degrees of freedom contribute

equally to the thermal conductivity. With Nf the number of inactive degrees of freedom, and N

the total number, a corrected value is obtained by multiplying with (N-Nf)/N. In practice,

however, some degrees of freedom are more effective in transporting energy than others and

the correction becomes more complicated.

reinierreinier

Hi tongxuan,

The thermal conductivity increases with the length of the nanotube, as more and more phonons become available for transport (ballistic regime). This continues until it reaches the phonon mean free path length, which is of the order 1 micrometer. Beyond that the conductivity should become constant (diffusive regime), though you are unlikely to reach this in a simulation.

You could try repeating the calculation with different lengths and see if you can obtain a scaling relation. An example is in the thesis of Alaghemandi linked in the message above (of Sep 22, 2012):

NanotubeConductivity.png

Regards,

Reinier

tonton

Hi reinier,

I tried to use the script for calcuating thermal conductivity of carbon nanotubes (25,25), but the result which was only 3.5W/m/k should be not reasonable.I wondered wheather the script can be used for calculating thermal conductivity of carbon nanotubes? May I ask what shall I do to get   correct results?

Thank you very much.

Regards,

tongxuan

tonton

Hi reinier,

Thanks very much for your response.It's very helpful for me.

I tried calculating the thermal conductivity of (5,5) carbon nanotube with two different lengths,which are 19.7nm and 39.4nm if the lengths mean length of periodic box.I calculated both in Universal and COMPASS forcefield,because there were some papers calculating the thermal conductivity of carbon nanotubes in COMPASS forcefield.It was a simple calculation just for compare,so it didn't completely converge.I got a result above:

thermal conductivity of (5,5).jpg

It seems that the results calculated in COMPASS is much closer to the graph you mentioned.Hence,I'm faced with two questions:1.which forcefield should be chosen? 2.which one means the length of carbon nanotube here,the distance between cold layer and hot layer or the length of periodic box?

I would be very appreciate if you give me some more guidance.

Thank you very much.

Regards,

Tongxuan

reinierreinier
  1. I would choose the force field that best reproduces the experimental data, which appears to be COMPASS in this case; Universal is a generic force field that is designed to work for all elements, e.g. to use when combining organics and metals.
  2. I think strictly speaking the relevant length is the distance between the cold and hot layer, as this is where heat is transported, and where the temperature gradient sets in. But in practise the length of the exchange layers is small.

P.S. Please also note comment 4 made on Oct 4, 2012 regarding graphene; the same applies to nanotubes:

The script uses the box area normal to the transport direction to determine the flux. However for the graphene case, energy only flows through the much smaller cross section of the sheet. This means the reported fluxes are too small. You will need to estimate the graphene cross-section and substitute this on line 177 for $cellArea (in Ų).

Message was edited by: Reinier Akkermans

wcviowcvio
Hi Reinier,
 In this topic, you said "I ran the script on a graphene sample of 25 x 20 x 290 Å, assuming a cross-sectional area of 58.8 Ų . The predicted conductivity was 248.8 W/(m K), which agrees well with ref 2 above and ref 43 therein (which predicts 256 W/(m K) for a 29.5 nm sample)"
I am very interested in graphene, can you give me the specific document(the graphene(25 x 20 x 290). xsd), I have no idea how to model graphene to calculate the thermal conductivity, I want to check this.
Thank you!
Best,
william
wcviowcvio
Hi Reinier,
 In this topic, you said "I ran the script on a graphene sample of 25 x 20 x 290 Å, assuming a cross-sectional area of 58.8 Ų . The predicted conductivity was 248.8 W/(m K), which agrees well with ref 2 above and ref 43 therein (which predicts 256 W/(m K) for a 29.5 nm sample)"
I am very interested in graphene, can you give me the specific document(the graphene(25 x 20 x 290). xsd), I have no idea how to model graphene to calculate the thermal conductivity, I want to check this.
Thank you!
Best,
william
amirhosseinamirhossein
Hi reinier
How does the script calculate electrostatic interactions? Ewald, atom based or ....?
reinierreinier
Hi Amir,

The script doesn't set 3DPeriodicElectrostaticSummationMethod. Hence it will be the default value: "Ewald". Of course you could change this should you require another value.

Regards,
Reinier
gailgail
Hi, I was using this script to calculate the thermal conductivity of Ag without changing anything of the script except the temperature, but the value I got was very small (both about0.2W/m·K in300K and 500K)compared with experimental (429W/m·K), could you please give me some advices about this problem ?
Best wishes
gail
SinaSina

Coarse grain and lipid bilayer

Hi, I have two different questions for you Reinier... First, can this script be run for coarse grain models? Second,  can I use this script for models that consist of different materials, such as lipid bilayer immersed in water?
reinierreinier
Hi gail,

I am assuming you applied the script to crystalline Ag? I don’t think the method is suitable for crystals, since the box size has to be enormous (> 100 nm) to capture all phonons (lattice vibrations) that can transport heat. Moreover for metals, electrons can carry heat too. Hence the conductivity is likely to be underestimated since not all modes for heat transport are taken into account. The script is more suitable for liquids.

I believe GULP has better ways to predict thermal conductivity of (amorphous) solids, although for metallic crystals you may need CASTEP to fully capture heat transport. Have a look at http://references.accelrys.com/ for the latest.

Regards,
Reinier
cicicici
Hi reinier,

I want to know how to set the parameters of NumExchangesEqui, NumExchangesProd,NumberOfSteps.

Best,

cc
reinierreinier
Hi cc,

The pdf in the attachment has a short description of these parameters:
 
SettingDefaultValuesDescription
NumExchangesEqui500≥0The number of exchanges during the
equilibration stage. During the equilibration
stage a thermostat acts on the system.
NumExchangesProd1000>0The number of exchanges during the
production stage. The production stage is
carried out at constant energy.
NumberOfSteps100>0Number of time steps in between two
exchanges. Decreasing the NumberOfSteps
leads to higher fluxes and increases the
temperature gradient. Too small values
should be avoided as these will introduce
nonlinear effects and may impact
performance.
 
 
Of these, NumberOfSteps is the most important one. A large value means a small energy flux and hence a small temperature gradient that will be difficult to measure. Decreasing the value will increase the energy flux, and hence improve the signal-to-noise ratio. Too small a value however and the temperature gradient will depend on the position, whereas you need linear response for the thermal conductivity.

Once you have chosen NumberOfSteps, you can use NumExchangesProd to extend the calculation to obtain more accurate results. You can judge convergence by plotting the energy flux against time using the data in the study table.

Best,
Reinier
Raj24Raj24

Hi Reinier,

I tried to calculate the thermal conductivity of a (20,20) armchair SWCNT of length 0.23nm but i got the result as zero same I have found for the armchair (5,5) of length .61nm. When I increased the length to 100 angstrom for (10,10) I have obtained the results but for 1000 angstrom script stops in between.
Can you please explain do we need to make any changes in the script depending upon the size of the structure?

KInd regards,
Raj

 

cicicici
Hi Reinier,
 
Thank you for your reply.
I have chosen NumberOfSteps and NumExchangesProd, I find the plot of the energy flux against time was not convergent when the simulation was over. How can I continue the simulation, or what I can do is just change the NumExchangesProd to big number and restart the simulation.
Another question: I find the higher temperature for the thermostat, the more simulation time would be needed for the same system and same NumberOfSteps, NumExchangesProd. What’s the reason for it.
 
 
Best,
cc
HanziHanzi
Hi Reinier
When I ran your script, there is always an error which said"reducing the temperature or a combination of  these in Forcite.Dynamics(function/property "Run") at -e line 361".
At first, I supposed that I needed to do geometry optimization or minimizer, but after I did that, this mistake was still happening.
How to make it right?
Thank you in advance for your help.

Best
Fang