zoukankan      html  css  js  c++  java
  • FVCOM泥沙模块河流边界处理

    简介

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

    相关设置

    XX_run.nml 河流参数设置

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

    XX_sediment.inp 泥沙参数设置

    SED_PTSOURCE = T
    

    相关变量

    variable type meaning
    NUMQBC_GL integer GLOBAL NUMBER OF FRESHWATER INFLOW NODES (RIVERS)
    NUMQBC integer LOCAL 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
    
  • 相关阅读:
    Nodejs怎样在服务端写定时脚本,自动备份MongoDB数据库,并记录日志
    nodejs-websocket初使用
    CSS3的复习笔记
    ES6的新增特性
    Windows下初体验MongoDB数据库
    Node.js数据库的配置,封装query
    Nuxt+Vuex初体验
    Vue+Vuex初体验
    github二级域名配置
    钉钉静默安装
  • 原文地址:https://www.cnblogs.com/li12242/p/5114429.html
Copyright © 2011-2022 走看看