空间划分与粒子相互作用(interaction) 实例

本文介绍了开源软件SPHysics如何利用SPH方法研究流体动力学,特别是关注其空间划分和粒子碰撞搜索的过程。通过FORTRAN代码,文章详细阐述了SPH方法的实现步骤,包括空间划分、粒子链表构造、邻居粒子的交互搜索及粒子变量的更新等关键环节。
摘要由CSDN通过智能技术生成

SPHysics 是采用SPH(光滑粒子流)方法研究流体动力学的开源软件。源码中用到了均匀空间划分方法和邻居粒子碰撞搜索(searching & interaction),作为完善前两篇的实例。本文学习SPHysics这部分代码(FORTRAN)。仅供参考。


首先,SPH方法程序实现大致有如下几个过程:空间划分、构造粒子链表;碰撞(interaction)对搜索、粒子变量更新(加速度、速度、位移、压强、密度..)

// 链表初始化
subroutine ini_divide(kind_p) 
	  do i=1, nct !对划分格子(单元)循环
	  	nc(i, kind_p) =0 !单元内粒子数目初始为0		
		ibox(i,kind_p,1:nplink_max)=0 !当前单元内"碰撞对"为0
	  enddo
	  return
end subroutine 
subroutine divide(n_start, n_end, kind_p)
do k=n_start, n_end !对所有流体粒子循环
	if(iflag(k).ne.1) then 
	  		dx=xp(k)-xmin 
	  		dz=zp(k)-zmin
	  		icell= int(dx*one_over_2h)+1 
!粒子k落入单元的X编号
			kcell=int (d
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值