Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Julian Schneider

Pages: 1 ... 6 7 [8] 9 10 ... 12
106
1. Yes, you can use the Non-equilibrium MD with all potentials available in ATK-Classical. Have a look at www.docs.quantumwise.com/tutorials/interfacial_thermal_conductance.html and www.quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.nonequilibriummomentumexchange.html.

2. Alternatively, you can also use NEGF to calculate the phonon transmission and the thermal transport, using either ATK-Classical or ATK-DFT (if the system is sufficiently small).
This approach is described in www.docs.quantumwise.com/tutorials/thermoelectrics_cnt_isotope.html

107
General Questions and Answers / Re: ZBL Potential
« on: April 25, 2016, 11:26 »
It is currently only possible to use the ZBL-potential together with the Tersoff potential. We are working on a separate implementation of the ZBL potential, which can be combined with arbitrary potentials. This will hopefully be available in ATK-2016.
Until then there is a workaround though, by specifying a TersoffZBLPotential, but setting the Tersoff-part of the potential to zero, e.g. for the interaction between Carbon and Carbon:

Code
potentialSet = TremoloXPotentialSet(name = 'ZBL_and_Buckingham')
potentialSet.addParticleType(ParticleType(symbol='C', mass=12.0107 * atomic_mass_unit, atomicNumber=6))

# Define the Tersoff potential with zero A and B parameters.
potentialSet.addPotential(TersoffSingleTypePotential(
    particleType = 'C',
    A = 0.0*eV,
    B = 0.0*eV,
    R = 1.8*Angstrom,
    S = 2.1*Angstrom,
    l = 3.4653*1/Angstrom,
    mu = 2.3064*1/Angstrom,
    alpha = 0.0*1/Angstrom,
    beta = 4.1612e-06,
    omega = 1.0,
    chi = 1.0,
    chiR = 1.0,
    m = 0,
    n = 0.99054,
    c = 19981.0,
    d = 7.034,
    h = -0.33953))

# Define the ZBL potential.
potential =
potentialSet.addPotential(TersoffZBLPotential(
    particleType1 = 'C',
    particleType2 = 'C',
    type = 2,
    Z1 = 6.0,
    Z2 = 6.0,
    a0 = 0.529*Angstrom,
    rf = 0.95*Angstrom,
    bf = 14.0*1/Angstrom)
)

# Add another pair potential
potentialSet.addPotential(BuckinghamPotential('C', 'C',
                                              A=18003.7572*eV,
                                              rho=0.20520481*Angstrom,
                                              r_i=5.0*Angstrom,
                                              r_cut=5.5*Angstrom))

calculator = TremoloXCalculator(parameters=potentialSet)

This will, however, not switch off the pair potential at small separations, but for most pair potentials the ZBL part should dominate here and provide the desired repulsive behaviour.

Quote
1. As per the description in http://www.quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.tersoffzblpotential.html, and looking through external references, I don't understand what bf and rf signify, and what values to put in for my structure.
The TersoffZBLPotential uses a Fermi-function to switch between ZBL and Tersoff part, and rf and bf are the corresponding parameters describing this function. Via the parameter rf you specify the distance below which the ZBL potential starts to contribute significantly, and bf specifies the width of the switching, i.e. how smooth the switching is. The values should be taken from the literature if available, otherwise set rf to small values e.g. 0.5*Ang, where you expect your original potential to fail.
Quote
2. How to set the outer cut-off radius (referred to as r_cut in the several other potential implementations)?
That depends on the range of the potential, the quicker they decay, the smaller the cutoff-radius can be set. Generally, a smaller cutoff-radius makes the potential faster, but the accuracy decreases as well. Typically one uses values between 7.0 and 10 Angstrom. For potentials with dispersion interactions (e.g. Lennard-Jones-like potentials with a term ~1/r6) values of at least 8 Angstrom should be used.
If in doubt, you can always make a convergence test by plotting relevant properties, such as total energy vs. rcut.

Quote
3. If I set the r_cut for ZBL and r_i for Buckingham, will the range of radii between them be automatically spline interpolated?
ZBL does not have a rcut option as this potential will be smoothly switched of via the Fermi function. In any case, the ZBL potential-parameters should be chosen such that the potential is so short-ranged so that it essentially is zero at the cutoff-radius of any other potential.

Quote
4. Any suggestion for the type of Coulomb interaction to use: DSF or SPME?
DSF is faster and less accurate, as it neglects all the very-long-ranged contributions, SPME is more accurate but slower, as the long-range contributions are evaluated in k-space. For MD simulations, DSF should be sufficiently accurate, however, for calculations which require a higher accuracy, e.g. cell optimizations, elastic constants, phonon bandstructure, one should use either SPME, or DSF with an increased cutoff radius (e.g. 15 Angstrom or more) for good results.


108
You can easily do it in a script, e.g. like this

Code
# Read the trajectory. You don't need to do this if you already have the trajectory.
md_trajectory = nlread('xyz.nc', MDTrajectory)[0]

# Extract the 3rd snapshot.
bulk_configuration = md_trajectory.image(2)

(MDTrajectory has a number of other query functions that might be useful for you, see http://www.quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.mdtrajectory.html)

If you want to use the snapshot in the parts of the VNL-GUI (Builder, ScirptGenerator), you need to go through the MovieTool, though.

Does that help?[/code]

109
The mixing of elements in EAM potentials is generally pretty good, although it always depends  on the particular element and potential. I don't see any principle reason why the EAM_Zhou_2004 should not not be suited to model the diffusion in such an array. But without knowing the exact elements, I would suggest that you make some benchmark calculations on a small test system against DFT, to see whether it works sufficiently well for your elements.  In general, EAM should be a lot better than Tersoff to simulate diffusion, as Tersoff (e.g., used for Carbon) can have unphysically large bond-breaking-barriers.

Yes, the approach to simulate diffusion into the deposited layer would be to couple the substrate to a thermostat and simulate the deposited atoms in NVE, as described in the vapor deposition tutorial.
If you don't see any diffusion into the deposited layer during the deposition simulation, you could separate the deposition and diffusion simulation, meaning that you stop the deposition when the layer has reached a sufficient thickness, and then you set up a constant temperature simulation where you couple the entire surface to a thermostat and run it for a long time.
However, practically, the time scale of MD might still be too short if the diffusion process is associated with high barriers. In that case you could try an adaptive kinetic Monte Simulation (AKMC).


110
General Questions and Answers / Re: VNL for LAMMPS
« on: April 7, 2016, 09:51 »
The problem is that in your log.lammps file, for some reason there are some steps missing between step 260 and 410.
It says

     200    834.82705   -445.10589   -5704.2444   -5488.5326
     210     879.3483   -172.38307   -5712.4813   -5485.2655
     220    922.65357    292.58809   -5720.4329   -5482.0275
     230    937.39042     -62.6088   -5721.3306   -5479.1173
     240    948.08463   -244.98762   -5721.6675    -5476.691
     250    966.14585    442.59564   -5724.4679   -5474.8245
     260    962.51755    581.39448   -5722.3955   -5473.6896      410    827.36123    -897.4114   -5746.4231   -5532.6403
     420    834.65009    31.459134   -5754.7381    -5539.072
     430    821.39706    887.94195   -5758.0841   -5545.8425
     440    777.86776   -258.69939   -5753.6548   -5552.6607

Then, of course the plugin can't find as many energy entries as snapshots in the trajectory, and that's why the error is raised.
I don't know why that happens, but maybe you ran several LAMMPS simulations simultaneously, which wrote to the same logfile.
Try and run the LAMMPS simulation again, and see if the error still persists.
I have attached the log file that I get when I run your simulation and with that logfile everything works fine.

111
I think the time step is not the problem here. You might try 0.5 fs, but even 1 fs might be ok for elements like these.
The wavy nature is probably visually enhanced by the thin dimension of the system, but it doesn't seem unusual at this temperature.

You can get a stable equilibration using the following approach (see attached script):
1. Geometry optimization at constant stress (the off-diagonal lattice components might be slightly non-zero afterwards, they should be reset to zero)
2. Langevin NVT MD at 1200 K
3. NPT simulation at 1200 K


112
I would not recommend the approach to start from 0K, and then use a large coupling constant to slowly increase the temperature, especially not for Nose-Hoover-based thermostats, such as NPT-Melchionna. The problem with these thermostats is that the temperature does not approach the target temperature exponentially, but instead oscillates around the target temperature with an amplitudes that is, at least in the beginning, proportional to the difference between actual temperature (i.e. 0K) and target temperature (i.e. 1200 K). That means the temperature might at some point overshoot the target temperature by a considerable amount, which can destabilize the system. Instead, I recommend to use the NVT-Nose-Hoover-Chain-thermostat where you can set an initial and a final temperature, which linearly changes the target temperature from one to the other value during the simulation (while keeping the thermostat_timescale reasonably low at ~100 fs). Unfortunately, this is currently only possible for NVT and not NPT (in ATK-2016 it will be possible for all thermostats and barostats).
The error message that you encounter, though, has nothing to do with this. This might be a problem that we sometimes encounter if the trajectory is saved too often. You can try increasing the log_interval parameter to, say 500 steps and check if the problem still persists.

113
Currently, this is not possible in AKMC. There is no way to influence which path the system can take.
One may think of adding a bias potential for example, which pushes the atom inside the surface, but such things might be possible from the next ATK-release at earliest.

114
1) To what "published value" did you compare your results for the silver grain boundary? To the experimental value, to another simulation study for this particular system, or to the value for the silicon grain boundary?
2) The 2011 Sheng potential should generally work fine to describe the phononic part of the thermal conductivity. But you can make a check yourself by calculating the phonon bandstructure using the potential and compare to experiment or higher-level calculations.
3) Of course, ATK-Classical does not account for the electronic contribution to thermal transport, and, since the electronic contribution can make up a large part of the total thermal conductivity in metallic systems, the simulated value may be considerably lower than the experimental value of such a system.
You can calculate both phononic and electronic conductance using the NEGF-method, as explained in the tutorial http://docs.quantumwise.com/tutorials/thermoelectrics_cnt_isotope.html
4) In principle it is not suspicious, that your transferred energy is lower than in the silicon example. This value depends on the many factors, e.g. the cross-sectional-area of the system, and of course also the thermal conductance itself. You can try and tune it by changing the parameter "Exchange interval". By decreasing this parameter the transferred energy per time should increase.

115
Unfortunately, it looks like the ReaxFF-potentials are not suited for your system, so VNL does not provide a pre-defined potential for your system.
So, you'd either need to use DFT, or you could try searching the literature, to see if there is another potential, which may be suited for your system.
Then, we can check if this potential can easily be implemented in VNL, and in that case provide the potential as a script.

116
This is  a problem that sometimes occurs when you choose one the ReaxFF potentials in ATK-Classical.
Essentially, it means that some of the bonds in your configuration are not supported by the potential.
If possible, you should try selecting a different potential for your system, e.g. one of the Tersoff or EAM-potentials.

117
This method essentially does the same as the "Temperature Profile" analysis in the MDAnalyzer tool.
So if you set up your momentum-exchange-hook as

Code
momentum_exchange_hook = NonEquilibriumMomentumExchange(
    configuration=bulk_configuration,
    exchange_interval=100,
    heat_source='right',
    heat_sink='left',
    update_profile_interval=20,
    profile_resolution=2.0*Ang
)

To activate the calculation of the temperature profile make sure that the update_profile_interval is larger than zero, as this value determines how often the temperature profile is sampled.
Via the parameter profile_resolution the bin width of the temperature profile can be set.

Then, after the simulation has finished, you can query the temperature profile via

Code
(z_values, t_profile) = momentum_exchange_hook.temperatureProfile()

It will give you two PhysicalQuantity arrays z_values and t_profile, which you for example can plot it using pylab

Code
import pylab

pylab.plot(z_values.inUnitsOf(Ang), t_profile.inUnitsOf(Kelvin))
pylab.show()

or process the data in any other way you want.

However, I would recommend to use the corresponding feature in the MDAnalyzer, as this allows you to specify a start time which makes it easier to check for convergence of the profile.

118
The EAM potential used in the PRB paper you mention, is already implemented as EAM_Zhou_2004 .
The modified EAM (MEAM) potential will hopefully be implemented soon.

119
Could you maybe give a more specific example of what you are interested in?

For molecular compounds, if you already have an idea how the dissociation reaction will look like, you could perform an NEB calculation of this reaction using DFT.
Then you could use the harmonic transition state theory (HTST event) analysis to obtain the reaction rate at different temperatures and from that estimate the temperature at which the reaction becomes likely to occur.
But for solids it might be more complicated. In principle running a molecular dynamics simulation while slowly increasing the temperature until you see dissociation, might give you an idea about the dissociation temperature, although very likely a bit overestimated.
 However, to get the reactions right, you'd probably have to use DFT (unless you have a really good reactive potential that describes the specific reaction you are interested in), and that would severely limit the time scale of the simulation.

120
General Questions and Answers / Re: Molecular Dynamics Error
« on: January 26, 2016, 10:23 »

1) Langvin MD
 
In results i got one device configuration file and one MD trajectory file. In MD trajectory file I got following results, PFA. can you tell me what does it signify and what does it optimize?


MD does not optimize anything. It generates a number of snapshots drawn from a canonical ensemble. Note that different snapshots of the same MD simulation may yield different results for the same property. That means that a single snapshot from an MD trajectory not may be too meaningful, but it is rather the average over many snapshots that should be considered.
In your case you have simulated only over a very short time span and the system has very likely not had enough time to reach thermal equilibrium. This is the reason why the molecule looks a bit strange.
Please read the tutorial about MD simulations (www.docs.quantumwise.com/tutorials/md_basics.html) to learn more about how to equilibrate a system.


2) Geometry Optimization

In results i got two device configuration files and when i drag .nc file into stash it generated two device structure there. Then I checked their coordinates and i found that two device structures have different coordinates. Do you think that changed coordinates are geometry optimized one. Also I checked it for only 10 steps, do you think that increasing steps will give much better results.

The first of the two configuration is the initial structure of the device, whereas the second one is the structure after optimizing the geometry, i.e. minimizing the total energy. They should have different coordinates, as the atomic positions change during the optimization. That means the second configuration is the one to use.
In geometry optimization the decisive criteria is not the number of steps but the max. force parameter, which sets the threshold that the optimization stops as soon as the forces on all atoms are below this value. The default value of 0.05 eV/Ang is generally ok, for a very precise optimization it should be decreased, though.
The number of steps is only a parameter that prevents that an  optimization simulation runs forever if it for some reason doesn't manage to converge.

In your case, you should check at the end of the log file, if the optimization has converged, i.e. if all forces are below the specified max. force value. There will be a line which informs you about this.

Pages: 1 ... 6 7 [8] 9 10 ... 12