Quick Navigation:
Go to Home
MS Research
PhD Research
Curriculum Vitae
Linux
Matlab
On-line Stores
Cycling
Medicine & Health
LaTeX
OOP & C++
Sony PCM-R500 DAT
|

|
Next: Arrangement of source code
Up: Neutronics Implementation
Previous: Introduction
  Contents
  Index
This section provides an overview of the different parts of the full
implementation.
The flow chart depicted in Figure 3.1 reveals the different
parts of the implementation.
A short description of the different parts are given below
- .
- Input data: The input data, which specify parameters for
both the neutronics and thermal-hydraulics computation, are given in two
separate files. These data specify amongst other the geometry of the
reactor, where to find files which contain the condensed cross sections
and parameters for the grid.
- .
- Grid generation: This program block calculates a suitable
computational grid (ie the steplengths hk) as described in section
1.9.
- .
- Generation of homogenized cross sections: The cross sections
in every region in the reactor are calculated using the calculated grid,
the cross section files (specified in the input) and some kind of
average of the void fraction (
)
and fuel temperature
(Tf) in each region. The void fractions and fuel temperatures are
either calculated using data from the thermal-hydraulics computation or
assumed.
- .
- Building the system of equations: A this point we build the
system of equations which forms the eigenvalue problem, ie we calculate
the non-zero block elements of the matrices B and C in
(1.91).
- .
- Fundamental eigensolution computation: Having established
the eigenvalue problem we compute the fundamental eigensolution using
the power method and the fractional iteration method (see sections
2.2 and 2.3).
- .
- Flux scaling: The fundamental eigensolution computation only
gives us the direction of the eigenvector (or alternatively the form of
the fluxes)--the length of the vector (or alternatively the level of
the fluxes) has to be determined by a requirement regarding the total
generated power. The total power generation is calculated using the
formulae given in section 1.8.
- .
- Pre-processing: After having calculated the fluxes and axial
power distribution the results are stored in a Matlab mat-file. The
actual pre-processing eg making a plot of the flux is done by the user
through the mat-file.
Before going into a detailed description of the different part of the program we
would like to point out the general features upon which the implementation is
build.
- Portability: The source code is written to ensure
portability, ie only generally accepted C-functions are called and
measures have been taken to allow differences in the sizes of machine
words.
This is a powerful feature since this enables
compilation of the source code with a standard
compiler on
all machines. I have run the program on both an IBM-compatible
486 DX2/66 and a HP 9000/735 work station with no problems.
- Encapsulation and abstraction: With every large program it
is important to encapsulate packets of information belonging together
into entities. This gives the program a great deal of flexibility and
since encapsulated data are invisible in the global scope the risk of
spurious errors becomes less pronounced. In
this is accomplished
through objects, but since this is not exploited in the program the
ordinary C structure will have to do.
- Dynamic allocation: Memory is allocated to variables when
these are needed. When variables are not needed any more the memory is
freed for other purposes. This approach ensures an efficient memory
utilization--the only way of dealing with large amounts of data. The
drawback is evidently that the programmer has to control the
allocation3.2--if not done correctly this
could easily result in a system crash.
- Modular structure: The source code is deliberately divided up
in modules (= files). Each module contains a group of functions for a
specific purpose, eg the mathematical functions. As a
consequence, the program becomes more readable.
- Double precision: All data are stored and
worked with in double precision.
Next: Arrangement of source code
Up: Neutronics Implementation
Previous: Introduction
  Contents
  Index
Revision 2.0, Copyright © 1999-2004 Jakob
Christensen
http://www.JakobCHR.com
E-Mail: webmaster@JakobCHR.com
|
Top Quality Developed with Danish Brain Power
|
|
|
|
|