Guys, If this pseudo has been used before, it most likely doesn't present ghost states. If it did, Siesta would have stopped. So one possibility for these ghost states is that the compiler options are such that wrong results are being output. This is especially strong in ifort. If it is ifort, I recommend complete re-compilation of both Siesta ***and*** atom with -O2, in case the compilation has been done with -O3. Some years ago, one of the users had this kind of problem - a pseudo that had been already used and tested presented ghost states after being re-calculated - , and the use of -O2 instead of -O3 solved the issue.
Hope this helps. Marcos On Thu, Oct 27, 2011 at 9:26 AM, R.C.Pasianot <[email protected]> wrote: > > Hi Bo Xiao, > > So, you mean that when specifying core corrections you get > ghost states but everything's fine if not ?. > > You're putting rcore=0.77, may I ask why ?. > > My way is letting the code choose, namely, rcore_flag=1.0, > rcore=0.0, which effectively means that rcore will be > such that (core_charge_density = valence_charge_density). > This is quite an accepted criteria. Eventually you can play > manually with rcore later, after seeing what the code gives > in the 1st place. > > Goog luck, > > Roberto > > > > On Thu, 27 Oct 2011, BoXiao wrote: > > >> Dear Roberto >> Thanks for your suggestion, it works! My input file for the generation of >> Pt.psf is >> ## Pseudopotential generation for Silicon# pg: simple generation# pg >> Platinum tm2 # PS flavor, logder R n=Pt c=pbr >> # Symbol, XC flavor,{ |r|s} 0.0 0.0 >> 0.0 0.0 0.0 0.0 12 4 # >> norbs_core, norbs_valence 6 0 1.00 0.00 # 3s2 6 1 >> 0.00 0.00 # 3p2 5 2 9.00 0.00 # 3d0 5 3 >> 0.00 0.00 2.45 2.45 2.45 2.45## Last line >> (above):# rc(s) rc(p) rc(d) rc(f) rcore_flag rcore##** >> 234567890123456789012345678901**23456789012345678901234567890 >> >> Howerer, when i try to consider the Core Corrections, and with the >> following input file, i could generate the Pt.psf without any error >> information, but when i used this Pt.psf into the calculation, the same >> error information in the output file can be found, so i wondering what is >> wrong with thisinput file? >> pe Platinum tm2 2.5n=Pt c=pbr 0.0 0.0 0.0 >> 0.0 0.0 0.0 12 4 6 0 1.00 0.00 6 1 >> 0.00 0.00 5 2 9.00 0.00 5 3 0.00 0.00 >> 2.45 2.45 2.45 2.45 0.00 0.77 >> >> Best WishesBo Xiao >> >> Date: Wed, 26 Oct 2011 10:52:33 -0200 >>> From: [email protected] >>> To: [email protected] >>> Subject: Re: [SIESTA-L] pt.psf error >>> >>> >>> Hi BoXiao, >>> >>> The error message says your pseudo's having ghost states. >>> Thast's really bad ... :-). >>> >>> See, within Siesta-dir/Pseudo/atom/Contrib there's a table of >>> inputs for pseudo generation. Why don't you pick the one for >>> Pt as a starting point ?. >>> >>> Regards, >>> >>> Roberto >>> >>> >>> On Wed, 26 Oct 2011, BoXiao wrote: >>> >>> >>>> Dear there,I meet some problem, The pt.psf is generated by myself, when >>>> i calculate with it, the following is the error:read_vps: There are >>>> spin-orbit pseudopotentials availableread_vps: Spin-orbit interaction is >>>> not >>>> included in this calculationread_vps: Valence configuration >>>> (pseudopotential >>>> and basis set generation):6s( 1.00) rc: 2.136p( 0.00) rc: 2.135d( 9.00) rc: >>>> 2.135f( 0.00) rc: 2.13Total valence charge: 10.00000read_vps: >>>> Pseudopotential includes a core correction:read_vps: Pseudo-core for >>>> xc-correctioncomcore: Pseudo-core radius Rcore= 4.130025xc_check: >>>> Exchange-correlation functional:xc_check: GGA Perdew, Burke & Ernzerhof >>>> 1996V l=0 = -2*Zval/r beyond r= 3.0981V l=1 = -2*Zval/r beyond r= 3.0981V >>>> l=2 = -2*Zval/r beyond r= 3.0981V l=3 = -2*Zval/r beyond r= 3.0981All V_l >>>> potentials equal beyond r= 2.1028This should be close to max(r_c) in ps >>>> generationAll pots = -2*Zval/r beyond r= 3.0981Using large-core scheme for >>>> Vlocalatom: Estimated core radius 3.0980 >>>> >>> 7! >> >>> ato >>> >>>> m: Maximum radius for 4*pi*r*r*local-pseudopot. charge 3.38137atom: >>>> Maximum radius for r*vlocal+2*Zval: 3.13704GHOST: WARNING: Ghost state >>>> for L = 0GHOST: No ghost state for L = 1GHOST: No ghost state for L = >>>> 2GHOST: No ghost state for L = 3KBgen: WARNING: Ghost states have been >>>> detectedKBgen: WARNING: Some parameter should be changed in theKBgen: >>>> WARNING: pseudopotential generation procedure.Stopping Program from Node: >>>> 0this is the input file for the generation of pt.psf## Pseudopotential >>>> generation for Silicon# pg: simple generation# pe Platinum >>>> tm2 2.00 # PS flavor, logder R n=Pt c=pbr >>>> # Symbol, XC flavor,{ |r|s} 0.0 0.0 0.0 0.0 >>>> 0.0 0.0 12 4 # norbs_core, norbs_valence >>>> 6 0 1.00 0.00 # 3s2 6 1 0.00 0.00 # 3p2 >>>> 5 2 9.00 0.00 # 3d0 5 3 0.00 0.00 # 4f0 >>>> 2.15 2.15 >>>> >>> ! >> >>> 2 >>> >>>> .15 2.15 0.00 0.77## Last line (above):# rc(s) >>>> rc(p) rc(d) rc(f) rcore_flag rcore##** >>>> 234567890123456789012345678901**23456789012345678901234567890I am >>>> looking forward to your message, thanksBest WishesBo Xiao >>>> >>>> >> >> >>
