c************************************************************************ subroutine stalk_scat_int(ppol,mmech,mmech_c, sp_ave) c************************************************************************ complex h_stalk,sp_ave real pi,mpi integer pol,mech,mech_c integer ppol,mmech,mmech_c common /index/ pol,mech,mech_c external h_stalk pi=3.141592654 mpi=-pi pol=ppol mech=mmech mech_c=mmech_c call integral1(h_stalk,mpi,pi,sp_ave) return end c************************************************************************ complex function h_stalk(phii) c************************************************************************ complex g_stalk,result real amin,amax,z0min,z0max real phi_s,a_s,z0 real phii real stalk_alpha_pdf external g_stalk common /stalk_limits/ amin,amax,z0min,z0max common /stalk_state/ phi_s,a_s,z0 phi_s=phii call integral2(g_stalk,amin,amax, result) h_stalk=result*stalk_alpha_pdf(phi_s) print*,'h_stalk' return end c************************************************************************ complex function g_stalk(aa) c************************************************************************ complex i_stalk,result real amin,amax,z0min,z0max real phi_s,a_s,z0 real aa real stalk_a_pdf external i_stalk common /stalk_limits/ amin,amax,z0min,z0max common /stalk_state/ phi_s,a_s,z0 a_s=aa call integral3(i_stalk,z0min,z0max, result) g_stalk=result*stalk_a_pdf(a_s) return end c************************************************************************ complex function i_stalk(zz0) c************************************************************************ complex stalk_scat real phi_s,a_s,z0 real zz0 real stalk_z0_pdf integer pol,mech,mech_c common /stalk_state/ phi_s,a_s,z0 common /index/ pol,mech,mech_c z0=zz0 i_stalk=stalk_scat(phi_s,a_s,z0,pol,mech,mech_c)* & stalk_z0_pdf(z0) return end