BE_MAP

Define mapping from points to BE

To map values from nearby points to the centroids of boundary elements one may specify
BE_MAP($BEmap1$) = ( ExpressionToMap, OPTIONAL: BeFilterExpression , OPTIONAL: PointFilterExpression , OPTIONAL: iMethod , OPTIONAL: alphaKernel )
The results of this mapping may then be saved via
SAVE_BE_ITEM = ( %SAVE_scalar%, [ BEmap($BEmap1$) ], "BE_BEmap1" )
Note: This functionality should currently only be used in conjunction with SAVE_BE_ITEM and BEmap(). Arguments :
  • ExpressionToMap : This expression is evaluated for each point which is included in the mapping and its result is mapped to the BE, e.g. inline equation
  • BeFilterExpression : Boundary elements are only included in the mapping if the result of this expression is bigger than zero, default : 1.0 (filtering off, i.e. consider all BEs)
  • PointFilterExpression : Points are only included in the mapping if the result of this expression is bigger than zero, default : 1.0 (filtering off, i.e. consider all points)
  • iMethod : Mapping method (see below), default : %EQN_BEmap_ClosestPoint%
  • alphaKernel : Parameter to control the shape of the weighting function for %EQN_BEmap_Shephard%, default : 1
Mapping methods : Examples :
  • Use default mapping method for BEs in any chamber and without any point filtering (to map the total pressure to the boundary)
    BE_MAP($BEmap1$) = ( [ Y%ind_p% + Y%ind_p_dyn% ] )
  • Use default mapping method for BEs in chamber 1 and without any point filtering (to map the total pressure to the boundary)
    BE_MAP($BEmap1$) = ( [ Y%ind_p% + Y%ind_p_dyn% ], [ BEcham(0)= 1 ] )
  • Choose mapping method for BEs of any chamber and without any point filtering (to map the total pressure to the boundary)
    BE_MAP($BEmap1$) = ( [ Y%ind_p% + Y%ind_p_dyn% ], 1.0, 1.0, %EQN_BEmap_ClosestPoint% )
  • Choose mapping method for BEs in chamber 1 and filter out interior and free surface points from candidates for mapping (to map the total pressure to the boundary)
    BE_MAP($BEmap1$) = ( [ Y%ind_p% + Y%ind_p_dyn% ], equn{$EQN_BEmap_BeFilter$}, equn{$EQN_BEmap_PointFilter$}, %EQN_BEmap_Shephard%, 0.1 ) begin_equation{$EQN_BEmap_BeFilter$} if ( BEcham(0)= 1 ) :: 1.0 else :: -1.0 endif end_equation begin_equation{$EQN_BEmap_PointFilter$} if ( (Y%ind_kob% = %BND_none%) + (Y%ind_kob% = %BND_free%) ) :: -1.0 else :: 1.0 endif end_equation
  • Same example but with an inline equation for the filtering
    BE_MAP($BEmap1$) = ( [ Y%ind_p% + Y%ind_p_dyn% ], [ BEcham(0)= 1 ], [ 1.0 - 2.0*( (Y%ind_kob% = %BND_none%) + (Y%ind_kob% = %BND_free%) ) ], %EQN_BEmap_Shephard%, 0.1 )
    Note : If this filtering is desired for all BE_MAP definitions, it can also be applied by setting BEmap_PointFilter_Version appropriately.
Basic algorithm :
  • The BeFilterExpression is evaluated for each BE and BEs with a value <=0 are not considered for mapping
  • For each BE which was not filtered out, the centroid location is determined
  • As candidates for the mapping, all points in the h-ball around the centroid of the BE are determined
  • All inactive (Y%ind_vol%<0.1) points and those not fulfilling the hardcoded filters according to BEmap_PointFilter_Version are removed from the list of candidates
  • The PointFilterExpression is evaluated for each point and points with a value <=0 are removed from the list of candidates
  • The mapping is done on the basis of the reduced list
Additional remarks :