SMOOTH_LENGTH

(optional) define flag for smoothing length definition

In the alias section, the SMOOTH_LENGTH flag references a smoothing length for the boundary element it is attached to. Prerequisite: this method of assigning and defining the smoothing length only works if the UCV parameter USER_h_funct is either set to else the statements do not have an effect. Depending on the type of boundary element, the behaviour is different:
  • If SMOOTH_LENGTH is attached to a point BND_point, then the condition defined in the SMOOTH_LENGTH will be evaluated with respect to that point.
  • If SMOOTH_LENGTH is used on triangulated boundaries (BND_tria), MESHFREE will sample several positions on this boundary element and the condition defined in SMOOTH LENGTH will be defined with respect to these positions.
The smoothing length applies to all points within the CHAMBER. If multiple smoothing lengths per chamber are defined and attached, then for each point in the chamber all smoothing lengths are evaluated and the final smoothing length is the minimum over all smoothing lengths. This functionality can for example be used to refine locally around boundary elements. Warning : Applying a smoothing length to a large geometry is computational very expensive and thus will significantly slow down MESHFREE in its pointcloud organization step. So it is good practice to avoid assigning a SMOOTH_LENGTH to large boundary elements. Example 1: Constant smoothing length attached to a point
USER_h_funct = 'DSCR' USER_h_min = "0.1" USER_h_max = "2.0" SMOOTH_LENGTH($SL1$) = ( %H_constant%, 0.1 ) #definition of a (constant) smoothing length $SL1$ ... begin_boundary_elements{} BND_point &dummyPointSmooth& 0 0 0 #defines a point in the origin (0,0,0) end_boundary_elements{} ... begin_alias{} "dummyPointSmooth" = " SMOOTH_LENGTH$SL1$ CHAMBER1 " # establishes the link between the smoothing length $SL1$ and the chamber. end_alias
Example 2: Local spherical refinement around boundary alias "RefineAroundThisBE"
USER_h_funct = 'DSCR' USER_h_min = "0.1" USER_h_max = "2.0" SMOOTH_LENGTH($SL2$) = ( %H_spherical%, 0.1, 0.5, 0.1, 1.0 ) #definition of a (spherical refined) smoothing length $SL2$ ... begin_alias{} "RefineAroundThisBE" = " BC$...$ ACTIVE$...$ IDENT%...% MAT$...$ TOUCH%...% MOVE$...$ SMOOTH_LENGTH$SL2$ CHAMBER1 " # attach smoothing length $SL2$ to boundary element end_alias
See SmoothingLength for more information.