3 resultados para 080403 Data Structures

em Bucknell University Digital Commons - Pensilvania - USA


Relevância:

30.00% 30.00%

Publicador:

Resumo:

Potential energy curves have been calculated for CnH22+ (n = 2−9) ions and results have been compared with data on unimolecular charge-separation reactions obtained by Rabrenović and Beynon. Geometry-optimized, minimum energy, linear CnH22+ structures have been computed for ground and low-lying excited states. These carbodications exist in stable configurations with well depths greater than 3 eV. Decomposition pathways into singly charged fragment ions lead to products with computed kinetic energies in excess of 1 eV. A high degree of correlation exists between experimental information and results computed for linear CnH22+ structures having hydrogen atoms on each end. The exception involves C4H22+reactions where a low-lying doubly charged isomer must be invoked to rationalize the experimental data.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

In-stream structures including cross-vanes, J-hooks, rock vanes, and W-weirs are widely used in river restoration to limit bank erosion, prevent changes in channel gradient, and improve aquatic habitat. During this investigation, a rapid assessment protocol was combined with post-project monitoring data to assess factors influencing the performance of more than 558 in-stream structures and rootwads in North Carolina. Cross-sectional survey data examined for 221 cross sections from 26 sites showed that channel adjustments were highly variable from site to site, but approximately 60 % of the sites underwent at least a 20 % net change in channel capacity. Evaluation of in-stream structures ranging from 1 to 8 years in age showed that about half of the structures were impaired at 10 of the 26 sites. Major structural damage was often associated with floods of low to moderate frequency and magnitude. Failure mechanisms varied between sites and structure types, but included: (1) erosion of the channel bed and banks (outflanking); (2) movement of rock materials during floods; and (3) burial of the structures in the channel bed. Sites with reconstructed channels that exhibited large changes in channel capacity possessed the highest rates of structural impairment, suggesting that channel adjustments between structures led to their degradation of function. The data question whether currently used in-stream structures are capable of stabilizing reconfigured channels for even short periods when applied to dynamic rivers.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

This project addresses the unreliability of operating system code, in particular in device drivers. Device driver software is the interface between the operating system and the device's hardware. Device drivers are written in low level code, making them difficult to understand. Almost all device drivers are written in the programming language C which allows for direct manipulation of memory. Due to the complexity of manual movement of data, most mistakes in operating systems occur in device driver code. The programming language Clay can be used to check device driver code at compile-time. Clay does most of its error checking statically to minimize the overhead of run-time checks in order to stay competitive with C's performance time. The Clay compiler can detect a lot more types of errors than the C compiler like buffer overflows, kernel stack overflows, NULL pointer uses, freed memory uses, and aliasing errors. Clay code that successfully compiles is guaranteed to run without failing on errors that Clay can detect. Even though C is unsafe, currently most device drivers are written in it. Not only are device drivers the part of the operating system most likely to fail, they also are the largest part of the operating system. As rewriting every existing device driver in Clay by hand would be impractical, this thesis is part of a project to automate translation of existing drivers from C to Clay. Although C and Clay both allow low level manipulation of data and fill the same niche for developing low level code, they have different syntax, type systems, and paradigms. This paper explores how C can be translated into Clay. It identifies what part of C device drivers cannot be translated into Clay and what information drivers in Clay will require that C cannot provide. It also explains how these translations will occur by explaining how each C structure is represented in the compiler and how these structures are changed to represent a Clay structure.