mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-24 12:05:32 -04:00
443 lines
20 KiB
Text
443 lines
20 KiB
Text
2011-06-22 Paul Romano <romano7@mit.edu>
|
|
|
|
* .gitignore: Specifies intentionally untracked files for git
|
|
version control
|
|
* src/ace.f90: Added capability to read unresolved resonance
|
|
probability tables.
|
|
* src/global.f90: Added log file unit.
|
|
* src/logging.f90: Added module for handling a log file.
|
|
* src/main.f90: Added call to create log.
|
|
* src/types.f90: Extended AceContinuous to handle unresolved
|
|
resonance probability table data.
|
|
|
|
2011-04-25 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Fixed indentation of get_int and get_real. Added
|
|
subroutine get_macro_xs.
|
|
* fileio.f90: Added ability to read tally cards through read_tally
|
|
subroutine. Changed ERROR_CODE to ERROR_INT.
|
|
* global.f90: Added variables for tallies. Changed ERROR_CODE to
|
|
ERROR_INT and added ERROR_REAL.
|
|
* input_sample: Added tally card.
|
|
* main.f90: Use tallies_on variable when appropriate.
|
|
* output.f90: Add preliminary tally printing capabilites through
|
|
print_tally subroutine.
|
|
* physics.f90: Add call to score_tally for tallies. Changed
|
|
Sigma_t to Sigam_rxn.
|
|
* score.f90: Added score_tally and add_to_score subroutine.
|
|
* search.f90: Added interpolate subroutine.
|
|
* string.f90: Added is_number function.
|
|
* tallies.f90: CHANGED NAME TO score.f90
|
|
* types.f90: Added list of tallies to Universe, Lattice and
|
|
Cell. Modified Tally type.
|
|
|
|
2011-04-22 Paul Romano <romano7@mit.edu>
|
|
|
|
* geometry.f90: Deallocated count lists in neighbor_lists.
|
|
* global.f90: Deallocate arrays that were not previously
|
|
deallocated (xs_continuous, xs_thermal, e_grid, lattices).
|
|
* mpi_routines.f90: Added variable p_sample to lessen calculation
|
|
inside of sampling loop.
|
|
* physics.f90: Commented warning about low particle energy.
|
|
* source.f90: Changed source and fission banks to be allocated
|
|
maxwork instead of n_particles.
|
|
|
|
2011-04-21 Paul Romano <romano7@mit.edu>
|
|
|
|
* main.f90: Moved RN_init_particle at end of cycle to
|
|
synchronize_bank routine.
|
|
* mcnp_random.f90: Added RN_skip subroutine since RN_skip_ahead
|
|
was private and needed a specific seed. RN_skip is used in
|
|
synchronize_bank.
|
|
* mpi_routines.f90: Dramatically overhauled the fission bank
|
|
synchronization algorithm. The algorithm was non-scalable due to
|
|
each processor needing to iterate over the global list of fission
|
|
sites when sampling. This has been modified so that each processor
|
|
samples sites locally without knowledge of how many sites other
|
|
processors have sampled. Essentially, this requires an extra
|
|
MPI_EXSCAN and MPI_BCAST, but should be much faster than what was
|
|
there before.
|
|
* source.f90: Set uid of particle during get_source_particle
|
|
|
|
2011-04-21 Paul Romano <romano7@mit.edu>
|
|
|
|
* geometry.f90: Removed level on calls to message().
|
|
* global.f90: Adjustments to make necessary integers into 8-byte
|
|
integers. Changed PI to non-compiler dependent constant.
|
|
* lattice_sample: Changed lattice to 20 x 20.
|
|
* main.f90: New timing data from fission bank synchronization
|
|
* mpi_routines.f90: Switching to 8-byte integers, more comments,
|
|
changed timing variables.
|
|
* output.f90: Made the level argument in message subroutine
|
|
optional.
|
|
* physics.f90: Fixed bug in sample_angle whereby mu could possibly
|
|
be greater than one (very rarely). This caused rotate_angle to
|
|
fail when given mu>1. Removed level from message calls.
|
|
* source.f90: Change necessary variables to integer(8)
|
|
* tallies.f90: Change MPI_REDUCE to use MPI_INTEGER8
|
|
* types.f90: Change Bank type to use integer(8) for uid.
|
|
|
|
2011-04-13 Paul Romano <romano7@mit.edu>
|
|
|
|
* main.f90: Simple timing for total time elapsed and bank
|
|
synchronization.
|
|
* Makefile: Added USE_MPI flag and ifeq block.
|
|
* mpi_routines.f90: Timing of fission bank synchronization.
|
|
|
|
2011-04-12 Paul Romano <romano7@mit.edu>
|
|
|
|
* global.f90: Added ifdef MPI sections
|
|
* main.f90: Added ifdef MPI sections
|
|
* Makefile: Made switching between compiling with or without MPI
|
|
more seamless by adding -DMPI flag on F90FLAGS.
|
|
* mpi_routines.f90: Added ifdef MPI sections
|
|
* tallies.f90: Added ifdef MPI sections
|
|
|
|
2011-04-12 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Fixed bug relating to 'use' of str_to_real from wrong
|
|
module
|
|
* cross_section.f90: Fixed bug relating to 'use' of str_to_real
|
|
from wrong module
|
|
* fileio.f90: Fixed bug relating to 'use' of str_to_real from wrong
|
|
module
|
|
|
|
2011-04-01 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Added ability to read S(a,b) data through the
|
|
read_ACE_thermal and read_thermal_data subroutines.
|
|
* endf.f90: Replaced many integer values of MTs with constants
|
|
introduced in global module
|
|
* fileio.f90: Added check for no boundary conditions.
|
|
* global.f90: Introduced parameters to represent different
|
|
reactions. Added real_to_str function and moved str_to_real
|
|
function here instead of being in string module.
|
|
* output.f90: Changed printing of real(8)s to use the real_to_str
|
|
function. Changed print_material to show density of each nuclide.
|
|
* physics.f90: Replaced actual integer values of MTs with
|
|
constants introduced in global module
|
|
* string.f90: Moved str_to_real function to global module.
|
|
|
|
2011-03-30 Paul Romano <romano7@mit.edu>
|
|
|
|
* benchmarks: Added boundary conditions to PU-MET-FAST-001, 002,
|
|
and 005.
|
|
* fileio.f90: Added ability to read boundary conditions through
|
|
the new read_bc subroutine and a modification to adjust_indices.
|
|
* global.f90: Added parameter for periodic boundary conditions.
|
|
* input_sample: Added boundary conditions.
|
|
* lattice_sample: Sample lattice geometry file added.
|
|
* output.f90: Modified print_surface to show boundary condition.
|
|
|
|
2011-03-28 Paul Romano <romano7@mit.edu>
|
|
|
|
* fileio.f90: Ability to read lattice entries.
|
|
* geometry.f90: Added lattice capabilities. Changed cross_boundary
|
|
to cross_surface. Added many comments. In many places, changed
|
|
testing of c%fill to c%type instead since fill could be universe
|
|
or lattice.
|
|
* Makefile: Added -traceback
|
|
* output.f90: Added print_lattice, other minor changes. (Fixed
|
|
indentation so looks like everything changed)
|
|
* physics.f90: Call cross_lattice if crossing lattice boundary
|
|
instead of surface.
|
|
* source.f90: Set values for xyz_local, lattice indices
|
|
* types.f90: Extending Lattice type, modified Particle type to
|
|
include local coordinates, current lattice, and lattice indices.
|
|
|
|
2011-03-25 Paul Romano <romano7@mit.edu>
|
|
|
|
* physics.f90: Resample outgoing energy if sampled energy is
|
|
greater than 20 MeV. Some cross sections go up to 150 MeV but
|
|
others do not.
|
|
* source.f90: Resample outgoing energy if >= 20 MeV.
|
|
|
|
2011-03-25 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Added ability to read delayed neutron energy
|
|
distributions and precursor yields/constants. Created function
|
|
length_energy_dist from inner section of read_energy_dist so that
|
|
it could used for delayed neutrons as well. Added many comments
|
|
where they were previously missing.
|
|
* fileio.f90: Added many comments.
|
|
* global.f90: Added lattice types
|
|
* physics.f90: Added sampling of delayed neutrons (delayed/prompt,
|
|
precursor group, outgoing energy). Added many comments.
|
|
* types.f90: Moved all delayed neutron precursor data into one
|
|
array. Made delayed neutron energy distribution allocatable (since
|
|
there are 6 groups, each with a dist). Added many comments.
|
|
|
|
2011-03-24 Paul Romano <romano7@mit.edu>
|
|
|
|
* geometry.f90: Fixed significant bug in how quadratic surfaces
|
|
were handled. Changed x**2 to x*x in the interest of efficiency.
|
|
* global.f90: Added more interpolation types to prepare for
|
|
interpolation other than histogram or lin-lin.
|
|
* physics.f90: Fixed bug in E1 and EK energies for Law 4 (used NE
|
|
instead of NP).
|
|
|
|
2011-03-22 Paul Romano <romano7@mit.edu>
|
|
|
|
* benchmarks: Added PU-MET-FAST-002 and PU-MET-FAST-005 benchmark
|
|
problems.
|
|
* mpi_routines.f90: Added check for no fission bank sites.
|
|
* output.f90: Changed error subroutine to work when run in
|
|
parallel.
|
|
* physics.f90: Fixed sampling of seconary angle for elastic
|
|
scattering. Changed sampling of reaction. Changed n_gamma to
|
|
n_absorption and now includes (n,p), etc. Reverted sample_angle
|
|
routine to arguments u,v,w,mu.
|
|
|
|
2011-03-22 Paul Romano <romano7@mit.edu>
|
|
|
|
* cross_section.f90: Calculation of material total cross section
|
|
was completely wrong -- fixed it up.
|
|
* global.f90: Added default keff.
|
|
* mpi_routines.f90: Fixed major bug in how MPI_BANK type was
|
|
created. Solution should be machine independent. Parallel fission
|
|
bank now works.
|
|
* physics.f90: Combined level_scatter into inelastic_scatter since
|
|
the physics is the same. Simplifying sampling of angle (isotropic
|
|
cases handled inside sample_angle). Fixed interpolation in many
|
|
places (f and (1-f) were swapped). Fixed distance to
|
|
collision. Fixed major bug in evaporation spectrum (restriction
|
|
energy was wrong).
|
|
* source.f90: Moved initial sampling of Watt spectrum for first
|
|
cycle particles to init_source inside of being in physics module.
|
|
* tallies.f90: Initial addition of tallies module. Only has one
|
|
routine, calculate_keff, that is used to do end-of-cycle keff
|
|
calculations. This will probably change significantly.
|
|
* unittest.f90: Added test_mpi_bank useful for debugging the
|
|
MPI_BANK type.
|
|
|
|
2011-03-21 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Adjusted locators energy and angle distributions for
|
|
Law 61.
|
|
* global.f90: Added 'work' variable.
|
|
* main.f90: History loop is generalized. Added call to
|
|
synchronize_bank.
|
|
* mpi_routines.f90: Added fission bank synchronization from prior
|
|
code. Introduced MPI_bank type in setup_mpi.
|
|
* physics.f90: Added ability to simulate (n,xn), inelastic
|
|
scattering reactions. Further extended energy sampling to include
|
|
Law 61 (correlated energy-angle distributions). Fixed cases where
|
|
nu values outside of array for binary_search are treated
|
|
correctly. Fixed bugs in energy sampling (changed %energy to
|
|
%data).
|
|
* source.f90: Changed init_source to work in parallel. Minor
|
|
changes to get_source_particle. Added copy_from_bank for fission
|
|
bank synchronization.
|
|
|
|
2011-03-18 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Added ability to read nu data through the read_nu_data
|
|
subroutine. Changed names of subroutines with 'parse' to
|
|
'read'. Change 'size' variable to 'length' to prevent conflict
|
|
with SIZE intrinsic. Adjusted angle and energy distributions to
|
|
fit new types. Adjusted locator arrays within energy and angle
|
|
distribution data array.
|
|
* fileio.f90: Can now read verbosity from input file rather than
|
|
setting it arbitrarily in my source.
|
|
* geometry.f90: Set current pointers particle attributes in
|
|
find_cell.
|
|
* global.f90: Added keff, bank indices, parallel processing
|
|
variables, nu types. Moved default verbosity to set_defults.
|
|
* mpi_routines.f90: First addition on MPI parallelization
|
|
* output.f90: Added print_particle and print_reaction routines,
|
|
moved ou and eu to be module variables so that every routine
|
|
doesn't have to define them.
|
|
* physics.f90: Added n_fission and level_scatter
|
|
subroutines. Fixed bugs in sample_angle subroutine. Changed
|
|
rotate_angle to operate on particle. Added sample_energy
|
|
subroutine -- currently includes tabular equiprobable bins,
|
|
inelastic level scattering, continuous tabular distribution,
|
|
Maxwell spectrum, evaporation spectrum, Watt spectrum, and
|
|
Kalbach-Mann correlated scattering.
|
|
* source.f90: Added default values for source particles. Temporary
|
|
add_bank_sites routine written -- not sure if it will be used here
|
|
or elsewhere.
|
|
* types.f90: Added n_coll attribite to particle. Extended Bank
|
|
type to include direction and energy. Added AceDistAngle and
|
|
AceDistEnergy types and changed AceReaction accordingly. Changed
|
|
how nu data is stored in AceContinuous.
|
|
|
|
2011-03-10 Paul Romano <romano7@mit.edu>
|
|
|
|
* types.f90: The major changes are that the n_items and
|
|
boundary_list attributes of 'Cell' are now n_surfaces and
|
|
surfaces. Even though this doesn't quite make sense since
|
|
parentheses and union operators are not surfaces per-se, it is
|
|
easier to understand within other modules with these names. The
|
|
'Neutron' type is now called 'Particle' and will be used for all
|
|
different particles (eventually).
|
|
* fileio.f90: Changed aforementioned names.
|
|
* geometry.f90: Changed aforementioned names.
|
|
* global.f90: Changed aforementioned names.
|
|
* main.f90: Changed aforementioned names.
|
|
* output.f90: Changed aforementioned names.
|
|
* physics.f90: Changed aforementioned names.
|
|
* source.f90: Changed aforementioned names.
|
|
|
|
2011-03-04 Paul Romano <romano7@mit.edu>
|
|
|
|
* fileio.f90: Added build_universe routine which sets pointers
|
|
betweens cells and parent cells and determines level of each
|
|
universe. Added stub for read_lattice.
|
|
* geometry.f90: Changed cross_boundary and dist_to_boundary to
|
|
take into account universe boundaries as well as cell boundaries.
|
|
* global.f90: Added initial variables for lattices.
|
|
* output.f90: Added print_surface and print_material.
|
|
* physics.f90: Added find_energy_index routine.
|
|
* types.f90: Initial Lattice type.
|
|
|
|
2011-02-27 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Fixed minor bugs associated with reading angular
|
|
distributions.
|
|
* data_structures.f90: Added dict_keys routines.
|
|
* fileio.f90: Considerably changed read_count and read_cell to be
|
|
able to handle universes.
|
|
* geometry.f90: Added universe logic to find_cell and allowed it
|
|
to be recursively called.
|
|
* global.f90: Added universe array and dictionary, cell types,
|
|
pointer to lowest universe, angular distribution types,
|
|
interpolation types, as well as ERROR_CODE and adjusted str_to_int
|
|
to return ERROR_CODE on error.
|
|
* output.f90: Added print_cell, print_universe, and print_summary
|
|
subroutines. Need a few more useful routines like this!
|
|
* physics.f90: Added ability to sample cosine of scattering angle
|
|
from a 32-equiprobable bin distribution or a tabular
|
|
distribution. This is done by the sample_energy routine. The
|
|
rotate_angle subroutine takes a particles direction and applies
|
|
that scattering angle to it. Also added some logic for universes.
|
|
* types.f90: Changed some attributes in the Neutron structure,
|
|
added type to angular distribution within AceReaction.
|
|
|
|
2011-02-22 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Added read_angular_dist and read_energy_dist
|
|
subroutines that read the energy and angle distributions for
|
|
secondary neutrons for reactions with MT < 100. Note that these
|
|
routines don't actually parse the distributions since their form
|
|
will depend on the secondary law is for that particle reaction.
|
|
* global.f90: Incremented minor version
|
|
* types.f90: Put angular and energy distribution information
|
|
within AceReaction since it is unique to each reaction
|
|
|
|
2011-02-13 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Fixed xs_continuous allocation again -- cross sections
|
|
were not being assigned correctly to materials. Added elastic
|
|
scattering in list of reactions. Changed name of rxn %
|
|
energy_index to IE.
|
|
* endf.f90: New module. Includes subroutine reaction_name which
|
|
returns the name of a reaction for a given ENDF MT value.
|
|
* geometry.f90: Fixed bug in dist_to_boundary (the 'w' in uvw was
|
|
actually being set to 'z', not 'w'). Changed 0's and 1's to ZEROs
|
|
and ONEs.
|
|
* global.f90: Added ZERO and ONE.
|
|
* physics.f90: Can now sample reactions once nuclide is
|
|
selected. Added subroutines elastic_scatter, level_inelastic, and
|
|
n_gamma (level_inelastic is just a stub), and significantly
|
|
changed elastic scattering (currently based on stationary target).
|
|
* types.f90: Added n_reaction attribute on AceContinuous, changed
|
|
AceReaction % energy_index to IE.
|
|
|
|
2011-02-09 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Fixed bug in the way xs_continuous was allocated. If,
|
|
e.g., 92235.03c was listed twice in a file, two spots would be
|
|
allocated in the array instead of one.
|
|
* cross_section.f90: Added calculation of total material
|
|
cross-section.
|
|
* data_structures.f90: Added list routines for each different
|
|
type (integer, real, key/value pairs) and an interface for
|
|
them. Dictionaries can now take character keys or integer
|
|
keys. New hash function for integers is simple mod function.
|
|
* energy_grid.f90: Removed grid_count since we now have a generic
|
|
list_size routine in data_structures. Added original_indices
|
|
routine in order to do SERPENT-style double-indexing.
|
|
* fileio.f90: Fixed normalize_ao routine to include calculations
|
|
based on atom or gram density (this should probably be moved to
|
|
different module). Added get_next_line routine that reads a full
|
|
line of input including any continuation lines marked by an
|
|
ampersand.
|
|
* global.f90: Added separate dictionary types (CI and II), added
|
|
pointers for current cell, surface, and material. Added e_grid and
|
|
n_grid
|
|
* physics.f90: Neutron energy sampled at beginning of
|
|
transport. Added watt_spectrum and maxwell_spectrum
|
|
routines. Changed collision routine so that actual nuclide is
|
|
sampled.
|
|
* search.f90: Fixed binary_search routine
|
|
* string.f90: Changed concatenate subroutine into a function
|
|
* types.f90: Moved List and Dictionary types from data_structures
|
|
to here (including new types). LinkedListGrid is now ListReal.
|
|
|
|
2011-02-03 Paul Romano <romano7@mit.edu>
|
|
|
|
* ace.f90: Added initial routines for reading continuous-energy
|
|
ACE cross section tables. No secondary energy/angle distributions
|
|
or nu data is read.
|
|
* cross_section.f90: Added read_xsdata routine which reads
|
|
information from an xsdata file from SERPENT.
|
|
* data_structures.f90: Moved derived types to the types module and
|
|
change dict_create so that one doesn't need to add a (key,value)
|
|
pair on initialization.
|
|
* energy_grid.f90: First routines for energy grid unionization
|
|
based on insertion sorts.
|
|
* fileio.f90: Added routines for reading integer and real data,
|
|
particularly from cross-section libraries. Made an interface so
|
|
that a single routine can be called regardless of type. Ability to
|
|
read material cards and added subroutine for normalization of
|
|
atom/weight percents.
|
|
* Makefile: Added 'unittest' target
|
|
* output.f90: Fixed bug in get_today subroutine whereby the day
|
|
was displayed wrong.
|
|
* search.f90: Added binary search which will eventually be used
|
|
for energy grid searches
|
|
* unittest.f90: Added this program for unit testing.
|
|
|
|
2011-01-26 Paul Romano <romano7@mit.edu>
|
|
|
|
* physics.f90: Added collision routine, still segfaults though.
|
|
* geometry.f90: Added messages for high verbosities
|
|
* global.f90: Added verbosity parameter, key length for
|
|
dictionaries
|
|
* output.f90: Implemented verbosity for messages.
|
|
* data_structures.f90: Added implementations of linked list and
|
|
dictionaries based on the flib open source package
|
|
|
|
2011-01-23 Paul Romano <romano7@mit.edu>
|
|
|
|
* types.f90: Added cell, surface, and alive attributes to Neutron
|
|
* fileio.f90: External source no longer array
|
|
* geometry.f90: Changed cell_contains slightly so that it can
|
|
evaluate simple cell logical expressions. Added find_cell and
|
|
cross_boundary subroutines. Changed dist_to_boundary to also give
|
|
back closest surface
|
|
* global.f90: Added set_defaults subroutine
|
|
* source.f90: Isotropic angle is now sampled in init_source, fixed
|
|
sampling in box, checks for external source type. Added
|
|
get_source_particle function.
|
|
|
|
2011-01-22 Paul Romano <romano7@mit.edu>
|
|
|
|
* input_sample: Added a sample input file
|
|
* main.f90: Added run_problem subroutine
|
|
* mcnp_random.f90: Added random number generator based on MCNP's
|
|
linear congruential generator
|
|
* fileio.f90: Completely changed how cells, surfaces, and
|
|
materials are allocated. Now there is a first pass through the
|
|
input file made by read_count which allows the arrays to be
|
|
pre-allocated, then read_input actually parses the input data.
|
|
* geometry.f90: Only formatting changes
|
|
* output.f90: Added the echo_input subroutine, made formatting
|
|
changes
|
|
* string.f90: Moved int_to_str to the global module, changed
|
|
string splitting to recognize tab characters
|
|
* types.f90: Deleted List types, added Isotope, Material, and
|
|
Source
|
|
* source.f90: Added init_source routine which initializes source
|
|
particles
|