1 / 40

DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR COLLISIONS

DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR COLLISIONS. Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia. XXXII International Symposium on Multiparticle Dynamics, Alushta, Ukraine, September 7-13, 2002.

lilli
Download Presentation

DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR COLLISIONS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR COLLISIONS Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia XXXII International Symposium on Multiparticle Dynamics, Alushta, Ukraine, September 7-13, 2002

  2. OSCAR’s MC model collection for RHIC OSCAR = Open Standard Codes And Routines, http://rhic.phys.columbia.edu/rhic/ • 1. Parton/String/ Transport:HIJING,   HIJING/B-antiB, MPC, neXus, PCPC, VNI, VNIb,   ZPC ...  • 2. String/Hadron/ Transport: UrQMD, ART   BEM,   BNC,   HSD,   JAM,   JPCIAE,   LEXUS,   LUCIAE ...    • 3. ”Old” models:JETSET PYTHIA FRITIOF VENUS RQMD QGSM ... These models are different physical models, however, they have very much in common: 1. they are phenomenological models with many parameters 2. they operate with similar objects: 4-vectors,... 3. they are multi-component models 4. they are complicated numerical models 5. they produce complicated output data 6. ...

  3. Let’s look at existing RHIC models as software products • Usually, they are not user-friendly • There are no graphical user interfaces (GUI) and their users have to touch (!) and change the model source codes with aims, e.g., to change model parameters, substitute sub-models, obtain relaible ouput, re-direct output for analysis, etc. • Usually, they are implemented as ”monolithic” codes • There are many code duplications, no possibilities to extend (without learning) sub-model codes, no possibilities to re-use (without re-writting) foreign sub-model codes, the ”algorithm” influences on physical results, etc. A model user as a standard software user should not be forced to write or modify (to learn any computer language) chosen model code!

  4. Our goals for the development and use of complicated numerical models • We are going to take into account model commonalities as well as user and developer requirements and for that: • We apply a component approach to develop and use numerical models. In this approacha complex model is assembled from more simple model components that are self-contained entities. • We develop a software system (framework) referred as the NiMax system to support our approach as well as to support the analysis of generated and measured data. We choose the object-oriented programming based on C++ language to write new model codes as well as the system!

  5. Tiny C++ and object-oriented programming dictionary • C++ supports the object-oriented programming (OOP). • OOP is based on several ideas such as objects, class inheritance and polymorphism. • An object has state(data) and behaviour (methods). Each object is created from a C++ class (an abstraction data type). A C++ class is an specification of its object data and methods. Interactions among objects are mediated by messages (calls of object’s methods) that may modify object’s states. • A class could be derived from another class (referred as the base class) by means of the inheritance mechanism. Thus, one can create class hierarchies. • Polymorphism is the capability of objects derived from a common base class to respond differently to the same message.

  6. Vectors Particles Strings Nuclei Why C++ and object-oriented programming? • Very important advantage of C++ and OOP for high energy physics (HEP) programmers is that they are able to define “native” objects (classes) for HEP domain: 4-momentum, particle, parton, field, etc along with the operations that are used to manipulate these objects. The objects are counterparts of the real HEP objects (see, e.g., CERN CLHEP library). We have also developed a library of such objects (classes). We refer it as a library of application data types:

  7. More advantages of C++ and object-oriented programming • Inheritance enables a class hierarchy development. The classes at the lower levels of the class hierarchy inherit some methods from the classes above and such methods need not be reprogrammed.Thus, a programmer can modify and extend codes in safely and economic way! • Polymorphism is the capability of objects derived from a common base class to respond differently to the same message. Thus, it felicitates the development of universal (usable) codes, it allows runtime object substitutions, i.e., a possibility to change a model content by its user.

  8. What is the meaning of a component? • For a physicist: • For a code developer: The component can represent a model of either single physical process, e.g., particle elastic scattering, or very complicated physical phenomenon, e.g., ultra-relativistic heavy-ion collision. The component includes a numerical algorithm and consists of a set of interfaces between its algorithm and outside world.

  9. Input Output interface interface API Tuning interface Matching Output interface interface API Tuning interface We define a component as a set of standard interfaces • An interface includes several public methods and some related data. • Only through the interfaces a component communicates with outside world. • By means of theinput interfacea user sends a request for the component and privides necessary input data to fulfil this request. • Output interfaceis needed to obtain the result of a component execution in required form. • Tuning interface provides a possibility to tune a component with aim to obtain reliable results from its execution. • Matching interface is needed for intercomponent communications. • ... • Start component • Typical component API: Application Programming Interface

  10. How to handle a component? • Several component interface views for a component user: • Input maps are user-friendly linearly structured data. • Output configuration is a tree-structured set of output channel definitions. • Matching maps are developer-defined data configurations.

  11. How to develop a new component? • Standard interface part of a component code for a componet developer: Thus, a component developer should mainly work on the implementation of numerical algorithm! Nevertheless, we shall help him/her, e.g., a) application data types class library, b) component inheritance and aggregation. Component wizard could be provided for automatic generation of the interface part of a component code!

  12. How to extend a component? • By inheritance By the inheritance one can extend the interface part functionality (e.g., adding new input map) as well as functionality of the algorithm part!

  13. How to develop a new composite component? • By aggregation • The aggregation does not limit standard C++ programming technique. • Coding becomes even more simplified, e.g., no necessity to worry about the sub-component object creations and destructions. • A user can see the component structure and has access to any sub-component by graphical user interface (GUI). • A user can exchange any sub-component on an alternative sub-component by GUI.

  14. Packaging of components with related software into the application modules • They are developer’s units. • They are complete applications for particular applicationdomains. • They are self-sufficient units for distribution (dynamically linked libraries). • They hide all software from a user excepting their components. • They are transparent on the component level. Components Units and constants Tables Utility functions and classes Application data types ...

  15. Numerical tools Hadronic models Universal kinetic model Nucleus deexcitation models Application modules: Runge-Kutta solver Ground state nucleus model Two-body scatterer Particle decayer Application components: Application data types: Vectors Particles Strings Nuclei Our application software is organized into three application layers

  16. An example of the hadronic module content

  17. Parton string model (PSM) • Physics formulation (see,Amelin N.S, et al., Eur. Phys. J. C22 (2001) 1, 149-163) • It is a Monte Carlo model to simulate nuclear collisions in the energy range going from SPS to LHC. • The model includes in its initial stage both soft and semihard parton collisions, which lead to the formation of color strings. String breaking leads to the production of stable and resonance hadrons. The resonance hadrons are forced to decay. • PSM component design • It has a tree structure. The PSM component aggregates nucleus model component, parton participant component, string formation component, string decay component and resonance decay component. These sub-components include other sub-components. Thus, the PSM component includes totally 12 self-contained sub-components.

  18. Input maps of the PSM component

  19. An example of the parameter edition for the string decay component

  20. Runtime substitution of the string decay sub-component inside PSM component

  21. An example of the output event configuration for the nucleus initial state sub-component

  22. PSM application: ppbar collisions at s1/2=1.8 TeV CDF data ---- hard p_tswitched off

  23. at SPS: NA49 data at RHIC and LHC: BRAHMS data PSM application: central PbPb collisions

  24. BRAHMS 0-5% 5-10% 10-20 PSM application: central AuAu collisions

  25. Components as data generators and data processors • A component can generate data events (“quanta of data”) and write them in the data file. • A component can generate data events and send them to other components. • A component can read data events in the data file. A component can accept either whole or selected data from an event. • A component can receive data events generated by other components. A component can accept either whole or selected data from an event.

  26. Data event • It is a structured portion of data that consists of only values of the basic data types. • Any data event has its definition. Definition includes unique event identifier and describes event configuration. • Event data can be placed directly into memory or stored in disk in accordance with data event configuration. Basic data types: int, float, double, char, ...

  27. Data file structure (simplified)

  28. An example of the data written in the data file

  29. Component collaboration by the data file Component C1 produces many events with different configurations: C1E1, C1E2, … and writes these events in the data file. Component C2 reads data file and selects data according to the matching maps: C2M1, C2M2, … . • To remind! Matching maps are developer-defined data configurations.

  30. An example of the matching maps

  31. An example of the matching of data configuration

  32. Component net as an assembly of the collaborated components • Several components inside a net collaborate through their output and matching interfaces by sending and receiving data event messages. C1 C2 C2 C1 E1 M1 C2 E1 Component C1 produces a data event having configurations C1E1, then components C2 receives and selects data from this event according to the matching map C2M1 and produces a new event configured as C2E1. The last event is written in the data file.

  33. How to analyse and visualise data? • Views of the pre-defined data events and pre-defined channels • Pre-defined data events are associated with definite services for users that are offered by our system. • The system knows (due to the event identifiers) how to display table view and graphical views of the one- and two-dimensional histograms and two-dimensional plots that are written as pre-defined groups of channels.

  34. An example of the two-dimensional plot views

  35. The NIMAX software system NIMAX Manual: N.S. Amelin, M.E. Komogorov, JINR Report, D11-2001-175, p. 1-112

  36. Universal kinetic model (UKM) • UKM is a solver of 3+1D covariant kinetic theory. It finds solutions of the Boltzmann equations: • where , and , • for on-shell single particle distributions fk(x,pk). • Collision terms Ck (x,pk ) describe particle scattering, particle decay and interaction of particle with boundary. • To solve these equation one has to specify the initial particle distributions and collision terms. • Covariant cascade algorithm (see, e.g., B. Zhang, M. Gyulassy and Y. Pang, Phys. Rev. C58, (1998) 1175) is applied to find the solutions.

  37. Why it is a universal model?

  38. Nucleon-nucleus cascade model class design

  39. UKM application components • Simple nucleon-nucleus cascade model. • Fermi model for target nuclei, only elastic nucleon scatterings, Pauli blocking for scattered nucleons, spherical nuclear boundaries. • Model predicts outgoing nucleons double cross sections and defines characteristics of residual target nuclei. • Hadron kinetic model for relativistic nuclear collisions. • Fermi model for colliding nuclei, 2->2 elastic and inelatic hadron scatterings as well as 2->1 meson and antibaryon fusion, resonance decay, Pauli blocking for 1/2 and 3/2 scattered fermions, spherical nuclear boundaries. • Model could be used to study hadron-nucleon, hadron-nucleus and nucleus-nucleus collisions at intermediate energies (s1/2 < 5 GeVA). • Hadrons in box. • Periodic boundary condition. • Model could be used to study thermodynamic properties of the infinite hadron matter. • Parton kinetic model for ultra-relativistic nuclear collisions. • Initial parton distribution from parton structure functions, 2->2 parton scatterings, 2->1 gluon-gluon and quark-gluon fusions, 1->2 parton decays. • Model could be used to study nucleon-nucleon, nucleon-nucleus and nucleus-nucleus collisions at collider energies (s1/2 > 100 GeVA). • Partons in box. • Periodic boundary condition. • Model could be used to study thermodynamic properties of the infinite quark-gluon matter.

  40. Conclusions • We have suggested a new component approach to develop and use complicated numerical models. • For it we have defined a ”standard” component, suggested several mechanisms of the component development and extension and offered different ways of component management. • To support this approach we have developed the NiMax software system (framework). • Within the system we have realized a data model. Thus, the system user has obtained a possibility to configure a component for reliable input and output, navigate through the stored data, select and visualize data and assemble several components into a component net for execution. • In the frame of our system we have created several application modules consisting of many components that allow us to perform numerical simulation and analysis of the generated and measured data. • Particularly,the parton string model, universal kinetic model, nucleus deexcitation models and other application modules are suitable tools for fundamental and applied studies of ultra-relativistic heavy-ion collisions.

More Related