00001 subroutine source_MWspatial_WL(souvec)
00002 use grid_parameter, only : nrg, ntg, npg
00003 use interface_sourceterm_MWspatial_current_CF
00004 use interface_sourceterm_MWspatial_current_WL
00005 use interface_sourceterm_MWspatial_CF
00006 use interface_sourceterm_MWspatial_WL
00007 use make_array_4d
00008 implicit none
00009 real(8), pointer :: souvec(:,:,:,:)
00010 real(8), pointer :: souvec1(:,:,:,:), souvec2(:,:,:,:),
00011 souvec3(:,:,:,:), souvec4(:,:,:,:)
00012
00013 call alloc_array4d(souvec1,0,nrg,0,ntg,0,npg,1,3)
00014 call alloc_array4d(souvec2,0,nrg,0,ntg,0,npg,1,3)
00015 call alloc_array4d(souvec3,0,nrg,0,ntg,0,npg,1,3)
00016 call alloc_array4d(souvec4,0,nrg,0,ntg,0,npg,1,3)
00017
00018 call sourceterm_MWspatial_current_CF(souvec1)
00019 call sourceterm_MWspatial_current_WL(souvec2)
00020 call sourceterm_MWspatial_CF(souvec3)
00021 call sourceterm_MWspatial_WL(souvec4)
00022 souvec(0:nrg,0:ntg,0:npg,1:3) = souvec1(0:nrg,0:ntg,0:npg,1:3) &
00023 & + souvec2(0:nrg,0:ntg,0:npg,1:3) &
00024 & + souvec3(0:nrg,0:ntg,0:npg,1:3) &
00025 & + souvec4(0:nrg,0:ntg,0:npg,1:3)
00026
00027 deallocate(souvec1)
00028 deallocate(souvec2)
00029 deallocate(souvec3)
00030 deallocate(souvec4)
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 end subroutine source_MWspatial_WL