Calculates an array of total charge exchange cross sections for a Neutral Hydrogen atom
in the n=1...n_max states colliding with a ion with charge q at energy eb
Note
Uses ADAS(Ref. 4) cross sections if available else uses Janev (Ref. 5) cross sections
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
function Aq_cx(eb,q,n_max)result(sigma)!+ Calculates an array of total charge exchange cross sections for a Neutral Hydrogen atom!+in the n=1...n_max states colliding with a ion with charge `q` at energy `eb`!+!+@note Uses ADAS(Ref. 4) cross sections if available else uses Janev (Ref. 5) cross sections!+!+###Equation!+$$ A^{q+} + H(n=1..n_{max}) \rightarrow A^{(q-1)+} + H^+, q \gt 3 $$!+!+###References!+* Ref. 4 [[atomic_tables(module)]]!+* Page 174 in Ref. 5 [[atomic_tables(module)]]real(Float64),intent(in)::eb!+ Relative collision energy [keV/amu]integer,intent(in)::q!+ Ion chargeinteger,intent(in)::n_max!+ Number of initial atomic energy levels/statesreal(Float64),dimension(n_max)::sigma!+ Array of cross sections where the n'th index refers to a charge exchange from the n'th state [\(cm^2\)]integer::ndo n=1,n_maxsigma(n)=Aq_cx_n(eb,q,n)enddoend function Aq_cx