104 research outputs found
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
Array operators using multiple dispatch: a design methodology for array implementations in dynamic languages
Arrays are such a rich and fundamental data type that they tend to be built
into a language, either in the compiler or in a large low-level library.
Defining this functionality at the user level instead provides greater
flexibility for application domains not envisioned by the language designer.
Only a few languages, such as C++ and Haskell, provide the necessary power to
define -dimensional arrays, but these systems rely on compile-time
abstraction, sacrificing some flexibility. In contrast, dynamic languages make
it straightforward for the user to define any behavior they might want, but at
the possible expense of performance.
As part of the Julia language project, we have developed an approach that
yields a novel trade-off between flexibility and compile-time analysis. The
core abstraction we use is multiple dispatch. We have come to believe that
while multiple dispatch has not been especially popular in most kinds of
programming, technical computing is its killer application. By expressing key
functions such as array indexing using multi-method signatures, a surprising
range of behaviors can be obtained, in a way that is both relatively easy to
write and amenable to compiler analysis. The compact factoring of concerns
provided by these methods makes it easier for user-defined types to behave
consistently with types in the standard library.Comment: 6 pages, 2 figures, workshop paper for the ARRAY '14 workshop, June
11, 2014, Edinburgh, United Kingdo
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 and questions notions generally held to be “laws of nature" by practitioners of numerical computing: \beginlist \item High-level dynamic programs have to be slow. \item One must prototype in one language and then rewrite in another language for speed or deployment. \item There are parts of a system appropriate for the programmer, and other parts that are best left untouched as they have been built by the experts. \endlist 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, which is 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 achieve machine performance without sacrificing human convenience.National Science Foundation (U.S.) (CCF-0832997)National Science Foundation (U.S.) (DMS-1016125)National Science Foundation (U.S.) (DMS-1312831
CFDEM® modelling of particle coating in a three-dimensional prismatic spouted bed
Particles which are difficult to handle in fluidized beds, such as big and non-spherical or small and co-/adhesive ones, can be fluidized in spouted beds. Nowadays, spouted bed processes are used for e.g. drying, spray granulation, encapsulation, and coating. Enhanced heat and mass transfer and intensive particle circulation allow a homogeneous distribution of the coating suspension on the particles accompanied by reduced agglomeration tendency. In the considered prismatic spouted bed the fluidization gas enters the bed chamber through two adjustable inlet slots. The coating suspension is sprayed via a two-fluid-nozzle in bottom-spray configuration (figure 1).
The simulation of the spouted bed process was performed by means of the open source software CFDEM® coupling-PUBLIC, which combines the CFD-tool OpenFOAM® with the DEM-package LIGGGHTS® (1). The simulation results were visualized in ParaView (figure 2). Required input parameters for simulation, as e.g. the restitution coefficient, friction coefficient and Young’s modulus, were approximated with several experimental set-ups. Additionally, experiments were performed for validation of simulation results. Different turbulence models were investigated. Regarding the coating process, a spray zone was implemented in the simulations, whereby a self-written post-processing tool allowed the calculation of residence times of single particles in the spray zone. With this information a deterministic and physics-based simulation of the particle growth kinetics (growth rate) is possible. With regard to a feasible simulation time, the simulations were parallelized and a coarse-grain approach was used in order to handle a high amount of particles. Simulation results were in good agreement with experimental data.
REFERENCES C. Goniva, C. Kloss, N.G. Deen, J.A.M. Kuipers and S. Pirker. Influence of Rolling Friction Modelling on Single Spout Fluidized Bed Simulations. Particuology, DOI 10.1016/j.partic.2012.05.002, 2012.
Please click Additional Files below to see the full abstract
Novel algebras for advanced analytics in Julia
A linear algebraic approach to graph algorithms that exploits the sparse adjacency matrix representation of graphs can provide a variety of benefits. These benefits include syntactic simplicity, easier implementation, and higher performance. One way to employ linear algebra techniques for graph algorithms is to use a broader definition of matrix and vector multiplication. We demonstrate through the use of the Julia language system how easy it is to explore semirings using linear algebraic methodologies
Developing plant protection concepts for organic farming – results from research for practicioners
Die Ausweitung des Ökologischen Landbaus erfordert umfangreiche und praxisnahe Forschungen zur Ertragsstabilität. Dabei spielt die Gesunderhaltung der Pflanze und die Qualität der Ernteprodukte eine wichtige Rolle. In dem Beitrag wird die Bedeutung der Dauerfeldversuche des Julius Kühn-Institutes in Dahnsdorf (Land Brandenburg) für diese Aufgabe dargestellt. Die Maßnahmen zur Unkrautkontrolle, zur Kartoffelkäferbekämpfung (Leptinotarsa decemlineata Say) und zur Kupferminimierung bei der Krautfäuleregulierung (Phytophthora infestans (Mont.) De Bary) wurden im System einer für den Ökolandbau typischen Fruchtfolge und nach EU-Ökorichtlinien geprüft. Die Vorteile einer Bewirtschaftung im Ökolandbau auf die Bodenaktivität, Häufigkeit und Artenvielfalt der Insektengemeinschaften allgemein, konnte auch unter kleinräumigen Bedingungen eines Versuchsfeldes bestätigt werden.The expansion of organic farming requires intensive and applied research on yield stability. Plant health of the plant and the quality of the harvested products play an important role here. The article describes the importance of the long-term field trials of the Julius Kühn-Institut in Dahnsdorf (State of Brandenburg) for this task. The measures for weed control, for potato beetle control (Leptinotarsa decemlineata Say) and for copper minimization in the regulation of late blight (Phytophthora infestans (Mont.) De Bary) were tested in the system of a crop rotation typical for organic farming and according to EU organic guidelines. The benefits of organic farming on soil activity, abundance and biodiversity of insect communities in general could be confirmed even under small-scale conditions of an experimental field
Reception Test of Petals for the End Cap TEC+ of the CMS Silicon Strip Tracker
The silicon strip tracker of the CMS experiment has been completed and was inserted into the CMS detector in late 2007. The largest sub system of the tracker are its end caps, comprising two large end caps (TEC) each containing 3200 silicon strip modules. To ease construction, the end caps feature a modular design: groups of about 20 silicon modules are placed on sub-assemblies called petals and these self-contained elements are then mounted onto the TEC support structures. Each end cap consists of 144 such petals, which were built and fully qualified by several institutes across Europe. Fro
Integration of the End Cap TEC+ of the CMS Silicon Strip Tracker
The silicon strip tracker of the CMS experiment has been completed and inserted into the CMS detector in late 2007. The largest sub-system of the tracker is its end cap system, comprising two large end caps (TEC) each containing 3200 silicon strip modules. To ease construction, the end caps feature a modular design: groups of about 20 silicon modules are placed on sub-assemblies called petals and these self-contained elements are then mounted into the TEC support structures. Each end cap consists of 144 petals, and the insertion of these petals into the end cap structure is referred to as TEC integration. The two end caps were integrated independently in Aachen (TEC+) and at CERN (TEC--). This note deals with the integration of TEC+, describing procedures for end cap integration and for quality control during testing of integrated sections of the end cap and presenting results from the testing
- …