本文整理汇总了C++中Fix::min_rad方法的典型用法代码示例。如果您正苦于以下问题:C++ Fix::min_rad方法的具体用法?C++ Fix::min_rad怎么用?C++ Fix::min_rad使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fix
的用法示例。
在下文中一共展示了Fix::min_rad方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: min_radius
double Properties::min_radius()
{
const double maxtype = max_type();
double minRadius = BIG;
// check local particles
for (int i=0;i<atom->nlocal;i++)
{
const double irad = atom->radius[i];
// minimum
if (irad < minRadius)
minRadius = irad;
}
// check all fixes
// such as fix insert, fix change/type, fix wall, fix pour
for(int i=0;i<modify->nfix;i++)
{
// checks
Fix *fix = modify->fix[i];
if(!fix->use_rad_for_cut_neigh_and_ghost())
continue;
// loop over all types since min_rad(int) and max_rad(int) need a type
for (int j=1;j<maxtype+1;j++)
{
const double f_minrad = fix->min_rad(j);
if(f_minrad > SMALL && f_minrad < minRadius)
minRadius = f_minrad;
}
}
//Get min/max from other procs
double minRadius_all;
MPI_Allreduce(&minRadius,&minRadius_all, 1, MPI_DOUBLE, MPI_MIN, world);
minRadius = minRadius_all;
//error check
if(minRadius <= SMALL)
error->all(FLERR,"Atom radius must be bigger than zero for granular simulations");
return minRadius;
}