GfsRefineSolid

From Gerris

Revision as of 21:44, 5 March 2007; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

GfsRefineSolid will refine any cell intersected by an embedded solid boundary down to the specified number of levels.

The syntax in parameter files is

[ GfsRefine ]

GfsRefineSolid also creates a new derived variable SolidCurvature which contains the maximum of the mean surface curvature for the fragment of embedded surface contained in a cell. If the mean curvature in a cell cannot be computed — for example because several non-connected fragments of surface intersect the cell — the value of SolidCurvature is set to 1/(cell size).

SolidCurvature can be used to refine an embedded surface according to its mean curvature using for example

RefineSolid {
  if (SolidCurvature > 0.) {
    /* compute the level so that (radius of curvature) > 5*(cell size) */
    gint l = log(SolidCurvature/0.2)/log(2.);
    return l < 8 ? 8 : l > 12 ? 12 : l;
  }
  else
    return 8;
}
Personal tools
communication