Accumulator Theory: Boundaries
The Accumulator (Boundary) feature transfers information from rays to the boundaries they hit or pass through. Each Accumulator defines a variable, called the accumulated variable, on the selected boundaries. The accumulated variable is discretized using constant shape functions, so its value if uniform over every mesh element and may be discontinuous between adjacent mesh elements.
The name of the accumulated variable is specified in the Accumulated variable name edit field in the Accumulator Settings section of the settings window. The default variable name, rpb, will be used in the remainder of this section when referring to the accumulated variable.
The options in the Accumulator type list are Density and Count. If Density is selected, the source term is divided by the surface area or length of the boundary mesh element when calculating each ray’s contribution to the accumulated variable. If Count is selected, no division by the surface area or length of the boundary element occurs.
The equations in the following section are valid for the Density type. The corresponding value of the accumulated variable for the Count type is
where V is the boundary element surface area (in 3D) or length (in 2D).
When Rays in boundary elements is selected from the Accumulate over list, the accumulated variable in a boundary element gets incremented by the source term R whenever a ray freezes or sticks to the boundary:
where division by the mesh element area or length occurs because the accumulator is assumed to be of type Density. Thus the source term evaluated for an incident ray is uniformly distributed over the boundary element it freezes or sticks to.
If instead Ray-wall interactions is selected from the Accumulate over list, then the accumulated variable gets incremented regardless of what type of ray-wall interaction occurs. Thus, it is possible for the same ray to increment the accumulated variable in many different boundary elements, or even in the same element multiple times.
Built-in Global Variables
By default, the boundary Accumulator defines the following global variables:
Here, <scope> includes the physics interface name and the names the Accumulator and parent feature. For example, the average of the accumulated variable over a boundary may be called rac.wall1.bacc1.rpb_ave, where rac is the name of the Ray Acoustics interface, wall1 is the name of the parent Wall node, bacc1 is the name of the Accumulator node, and rpb is the accumulated variable name. These variables are all available in the Add/Replace Expression menus during results evaluation.
These global variables are computed by defining a set of nonlocal couplings on the selection of the parent physics feature, such as the Wall feature to which the Accumulators are added. The following expressions for the global variables are used.
Here, <wscope> is the scope of the parent boundary feature, e.g. goprac.wall1.