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.


Topics - asanchez

Pages: [1] 2
1
Hi all,

I'd like to compute the overlap between Bloch states. For a given computed wavefunction \psi_k I have tried getting its overlap with itself as a first test as:

Code
wfc = nlread('file.hdf5', BlochState)[-1] 

wfc_array = wfc.toArray()

wfc_s0 = wfc_array[:,:,:,0]

psi_2 = numpy.conj(wfc_s0) * wfc_s0

delta_x = wfc.gridCoordinate(1,1,1).inUnitsOf(Bohr)[0]

integrated_x = numpy.trapz(psi_2, axis=0, dx=delta_x)

integrated_y = numpy.trapz(integrated_x, axis=0, dx=delta_x)

overlap = numpy.trapz(integrated_y, axis=0, dx=delta_x)

(Note: cell is simple cubic so dx=dy=dz)

And that final 'overlap' would be the final result. Does this seem correct? The overlap doesn't integrate to 1 , or to a number of electrons as far as I can see. Although that's to be expected perhaps? Any feedback would be greatly appreciated.

Thanks for your help,
A

2
Hi all,

I've tried calculating an EffectiveBandstructure using a Noncollinear Spin-Orbit calculator and I get the following error:

"ValueError: shapes (200,200) and (400,) not aligned: 200 (dim 1) != 400 (dim 0)"

Was it never intended to work with NC-SO? or is it just broken?

Thanks for your help!


3
Hi,

I've found that I can't read back .nc files of completed calculations. Not sure what are the circumstances in which this happens but here's an example:

- Run a DFT calculation of a simple system (alpha-tin)
- Try to read back the resulting .nc file

I can't seem to read the .nc file with either the GUI or atkpython. Here's the error I get from the GUI if I try to drop the output file back into the builder:
Code
Traceback (most recent call last):
  File "./zipdir/NL/GUI/MainWindow/MainWindow.py", line 1073, in toolBarDropEvent
  File "./zipdir/NL/GUI/Tools/Tool.py", line 804, in dropEvent
  File "./zipdir/NL/GUI/DnD/DropExtractor.py", line 200, in extract
  File "./zipdir/NL/GUI/DnD/MimeData.py", line 443, in instances
  File "./zipdir/NL/IO/NLSaveUtilities.py", line 422, in nlread
  File "./zipdir/NL/ComputerScienceUtilities/Timer.py", line 45, in __call__
  File "./zipdir/NL/IO/NLSaveUtilities.py", line 422, in <lambda>
  File "./zipdir/NL/CommonConcepts/Configurations/ReadConfigurations.py", line 121, in nlreadBulkConfiguration
  File "./zipdir/NL/NanoLanguage/ScopeExecuter.py", line 214, in scope_execute
NLScopeExecutionError: unexpected indent (<string>, line 6)

The error from atkpython when trying to read using nlread is longer, but ends in the same last line anyway.

I've attached the input file from my example. The output is too large to attach. Hopefully this provides enough information to debug this.

Best,
Alfonso

4
General Questions and Answers / AdaptiveGrid error
« on: February 2, 2016, 19:45 »
Hi all,

I'm trying to compute the TransmissionSpectrum of a BulkConfiguration with the following script:

Code
bulk_configuration = nlread('scc.nc', BulkConfiguration)[-1]


# Adaptive grid

adaptive_grid = AdaptiveGrid(
        kA_range = [-0.5, 0.5],
        kB_range = [-0.5, 0.5],
        tolerance=1e-2,
        error_measure=Absolute,
        number_of_initial_levels=2,
        maximum_number_of_levels=7)

# -------------------------------------------------------------
# Transmission Spectrum
# -------------------------------------------------------------
transmission_spectrum = TransmissionSpectrum(
    configuration=bulk_configuration,
    energies=numpy.linspace(-0.05,0.05,7)*eV,
    kpoints=adaptive_grid,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    self_energy_calculator=RecursionSelfEnergy(),
    )

But get the following error:

Code
Traceback (most recent call last):
  File "tran.py", line 23, in <module>
    self_energy_calculator=RecursionSelfEnergy(),
  File "./zipdir/NL/Analysis/TransmissionSpectrum.py", line 202, in __init__
  File "./zipdir/NL/ComputerScienceUtilities/Timer.py", line 45, in __call__
  File "./zipdir/NL/Analysis/TransmissionSpectrum.py", line 202, in <lambda>
  File "./zipdir/NL/Analysis/TransmissionSpectrum.py", line 1680, in calculateBulkTransmissionSpectrum
  File "./zipdir/NL/ComputerScienceUtilities/Functions.py", line 148, in numpyToStdVectorCartesian3D
AttributeError: AdaptiveGrid instance has no attribute 'shape'

What am I doing wrong? I did notice that the manual entry for AdaptiveGrid only references DeviceConfiguration objects (on the usage examples anyway) -- Does this only work for DeviceConfiguration? Thanks in advance

5
I've been trying to calculate the InelasticTransmissionSpectrum but get an error just when it gets to that very point (i.e. DynamicalMatrix & HamiltonianDerivatives calculations finish without errors).

Just when the output gets to this point:

Quote
+------------------------------------------------------------------------------+
| Calculating inelastic transmission spectrum                                  |
+------------------------------------------------------------------------------+
InelasticTransmissionSpectrum: k-index (1 / 1), q-index (1 / 1)

Calculation stops with the following error written to stderr:

Quote
mypath/QuantumWise/VNL-ATK-2015.1/bin/atkpython: line 11:  2949 Illegal instruction     $EXEC_DIR/atkpython_exec "$@"

Attached is the input file I'm using. I've tried using LOE instead of XLOE and using a DFT calculator. Also tried with an applied bias of 25mV. Same error every time. Can provide nc files if needed (too large to attach here)

Would someone please take a look see why I'm getting this? thanks in advance

6
General Questions and Answers / Threading
« on: October 27, 2015, 17:38 »
I noticed that in the latest release letter you advise regarding MKL_NUM_THREADS.

I know how to combine OMP_NUM_THREADS with MPI processes but haven't much experience with MKL_NUM_THREADS (just recently started using intel compilers).

An example: 24 core machine. Due to memory constraints let's say I want to run only 6 MPI processes. I would usually do something like:

export OMP_NUM_THREADS=4
mpirun -n 6 .....

As to use 6 threaded (4x) MPI processes. How would that work with MKL_NUM_THREADS as well?  Should I set OMP to 1 and MKL to 4? Any guidance is highly appreciated.

Thanks in advance.

7
General Questions and Answers / Parallel TransmissionSpectrum?
« on: October 27, 2015, 17:25 »
I thought I'd read something about ATK 2015 being able to parallelise TransmissionSpectrum calculations beyond the number of k-points / energy points? Now I can't find it so maybe I'm wrong.

In a calculation with a kpoint grid of (1,1), can one parallelise across more than energy points? e.g. If I'm calculating just the fermi level, can I parallelise that?

Thanks in advance

8
General Questions and Answers / One probe systems
« on: October 22, 2015, 18:47 »
Hi all,

I've just read that the one-probe functionality is included in 2015.0 but can't visualise such a configuration in VNL. I tried two ways:

device_configuration = DeviceConfiguration(central_region, electrode)
device_configuration = DeviceConfiguration(central_region, [electrode])

But they just show up as a bulk configurations in the builder. Also I'm assuming there's no way of generating one-probe structures in the builder but maybe I just haven't found the way to do it.

Thanks in advance!

9
I've computed the self-consistent charge density for a DeviceConfiguration using electrode_voltages =  (0.15*Volt, -0.15*Volt).

I then computed the TransmissionSpectrum using energies = np.linspace(-0.15,0.15,X). When I use the current() method I get on the current report a "Bias window covered" value of 87.55%

Why isn't this value 100%? Is there a broadening function or something being used that requires the TransmissionSpectrum to be calculated outside the electrode_voltages window?

Thanks in advance

10
General Questions and Answers / k-point list
« on: September 23, 2015, 11:59 »
How can one get the list of k-points you have used (or will use, if you haven't started a calculation) with their weights, etc?

Basically I would like to use the methods of MonkhorstPackGrid but don't know how to do it from the k_point_sampling passed to NumericalAccuracyParameters; which is just a tuple.

Apologies if this has been already covered but I couldn't find it.

11
General Questions and Answers / About the nanowire builder
« on: September 9, 2015, 15:38 »
I have a question regarding the nanowire builder: You are asked to enter the wire direction, cluster radius, and some surface energies. I have tried building a wire along the 100 direction of an fcc lattice and even though the entered surface energy for [110] is considerably larger than [100] and [111], most of the wire's surface is [110].

Shouldn't surfaces with less energy be favoured?

Also, in VNL 2015.rc1 there's something wrong with the nanowire builder interface. The cluster radius parameter isn't working for me. It always builds the same size of wire. Radius works properly in 2014.2.

12
When running jobs sometimes the computing nodes lose access to the license server: it has happened a couple of times lately that the machine running the license server gets rebooted.

In this event, the jobs running with ATK 2014.2 "survive" the license outage for a few minutes no problem whereas jobs running with ATK 2015.b2 die before the license server is back up.

When the license server comes back up the jobs are still showing in the PBS queue system but the computing nodes are idle, and of course there's a message in the standard output saying that the job has been "terminated after failing 3 heartbeats".

It would be very useful if ATK 2015.b2 worked in a similar way to previous versions in which you have a bigger time window to reconnect to the license server (or whatever the difference in behaviour is).

I have no control whatsoever on when the license server is going to reboot (mostly it gets rebooted due to someone making a mistake so it's not something planned) and it's very inconvenient having to restart jobs when this happens. Particularly since it doesn't happen with ATK 2014.2 (or all of the previous versions I've ever used)

Not sure if this is the right subforum for this. Hope so!

13
General Questions and Answers / Energy vs volume curves
« on: August 24, 2015, 17:05 »
Hi all,

I seem to recall reading somewhere how to manually specify the number of points in the real space grid as opposed to using an energy for the density_mesh_cutoff var for the calculation of energy vs volume curves. I thought I read how to do this in ATK but I can't seem to be able to find it again so before continuing to waste more time looking for it I thought I'd ask.

How do I do this? It is possible, right?

Thanks in advance

14
Future Releases / Display number of atoms
« on: July 26, 2015, 15:34 »
It'd be nice if you could tick a box somewhere to display the number of atoms whenever you visualize structures. It could also show the number of selected atoms (if any).

Maybe I'm missing something but in the builder the only way I know of knowing the number of selected atoms is by clicking Graphics > Properties... and looking at the "Editing X atoms" at the bottom of the Scene Properties window.

It'd be useful not only in the builder but also in windows like the 2D plot... tool. If you are for example visualising the local density of states of a subset of atoms using this tool it'd be nice to see how many atoms you have selected as with big structures and atoms being behind other atoms it can get tricky. I know you get the list of atoms at the top anyway and you can count them (or len() the list if you have many atoms) but being able to see the number right there would be a nice feature.

15
General Questions and Answers / Convergence of dE and dH
« on: July 26, 2015, 15:19 »
I have a question regarding the convergence of these two reported values (dE & dH). When running DFT calculations with 1000+ atoms I notice that often the convergence of dH gets below tolerance (by default 1.e-5 iirc) much before dE. The difference also tends to be a couple of orders of magnitude.

I wonder if this is because dE refers to the total system energy (extensive property) whereas dH is per matrix element which if I understand correctly shouldn't scale with the number of atoms in the system.

If so, wouldn't it make sense to set all tolerances to be per atom?

I understand that calculations usually converge dE in a few more steps anyway but when dealing with large systems each extra iteration might mean a sizeable amount of time.

Thanks for your time

Pages: [1] 2