0001 function [Fei,Aei,Btei] = eicoll_dke_yp(v,zZi,zmi,xzni_norm,xzTi_norm,ir,coll_mode)
0002
0003
0004
0005
0006
0007 if nargin < 7,
0008 error('Wrong number of input arguments in eicoll_dke_yp')
0009 end
0010
0011 me = 1/1860;
0012 v2 = v.*v;
0013
0014 if coll_mode == 1,
0015 Fei = sum(zZi.^2.*(me./zmi).*xzni_norm(:,ir)')./v2;
0016 Aei = sum(zZi.^2.*(me./zmi).*xzni_norm(:,ir)'.*xzTi_norm(:,ir)')./v./v2;
0017 Btei = sum(zZi.^2.*xzni_norm(:,ir)')./v/2 - sum(zZi.^2.*xzni_norm(:,ir)'.*(me./zmi).*xzTi_norm(:,ir)')./v./v2/2;
0018 elseif coll_mode == 3,
0019 Fei = zeros(size(v));
0020 Aei = zeros(size(v));
0021 Btei = ones(size(v))/2;
0022 elseif coll_mode == 5,
0023 Fei = zeros(size(v));
0024 Aei = zeros(size(v));
0025 Btei = sum(((zZi'.^2.*xzni_norm(:,ir))*ones(1,length(v))))./v/2;
0026 else,
0027 xzTi_norm(find(xzTi_norm(:,ir)==0),ir) = eps;
0028 u = (ones(size(xzTi_norm(:,ir)))*v)./(sqrt(xzTi_norm(:,ir).*(me./zmi'))*ones(1,length(v)))./sqrt(2);
0029
0030 Fei = sum(((zZi'.^2.*(me./zmi').*xzni_norm(:,ir))*ones(1,length(v))).*(erf(u)-2*u.*exp(-u.^2)/sqrt(pi)))./v2;
0031 Aei = sum(((zZi'.^2.*xzni_norm(:,ir))*ones(1,length(v))).*(erf(u)-2*u.*exp(-u.^2)/sqrt(pi))./u./u)./v/2;
0032 Btei = sum(((zZi'.^2.*xzni_norm(:,ir))*ones(1,length(v))).*((2-1./u./u).*erf(u) + 2*exp(-u.^2)./u/sqrt(pi)))./v/4;
0033 end