fluid timestep
版本是GitHub master分支。
AcousticTimeStep
在fluid_time_step.h中可以看到,这个类采用的归约操作是全局最大化:LocalDynamicsReduce<ReduceMax>。
查看fluid_time_step.cpp
Real AcousticTimeStep::reduce(size_t index_i, Real dt)
{
return fluid_.getSoundSpeed(p_[index_i], rho_[index_i]) + vel_[index_i].norm();
}可以看到被归约的变量是,也即。
Real AcousticTimeStep::outputResult(Real reduced_value)
{
// since the particle does not change its configuration in pressure relaxation step
// I chose a time-step size according to Eulerian method
return acousticCFL_ * h_min_ / (reduced_value + TinyReal);
}最终的结果是
SurfaceTensionTimeStep
继承于AcousticTimeStep,用于需要考虑表面张力的case。最终结果是
AdvectionTimeStep
最终结果是
这里是特征速度,由用户给定,溃坝案例中是。
AdvectionViscousTimeStep
继承于AdvectionTimeStep,用于需要考虑物理粘度的case。最终结果是
这里是运动粘度。
Last updated