Closed 20190111 closed 4 years ago
Please post your output files in each case so that we can see the full error messages.
Also when reporting tack traces here, use the printStackTrace script from the scripts directory of jdftx to convert the above raw stack trace output to human-readable info.
Best, Shankar
Dear Dr. Shankar,
But in the second case, I could not obtain the jdftx-stacktrace automatically. And I fail to use the printStackTrace script with enter the command "printStackTrace charge1.out". I'm sorry for that I may use the script in a wrong command, please correct me ! And I post the first case as following: charge1-in.txt erro1.txt
Best Anna
Dear Dr. Shankar,
I wonder that I may make some mistakes for dos calculation, so I try the dos calculation in vacuum with my system after structure optimization. I can obtain the vac.dos , but something is strange with the result of dos. For following the dos calculation example of si, I increase the number of nbands to be 650(include 4 empity bands), and increase the kpoint to be 4x4x1(kpoint for structure optimization is 2x2x1 ).Here are my input and the dos file:
vac-in.txt
vac-dos.txt
I also try the dos calculation with the same structure by using another DFT software and I get the following dos picture: I think this picture is the same as what we see frequently.
I don't know why the dos result is so strange with such a large y-axis(wich is nearly segregateed straight line).Please correct me if I make mistakes in the input or sonething misunderstood. I'm looking forward to your help.
Best Anna
Hi Anna,
Sound like you are getting contributions from core / semi-core electrons in your DOS. Try setting axis limits to only show the results for the valence region and rescale the y axis accordingly. (For example, in gnuplot, issue something like "set xrange [-0.8:0.15]" to match the range you showed in your plot above.) You should then see something similar to your plot from the other program.
Also, try using Esigma to smooth the DOS; you definitely have used a Gaussian smoothing ~ 0.01 Ha in the other program from the appearance of the DOS.
As for your previous reported errors with the fixed potential calculation, I will try to reproduce the crash as I am not able to get any useful info from the stack trace posted. Please attach the charge.ionpos file so that I can do this test.
Best, Shankar
Dear Dr. Shankar, Thank you for your reply. The dos cure becomes more smooth after using Esigma. The following are my charge.ionpos and input parameters for dos calculation after fix-potential calculation. charge.in.txt charge.ionpos.txt
And Could you give me more advice for reducing computation time with jdftx ? I have try different cores according to nStates and also reduce the electronic-minimize energyDiffThreshold, but still so slow for my system with only one metal, especilly calculation in vacuum(ususlly 10 days with 28 cores). I wonder if it's because of my parameter Settings ? So, I post my input as following vac.in.txt I'm looking forward to your help.
Best, Anna
I will look into the fixed potential calculation issues and let you know.
Please post the output / log files from your attempts that turned out to be very slow so that I can check what kind of parallelization ended up happening.
Shankar
Hi Anna,
I looked through your calculations, and it does seem that it will take quite a bit of time on ~ 28 cores. You could cut down the system size significantly by reducing the vacuum spacing and using Coulomb truncation more efficiently. (I have attached an ionpos and modified input.) It was taking me ~ 1 hour per ionic step for the vacuum calculation on 32 cores with 4 processes, so your quoted times seem reasonable for 100 ionic steps on a slower machine.
Ultimately this is because this is a fairly large calculation. You mention only one metal atom, and yes, that keeps the number of electrons or bands in check. However, this is a plane-wave code and your computational cost here is being dominated by the number of basis functions to cover that space, irrespective of the number and type of atoms. Hence, my suggested modifications to the vacuum size and re-centering the ionpos in the attached.
Finally, I tried out the DOS calculation from the fixed potential and did not encounter any crashes. Of course I have cut down the system size to complete quickly for my test. So it is possible you ran into a memory issue that I bypassed.
Best, Shankar
Dear Dr. Shankar,
Thanks for your replay. I have tried to reduce the vacuum size in my system for reducing computation time. But the job stoped after a few seconds and there were some errors"Atom 169 lies within the margin of 5 bohrs from the truncation boundary. Expand unit cell, or if absolutely sure, reduce coulomb-truncation-ion-margin." But my vacuum size is much larger than you set in the attached file. Here are my parameters:
vacuum.in.txt
vacuum.ionpos.txt
vacuum.out.txt
I think the biggest difference my be centering the ionpos between my structure and your test.
I check your init.ionpos, it looks like the following picture.
But I wonder how you did it ? By moving all the atoms vertically until the second layer locating at the edge or near the edge of the lattice? or by other special methods?
Another question is whether the centering of the ionpos may influence the energy or property of my structure? Because I need to calculate the adsorption energy of a small molecule, this need the structure of A and (blank substrate). If I re-centering the ionpos of A, should I also re-centering the ionpos of to make the same system error ?
I'm looking forward to your help.
Best, Anna
Yes, I had centered the ionpos out of habit. That is not necessary, but you should make sure that your coulomb-truncation-embed coordinate is centered on your geometry to most efficiently truncate (eg. 0 0 0.15 for your ionpos example). If you are converged with respect to vacuum and plane-wave cutoff the results should not depend on overall translations of the geometry.
Best, Shankar
Dear Dr. Shankar, I tried to carry out density-of-states after the fixed-potential calculation but never succeed and sonmething may be wrong. There are two kinds of error information and I will present them in the following: The first example: here are my input parameters: include charge.ionpos lattice Orthorhombic 32.565836933779 32.2237965298 47.24314971447 coulomb-interaction Slab 001 coulomb-truncation-embed 0 0 0 electronic-minimize energyDiffThreshold 1e-07 fluid-minimize knormThreshold 3e-12 van-der-waals ion-species GBRV/$ID_pbe.uspp elec-cutoff 20 100 kpoint-folding 6 6 1 elec-smearing Cold 0.01 target-mu -0.1941432 fluid LinearPCM pcm-variant CANDLE fluid-solvent H2O fluid-cation Na+ 1. fluid-anion F- 1. elec-n-bands 650 converge-empty-states yes density-of-states Total dump-name charge.$VAR dump End None But than I got: Stack trace: 0: /home/software/JDFTx-1.5/build/libjdftx.so(_Z10printStackb+0x21) [0x7f45f96ea931] 1: /home/software/JDFTx-1.5/build/libjdftx.so(_Z14stackTraceExiti+0xd) [0x7f45f96eab7d] 2: /lib64/libc.so.6() [0x31ff232570] 3: /lib64/libc.so.6(memcpy+0x15b) [0x31ff28987b] 4: /home/software/JDFTx-1.5/build/libjdftx.so(ZN12ColumnBundleC1ERKS+0x6b) [0x7f45f978fd0b] 5: /home/software/JDFTx-1.5/build/libjdftx.so(_Z1ORK12ColumnBundlePSt6vectorI6matrixSaIS3_EE+0x59) [0x7f45f9792949] 6: /home/software/JDFTx-1.5/build/libjdftx.so(_ZN8ElecVars14orthonormalizeEiP6matrix+0x9c) [0x7f45f97eee7c] 7: /home/software/JDFTx-1.5/build/libjdftx.so(_ZN8ElecVars4LCAOEv+0x311) [0x7f45f97f6301] 8: /home/software/JDFTx-1.5/build/libjdftx.so(_ZN8ElecVars5setupERK10Everything+0x1ae4) [0x7f45f97f2ae4] 9: /home/software/JDFTx-1.5/build/libjdftx.so(_ZN10Everything5setupEv+0x70f [0x7f45f980d17f] 10: jdftx(main+0x8ec) [0x405fbc] 11: /lib64/libc.so.6(__libc_start_main+0x100) [0x31ff21ed20] 12: jdftx() [0x406b55] Writing 'jdftx-stacktrace' (for use with script printStackTrace): done. The second example: The parameters were the same, but the submit script gone as mpirun JDFTx -i.......without -n 4,than I got the following error: ------- Initial electronic minimization -----------
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES = PID 36892 RUNNING AT node26 = EXIT CODE: 9 = CLEANING UP REMAINING PROCESSES = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
Intel(R) MPI Library troubleshooting guide: https://software.intel.com/node/561764 I don't know what's wrong with my calculations. Could you correct me ? and May I know how to calculate the DOS after the fixed-potential calculation ?