4,679 research outputs found
Computation of Madelung Energies for Ionic Crystals of Variable Stoichiometries and Mixed Valencies and their application in Lithium-ion battery voltage modelling
Electrostatic energy (Madelung energy) is a major constituent of the cohesive
energy of ionic crystals. Several physicochemical properties of these materials
depend on the response of their electrostatic energy to a variety of applied
thermal, electrical and mechanical stresses. In the present study, a method has
been developed based on Ewalds technique, to compute the electrostatic energy
arising from ion-ion interactions in ionic crystals like LixMn2O4 with variable
stoichiometries and mixed valencies. An interesting application of this method
in computing the voltages of lithium ion batteries employing spinel cathodes is
presented for the first time. The advantages of the present method of
computation over existing methods are also discussed.Comment: 15 page
Recommended from our members
A Determinizing Compiler
The advent of multicores mandates parallel programming. While parallelism presents a panoply of problems, few are as pernicious and prevalent as nondeterminism, in which the output of a program is affected by more than just its inputs, e.g., uncontrollable scheduling choices made by the operating system. A few parallel languages do guarantee determinism, but do so through draconian restrictions. It is time for a new era of bug-free parallel programming that will enable programmers to shift easily from sequential to parallel worlds.We propose a determinizing compiler: starting from a non-deterministic program, our compiler inserts just enough additional synchronization to guarantee deterministic behavior, even in the presence of nondeterministic scheduling choices. A brute-force solution would simply generate sequential code, but our compiler will strive to preserve parallelism to impose a minimal loss of performance
Static Deadlock Detection for the SHIM Concurrent Language
Concurrent programming languages are becoming mandatory with the advent of multi-core processors. Two major concerns in any concurrent program are data races and deadlocks. Each are potentially subtle bugs that can be caused by non-deterministic scheduling choices in most concurrent formalisms. As an alternative, the SHIM concurrent language guarantees the absence of data races by eschewing shared memory, but a SHIM program may still deadlock if a program violates a communication protocol. We present a model-checking-based static deadlock detection technique for the SHIM language. Although SHIM is asynchronous, its semantics allow us to model it synchronously without losing precision, greatly reducing the state space that must be explored. This plus the obvious division between control and data in SHIM programs makes it easy to construct concise abstractions. Experimentally, we find our procedure runs in only a few seconds for modest-sized programs, making it practical to use as part of a compilation chain
Recommended from our members
A JPEG Decoder in SHIM
Image compression plays an important role in multimedia systems, digital systems, handheld systems and various other devices. Efficient image processing techniques are needed to make images suitable for use in embedded systems. This paper describes an implementation of a JPEG decoder in the SHIM programming language. SHIM is a software/hardware integration language whose aim is to provide communication between hardware and software while providing deterministic concurrency. The paper shows that a JPEG decoder is a good application and reasonable test case for the SHIM language and illustrates the ease with which conventional sequential decoders can be modified to achieve concurrency
- …
