📄 paramesh_interfaces.f90
字号:
!----------------------------------------------------------------------! PARAMESH - an adaptive mesh library.! Copyright (C) 2003!! Use of the PARAMESH software is governed by the terms of the! usage agreement which can be found in the file! 'PARAMESH_USERS_AGREEMENT' in the main paramesh directory.!----------------------------------------------------------------------! Modification history:!! Modification history:! Michael L. Rilee, November 2002, *dbz*! Initial support for divergenceless prolongation! Michael L. Rilee, December 2002, *clean_divb*! Support for projecting field onto divergenceless field!!#ifdef HAVE_CONFIG_H!#include <config.h>!#endif!!REORDER(5): unk, facevar[xyz], tfacevar[xyz]!!REORDER(4): recvar[xyz]f#include "paramesh_preprocessor.fh" module paramesh_interfaces interface subroutine amr_1blk_bc(mype,cneigh,iopt,nlayers,lb,pe, & & idest,icoord) integer, intent(in) :: mype,iopt,nlayers integer, intent(in) :: lb,pe,idest,icoord integer, dimension(2,6), intent(in) :: cneigh end subroutine amr_1blk_bc end interface interface subroutine amr_1blk_bcset(mype,ibc,lb,pe, & & idest,iopt,ibnd,jbnd,kbnd,surrblks) integer, intent(in) :: mype,ibc,lb,pe integer, intent(in) :: idest,iopt,ibnd,jbnd,kbnd integer, intent(in) :: surrblks(:,:,:,:) end subroutine amr_1blk_bcset end interface interface subroutine amr_1blk_cc_cp_remote(mype,remote_pe,remote_block, & & idest,iopt,id,jd,kd,is,js,ks,ilays,jlays,klays,nblk_ind) integer, intent(in) :: mype,remote_pe,remote_block integer, intent(in) :: idest,iopt,id,jd,kd,is,js,ks integer, intent(in) :: ilays,jlays,klays,nblk_ind end subroutine amr_1blk_cc_cp_remote end interface interface subroutine amr_1blk_nc_cp_remote(mype,remote_pe,remote_block, & & idest,id,jd,kd,is,js,ks,ilays,jlays,klays,ip1,jp1,kp1, & & ip3,jp3,kp3,nblk_ind) integer, intent(in) :: mype,remote_pe,remote_block integer, intent(in) :: idest,id,jd,kd,is,js,ks integer, intent(in) :: ilays,jlays,klays integer, intent(in) :: ip1,jp1,kp1,ip3,jp3,kp3 integer, intent(in) :: nblk_ind end subroutine amr_1blk_nc_cp_remote end interface interface subroutine amr_1blk_cc_prol_gen_unk_fun(recv,ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,lb,pe_p,lb_p) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: lb,lb_p,pe_p real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_cc_prol_gen_unk_fun end interface interface subroutine amr_1blk_cc_prol_inject(recv,ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,ivar) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_cc_prol_inject end interface interface subroutine amr_1blk_cc_prol_linear(recv,ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,ivar) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_cc_prol_linear end interface interface subroutine amr_1blk_cc_prol_genorder(recv,ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,ivar,order) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar,order real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_cc_prol_genorder end interface interface subroutine amr_1blk_cc_prol_user(recv,ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,lb,pe_p,lb_p,ivar) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: lb,lb_p,pe_p integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_cc_prol_user end interface interface subroutine amr_1blk_cc_prol_gen_work_fun(recv, & & ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,lb,pe_p,lb_p,interp) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: lb,lb_p,pe_p,interp real, intent(inout) :: recv(:,:,:) end subroutine amr_1blk_cc_prol_gen_work_fun end interface interface subroutine amr_1blk_cc_prol_work_inject(recv, & & ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype real, intent(inout) :: recv(:,:,:) end subroutine amr_1blk_cc_prol_work_inject end interface interface subroutine amr_1blk_cc_prol_work_linear(recv, & & ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype real, intent(inout) :: recv(:,:,:) end subroutine amr_1blk_cc_prol_work_linear end interface interface subroutine amr_1blk_cc_prol_work_genorder(recv, & & ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,order) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: order real, intent(inout) :: recv(:,:,:) end subroutine amr_1blk_cc_prol_work_genorder end interface interface subroutine amr_1blk_cc_prol_work_user(recv, & & ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff,mype,lb,pe_p,lb_p) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: lb,lb_p,pe_p real, intent(inout) :: recv(:,:,:) end subroutine amr_1blk_cc_prol_work_user end interface interface subroutine amr_1blk_copy_soln(level) integer, intent(in) :: level end subroutine amr_1blk_copy_soln end interface interface subroutine amr_1blk_ec_cp_remote(mype,remote_pe,remote_block, & & idest,id,jd,kd,is,js,ks,ilays,jlays,klays,ip1,jp1,kp1, & & ip2,jp2,kp2,ip3,jp3,kp3,iface,nblk_ind) integer, intent(in) :: mype,remote_pe,remote_block integer, intent(in) :: idest,id,jd,kd,is,js,ks integer, intent(in) :: ilays,jlays,klays integer, intent(in) :: ip1,jp1,kp1,ip2,jp2,kp2,ip3,jp3,kp3,iface integer, intent(in) :: nblk_ind end subroutine amr_1blk_ec_cp_remote end interface interface subroutine amr_1blk_fc_cp_remote(mype,remote_pe,remote_block, & & idest,id,jd,kd,is,js,ks,ilays,jlays,klays,ip1,jp1,kp1, & & ip2,jp2,kp2,iface,nblk_ind) integer, intent(in) :: mype,remote_pe,remote_block integer, intent(in) :: idest,id,jd,kd,is,js,ks integer, intent(in) :: ilays,jlays,klays integer, intent(in) :: ip1,jp1,kp1,ip2,jp2,kp2,iface integer, intent(in) :: nblk_ind end subroutine amr_1blk_fc_cp_remote end interface interface subroutine amr_1blk_ec_prol_gen_fun(recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,iface) integer, intent(in) :: ia,ib,ja,jb,ka,kb,idest integer, intent(in) :: ioff,joff,koff,mype,iface real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_ec_prol_gen_fun end interface interface subroutine amr_1blk_ec_prol_linear & & (recv,ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff, & & mype,ivar,iedge_dir) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_ec_prol_linear end interface interface subroutine amr_1blk_ec_prol_genorder & & (recv,ia,ib,ja,jb,ka,kb,idest,ioff,joff,koff, & & mype,ivar,iedge_dir,order) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar,iedge_dir,order real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_ec_prol_genorder end interface interface subroutine amr_1blk_ec_prol_user() end subroutine amr_1blk_ec_prol_user end interface interface subroutine amr_1blk_nc_prol_gen_fun(recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype) integer, intent(in) :: ia,ib,ja,jb,ka,kb,idest integer, intent(in) :: ioff,joff,koff,mype real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_nc_prol_gen_fun end interface interface subroutine amr_1blk_nc_prol_linear(recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,ivar) integer, intent(in) :: ia,ib,ja,jb,ka,kb,idest integer, intent(in) :: ioff,joff,koff,mype integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_nc_prol_linear end interface interface subroutine amr_1blk_nc_prol_genorder( & & recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,ivar,order) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar,order real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_nc_prol_genorder end interface interface subroutine amr_1blk_nc_prol_user() end subroutine amr_1blk_nc_prol_user end interface interface subroutine amr_1blk_fc_prol_gen_fun(recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,lb,pe_p,lb_p,iface) integer, intent(in) :: ia,ib,ja,jb,ka,kb,idest integer, intent(in) :: ioff,joff,koff,mype,iface integer, intent(in) :: lb,lb_p,pe_p real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_fc_prol_gen_fun end interface interface subroutine prol_fc_dbz_init(n,i_fc_vars) integer, intent(in) :: n, i_fc_vars(:,:) end subroutine prol_fc_dbz_init end interface interface function prol_fc_dbz_varp(ivar, iface) result(ldbz) integer, intent(in) :: ivar, iface logical :: ldbz end function prol_fc_dbz_varp end interface interface subroutine amr_1blk_fc_prol_dbz( & & recvfx, recvfy, recvfz, & & nfacevar, iv1, iv2, iv3 & & ,ia,ib,ja,jb,ka,kb, & & idest,ioff,joff,koff, & & mype,lb,parent_pe,parent_blk) real, intent(inout), dimension(:,:,:,:) :: recvfx,recvfy,recvfz integer, intent(in) :: nfacevar, iv1, iv2, iv3 integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff integer, intent(in) :: mype,lb,parent_pe,parent_blk end subroutine amr_1blk_fc_prol_dbz end interface interface subroutine amr_1blk_fc_prol_inject( & & recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,iface,ivar) integer, intent(in) :: ia,ib,ja,jb,ka,kb,idest integer, intent(in) :: ioff,joff,koff,mype,iface integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_fc_prol_inject end interface interface subroutine amr_1blk_fc_prol_linear( & & recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,iface,ivar) integer, intent(in) :: ia,ib,ja,jb,ka,kb,idest integer, intent(in) :: ioff,joff,koff,mype,iface integer, intent(in) :: ivar real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_fc_prol_linear end interface interface subroutine amr_1blk_fc_prol_genorder( & & recv,ia,ib,ja,jb,ka,kb,idest, & & ioff,joff,koff,mype,iface,ivar,order) integer, intent(in) :: ia,ib,ja,jb,ka,kb integer, intent(in) :: idest,ioff,joff,koff,mype integer, intent(in) :: ivar,iface,order real, intent(inout) :: recv(:,:,:,:) end subroutine amr_1blk_fc_prol_genorder end interface interface subroutine amr_1blk_fc_prol_user( &
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -