当前位置: 首页 > news >正文

帮我做网站推广重庆市建设工程信息网一体化平台

帮我做网站推广,重庆市建设工程信息网一体化平台,网页设计学习总结,网络营销渠道建设方案学习Tidal forcing算例 简介网格配置与地形定解条件设置初始条件设置边界条件设置开边界处的通量计算#xff08;OpenBoundaryFluxes#xff09;开边处的速度、水位#xff08;BoundaryVelocities#xff09; 其它参数配置模拟结果 简介 SUNTANS中 tidal forcing 算例的全… 学习Tidal forcing算例 简介网格配置与地形定解条件设置初始条件设置边界条件设置开边界处的通量计算OpenBoundaryFluxes开边处的速度、水位BoundaryVelocities 其它参数配置模拟结果 简介 SUNTANS中 tidal forcing 算例的全称是 Example tidal forcing in Monterey Bay。该算例模拟了 Monterey Bay 地区在潮汐作用下的水流但由于模型网格的水平分辨率较粗该模型只能模拟正压流动而无法模拟该区域的内波。通过该算例我们可以学习SUNTANS模型中tide模块的应用及潮汐边界条件的设置。 该算例的网格和参数文件位于 /examples/tides其中还包含一个简单的说明文件 README。 网格配置与地形 本例采用一个三维网格。从水平面上看计算域如下图所示其网格均为三角形。从垂向看网格被分为了10层suntans.dat Nkmax10, rstretch1。 注意下图所示网格仅是输入时候的网格在模型中网格的 Voronoi 点需要被校正之后才会进行模拟。当要对网格的 Voronoi 点进行校正时suntans.dat 文件中的 CorrectVoronoi 要被设置成 -1校正参数 VoronoiRatio 需要被指定。在本算例中 VoronoiRatio 85即对于任何最大角大于85°的三角形网格其 Voronoi 点需要被校正。 注意上图中不同颜色的计算域边界线表示了不同类型的边界。其中紫红色线的编号为1marker1表示陆地边界闭边界绿色线的编号为2marker2表示受潮汐作用的开边界 计算域的地形数据存储在 /examples/tides/rundata/mbay_bathy.dat 文件中。在运行SUNTANS时该文件中的数据将被插值到每个网格的 Voronoi 点上。因为这个过程可能会花费相当长的时间所以最好只在必要时运行它并在之后的运行中使用预插值的水深测量/examples/tides/rundata/mbay_bathy-voro。 如果在模型运行过程中进行了地形数据插值一个名为 mbay_bathy.dat-voro 将会被输出并出现在结果文件夹 /examples/tides/data 中。是否进行地形插值计算可通过设置输入文件中 suntans.dat 来实现。当 suntans.dat 中的 IntDepth 被设置为1时插值过程将会进行即模型将在 rundata 文件夹中读取 mbay_bathy.dat 文件并输出插值后的数据文件 mbay_bathy.dat-voro若 IntDepth 被设置为2模型则会直接读取 mbay_bathy.dat-voro 的数据即不进行插值计算。由于自带算例文件中已经包含 mbay_bathy.dat-voro 文件故本算例的 IntDepth 被设置为2。 请注意若Voronoi点发生改变地形数据都应该被重新插值。 插值后的静水深如下图所示。 定解条件设置 初始条件设置 在本算例中初始的水位和流速值需要设定。初始条件的相关设置参见 initialization.c 文件。 函数GetDZ对本算例此函数不重要略作介绍 该函数用于确定垂向网格。对于本算例rstretch1所以垂向网格通过水面、最深点和垂向最大网格数推算得出。函数ReturnDepth对本算例此函数并没有被调用因为仅当IntDepth0时此函数才被调用此处不讲解函数ReturnFreeSurface重要用于给定水位的初始条件。 对于本算例初始水位为0故设置如下REAL ReturnFreeSurface(REAL x, REAL y, REAL d) {return 0.0; }函数ReturnSalinity和ReturnTemperature用于确定初始时刻的盐度/温度场不重要 由于state.c中的设置REAL StateEquation(const propT *prop, const REAL s, const REAL T, const REAL p) {return prop-beta*s; }水体密度仅和水体盐度相关。而系数beta0suntans.dat中设定故可认为本例中盐度和温度设置对流动过程没有影响。函数ReturnHorizontalVelocity设定了初始时的水平流速场REAL ReturnHorizontalVelocity(REAL x, REAL y, REAL n1, REAL n2, REAL z) {return 0.0; }边界条件设置 在本算例中需要设定的边界条件有两部分.一是陆地边界marker1二是受潮汐驱动的开边界marker2。相关设置都在 initialization.c 文件中。 开边界处的通量计算OpenBoundaryFluxes void OpenBoundaryFluxes(REAL **q, REAL **ub, REAL **ubn, gridT *grid, physT *phys, propT *prop) {int j, jptr, ib, k, forced;REAL **uc phys-uc, **vc phys-vc, **ucold phys-uold, **vcold phys-vold;REAL z, c0, c1, C0, C1, dtprop-dt, u0, u0new, uc0, vc0, uc0old, vc0old, ub0;for(jptrgrid-edgedist[2];jptrgrid-edgedist[3];jptr) {j grid-edgep[jptr];ib grid-grad[2*j];for(kgrid-etop[j];kgrid-Nke[j];k) { ub[j][k] phys-boundary_u[jptr-grid-edgedist[2]][k]*grid-n1[j] phys-boundary_v[jptr-grid-edgedist[2]][k]*grid-n2[j]; }} }上面的代码指定了在所有marker2的边上grid-edgedist[2]速度ub为是 (boundary_u, boundary_v) 在边界法相量 (n1, n2)上的投影 ub[j][k] phys-boundary_u[jptr-grid-edgedist[2]][k]*grid-n1[j] phys-boundary_v[jptr-grid-edgedist[2]][k]*grid-n2[j]; (boundary_u, boundary_v) 将在函数BoundaryVelocities中设定。 开边处的速度、水位BoundaryVelocities void BoundaryVelocities(gridT *grid, physT *phys, propT *prop, int myproc, MPI_Comm comm) {int i, j, jind, iptr, jptr, n, k;REAL h, u, v, toffSet, secondsPerDay 86400.0;if(prop-nprop-nstart1) SetTideComponents(grid,myproc);// Tidal data is from the start of a particular year, so an offset // needs to be used to start the simulation on a particular date.// Note that the offset time is in days, and must be converted to seconds// using the secondsPerDay variable.toffSet MPI_GetValue(DATAFILE,toffSet,BoundaryVelocities,myproc)*secondsPerDay;for(jptrgrid-edgedist[2];jptrgrid-edgedist[3];jptr) {jind jptr-grid-edgedist[2];j grid-edgep[jptr];uvh0;for(n0;nnumtides;n) {h h h_amp[jind][n]*cos(omegas[n]*(toffSetprop-rtime) h_phase[jind][n]);u u u_amp[jind][n]*cos(omegas[n]*(toffSetprop-rtime) u_phase[jind][n]);v v v_amp[jind][n]*cos(omegas[n]*(toffSetprop-rtime) v_phase[jind][n]);}// Velocities from tides.c are in cm/s and h is in cm!phys-boundary_h[jind]h*(1-exp(-prop-rtime/prop-thetaramptime))/100.0;for(kgrid-etop[j];kgrid-Nke[j];k) {phys-boundary_u[jind][k]u*(1-exp(-prop-rtime/prop-thetaramptime))/100.0;phys-boundary_v[jind][k]v*(1-exp(-prop-rtime/prop-thetaramptime))/100.0;phys-boundary_w[jind][k]0;}}for(iptrgrid-celldist[1];iptrgrid-celldist[2];iptr) {jind iptr-grid-celldist[1]grid-edgedist[3]-grid-edgedist[2];i grid-cellp[iptr];uvh0;for(n0;nnumtides;n) {h h h_amp[jind][n]*cos(omegas[n]*(toffSetprop-rtime) h_phase[jind][n]);u u u_amp[jind][n]*cos(omegas[n]*(toffSetprop-rtime) u_phase[jind][n]);v v v_amp[jind][n]*cos(omegas[n]*(toffSetprop-rtime) v_phase[jind][n]);}// Velocities from tides.c are in cm/s and h is in cm!phys-h[i]h*(1-exp(-prop-rtime/prop-thetaramptime))/100.0;for(kgrid-ctop[i];kgrid-Nk[i];k) {phys-uc[i][k]u*(1-exp(-prop-rtime/prop-thetaramptime))/100.0;phys-vc[i][k]v*(1-exp(-prop-rtime/prop-thetaramptime))/100.0;phys-w[i][k]0;}} }首先调用tide.c中的SetTideComponents函数。该函数会读取输入文件夹中的潮汐参数文件该参数文件的名字在suntans.dat中被指定 TideInput tidecomponents.dat TideOutput tidexy.dat即潮汐参数文件的文件名为tidecomponents.dat。该数据文件是二进制格式包含了分潮数 numtides、开边界的edges数 numboundaryedges以及对应的各个分潮的角频率 omega水平流速、水位振幅 amp 和相位角 phase。 此外BoundaryVelocities还会读取 suntans.dat 中的一个数据 toffSet。这个数据表示模拟起始时间与tidecomponents.dat起始时间的偏移量单位为天。在本算例中toffSet7。 prop-nctime prop-toffSet*86400.0 prop-nstart*prop-dt;随后第一个循环 for(jptrgrid-edgedist[2];jptr grid-edgedist[3];jptr) 中根据不同分潮的参数求出了水位h和水平流速u、v的值并用这些值确定了开边界的boundary_u、boundary_v、boundary_w。同时为了避免潮汐边界条件在脉冲启动时的瞬态振荡潮汐边界的添加还涉及了“缓坡启动”设置的启动时间 thetaramptime86400s suntans.dat。 在第二个循环 for(iptrgrid-celldist[1];iptr grid-celldist[2];iptr) 中设定边界处的网格中心的流速uc、vc和w与边界处相等即 uc boundary_u、vc boundary_v、wc boundary_w。 其它参数配置 该算例采用静压模拟suntans.dat: nonhydrostatic 0时间步长为Δt90s suntans.dat: dt 90总共运行3000个时间步suntans.dat: nstep 13440并每隔120步输出一次结果suntans.dat: ntout 1344。 水体的分子粘度采用 0.1 m2/s垂向粘度通过求解MY-2.5紊流模型得到。 动量平流项采用中心差分格式suntans.dat: nonlinear 2。 此外模拟考虑了科氏力效应设置科氏力系数Coriolis_f 8.7e-5。 模拟结果 以下展示水位的模拟结果TStep13440; T14days。
http://www.w-s-a.com/news/67807/

相关文章:

  • 一家专做有机蔬菜的网站万户网络是干嘛的
  • 十堰百度网站建设八宝山做网站公司
  • 地区电商网站系统建筑施工图纸培训班
  • 网站外包维护一年多少钱医院网站 功能
  • 电子商务市场的发展前景seo推广平台服务
  • 乐清网页设计公司哪家好seo推广任务小结
  • 360建筑网是什么pc优化工具
  • 越秀免费网站建设风景区网站建设项目建设可行性
  • 网站建站公司一站式服务学校网站开发招标
  • asp.net mvc 5 网站开发之美电商网站 流程图
  • 室内设计素材网站推荐郑州专业做淘宝网站建设
  • 新建的网站怎么做seo优化模板规格尺寸及价格
  • 平湖网站设计做电子元器件销售什么网站好
  • 可视化网站模板我想建个网站网站怎么建域名
  • 达州网站建设qinsanw南京市建设发展集团有限公司网站
  • django 网站开发实例公司排行榜
  • 韩国做美食网站阳江网站建设 公司价格
  • 网站开发哪里接业务长春高端模板建站
  • 深圳网站制作公司方案dw一个完整网页的代码
  • asp手机网站源码下载做seo推广网站
  • 网站优化建议怎么写网站维护主要有哪些内容和方法
  • 建设网站需要钱吗网络推广加盟
  • 高清素材图片的网站泰安网签备案查询
  • 自助网站建设怎么建设房地产的最新政策
  • 企业网站 生成html网站侵权怎么做公证或证据保存
  • php 手机网站cms系统购物网站制作流程
  • 网络公司网站开发河北省城乡住房和建设厅网站
  • 做网站配置wordpress 中文api
  • 怎样把网站做的好看县蒙文网站建设汇报
  • 网站的优化什么做广西桂林新闻最新消息