1,631 research outputs found

    Interplay of growth mode and thermally induced spin accumulation in epitaxial Al/Co2_2TiSi/Al and Al/Co2_2TiGe/Al contacts

    Full text link
    The feasibility of thermally driven spin injectors built from half-metallic Heusler alloys inserted between aluminum leads was investigated by means of {\em ab initio} calculations of the thermodynamic equilibrium and electronic transport. We have focused on two main issues and found that: (i) the interface between Al and the closely lattice-matched Heusler alloys of type Co2_2TiZZ (Z=Z= Si or Ge) is stable under various growth conditions; and (ii) the conventional and spin-dependent Seebeck coefficients in such heterojunctions exhibit a strong dependence on both the spacer and the atomic composition of the Al/Heusler interface. The latter quantity gives a measure of the spin accumulation and varies between +8+8~μ\muV/K and 3-3~μ\muV/K near 300300~K, depending on whether a Ti-Ge or a Co-Co plane makes the contact between Al and Co2_2TiGe in the trilayer. Our results show that it is in principle possible to tailor the spin-caloric effects by a targeted growth control of the samples.Comment: 16 pages, 13 figure

    GAMESPECT: A Composition Framework and Meta-Level Domain Specific Aspect Language for Unreal Engine 4

    Get PDF
    Game engine programming involves a great number of software components, many of which perform similar tasks; for example, memory allocation must take place in the renderer as well as in the creation routines while other tasks such as error logging must take place everywhere. One area of all games which is critical to the success of the game is that of game balance and tuning. These balancing initiatives cut across all areas of code from the player and AI to the mission manager. In computer science, we’ve come to call these types of concerns “cross cutting”. Aspect oriented programming was developed, in part, to solve the problems of cross cutting: employing “advice” which can be incorporated across different pieces of functionality. Yet, despite the prevalence of a solution, very little work has been done to bring cross cutting to game engine programming. Additionally, the discipline involves a heavy amount of code rewriting and reuse while simultaneously relying on many common design patterns that are copied from one project to another. In the case of game balance, the code may be wildly different across two different games despite the fact that similar tasks are being done. These two problems are exacerbated by the fact that almost every game engine has its own custom DSL (domain specific language) unique to that situation. If a DSL could showcase the areas of cross cutting concerns while highlighting the ability to capture design patterns that can be used across games, significant productivity savings could be achieved while simultaneously creating a common thread for discussion of shared problems within the domain. This dissertation sought to do exactly that- create a metalanguage called GAMESPECT which supports multiple styles of DSLs while bringing aspect-oriented programming into the DSL’s to make them DSAL (domain specific aspect languages). The example cross cutting concern was game balance and tuning since it’s so pervasive and important to gaming. We have created GAMESPECT as a language and a composition framework which can assist engine developers and game designers in balancing their games, forming one central place for game balancing concerns even while these concerns may cross different languages and locations inside the source code. Generality was measured by showcasing the composition specifications in multiple contexts and languages. In addition to evaluating generality and performance metrics, effectiveness was be measured. Specifically, comparisons were made between a balancing initiative when performed with GAMESPECT vs a traditional methodology. In doing so, this work shows a clear advantage to using a Metalanguage such as GAMESPECT for this task. In general, a line of code reduction of 9-40% per task was achieved with negligible effects to performance. The use of a metalanguage in Unreal Engine 4 is a starting point to further discussions concerning other game engines. In addition, this work has implications beyond video game programming. The work described highlights benefits which might be achieved in other disciplines where design pattern implementations and cross-cutting concern usage is high; the real time simulation field and the field of Windows GUI programming are two examples of future domains
    corecore