In the literature, anisotropy-invariant maps are being proposed to represent a domain within which all realizable Reynolds stress invariants must lie. It is shown that the representation proposed by Lumley and Newman has disadvantages owing to the fact that the anisotropy invariants (II, III) are nonlinear functions of stresses. In the current work, it is proposed to use an equivalent linear representation of the anisotropy invariants in terms of eigenvalues. A barycentric map, based on the convex combination of scalar metrics dependent on eigenvalues, is proposed to provide a nondistorted visual representation of anisotropy in turbulent quantities. This barycentric map provides the possibility of viewing the normalized Reynolds stress and any anisotropic stress tensor. Additionally the barycentric map provides the possibility of quantifying the weighting for any point inside it, in terms of the limiting states (one-component, two-component, three-component). The mathematical basis for the barycentric map is derived using the spectral decomposition theorem for second-order tensors. In this way, an analytical proof is provided that all turbulence lies along the boundaries or inside the barycentric map. It is proved that the barycentric map and the anisotropy-invariant map in terms of (II, III) are one-to-one uniquely interdependent, and as a result satisfies the requirement of realizability.
Competitive numerical algorithms for solving partial differential equations have to work with the most efficient numerical methods like multigrid and adaptive grid refinement and thus with hierarchical data structures. Unfortunately, in most implementations, hierarchical datatypically stored in trees-cause a nonnegligible overhead in data access. To overcome this quandarynumerical efficiency versus efficient implementation-our algorithm uses space-filling curves to build up data structures which are processed linearly. In fact, the only kind of data structure used in our implementation is stacks. Thus, data access becomes very fast-even faster than the common access to nonhierarchical data stored in matrices-and, in particular, cache misses are reduced considerably. Furthermore, the implementation of multigrid cycles and/or higher order discretizations as well as the parallelization of the whole algorithm become very easy and straightforward on these data structures.
SUMMARYThis paper presents a new e cient way to implement multigrid algorithms on adaptively reÿned grids. To cope with todays demands in high-performance computing, we cannot do without such highly sophisticated numerical methods. But if we do not implement them very carefully, we lose a lot of e ciency in terms of memory usage: using trees for the storage of hierarchical multilevel data causes a large amount of non-local (in terms of the physical memory space) data accesses, and often requires the storage of pointers to neighbours to allow the evaluation of discrete operators (di erence stencils, restrictions, interpolations, etc.). The importance of this problem becomes clear if we remember that storage and not the CPUs is the bottleneck on modern computers.We established a cache-oblivious and storage-minimizing algorithm based on the concept of spacetree grids combined with a cell-oriented operator evaluation, a linear ordering of grid cells along a space-ÿlling curve, and a sophisticated construction of linearly processed data structures for vertex data. In this context, we could show that the implementation of a dynamically adaptive F-cycle is, ÿrst, very natural and, second, does not cause any overhead in terms of storage usage and access as adaptivity and multilevel data do not disturb the linear processing order of our data structures.
One of the keys to tap the full performance potential of current hardware is the optimal utilisation of cache memory. Cache oblivious algorithms are designed to inherently benefit from any underlying hierarchy of caches, but do not need to know about the exact structure of the cache. In this paper, we present a cache oblivious algorithm for matrix multiplication. The algorithm uses a block recursive structure, and an element ordering that is based on Peano curves. In the resulting code, index jumps can be totally avoided, which leads to an asymptotically optimal spatial and temporal locality of the data access.
We present a type system for a language based on F ≤ , which allows certain type annotations to be elided in actual programs. Local type inference determines types by a combination of type propagation and local constraint solving, rather than by global constraint solving. We refine the previously existing local type inference system of Pierce and Turner[PT98] by allowing partial type information to be propagated. This is expressed by coloring types to indicate propagation directions. Propagating partial type information allows us to omit type annotations for the visitor pattern, the analogue of pattern matching in languages without sum types.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.