15,928 research outputs found
Dipole-field-assisted charge extraction in metal-perovskite-metal back-contact solar cells
Hybrid organic-inorganic halide perovskites are low-cost solution-processable
solar cell materials with photovoltaic properties that rival those of
crystalline silicon. The perovskite films are typically sandwiched between thin
layers of hole and electron transport materials, which efficiently extract
photogenerated charges. This affords high-energy conversion efficiencies but
results in significant performance and fabrication challenges. Herein we
present a simple charge transport layer-free perovskite solar cell (PSC),
comprising only a perovskite layer with two interdigitated gold back-contacts.
Charge extraction is achieved via self-assembled molecular monolayers (SAMs)
and their associated dipole fields at the metal/perovskite interface.
Photovoltages of approximately 600 mV generated by SAM-modified PSCs are
equivalent to the built-in potential generated by individual dipole layers.
Efficient charge extraction results in photocurrents of up to 12.1 mA/cm2 under
simulated sunlight, despite a large electrode spacing.Comment: 18 pages, 5 figure
Phase change composite bimorphs
A bilayer composite thin-film beam structure is described. The structure incorporates a bulk phase change material as small inclusions in one layer of a bimorph. The structure, also referred to as a “phase change composite bimorph” or “PCBM”, curls abruptly, and reversibly, at a phase transition temperature. Large curling and effective expansion coefficients are demonstrated. The PCBMs may be employed in various self-assembly mechanisms and actuators.Published versio
Julia: A Fresh Approach to Numerical Computing
Bridging cultures that have often been distant, Julia combines expertise from
the diverse fields of computer science and computational science to create a
new approach to numerical computing. Julia is designed to be easy and fast.
Julia questions notions generally held as "laws of nature" by practitioners of
numerical computing:
1. High-level dynamic programs have to be slow.
2. One must prototype in one language and then rewrite in another language
for speed or deployment, and
3. There are parts of a system for the programmer, and other parts best left
untouched as they are built by the experts.
We introduce the Julia programming language and its design --- a dance
between specialization and abstraction. Specialization allows for custom
treatment. Multiple dispatch, a technique from computer science, picks the
right algorithm for the right circumstance. Abstraction, what good computation
is really about, recognizes what remains the same after differences are
stripped away. Abstractions in mathematics are captured as code through another
technique from computer science, generic programming.
Julia shows that one can have machine performance without sacrificing human
convenience.Comment: 37 page
Crosscutting, what is and what is not? A Formal definition based on a Crosscutting Pattern
Crosscutting is usually described in terms of scattering and tangling. However, the distinction between these concepts is vague, which could lead to ambiguous statements. Sometimes, precise definitions are required, e.g. for the formal identification of crosscutting concerns. We propose a conceptual framework for formalizing these concepts based on a crosscutting pattern that shows the mapping between elements at two levels, e.g. concerns and representations of concerns. The definitions of the concepts are formalized in terms of linear algebra, and visualized with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. Using linear algebra, we demonstrate that our definition generalizes other definitions of crosscutting as described by Masuhara & Kiczales [21] and Tonella and Ceccato [28]. The framework can be applied across several refinement levels assuring traceability of crosscutting concerns. Usability of the framework is illustrated by means of applying it to several areas such as change impact analysis, identification of crosscutting at early phases of software development and in the area of model driven software development
- …