[Paramesh-users] question about idest From: dongtingxing - 2009-02-10 05:43:25 Attachments: Message as HTML ```Dear professors： 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 if(lcc) then if(iopt.eq.1) then call amr_1blk_cc_prol_gen_unk_fun( & & unk1(:,:,:,:,1), & & ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff,mype, & & lb,parent_pe,parent_blk) elseif(iopt.ge.2) then .................................. endif endif 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. sincerely Tingxing Dong ```
 [Paramesh-users] question about idest From: dongtingxing - 2009-02-10 05:43:25 Attachments: Message as HTML ```Dear professors： 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 if(lcc) then if(iopt.eq.1) then call amr_1blk_cc_prol_gen_unk_fun( & & unk1(:,:,:,:,1), & & ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff,mype, & & lb,parent_pe,parent_blk) elseif(iopt.ge.2) then .................................. endif endif 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. sincerely Tingxing Dong ```
 [Paramesh-users] question about idest From: txdong - 2009-02-10 06:03:02 Attachments: Message as HTML ```Dear professors： 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 if(lcc) then if(iopt.eq.1) then call amr_1blk_cc_prol_gen_unk_fun( & & unk1(:,:,:,:,1), & & ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff,mype, & & lb,parent_pe,parent_blk) elseif(iopt.ge.2) then .................................. endif endif 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. sincerely Tingxing Dong Tingxing Dong Super Computing Center Computer Network Information Center Chinese Academy of Sciences No. 4 South 4th Street, ZhongGuanCun Beijing, China Postal code: 100190 Email: txdong@... ```
 Re: [Paramesh-users] question about idest From: Klaus Weide - 2009-02-10 20:39:19 ```Tingxing Dong, I believe that comments in PARAMESH like the following are confusing because they only describe some, but not all situations. > 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. This comment really only applies to guard cell filling, during processing of amr_1blk_guardcell. In the routine amr_prolong, the two slots in unk1 (and facevar{x,y,z}1, etc.) are used differently: slot 1 holds the parent block of a newly created leaf block; the new leaf block is assembled in slot 2. I hope this helps, Klaus ```