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 e_excit(eb,n_max,m_max)result(sigma)!+Calculates a matrix of cross section for a proton-Hydrogen impact excitation transition!+from the \(n=1..n_{max} \rightarrow m=1..m_{max}\) states at energy `eb`!+!+###Equation!+$$ e + H(n=1..n_{max}) \rightarrow e + H(m=1..m_{max}), m \gt n $$!+!+###References!+* Eq. 5 and Table 2 in Ref. 2 [[atomic_tables(module)]]!+* Eqs. 6-7 in Ref. 2 [[atomic_tables(module)]]!+* Section 2.1.1 B in Ref. 2 [[atomic_tables(module)]]!+real(Float64),intent(in)::eb!+ Relative collision energy [keV/amu]integer,intent(in)::m_max!+ Number of initial atomic energy levels/statesinteger,intent(in)::n_max!+ Number of final atomic energy levels/statesreal(Float64),dimension(n_max,m_max)::sigma!+ Matrix of cross sections where the subscripts correspond!+ to the \(n \rightarrow m\) transitions: e_excit[n,m] [\(cm^2\)]real(Float64),dimension(12,12)::sigma_fullinteger::ndo n=1,12sigma_full(n,:)=e_excit_n(eb,n,12)enddosigma=sigma_full(1:n_max,1:m_max)end function e_excit