Frequently asked questions:

How to install Version5?

Two types of installation are possible. To install both Dragon5 and Donjon5:

Is Dragon Version5 an official version? What is its status relative to Dragon 3.0x?

Dragon 3.0x releases are intended to be Industrial Standard Toolset (IST) components for the Canadian nuclear industry. They are used for design and safety studies. Consequently, IST components are verified according to the procedures described in CSA-N286.7. Some modules of Dragon Version5, such as NXT:, LIB:, EVO: and SHI: are similar with those found in Dragon 3.0x and are therefore fully verified. Other modules of Dragon Version5, such as FLU: and EDI:, have been completely rewritten and are not verified according to CSA-N286.7.

However, the development of Dragon Version5 is made with modern quality assurance (QA) traceability techniques. This traceability goal is achieved through the application of versioning control (using Subversion) and issue tracking systems to the following project components:

Can I use my Dragon 3.0x input files with Dragon Version5?

Yes, with one exception. Version5 has eliminated all side effects. In Dragon 3.0x, it is usual to use a side effect in module UTL: to change the root directory in a LCM object. In Version5, this operation must be accomplished with the equality (:=) module, as shown in the following example.

In Dragon 3.0x:
LINK_LIST LIBRARY TRACK GEOM ;
...
UTL: LIBRARY :: STEP UP MACROLIB ;
TRACK := BIVACA: GEOM LIBRARY ;
UTL: LIBRARY :: STEP DOWN ;

In Dragon Version5:
LINK_LIST MACRO LIBRARY TRACK GEOM ;
...
MACRO := LIBRARY :: STEP UP MACROLIB ;
TRACK := BIVACA: GEOM MACRO ;

Also, a few modules, such as JPMT:, SAD:, PER: and MCU: are not available in Dragon Version5. The capabilities of modules EXCELL: and MOCC: have been integrated in ASM: and FLU:, respectively.

Can I use my Donjon 3.0x input files with Donjon Version5?

No, although Trivac-related modules have similar arguments. All modules related to L_MAP and L_DEVICE objects are different. Objects L_TABLE no longer exist in Donjon5. L_COMPO and L_MULTICOMPO objects are interpolated in place in Donjon5, without having to first copy them in a L_TABLE object. The programmation of Donjon5 is greatly simplified and cleaned.

Is Dragon Version5 works on Windows?

Yes, in two possible ways:

Is Dragon Version5 works on Mac OSX?

Yes. Many components of Version5 are developed on a Mac. However, you must install XCODE and the gfortran compiler before installing Version5.

A tutorial is available to explain the installation procedure on a Mac.

Why using Fortran 2003 in Version5 distribution?

We are using Fortran 2003 for performance and serviceability reasons. The style of Fortran programming we use is nevertheless modern as we don't use obsolete constructs such as COMMON blocks for static storage needs. All LCM object addresses are stored in TYPE(C_PTR) variables and memory allocation is performed with ALLOCATE and DEALLOCATE statements.

What is the status of Version5 distribution?

Version5 is a 64-bit clean distribution of the reactor physics codes developed at École Polytechnique de Montréal. This distribution is intended to users of recent computer systems experiencing obsolescence problems with previous distributions. Release 5.0.1 is iso-functional with Version4 distribution at release 4.1.0. The Ganlib5 kernel is mostly programmed in ANSI-C language and the computational modules are programmed in Fortran 2003. Consequently, the g77 compiler can no longer be used. The Version5 distribution is based on the architecture presented in report IGE-332 (PDF). Using Version5 distribution, we successfully performed the following exercices:

Can I use Version5 components for commercial applications? What are the terms of the license?

The Version5 components are released under the GNU Lesser General Public License (LGPL). This means that you can integrate Version5 components into your industrial framework and use it for commercial applications. The only condition is to inform and make available to us any modification or improvement you make in an existing Version5 component.

Enhancements to Version5 can be written as procedure files in CLE-2000 language or as modifications to the Fortran source. CLE-2000 procedures or new Fortran modules written by you are not covered by the LGPL. We encourage you to release your Fortran source enhancements under the LGPL for inclusion in future versions of Version5.

Why not giving full remote access to the Subversion repository?

All components of the Version5 repository are now open source. We consider giving public access to the repository when Version 5.1 will be released.

Which cross-section libraries can I use with Dragon Version5?

You can use existing libraries in the following formats: MATXS, Apolib-1, Apolib-2, Apolib-3, WIMS-D4, WIMS-AECL and Draglib. Most available libraries in these formats are proprietary, but open source libraries exist in WIMS-D4 (see WLUP site) and Draglib formats.

I try to save a file and to recover it at the end of the DRAGON or DONJON run. After the run, it is not there, but the output indicates a successful run. Some code reading (and debugging) shows that the file is correctly closed and kept after the module call, but is deleted afterwards in the CLE-2000 procedure in "kdrcln".

Any file that is candidate to be kept after the DRAGON or DONJON run must be defined with the FILE attribute. For example, a postscript file to be created in the PSP: module must be declared as

SEQ_ASCII Fig_reg :: FILE 'Fig_reg.ps' ;

Moreover, if the main CLE-2000 dataset file is named data.x2m, a data.save script file must be defined to recover the Fig_reg.ps file. An example of such a data.save script file follows:

This script file must be set as executable using a Bourne directive:

chmod 755 data.save

Is it possible to detect a memory leak in DRAGON or in DONJON?

The Valgrind utility can be used together on systems that support it. To enable this verification, all components of Version5 distribution must be compiled with the -debug option. Moreover, the main CLE-2000 dataset file must be executed by a command similar to

valgrind --leak-check=yes ./rdragon data.x2m

Your program will run much slower (eg. 20 to 30 times) than normal, and use a lot more memory. Memcheck will issue messages about memory errors and leaks that it detects.

The power is the product of FLUX-INTG and H-FACTOR records. Why the H-FACTOR record is missing from the Macrolib produced by the EDI: module?

You have to set the DEPL line option in LIB: module.

In the .result file, there are two fluxes that I get (region integrated flux and averaged regional flux). Normally I would expect the flux to be in E14 level. The values that I get are in like 2.14E-1. Is the flux normalized there?

The flux output by EDI: are not normalized. The normalization factor is computed by module EVO:, but is not applied. Only the fluxes produced by modules COMPO:, SAP: or CPO:are normalized.

Cross section information is missing in the .result file. As the cross-section files in DRAGON are in BINARY format, is there any software to read those binary files? Also, is it possible to print the cross-sections using Dragon scripts as well?

All LCM objects produced by DRAGON5 (including the DRAGLIB) can be converted (serialized) into ASCII format using the := operator. Moreover, their internal organization is fully described in IGE351 report.

Here is an example of a case with data exportation. I also made an export of the multicompo containing all the merged/condensed data produced by EDI:. This is the standard way of using DRAGON5. Any Dragon LCM object can be exported that way.

Don't forget to declare chmod 755 the .save and .access scripts.

casl_pin.access

casl_pin.x2m

casl_pin.save

What is the status of HDF5 support in Version5?

HDF5 support is an optional capability of the Version5 platform in version 5.0.8 or newer. A HDF5 file is a hierarchical structure made of groups (sub-structures) and datasets (arrays). HDF5 files are popular in competing platforms such as ODYSSEE and APOLLO3. They provide a more accepted alternative to XSM files, already used in Version5.

To activate HDF5 capability in Version5, you need:

Why the absorption cross section occurs negative is some fast energy groups?

A negative absorption is a neutronic absorption (ABS) defined as Eq. (3.7) at Sect. 3.2.4 of report IGE335. This value may be negative due to (n,xn) reactions. Another definition is the depletion absorption defined as NTOT0 - (NELAS + NINEL). This value is always positive. The definition of absorption is always ambiguous, in any code. We strongly recommend using ENDF-type reactions such as NTOT0 (total), NG (radiative capture), NELAS (elastic scattering), NINEL (inelastic scattering), etc.

How to install the Python3 API (PyGan) for Version5?

Install the Version5 distribution as before. Next, install the three Python3 extension modules lcm, lifo and cle2000 using PyGan makefiles. Two types of installation are available: