FVCOM泥沙模块河流边界处理

简介

入流河流携带泥沙可以按照节点和边界两种形式给定,这两种方法都是在相关的节点上进行直接赋值,并不能保证进入计算域内泥沙总体积。

相关设置

XX_run.nml 河流参数设置

 &NML_RIVER_TYPE
 RIVER_NUMBER    = 101,
 RIVER_TS_SETTING        = 'specified'
 RIVER_INFLOW_LOCATION   = 'node'

XX_sediment.inp 泥沙参数设置

SED_PTSOURCE = T

相关变量

variabletypemeaning
NUMQBC_GLintegerGLOBAL NUMBER OF FRESHWATER INFLOW NODES (RIVERS)
NUMQBCintegerLOCAL NUMBER OF FRESHWATER INFLOW NODES
sed(i)%cdis(1:numqbc)real(sp), allocatable :: & allocate(sed(i)%cdis(500 ))河流入流节点泥沙边界给定值

河流入流边界

入流边界处理
mod_sed.F: Advance_Sed

  if(sed_source .and. .not. oned_model)then
    do i=1,nsed
      call bcond_scal_PTsource(sed(i)%conc, &
                               sed(i)%cnew, &
                               sed(i)%cdis) 
    end do
  endif

函数bcond_scal_PTsource中直接给边界节点赋值

mod_scal: Bcond_Scal_PTsource

  if(RIVER_TS_SETTING == 'specified') then
    if(numqbc > 0) then
      if(RIVER_INFLOW_LOCATION == 'node') then
        do i=1,numqbc
          j11=inodeq(i)
          do k=1,kbm1
            fn(j11,k)=fdis(i)
          end do
        end do
      else if(RIVER_INFLOW_LOCATION == 'edge') then
        do i=1,numqbc
          j11=n_icellq(i,1)
          j22=n_icellq(i,2)
          do k=1,kbm1
            fn(j11,k)=fdis(i)
            fn(j22,k)=fdis(i)
          end do
        end do
      end if
    end if
  end if

  return

转载于:https://www.cnblogs.com/li12242/p/5114429.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值