Several fixes in documentation thanks to Bryan Herman.

This commit is contained in:
Paul Romano 2012-07-29 22:01:54 -04:00
parent 1af7afe543
commit dbce813b19
4 changed files with 29 additions and 26 deletions

View file

@ -9,8 +9,8 @@ neutrons includes a fissionable material. Some common criticality calculations
include the simulation of nuclear reactors, spent fuel pools, nuclear weapons,
and other fissile systems. The term criticality calculation is also synonymous
with the term eigenvalue calculation. The reason for this is that the transport
equation becomes an eigenvalue value equation if a fissionable source is present
since then the source of neutrons will depend on the flux of neutrons
equation becomes an eigenvalue equation if a fissionable source is present since
then the source of neutrons will depend on the flux of neutrons
itself. Criticality simulations using Monte Carlo methods are becoming
increasingly common with the advent of high-performance computing.

View file

@ -22,13 +22,15 @@ Let us take the example of a sphere centered at the point :math:`(x_0,y_0,z_0)`
with radius :math:`R`. One would normally write the equation of the sphere as
.. math::
:label: sphere-equation
(x - x_0)^2 + (y - y_0)^2 + (z - z_0)^2 = R^2
By subtracting the right-hand term from both sides of the equation, we can then
write the surface equation:
By subtracting the right-hand term from both sides of equation
:eq:`sphere-equation`, we can then write the surface equation for the sphere:
.. math::
:label: surface-equation-sphere
f(x,y,z) = (x - x_0)^2 + (y - y_0)^2 + (z - z_0)^2 - R^2 = 0
@ -97,20 +99,21 @@ direction :math:`u,v,w`. To find the distance :math:`d` to a surface
f(x + du, y + dv, z + dw) = 0
If no solutions to equation :eq:`dist-to-boundary-1` exists or the only
solutions are complex, then the particle's direction of travel will not
intersect the surface. If the solution to equation :eq:`dist-to-boundary-1` is
negative, this means that the surface is "behind" the particle, i.e. if the
particle continues traveling in its current direction, it will not hit the
surface. The complete derivation for different types of surfaces used in OpenMC
will be presented in the following sections.
If no solutions to equation :eq:`dist-to-boundary-1` exist or the only solutions
are complex, then the particle's direction of travel will not intersect the
surface. If the solution to equation :eq:`dist-to-boundary-1` is negative, this
means that the surface is "behind" the particle, i.e. if the particle continues
traveling in its current direction, it will not hit the surface. The complete
derivation for different types of surfaces used in OpenMC will be presented in
the following sections.
Once a distance has been computed to a boundary, we need to check if it is
closer than previously-computed distances to surfaces. Unfortunately, we cannot
just use the minimum function because some distances may be almost identical but
still different due to the use of floating-point arithmetic. Consequently, we
should first check for floating-point equality of the current distance
calculated and the minimum found thus far. This is done by checking if
Once a distance has been computed to a surface, we need to check if it is closer
than previously-computed distances to surfaces. Unfortunately, we cannot just
use the minimum function because some of the calculated distances, which should
be the same in theory (e.g. coincident surfaces), may be slightly different due
to the use of floating-point arithmetic. Consequently, we should first check for
floating-point equality of the current distance calculated and the minimum found
thus far. This is done by checking if
.. math::
:label: fp-distance

View file

@ -78,24 +78,24 @@ proceed. The life of a single particle will proceed as follows:
d = -\frac{\ln \xi}{\Sigma_t}
where :math:`\sigma` is a `pseudorandom number`_ sampled from a uniform
distribution on [0,1).
where :math:`\xi` is a `pseudorandom number`_ sampled from a uniform
distribution on :math:`[0,1)`.
5. If the distance to the nearest boundary is less than the distance to the next
6. If the distance to the nearest boundary is less than the distance to the next
collision, the particle is moved forward to this boundary. Then, the process
is repeated from step 2. If the distance to collision is closer than the
distance to the nearest boundary, then the particle will undergo a collision.
6. The material at the collision site may consist of multiple nuclides. First,
7. The material at the collision site may consist of multiple nuclides. First,
the nuclide with which the collision will happen is sampled based on the
total cross-sections. If the total cross section of material :math:`i` is
:math:`\Sigma_{t,i}`, then the probability that any nuclide is sampled is
.. math::
P(i) = \frac{\Sigma_{t,i}}{\Sigma_t}
P(i) = \frac{\Sigma_{t,i}}{\Sigma_t}.
7. Once the specific nuclide is sampled, the random samples a reaction for
8. Once the specific nuclide is sampled, the random samples a reaction for
that nuclide based on the microscopic cross sections. If the microscopic
cross-section for some reaction :math:`x` is :math:`\sigma_x` and the total
microscopic cross section for the nuclide is :math:`\sigma_t`, then the
@ -103,9 +103,9 @@ proceed. The life of a single particle will proceed as follows:
.. math::
P(x) = \frac{\sigma_x}{\sigma_t}
P(x) = \frac{\sigma_x}{\sigma_t}.
8. If the sampled reaction is elastic or inelastic scattering, the outgoing
9. If the sampled reaction is elastic or inelastic scattering, the outgoing
energy and angle is sampled from the appropriate distribution. If the
reaction is (n,xn), it's also treated as scattering and the weight of the
particle is increased by the multiplicity of the reaction. The particle

View file

@ -57,7 +57,7 @@ where :math:`g`, :math:`c`, and :math:`M` are constants. The choice of these
constants will have a profound effect on the quality and performance of the
generator, so they should not be chosen arbitrarily. As Donald Knuth said in his
seminal work *The Art of Computer Programming*, "random numbers should not be
generated with a method chosen at random". Some theory should be used."
generated with a method chosen at random. Some theory should be used."
Typically, :math:`M` is chosen to be a power of two as this enables :math:`x
\mod M` to be performed using the binary AND operator with a bit mask. The
constants for the linear congruential generator used by default in OpenMC are