I am a postgraduate student from Super Computing Center of Chinese Academy of Sciences. I have recently read your group's researches on Paramesh,and I am interested in trying your approach in applying for MHD in yeast.
A piece of codes relevant to "idest" in mpi_amr_prolong.F90 in derectory of mpi_source confused me.
the codes goes as following,
! Prolong data from working block to the new child block
idest = 2
! cell-centered data
call amr_1blk_cc_prol_gen_unk_fun( &
& unk1(:,:,:,:,1), &
& ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff,mype, &
if we use Single Injection in subroutine amr_1blk_cc_prol_gen_unk_fun.F90, we will switch to amr_1blk_cc_prol_inject(recv,ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff,mype,ivar).
in that subroutine,idest is inherited from amr_prolong.F90,that is idest is given 2.
and recv is inherited from unk1(:,:,:,:,1).
according to comment lines which appeard in many ＊.F90,for example,amr_1blk_cc_cp_remote.F90
idest selects the storage space in data_1blk.fh which is to be used in this call. If the leaf node is having its guardcells filled then set this to 1, if its parent is being filled set it to 2.
then I assume that unk1(:,:,:,:,1) store leaf nodes information,unk1(:,:,:,:,2) store parents'.
However, in subrountine amr_1blk_cc_prol_inject.F90
array recv originally which extracted from the solution array unk1(:,:,:,:,1)
performs a prolongation operation on unk1(...,idest).
How could children prolong to parents?
I am not clear about this question.
Any help from anyone will be greatly appreciated.