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 - Anders Blom

Pages: 1 2 [3] 4 5 ... 363
31
The paper you refer to is done with DFT, but your model in the script is using an extended Huckel model. That might work, sometimes, and would save a lot of time, however as your test shows, for this system the Huckel parameters do not give the correct band structure etc for B-P, thus it cannot be used.

You might try other parameters such as the Muller or Hoffmann models, and also it will be important to perform the calculations self-consistently since there will be significant charge transfer between B and P atoms (might try that with Cerda parameters too but I doubt it will work, as the two parameter sets you are trying to mix come from fits to AlP and BN).

I think your main option will be DFT in this case.

32
Add the dielectric region, going all the way out to the edges of the system in C (Z), before creating the device. Then when you use Device from Bulk, the regions will automatically be copied into the electrodes.

33
Looks like the main.ini file was corrupted, try rename it to main-backup.ini and try again. The file is in C:\Users\username\.quantumatk or .vnl for old versions.

34
These are for 28 processes, right? The point will be to compare with the run using 4, so please upload those too.

35
Could you zip the log files too, might help to look at them before rerunning, the HDF5 files don't tell us much how the problem arises

36
I don't think you need a script, actually. If you open the IV curve in the GUI (NanoLab) you should be able to change the curves to show any spin component.

37
I think we need to look at the exact scripts and output. If you don't want to share them publicly, you can email then.

38
All doable, yes

39
The script is rather specific to the calculation done with an explicit defect. In your case, you should go back to definitions in the theory section; looking at the line which actually defines the MFP, you can evaluate all quantities for your system and extract the MFP as

(R(L)/Rc-1) = L/MFP

(all depending on energy).

Here Rc is the conductance of the perfect system, and R(L) = 1/T(L) is computed for a device where L is the length of the part that has been thermally perturbed. A better option might even be to plot R(L) as a function of L, which should be a linear relation and you can get MFP from the slope.

40
With 5 licenses you can only parallelize over up 5 concurrent saddle searches but each on of these can run on multiple cores, using MPI parallelization. You do however have to set processes_per_saddle_search=N correctly in the ParallelParameters object attached to the calculator (cf. https://docs.quantumatk.com/manual/Types/AdaptiveKineticMonteCarlo/AdaptiveKineticMonteCarlo.html#parallel-saddle-searches), so that 5*N = M = the total number of MPI processes you spawn (mpiexec -n M).

41
It shouldn't matter, but there is a lot going on here. What is the repetition in the calculation that gives good results? Do you use the Wigner-Seitz scheme in both cases? Are there convergence issues indicated in any log file? Code version (we fixed some symmetry-related problems that gave negative energies recently)?

There is no real need to optimize the geometry since the structure is symmetric (fractional coordinates constrained to 1/3 and 2/3). Yes, you can optimize the lattice constant, but that would be a simple equation of state (vary the parameter a for 5-10 runs and fit a parabola), much more efficient.

Do you need spin-polarization? Not sure it makes a difference, just takes longer... I try without first, at least, while testing other parameters.

42
It was removed because it was a really exotic feature not many people used. You can still perform the analysis of course, you just need to script it, either from the Workflow Builder or, almost easier, directly by hand. Of course it was a lot more fun when you could just click, because now you need to run multiple scripts just to check how many finite transmission channels you have, and then get the eigenstate, and drag it into the Viewer...

Code: python
device_configuration = nlread("myfile.hdf5", DeviceConfiguration)[-1]
energy = 0.0*eV
eigenvalues = TransmissionEigenvalues(device_configuration, energy)
nlprint(eigenvalues)

Then second run

Code: python
device_configuration = nlread("myfile.hdf5", DeviceConfiguration)[-1]
# Same energy as before
energy = 0.0*eV
# List here the interesting quantum numbers
quantum_numbers = [0,1,2]
for quantum_number in quantum_number:
    eigenstate = TransmissionEigenstate(device_configuration, energy, quantum_number=quantum_number)
    nlsave('myfile.hdf5',eigenstate)

43
First of all, spin up and down are not good quantum numbers anymore when you introduce spin-orbit coupling (or noncollinear spin).

But it should still be possible to project the current on Up or Down in a script. Can you share more about the script you run and error message?

44
Looks like the copy/paste from the webpage uses the null character instead of normal spaces. So just delete all spaces before "for" and "print" and change it to normal spaces.  Or, you can use the little "copy" icon in the code box, that seems to work properly.

45
The variables of relevance for this are kx, ky and zi. You can just loop over them and print to a text file in desired format, although I would argue that any analysis or plotting you want to do might be better done in Python...

Code: python
kvalues = ky[0]
for i in range(len(kvalues)):
    for j in range(len(kvalues)):
        print(kvalues[i], kvalues[j], zi[i,j])

Pages: 1 2 [3] 4 5 ... 363