mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Merge remote-tracking branch 'upstream/master' into PnInput
This commit is contained in:
commit
f2bec91b14
23 changed files with 532 additions and 245 deletions
|
|
@ -4,6 +4,227 @@
|
|||
State Point Binary File Specifications
|
||||
======================================
|
||||
|
||||
----------
|
||||
Revision 6
|
||||
----------
|
||||
|
||||
**integer(4) REVISION_STATEPOINT**
|
||||
|
||||
Revision of the binary state point file. Any time a change is made in the
|
||||
format of the state-point file, this integer is incremented.
|
||||
|
||||
**integer(4) VERSION_MAJOR**
|
||||
|
||||
Major version number for OpenMC
|
||||
|
||||
**integer(4) VERSION_MINOR**
|
||||
|
||||
Minor version number for OpenMC
|
||||
|
||||
**integer(4) VERSION_RELEASE**
|
||||
|
||||
Release version number for OpenMC
|
||||
|
||||
**character(19) time_stamp**
|
||||
|
||||
Date and time the state point was written.
|
||||
|
||||
**character(255) path**
|
||||
|
||||
Absolute path to directory containing input files.
|
||||
|
||||
**integer(8) seed**
|
||||
|
||||
Pseudo-random number generator seed.
|
||||
|
||||
**integer(4) run_mode**
|
||||
|
||||
run mode used. The modes are described in constants.F90.
|
||||
|
||||
**integer(8) n_particles**
|
||||
|
||||
Number of particles used per generation.
|
||||
|
||||
**integer(4) n_batches**
|
||||
|
||||
Total number of batches (active + inactive).
|
||||
|
||||
**integer(4) current_batch**
|
||||
|
||||
The number of batches already simulated.
|
||||
|
||||
if (run_mode == MODE_CRITICALITY)
|
||||
|
||||
**integer(4) n_inactive**
|
||||
|
||||
Number of inactive batches
|
||||
|
||||
**integer(4) gen_per_batch**
|
||||
|
||||
Number of generations per batch for criticality calculations
|
||||
|
||||
*do i = 1, current_batch*
|
||||
|
||||
**real(8) k_batch(i)**
|
||||
|
||||
k-effective for the i-th batch
|
||||
|
||||
*do i = 1, current_batch*
|
||||
|
||||
**real(8) entropy(i)**
|
||||
|
||||
Shannon entropy for the i-th batch
|
||||
|
||||
**integer(4) n_meshes**
|
||||
|
||||
Number of meshes in tallies.xml file
|
||||
|
||||
*do i = 1, n_meshes*
|
||||
|
||||
**integer(4) meshes(i) % id**
|
||||
|
||||
Unique ID of mesh.
|
||||
|
||||
**integer(4) meshes(i) % type**
|
||||
|
||||
Type of mesh.
|
||||
|
||||
**integer(4) meshes(i) % n_dimension**
|
||||
|
||||
Number of dimensions for mesh (2 or 3).
|
||||
|
||||
**integer(4) meshes(i) % dimension(:)**
|
||||
|
||||
Number of mesh cells in each dimension.
|
||||
|
||||
**real(8) meshes(i) % lower_left(:)**
|
||||
|
||||
Coordinates of lower-left corner of mesh.
|
||||
|
||||
**real(8) meshes(i) % upper_right(:)**
|
||||
|
||||
Coordinates of upper-right corner of mesh.
|
||||
|
||||
**real(8) meshes(i) % width(:)**
|
||||
|
||||
Width of each mesh cell in each dimension.
|
||||
|
||||
**integer(4) n_tallies**
|
||||
|
||||
*do i = 1, n_tallies*
|
||||
|
||||
**integer(4) tallies(i) % id**
|
||||
|
||||
Unique ID of tally.
|
||||
|
||||
**integer(4) tallies(i) % n_realizations**
|
||||
|
||||
Number of realizations for the i-th tally.
|
||||
|
||||
**integer(4) size(tallies(i) % scores, 1)**
|
||||
|
||||
Total number of score bins for the i-th tally
|
||||
|
||||
**integer(4) size(tallies(i) % scores, 2)**
|
||||
|
||||
Total number of filter bins for the i-th tally
|
||||
|
||||
**integer(4) tallies(i) % n_filters**
|
||||
|
||||
*do j = 1, tallies(i) % n_filters*
|
||||
|
||||
**integer(4) tallies(i) % filter(j) % type**
|
||||
|
||||
Type of tally filter.
|
||||
|
||||
**integer(4) tallies(i) % filter(j) % n_bins**
|
||||
|
||||
Number of bins for filter.
|
||||
|
||||
**integer(4)/real(8) tallies(i) % filter(j) % bins(:)**
|
||||
|
||||
Value for each filter bin of this type.
|
||||
|
||||
**integer(4) tallies(i) % n_nuclide_bins**
|
||||
|
||||
Number of nuclide bins. If none are specified, this is just one.
|
||||
|
||||
*do j = 1, tallies(i) % n_nuclide_bins*
|
||||
|
||||
**integer(4) tallies(i) % nuclide_bins(j)**
|
||||
|
||||
Values of specified nuclide bins
|
||||
|
||||
**integer(4) tallies(i) % n_score_bins**
|
||||
|
||||
Number of scoring bins.
|
||||
|
||||
*do j = 1, tallies(i) % n_score_bins*
|
||||
|
||||
**integer(4) tallies(i) % score_bins(j)**
|
||||
|
||||
Values of specified scoring bins (e.g. SCORE_FLUX).
|
||||
|
||||
**integer(4) n_realizations**
|
||||
|
||||
Number of realizations for global tallies.
|
||||
|
||||
**integer(4) N_GLOBAL_TALLIES**
|
||||
|
||||
Number of global tally scores
|
||||
|
||||
*do i = 1, N_GLOBAL_TALLIES*
|
||||
|
||||
**real(8) global_tallies(i) % sum**
|
||||
|
||||
Accumulated sum for the i-th global tally
|
||||
|
||||
**real(8) global_tallies(i) % sum_sq**
|
||||
|
||||
Accumulated sum of squares for the i-th global tally
|
||||
|
||||
**integer(4) tallies_on**
|
||||
|
||||
Flag indicated if tallies are present in the file.
|
||||
|
||||
if (tallies_on > 0)
|
||||
|
||||
*do i = 1, n_tallies*
|
||||
|
||||
*do k = 1, size(tallies(i) % scores, 2)*
|
||||
|
||||
*do j = 1, size(tallies(i) % scores, 1)*
|
||||
|
||||
**real(8) tallies(i) % scores(j,k) % sum**
|
||||
|
||||
Accumulated sum for the j-th score and k-th filter of the
|
||||
i-th tally
|
||||
|
||||
**real(8) tallies(i) % scores(j,k) % sum_sq**
|
||||
|
||||
Accumulated sum of squares for the j-th score and k-th
|
||||
filter of the i-th tally
|
||||
|
||||
if (run_mode == MODE_CRITICALITY)
|
||||
|
||||
*do i = 1, n_particles*
|
||||
|
||||
**real(8) source_bank(i) % wgt**
|
||||
|
||||
Weight of the i-th source particle
|
||||
|
||||
**real(8) source_bank(i) % xyz(1:3)**
|
||||
|
||||
Coordinates of the i-th source particle.
|
||||
|
||||
**real(8) source_bank(i) % uvw(1:3)**
|
||||
|
||||
Direction of the i-th source particle
|
||||
|
||||
**real(8) source_bank(i) % E**
|
||||
|
||||
Energy of the i-th source particle.
|
||||
|
||||
----------
|
||||
Revision 5
|
||||
----------
|
||||
|
|
|
|||
|
|
@ -21,6 +21,9 @@ the problem at hand (mostly on the number of nuclides in the problem).
|
|||
New Features
|
||||
------------
|
||||
|
||||
- All user input options that formerly accepted "off" or "on" should now be
|
||||
"false" or "true" (the proper XML schema datatype).
|
||||
- The <criticality> element is deprecated and was replaced with <eigenvalue>.
|
||||
- Added 'events' score that returns number of events that scored to a tally.
|
||||
- Restructured tally filter implementation and user input.
|
||||
- Source convergence acceleration via CMFD (implemented with PETSc).
|
||||
|
|
|
|||
|
|
@ -62,12 +62,12 @@ settings.xml file.
|
|||
----------------------------------
|
||||
|
||||
The ``<confidence_intervals>`` element has no attributes and has an accepted
|
||||
value of "on" or "off". If set to "on", uncertainties on tally results will be
|
||||
reported as the half-width of the 95% two-sided confidence interval. If set to
|
||||
"off", uncertainties on tally results will be reported as the sample standard
|
||||
deviation.
|
||||
value of "true" or "flase". If set to "true", uncertainties on tally results
|
||||
will be reported as the half-width of the 95% two-sided confidence interval. If
|
||||
set to "false", uncertainties on tally results will be reported as the sample
|
||||
standard deviation.
|
||||
|
||||
*Default*: off
|
||||
*Default*: false
|
||||
|
||||
.. _cross_sections:
|
||||
|
||||
|
|
@ -185,14 +185,14 @@ performed. It has the following attributes/sub-elements:
|
|||
``<no_reduce>`` Element
|
||||
-----------------------
|
||||
|
||||
The ``<no_reduce>`` element has no attributes and has an accepted value of "on"
|
||||
or "off". If set to "on", all user-defined tallies and global tallies will not
|
||||
be reduced across processors in a parallel calculation. This means that the
|
||||
accumulate score in one batch on a single processor is considered as an
|
||||
The ``<no_reduce>`` element has no attributes and has an accepted value of
|
||||
"true" or "false". If set to "true", all user-defined tallies and global tallies
|
||||
will not be reduced across processors in a parallel calculation. This means that
|
||||
the accumulate score in one batch on a single processor is considered as an
|
||||
independent realization for the tally random variable. For a problem with large
|
||||
tally data, this option can significantly improve the parallel efficiency.
|
||||
|
||||
*Default*: off
|
||||
*Default*: false
|
||||
|
||||
``<output>`` Element
|
||||
--------------------
|
||||
|
|
@ -217,9 +217,18 @@ sections summary file to be written, this element should be given as:
|
|||
|
||||
The ``<ptables>`` element determines whether probability tables should be used
|
||||
in the unresolved resonance range if available. This element has no attributes
|
||||
or sub-elements and can be set to either "off" or "on".
|
||||
or sub-elements and can be set to either "false" or "true".
|
||||
|
||||
*Default*: on
|
||||
*Default*: true
|
||||
|
||||
``<run_cmfd>`` Element
|
||||
----------------------
|
||||
|
||||
The ``<run_cmfd>`` element indicates whether or not CMFD acceleration should be
|
||||
turned on or off. This element has no attributes or sub-elements and can be set
|
||||
to either "false" or "true".
|
||||
|
||||
*Defualt*: false
|
||||
|
||||
``<seed>`` Element
|
||||
------------------
|
||||
|
|
@ -340,20 +349,20 @@ attributes/sub-elements:
|
|||
*Default*: None
|
||||
|
||||
:source_separate:
|
||||
If this element is set to "on", a separate binary source file will be
|
||||
If this element is set to "true", a separate binary source file will be
|
||||
written. Otherwise, the source sites will be written in the state point
|
||||
directly.
|
||||
|
||||
*Default*: "off"
|
||||
*Default*: false
|
||||
|
||||
``<survival_biasing>`` Element
|
||||
------------------------------
|
||||
|
||||
The ``<survival_biasing>`` element has no attributes and has an accepted value
|
||||
of "on" or "off". If set to "on", this option will enable the use of survival
|
||||
biasing, otherwise known as implicit capture or absorption.
|
||||
of "true" or "false". If set to "true", this option will enable the use of
|
||||
survival biasing, otherwise known as implicit capture or absorption.
|
||||
|
||||
*Default*: off
|
||||
*Default*: false
|
||||
|
||||
.. _trace:
|
||||
|
||||
|
|
@ -990,14 +999,14 @@ sub-elements:
|
|||
|
||||
*Default*: None
|
||||
|
||||
--------------------------------------------
|
||||
------------------------------
|
||||
CMFD Specification -- cmfd.xml
|
||||
--------------------------------------------
|
||||
------------------------------
|
||||
|
||||
Coarse mesh finite difference acceleration method has been implemented in OpenMC.
|
||||
Currently, it allows users to accelerate fission source convergence during
|
||||
inactive neutron batches. To run CMFD, the ``<run_cmfd>`` element in
|
||||
``settings.xml`` should be set to ``.true.``.
|
||||
``settings.xml`` should be set to "true".
|
||||
|
||||
``<active_flush>`` Element
|
||||
--------------------------
|
||||
|
|
@ -1018,11 +1027,11 @@ The ``<begin>`` element controls what batch CMFD calculations should begin.
|
|||
``<feedback>`` Element
|
||||
----------------------
|
||||
|
||||
The ``<feedback>`` element controls whether or not the CMFD diffusion result is
|
||||
used to adjust the weight of fission source neutrons on the next OpenMC batch.
|
||||
It can be turned on with ".true." and off with ".false.".
|
||||
The ``<feedback>`` element controls whether or not the CMFD diffusion result is
|
||||
used to adjust the weight of fission source neutrons on the next OpenMC batch.
|
||||
It can be turned on with "true" and off with "false".
|
||||
|
||||
*Default*: .false.
|
||||
*Default*: false
|
||||
|
||||
``<inactive>`` Element
|
||||
----------------------
|
||||
|
|
@ -1030,9 +1039,9 @@ It can be turned on with ".true." and off with ".false.".
|
|||
The ``<inactive>`` element controls if cmfd tallies should be accumulated
|
||||
during inactive batches. For some applications, CMFD tallies may not be
|
||||
needed until the start of active batches. This option can be turned on
|
||||
with ".true." and off with ".false."
|
||||
with "true" and off with "false"
|
||||
|
||||
*Default*: .true.
|
||||
*Default*: true
|
||||
|
||||
``<keff_tol>`` Element
|
||||
----------------------
|
||||
|
|
@ -1047,11 +1056,11 @@ CMFD is allowed to modify source neutron weights.
|
|||
-------------------------
|
||||
|
||||
The ``<ksp_monitor>`` element is used to view the convergence of linear GMRES
|
||||
iterations in PETSc. This option can be turned on with ".true." and turned off
|
||||
with ".false.".
|
||||
iterations in PETSc. This option can be turned on with "true" and turned off
|
||||
with "false".
|
||||
|
||||
|
||||
*Default*: .false.
|
||||
*Default*: false
|
||||
|
||||
``<mesh>`` Element
|
||||
------------------
|
||||
|
|
@ -1138,28 +1147,28 @@ processors used during OpenMC.
|
|||
---------------------------
|
||||
|
||||
The ``<power_monitor>`` element is used to view the convergence of power iteration.
|
||||
This option can be turned on with ".true." and turned off with ".false.".
|
||||
This option can be turned on with "true" and turned off with "false".
|
||||
|
||||
|
||||
*Default*: .false.
|
||||
*Default*: false
|
||||
|
||||
``<write_balance>`` Element
|
||||
---------------------------
|
||||
|
||||
The ``<write_balance>`` element is used to view the balance of OpenMC tally
|
||||
residuals for every coarse mesh region and energy group. This option can be
|
||||
turned on with ".true." and off with ".false.".
|
||||
turned on with "true" and off with "false".
|
||||
|
||||
|
||||
*Default*: .false.
|
||||
*Default*: false
|
||||
|
||||
``<write_hdf5>`` Element
|
||||
------------------------
|
||||
|
||||
The ``<write_hdf5>`` element can be turned on with ".true." to get an
|
||||
The ``<write_hdf5>`` element can be turned on with "true" to get an
|
||||
HDF5 output file of CMFD results.
|
||||
|
||||
*Default*: .false.
|
||||
*Default*: false
|
||||
|
||||
``<write_matrices>`` Element
|
||||
----------------------------
|
||||
|
|
@ -1167,6 +1176,6 @@ HDF5 output file of CMFD results.
|
|||
The ``<write_matrices>`` element is used to view the PETSc sparse matrices
|
||||
created when solving CMFD equations. These binary output files can be imported
|
||||
into MATLAB using PETSc-MATLAB utilities. This option can be
|
||||
turned on with ".true." and off with ".false.".
|
||||
turned on with "true" and off with "false".
|
||||
|
||||
*Default*: .false.
|
||||
*Default*: false
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ Prerequisites
|
|||
-------------
|
||||
|
||||
In order to compile OpenMC, you will need to have a Fortran compiler installed
|
||||
on your machine. Since a number of Fortran 2003 features are used in the code,
|
||||
it is recommended that you use the latest version of whatever compiler you
|
||||
on your machine. Since a number of Fortran 2003/2008 features are used in the
|
||||
code, it is recommended that you use the latest version of whatever compiler you
|
||||
choose. For gfortran_, it is recommended that you use version 4.5.0 or above.
|
||||
|
||||
If you are using Debian or a Debian derivative such as Ubuntu, you can install
|
||||
|
|
@ -21,9 +21,10 @@ the gfortran compiler using the following command::
|
|||
To compile with support for parallel runs on a distributed-memory architecture,
|
||||
you will need to have a valid implementation of MPI installed on your
|
||||
machine. The code has been tested and is known to work with the latest versions
|
||||
of both OpenMPI_ and MPICH2_. You may use older versions of MPI implementations
|
||||
at your own risk. OpenMPI and/or MPICH2 can be installed on Debian derivatives
|
||||
with::
|
||||
of both OpenMPI_ and MPICH2_. Note that if using OpenMPI, make sure that
|
||||
--with-mpi-f90-size is not set to medium or large since this may prevent MPI
|
||||
calls from completing successfully in OpenMC. OpenMPI and/or MPICH2 can be
|
||||
installed on Debian derivatives with::
|
||||
|
||||
sudo apt-get install mpich2
|
||||
sudo apt-get install openmpi-bin
|
||||
|
|
@ -75,7 +76,7 @@ Options sections in the Makefile:
|
|||
|
||||
COMPILER
|
||||
This variable tells the Makefile which compiler to use. Valid options are
|
||||
gfortran, intel, pgi, ibm, and cray.
|
||||
gnu, intel, pgi, ibm, and cray. The default is gnu (gfortran).
|
||||
|
||||
DEBUG
|
||||
Enables debugging when compiling. The flags added are dependent on which
|
||||
|
|
@ -85,17 +86,21 @@ PROFILE
|
|||
Enables profiling using the GNU profiler, gprof.
|
||||
|
||||
OPTIMIZE
|
||||
Enables high-optimization using compiler-dependent flags. For gfortran,
|
||||
this compiles with -O3. For Intel Fortran, this compiles with -O3 as well as
|
||||
interprocedural optimization.
|
||||
Enables high-optimization using compiler-dependent flags. For gfortran and
|
||||
Intel Fortran, this compiles with -O3.
|
||||
|
||||
USE_MPI
|
||||
Enables parallel runs using the Message Passing Interface. Users should also
|
||||
set the MPI_ROOT directory further down in the Makefile.
|
||||
MPI
|
||||
Enables parallel runs using the Message Passing Interface. The MPI_DIR
|
||||
variable should be set to the base directory of the MPI implementation.
|
||||
|
||||
USE_HDF5
|
||||
Enables HDF5 output in addition to normal screen and text file output. Users
|
||||
should also set the HDF5_ROOT directory further down in the Makefile.
|
||||
HDF5
|
||||
Enables HDF5 output in addition to normal screen and text file output. The
|
||||
HDF5_DIR variable should be set to the base directory of the HDF5
|
||||
installation.
|
||||
|
||||
PETSC
|
||||
Enables PETSc for use in CMFD acceleration. The PETSC_DIR variable should be
|
||||
set to the base directory of the PETSc installation.
|
||||
|
||||
It is also possible to change these options from the command line itself. For
|
||||
example, if you want to compile with DEBUG turned on without actually change the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue