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

Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Embed Size (px)

Citation preview

Page 1: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin

JINR, LHE – Dubna, Russia

DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS

FOR NUCLEAR COLLISIONS

XXXII International Symposium on Multiparticle Dynamics, Alushta, Ukraine, September 7-13, 2002

XXXII International Symposium on Multiparticle Dynamics, Alushta, Ukraine, September 7-13, 2002

Page 2: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

OSCAR’s MC model collection for 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 ...

OSCAR = Open Standard Codes And Routines, http://rhic.phys.columbia.edu/rhic/

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. ...

Page 3: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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!

Page 4: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Our goals for the development and use of complicated numerical models

We choose the object-oriented programming based on C++ language to write new model codes as well as the system!

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 approach a 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.

Page 5: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 6: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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).

Vectors Particles Strings Nuclei

We have also developed a library of such objects (classes). We refer it as a library of application data types:

Page 7: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 8: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 9: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

We define a component as a set of standard interfaces

Start componentInput

interface

API

Tuning interface

Output interface

Matching interface

API

Tuning interface

Output interface

Typical component

API: Application Programming Interface

·An interface includes several public methods and some related data.·Only through the interfaces a component communicates with outside world.·By means of the input interface a user sends a request for the component and privides necessary input data to fulfil this request. ·Output interface is 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.·...

Page 10: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

How to handle a component?

Several component interface views for a component user:

Matching map view

Output configuration

view

Parameter view

Input map view

Component

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.

Page 11: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

How to develop a new component?

Standard interface part of a component code for a componet developer:

Component factory

Sub-component proxies

Input maps

Matching maps

Output data configurations

Parameter group

. . .

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!

Page 12: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

How to extend a component?

By inheritance

Matching interface

API

Output interface

API '

Tuning interface

By the inheritance one can extend the interface part functionality (e.g., adding new input map) as well as functionality of the algorithm part!

Page 13: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

How to develop a new composite component?

By aggregationThe 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.

Input interface

Tuning interface

C2

C1

API

Page 14: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Packaging of components with related software into the application modules

•They are developer’s units.• They are complete applications for particular application domains. •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.

Application data types

Units and constants

Utility functions and classes

Components

Tables

...

Page 15: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Our application software is organized into three application layers

Vectors Particles Strings Nuclei

Runge-Kutta solver

Ground state nucleus model

Two-body scatterer

Particledecayer

Numericaltools

Hadronicmodels

Universal kineticmodel

Nucleusdeexcitationmodels

Applicationmodules:

Applicationcomponents:

Applicationdata types:

Page 16: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

An example of the hadronic module content

Page 17: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 18: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Input maps of the PSM component

Page 19: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

An example of the parameter edition for the string decay component

Page 20: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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

Page 21: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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

Page 22: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

PSM application: ppbar collisions at s1/2=1.8 TeV

CDF data ---- hard p_t switched off

Page 23: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

PSM application: central PbPb collisionsat SPS:

at RHIC and LHC:

NA49 data

BRAHMS data

Page 24: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

PSM application: central AuAu collisions

BRAHMS

0-5%

5-10%

10-20

Page 25: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 26: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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, ...

Page 27: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Data file structure (simplified)

Tree of channel

definitions

List of event definitions

Channel definition

Event records

Event header

Event data

Data file

Page 28: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

An example of the data written in the data file

Page 29: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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, … .

Output interfaceC1

Output interface

Input interface

Data file

C2Matching interface

C1E1,C1E2,... C2E1,C2E2,...C2M1,C2M2,...

To remind! Matching maps are developer-defined data configurations.

Page 30: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

An example of the matching maps

Page 31: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

An example of the matching of data configuration

Page 32: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

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.

C2C1 C1E1

C2E1

C2M1

Page 33: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Data file

One-dimensional histogram

views

Two-dimensional histogram

views

Two-dimensional plot views

Page 34: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

An example of the two-dimensional plot views

Page 35: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

The NIMAX software system

Framework

Windows NT/98 GUI

Data file

Application module

Component

Component net

NIMAX Manual:N.S. Amelin, M.E. Komogorov,

JINR Report, D11-2001-175, p. 1-

112

Page 36: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 37: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Why it is a universal model?

UniversalKineticModel----------------------------------- #theProjectiles#theTargets #theSecondaries #theLastSecondaries

#theListOfCollisions

-----------------------------------+ParticleEvolution()+AfterInteractionTest()=0+Camera()= 0

UKVParticleScatterer-----------------------------------

-----------------------------------+CalculateCollisionTime()=0+Scatter()=0

UKVParticleInitializer-----------------------------------

-----------------------------------+InitializeProjectileTarget()=0

UKVParticleDecayer-----------------------------------

-----------------------------------+CalculateDecayTime()=0+Decay()=0

UKVBoundaryCondition-----------------------------------

-----------------------------------+CalculateTimeToBoundary()=0+FulfilCondition()=0

Page 38: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

Nucleon-nucleus cascade model class design

UKNucleonNucleus Initializer

-----------------------------------nucleusModel

-----------------------------------+InitializeProjectileTarget()

UKNucleonNucleus CascadeModel

----------------------------------- -thearticleInitializer

-theParticleScatterer-theParticleDecayer

-theBoundaryCondition

-----------------------------------+AfterInteractionTest()

+Camera()+InitializeReaction()+FinalizeReaction()

UKHadronElastic Scatterer

----------------------------------- -hadronDistanceCalculator

-----------------------------------+CalculateCollisionTime()

+Scatter()

UKEmptyParticle Decayer

-----------------------------------

-----------------------------------+CalculateDecayTime()

+Decay()

UKNucleonBoundary Condition

----------------------------------- -theSphere

-----------------------------------+CalculateTimeToBoundary()

+FulfilCondition()

UniversalKineticModel----------------------------------- #theProjectiles#theTargets #theSecondaries #theLastSecondaries

#theListOfCollisions

-----------------------------------+ParticleEvolution()+AfterInteractionTest()=0+Camera()= 0

Page 39: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.

Page 40: Maxim Komogorov, Alexandre Pavliouk, Nikolai Amelin JINR, LHE – Dubna, Russia DEVELOPMENT AND APPLICATION OF THE NUMERICAL MODEL COMPONENTS FOR NUCLEAR

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.