[Pw_forum] program modification of virtual.f90 2 (different riiner)
yukihiro_okuno at fujifilm.co.jp
yukihiro_okuno at fujifilm.co.jp
Fri Mar 21 14:38:48 CET 2008
Dear PW users and developer.
This is self responce.
I wrote mistake in former e-mail
>The modification of virtual.f90 when A atom and B atom is mixed by the
ratio A:B= x:1-x , I planed the modification like ,
>1) We set new riiner = min(r_{A}.r_{B}) for each angular momentum L
for the virtual atom.
>2) then we make virtual potential like
> r < min(r_{A}. r_{B}) = r_{A} = r_inner ( we set r_{A} < r_{B} )
> upf_qfcoef(n,m) = x * qfcoef_{A} (where n, m is for A atom index
and qfcoef is A atom pseudized polynomial coefficient C1,C2....)
> upf_qfcoef(n,m) = (1-x) * qfcoef_{B} (where n,m is for B atom index
and qfcoef is B atom pseudized polynomial coefficient )
> r_{A} < r < r_{B}
> qfun(n,m)[r} = x * r^{L} * (C1_{A} + C2_{A} * r^{2} + C3_{A} * r^{4} +
...)
> qfun(n,m)[r] = (1-x) * qfun_{B} ( where qfun is the argumentation
function for r > riiner which are specified in UPF file ).
> r_{B} < r
> qfun(n,m)[r} = x * qfun_{A}
> qfun(n,m)[r] = (1-x) * qfun_{B}
In the range r_{A} < r < r_{B} , where r_{A} and r_{B} is A and B atom's
rinner,
I was going to write like
qfun(n,m)[r} = x * qfun_{B}(r) ( where qfun is the argumentation
function for r > riiner which are specified in UPF file ).
qfun(n,m)[r] = (1-x) * r^{L} * (C1_{B} + C2_{B} * r^{2} + C3_{B} * r^{4}
+ ...)
But qfun(n,m) should be L independent, so it cannot apply UPF format.
So if we apply the VCA approximation for different riiner, it should be
r_{VCA} = r_{B} ( where r_{VCA} is virtual atom's riiner)
and give new polynomial coefficient C_{A} which fit the new function
below,
Q^{L}(r) = r^{L} * (C1_{A} + C2_{A} * r^{2} + C3_{A} * r^{A} + ...) (
r < r_{A} )
= qfun_{A} (r) ( r_{A} < r < r_{B} ) .
Or is it easy to make pseudo potential with same riiner insted of
modifying virtual.f90 or other source codes ?
Yukihiro Okuno
More information about the users
mailing list