Dear Yuri, have you tried compiling yourself? You could test less aggressive compiler options, like -O0, -O1, -O2, and leave out -ffast-math. Best regards, Markus
Now I tried compiling elk with the latest Intel OneAPI compiler and linking against the latest MKL. Our test above runs at 2m23s (with a single MKL thread), so very close to the result with gcc/AOCL. But still a bit worse than gcc + OpenBLAS. Warning: Do not use -xHost! This produces a super-slow executable. Instead, use the following line for ifort: F90_OPTS = -O3 -march=skylake-avx512 -ipo -qopenmp -qmkl=sequential The problems with a slow codepath for MKL on AMD that were reported in the past...
You can find one now in the Elk Users forum.
Hi all, just a quick guide for newcomers for compiling elk 8.7.10 on a Workstation (or a PC) running Ubuntu 22.04 LTS. Download elk from the Sourceforge website. Create a new directory in your user folder (e.g. "elk" and move the .tgz file here). Open a Terminal and type "cd elk". Unpack the file with "tar -xvzf elk-8.7.10.tgz". Go to the new directory with "cd elk-8.7.10". Edit the file make.inc, you can use your graphical text editor (or nano): We build a single-node version, i.e. without MPI....
Hello and welcome! There's a ton of examples in the examples folder, just have a look at these. Start with the basic examples. Elk uses just one single input file, elk.in. You can generate your structure with the spacegroup utility, have a look at the elk manual. Happy computing!
By the way.... I'm testing the machine with Ubuntu 22.04.2 LTS' openblas / lapack / fftw3 packages. Indeed, this is pretty performant and runs the test described above in 2m17s when setting OPENBLAS_NUM_THREADS=1. But please note that other tasks might work better on AOCL, depends certainly on the usage of certain routines where AOCL or OpenBLAS+FFTW3 outperform, respectively. But embarrassingly for AMD, HPL spits out an optimized 944 GFLOP/s with Ubuntu's openblas. So it seems that running elk with...
Sure, here's a minimal make.inc for gfortran. I've stripped off all the comments etc. This is a make.inc for the single-threaded version of blis, which is fine for a workstation. Except maybe for diagonalizing the BSE hamiltonian or running molecules in a large vacuum cell, where you don't have k-point parallelism; here you would want to link the multi-threaded library and create a separate executable for only these tasks. MAKE = make AR = ar SRC_MKL = mkl_stub.f90 SRC_OBLAS = oblas_stub.f90 SRC_BLIS...
Dear elkies, here I just want to quickly share some (unscientific) benchmarks of the Ryzen 9 7950X CPU with HPL and elk. TLDR: This CPU is a beast! I link against the latest AOCL 4.0, using F90_LIB = -lblis -lflame -lfftw3 -lfftw3f HPL gives me an optimized 910 GFLOP/s, however limited by the small 32 GB RAM in my system. Note that SMT should be disabled and we run 16 MPI processes or 16 threads. Now let's throw in elk 8.7.10. We do the basic/HfSiO4 example, but to give the CPU some work, we increase...
Dear Naman, what you are asking for is not possible. You need to be aware that in a solid, there is no clean way of defining s,p,d,f,... angular momenta for the atoms because angular momentum is not a conserved quantity (instead, linear momentum is!). What people typically do is to project the self-consistent wavefunctions obtained with a sufficiently complete basis onto the orbitals of the corresponding free atoms. Or, what you can do in elk, is to simply look at the projections onto the angular...
Dear Jack, here's a late (partial) answer to some of your questions. The core states are treated with the radial Dirac equation. They are not frozen, but solved self-consistently. The valence electrons are solved with the Schrödinger equation instead, as usual. spinorb adds spin-orbit coupling in the second-variational step as a perturbation, which is treated self-consistently. For the meaning of the local orbitals: elk uses effectively a full-potential APW+lo+LO method. The lo's and LO's have different...
Dear Malte, dear Lars, I remember that I've had some trouble with that when I was looking at topological insulators that included Bi. I think the band structures looked quite a bit different from Wien2k band structures, where the 6p1/2 LO was included. There is no solution for this in elk. Best wishes, Markus
Dear Malte, yes, this is confusing at a first glance. The point is, that the empty states are used to construct the basis for the second-variational step during which magnetism and SOC are included. Without magnetism and SOC, you should not see any influence of nempty. However, with magnetism and/or SOC, you should see exactly this kind of dependence, because with increasing nempty you increase the basis size. But remember that the total energy has no meaning, only energy differences are relevant....
Dear Jimmi, use the supercell method instead, i.e. task 200. This will certainly work. Start with an LDA calculation, this is easier to converge. Best regards, Markus
Hello Li, use tasks 72 or 73 to plot the magnetization density. Elk does not know about up/down electron densities, it works on the electron density and the magnetization density instead. I'm not sure about the convention in elk, but I guess that in the collinear case, m(r) = n_up(r) - n_down(r), and n(r) = n_up(r) + n_down(r), so you can do the maths yourself. Cheers, Markus
Hello, first, you have to do task 0, the SCF run. Without it, you cannot run any consecutive tasks because you need a self-consistent potential saved in STATE.OUT. Second, I think your lattice constants are wrong. You have to supply them in atomic units, while you seem to be using angstroms. 1 atomic unit = 1 Bohr radius = 0.05292 nm. That's why your muffin-tin radii are much too small. Third, your ngridk is much too small for a meaningful calculation. To perform a successive band structure calculation...
Hi Yun, are you talking about molecules or solids? In elk you can calculate phonon dispersions, so yes, you can calculate vibrational energies. But I'm not sure how well this works for molecules. Cheers, Markus
Dear Robert, you have to modify the species files in your path-to-elk/species folder. Check, e.g., the Fe-XMCD example to see how to include low-lying core orbitals as valence local orbitals. You have to remove them from the core solver and include the LOs as needed with a reasonable guess for the linearization energy (you can get this from EVALCORE.OUT after a calculation with the standard species file). You can just copy the species files you need into your working directory and modify them right...
Dear Zuanni, yes, that's how you can do it. You could also just add the missing electron to the valence states in the species file - it does not matter to which, as this will be redistributed during the SCF run. However, you should be aware that the spectrum does vary with the orbital you choose and this is not equivalent to having the core hole on the orbital of the initial absorption state. The latter is however not possible in elk, because you can not enforce an occupation for the valence orbitals....
Dear Michael, that's a pretty good question. Since mBJ is an exchange potential (not a functional!!), there is no meaningful total energy in mBJ. So how do they calculate mBJ energies? I just read through the Wien2k code snippet that sets up the xc parameters and I found that they use LDA for the xc energy, mBJ for x potential and LDA for c potential, so it's a kind of hack. mBJ gives you a charge density of its own through, which is distinct from the LDA charge density. However, then you calculate...
Dear Surinder, your problem might be system-specific, so we need to know the atomic species. By the way, your error message and the input file do not match: In the error message the code complains about not finding STATE.OUT for task 1, which happens if you are trying to restart a calculation without having done a task 0 before. However, your input has task 200, so I do not see the relevance of the error message. Please be more specific about your problem, read the manual carefully and look through...
Hello, without knowing what the species are, one cannot reproduce the problem. Here's...
... there is a serious problem with the basis set. As I saaid, I think your structure...
Quick answer: No, metals only.
Dear all, most of elk's parallelization is on k-points. If you have a single node,...
Hi TOP GUN, a 14 atom system is pretty large for a laptop. i3 or i5 does not really...
Hello, well, you are out of memory. Your problem has too many atoms. Reduce the number...
Dear Surinder, I don't mean to insult you, but this sounds as if you should take...
Hi, you can always start any task you like as long as the necessary previous tasks...
Hi Shu-Ting, it's not, because elk does not support screened hybrids. And I don't...
Hi Elie, this is because lambda is smaller than mu. In that case, the MAD-formula...
Hello, the short answer is: no, you can't. However, the code modification to obtain...
Hi all, 1) I second Michael's approach: reduce the beta parameters, maybe even down...
Dear Michael, yes, but it's not really the core-hole in the states where you need...
Dear Michael, as you might know, the single-particle Kohn-Sham energies are not meant...
Hi Anton, congratulations! So you were a bit quicker than I was. :) Anyway, I think...
Dear Harry, "setup" is a bash script, which you need to run in some kind of sh-interpreteter,...
It's still potential-only, e.g. mBJLDA. GPAW and presumably abinit support the metaGGA...
If I remember correctly, you just have the same is identifiers as with your primitive...
Exchange interactions and Curie temperatures of Mn2CoZ compounds M. Meinert, J.-M....
Hi all, just in case anybody is getting annoyed by the IEEE floating point exceptions...
Hi all, just in case anybody is getting annoyed by the IEEE floating point exceptions...
Dear Praveen, please show us your input, so we can tell if it is correct or not....
Hi all, I think the reason for using W0 in the BSE has the following reasoning: You...
Dear Saitoh, you have to use a species file where you treat the core state with a...
Dear saitoh, the problem is that you have set spcore true for the 1s orbital, so...
Dear Praveen, I'm not sure this will help you, but I see some problems in your input...
Dear Ahmad, the answer has two parts: a) The supercell in the core-hole approximation...
Hello, you've put your atoms three times at the same positions. Obviously, this can...
Dear Mikhail, the answer is simple: elk does not support screened hybrids. You can...
Dear Fang, Elk's implementation is somewhat more sophisticated than in many other...
Dear Amir, look into the routine dielectric.f90, there's a citation of the formula...
Hi peterp, make sure you use autokpt instead of a fixed k-point mesh! Note that a...
Hi all, has anybody figured out what the unit of the optical conductivity is and...
Dear peterp, this depends on your choice of swidth. Apparently, it is fairly low...
Dear Thomas, if I remember correctly, VASP applies SOC only inside the augmentation...
Dear Thomas, in the FAQ there's this comment on convergence parameters: 7.1 Which...
Hi, simple: swidth IS the lifetime broadening. swidth in given in Hartee, so 1 Ha...
Dear Sebastian, this is a problem with very deep lying core states. I frequently...
Hello Kari, generally, GGA is more difficult to converge than LDA. You could try...
Dear Patrik, I assume you are talking about the Fe-XMCD example. In Fe_lo.in you...
Hi David, I recommend to use the hybrid parallelism for two reasons: 1) The MPI parallelism...
You can specify this with optcomp as well. But only the first entry will be used....
Hello Rob, yes, I know this problem too. The only remedy I can give you is to try...
Hi Rob, you get the Kohn-Sham response function with tasks 120/121, so it's based...
Hi, EPSILON_12 is the 12 off-diagonal component of the dielectric tensor with real...
Hi Semran, The instability might come from the extremely large rgkmax. rgkmax=8.0...
Sorry, of course I meant the lowest occupied and highest unoccupied state. emaxrf...
Hi again, don't use autoswidth for spectrum calculations! Normally, you would compare...
Hi Rob, this was the case in elk's 1.x.x series. Since version 2.x.x it's defined...
Hi Rob, yes, there is an output file that may help you: EIGVAL.OUT, which contains...
Hi Rob, I'm afraid you have to live with the gmaxrf^6 scaling. In my case it is true...
Hi Rob, be aware that nempty is a scaling for the actual number of empty states:...
Hi again, congratulations! By the way, I can confirm now that the TDDFT-code scales...
Hi Rob, it affects both. Just play with Si and see what happens. I would not bet...
Hello Rob, with a so small gap, I would expect to see essentially no influence of...
Hello Rob, with a so small gap, I would expect to see essentially no influence of...
Hi Marcin! I think to have all information in place you would have to copy the full...
Roman, could you check the number of k-points in your calculations? highq overrides...
Here's my make.inc: MAKE = make F90 = mpif90 F90_OPTS = -O3 -ffast-math -funroll-loops...