Explore chapters and articles related to this topic
System Simulation
Published in Udo W. Pooch, Alan D. George, Lois Wright Hawkes, Microprocessor-Based Parallel Architecture for Reliable Digital Signal Processing Systems, 2018
Alan D. George, Lois Wright Hawkes
One preliminary consideration that must be addressed before system simulation can be developed is the need for data display and evaluation. While floating-point values are carried internally throughout the system, and are manipulated in the microprocessors, these values are passed between components in IEEE 754-1985 single-precision (SP) floating-point format [IEEE85]. This format is not the same as that used by either float or double floating-point variables in the C compiler used to simulate this system. In fact, these IEEE SP values are stored as 32-bit unsigned long integers in the simulation software. Therefore, the need exists for functions in C to convert between these unsigned long integers representing IEEE SP and the double format of the compiler so that the flow of information in the system can be better understood. The basic format of IEEE SP contains three fields, as shown in Figure 6.1. Twenty-three bits of binary fractional data and eight bits of biased exponent (as a power of two) are provided, along with a sign bit. Normalized nonzero numbers x are equal to the following, where s represents the sign bit, e the exponent, and f the binary fixed-point fraction O.b1b2···b23[DSP89]: x=(−1)s×2e−127×1.f1.f=1+(0.5)×b1+(0.25)b2+…+(12)23×b23The functions developed to perform the conversion from the unsigned long integer representation of IEEE SP to the double format of the compiler and vice-versa are listed in Appendix B.
Unstructured Mesh–Based Neutronics and Thermomechanics Coupled Steady-State Analysis on Advanced Three-Dimensional Fuel Elements with Monte Carlo Code iMC
Published in Nuclear Science and Engineering, 2021
The most frequently called routine in tetrahedron ray tracing would be finding an intersection point with a triangle. One of the common and robust methods is the Möller-Trumbore algorithm,25 which finds the ray-triangle intersection by solving a linear system of equations using Cramer’s rule. In the iMC code, the improved Möller-Trumbore algorithm with a safety factor26 is implemented to keep the mesh grid watertight from the numerical errors induced by the discrete nature of the ANSI/IEEE 754-1985 (Ref. 27) floating-point representation of decimal points and arithmetic.