Atomistic Modeling of Point and Extended Defects in Crystalline Materials

1998 ◽  
Vol 532 ◽  
Author(s):  
Martin Jaraiz ◽  
Lourdes Pelaz ◽  
Emiliano Rubio ◽  
Juan Barbolla ◽  
George H. Gilmer ◽  
...  

ABSTRACTAtomistic process modeling, a kinetic Monte Carlo simulation technique, has the interest of being both conceptually simple and extremely powerful. Instead of reaction equations it is based on the definition of the interactions between individual atoms and defects. Those interactions can be derived either directly from molecular dynamics or first principles calculations, or from experiments. The limit to its use is set by the size dimensions it can handle, but the level of performance achieved by even workstations and PC's, together with the design of efficient simulation schemes, has revealed it as a good candidate for building the next generation of process simulators, as an extension of existing continuum modeling codes into the deep submicron size regime. Over the last few years it has provided a unique insight into the atomistic mechanisms of defect formation and dopant diffusion during ion implantation and annealing in silicon. Object-oriented programming can be very helpful in cutting software development time, but care has to be taken not to degrade performance in the critical inner calculation loops. We discuss these techniques and results with the help of a fast object-oriented atomistic simulator recently developed.

Author(s):  
Michael Metcalf ◽  
John Reid ◽  
Malcolm Cohen

The object-oriented approach to programming and design is characterized by its focus on the data structures of a program rather than the procedures. Often, invoking a procedure with a data object as its principal argument is thought of as ‘sending a message’ to the object. Special language support is typically available for collecting these procedures (sometimes known as ‘methods’) together with the definition of the type of the object. This approach is supported in Fortran by type extension, polymorphic variables, type-bound procedures, abstract types, and finalization.


2018 ◽  
Vol 60 (2) ◽  
pp. 69-77
Author(s):  
Marc Berges

Abstract The efforts around the world – CS4All in the U.S. or Computing At School in Great Britain – show that computing literacy is seen as important. One important part of computer science education deals with learning programming. So, object orientation should be in focus. But what is object orientation? Several different definitions are presented, and a definition of object orientation by its fundamental concepts is introduced. Furthermore, several educational “paradigms” are discussed. Additionally, a choice of object-oriented programming languages is presented. After all that theoretical background, some exemplary implementations of object orientation in national (German) and international curricula are shown. All in all, the article provides a broad overview of the topic of object-oriented programming in computer science education.


1998 ◽  
Vol 8 (3) ◽  
pp. 231-276 ◽  
Author(s):  
ERNIE G. MANES

In object-oriented programming, there are many notions of ‘collection with members in X’. This paper offers an axiomatic theory of collections based on monads in the category of sets and total functions. Heuristically, the axioms defining a collection monad state that each collection has a finite set of members of X, that pure 1-element collections exist and that a collection of collections flattens to a single collection whose members are the union of the members of the constituent collections. The relationship between monads and universal algebra leads to a formal definition of collection implementation in terms of tree-processing. Ideas from elementary category theory underly the classification of collections. For example, collections can be zipped if and only if the monad's endofunctor preserves pullbacks. Or, a collection can be uniquely specified by its shape and list of data if the morphisms of the Kleisli category of the monad are all deterministic, and the converse holds for commutative monads. Again, a collection monad is ordered if the monad's functor preserves equalizers of monomorphisms (so, in particular, if collections can be zipped the monad is ordered). Every implementable monad is ordered. It is shown using the well-ordering principle that a collection monad is ordered if and only if its functor admits an appropriated list-valued natural transformation that lists the members of each collection.


2021 ◽  
Author(s):  
Dávid J. Németh ◽  
Dániel Horpácsi ◽  
Máté Tejfel

Many development environments offer refactorings aimed at improving non-functional properties of software, but we have no guarantees that these transformations indeed preserve the observable behavior of the source code they are applied on. An existing domain-specific language makes it possible to formalize automatically verifiable refactorings via instantiating predefined transformation schemes with conditional term rewrite rules. We present a proposal for adapting this language from the functional to the object-oriented programming paradigm, using Java instead of Erlang as a representative. The behavior-preserving property of discussed refactorings is characterized with a multilayered definition of equivalence for Java programs, including the conformity relation of class hierarchies. Based on the decomposition of a complex refactoring rule, we show how new transformation schemes can be identified, along with modifications and extensions of the description language required to accommodate them. Finally, we formally define the chosen base refactoring as a composition of scheme instances.


1990 ◽  
Author(s):  
E. H. Bensley ◽  
T. J. Brando ◽  
J. C. Fohlin ◽  
M. J. Prelle ◽  
A. M. Wollrath

Sign in / Sign up

Export Citation Format

Share Document