- Full text PDF available (35)
- This year (1)
- Last 5 years (11)
- Last 10 years (26)
Journals and Conferences
We describe OSIRIS, a three-dimensional, relativistic, massively parallel, object oriented particle-in-cell code for modeling plasma based accelerators. Developed in Fortran 90, the code runs on multiple platforms (Cray T3E, IBM SP, Mac clusters) and can be easily ported to new ones. Details on the code’s capabilities are given. We discuss the… (More)
In this paper, we present an object-oriented threedimensional parallel particle-in-cell code for beam dynamics simulation in linear accelerators. A two-dimensional parallel domain decomposition approach is employed within a message passing programming paradigm along with a dynamic load balancing. Implementing objectoriented software design provides the code… (More)
Fortran 90 is a modern, powerful language with features that support important new programming concepts, including those used in object-oriented programming. This paper briefly summarizes how to express the concepts of data encapsulation, function overloading, classes, objects, inheritance, and dynamic dispatching.
A highly efficient, fully parallelized, fully relativistic, three-dimensional particle-in-cell model for simulating plasma and laser wakefield acceleration is described. The model is based on the quasi-static or frozen field approximation, which reduces a fully three-dimensional electromagnetic field solve and particle push to a two-dimensional field solve… (More)
This paper discusses the concept, application, and usefulness of software design patterns for scientific programming in Fortran 90/95. An example from the discipline of object-oriented design patterns, that of a game based on navigation through a maze, is used to describe how some important patterns can be implemented in Fortran 90/95 and how the… (More)
Among many computer scientists, fortran is an f-word. yet, it's still the most widely used language in scientific computing, especially when high performance is required. why is this so? One explanation often given is the huge amount of scientific legacy code in the world-after all, differential equations remain the same over time and so do their solvers,… (More)
Object-oriented techniques promise to improve the software design and programming process by providing an application-oriented view of programming while facilitating modification and reuse. Since the software design crisis is particularly acute in parallel computation, these techniques have stirred the interest of the scientific parallel computing… (More)
Department of Mechanical Engineering, University of Rochester, Rochester, NY 14627, USA b Laboratory for Laser Energetics, University of Rochester, Rochester, NY 14627, USA Department of Electrical and Computer Engineering, University of Rochester, Rochester, NY 14627, USA Department of Physics and Astronomy, University of Rochester, Rochester, NY 14627,… (More)
This paper summarizes techniques for emulating in Fortran90 the most important object-oriented concepts of C++: classes (including abstract data types, encapsulation and function overloading), inheritance and dynamic dispatching.