sph求解器
目前仅支持液体模拟
subroutine run()
integer :: i
! 读取配置文件
call spc_obj%read()
call tic_obj%read()
call ioc_obj%read()
! 读取粒子属性
call pnl_obj%read()
call pif_obj%read(rgn_obj)
allocate (float_obj(pif_obj%numbers(5))) ! 初始化浮动粒子对象
do i = 1, pif_obj%numbers(5)
call float_obj(i)%init(pif_obj%ptc, istart=pif_obj%float_objects(1, i), &
iend=pif_obj%float_objects(2, i))
end do
! 储存固定粒子属性
call rgn_obj%create_backup(backup, istart=pif_obj%nreal + 1, iend=pif_obj%numbers(4))
! 初始化输出文件
call pif_obj%open()
call pif_obj%write(0.0_rk)
call skf_obj%init()
call exf_obj%init()
call eow_obj%init()
call dsm_obj%init()
call nnps_grid%init(rgn_obj%loc, pif_obj%numbers(4))
call pairs%init(pif_obj%numbers(4)) ! 4096 是初始化的预估粒子对数
! ! 力学时间积分求解并输出结果
call tig_obj%init()
call tig_obj%run()
! 析构
call pif_obj%close()
call mem_obj%init()
call mem_obj%report()
end subroutine run