当前位置: 首页>>代码示例>>C++>>正文


C++ Fix::min_rad方法代码示例

本文整理汇总了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;
}
开发者ID:AlexeySmolin,项目名称:LIGGGHTS-MCA,代码行数:44,代码来源:properties.cpp


注:本文中的Fix::min_rad方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。