-
Notifications
You must be signed in to change notification settings - Fork 0
Fast Nuclear Faddeeva (FNF) - A fast approximation of the Faddeeva function W(z) for use in applications where the imaginary component of z is greater than 0. Ideal for SLBW nuclear resonance calculations where high fidelity is not required.
License
jtramm/FNF
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
+++++++++++++=+==++==========+++??IIIIIIIIIII??+++===========+=++=++++++++++++++ ++++++++++++++++=+++=========++??III77777777II??++==========+++=++++++++++++++++ ++++++++++++++++++++=+=======++?II777$$$$$777II?++==========++==++++++++++++++++ +++++++++++++++++++++++=+====+?II7$$ZZZOZZZ$$7I??+====+=++++=+++++++++++++++++++ +++++++++++++++++++++++======+?I7$ZOO8DD88OZZ$7I?+===+++++++++++++++++++++++++++ ++++++++++++++++++++++++++====+I7$O8DDDDDDD8O$7I+===++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++==+I7Z8DDDDDDDDD8Z7?+=++++++++++++++++++++++++++++++ +++++++++++++++++++++++===++++=?7ODDDDDDDDDDDO7+=++====+++++++++++++++++++++++++ +++++++++++++++++++======+++==+=IODDDDDDDDDDDOI=+=++++====++++++++++++++++++++++ ++++++++++++++++++++===+?I7$$7?++ODDDDDDDDDDDO++?7$$7I?+====++++++++++++++++++++ +++++++++++++++++++=+==?7Z88888Z+7DDDDDDDDDDDI+Z8888O$I?+==+++++++++++++++++++++ +++++++++++++++++++++==?7O8888888?8DDDDDDDDDDI8888888O7?==++++++++++++++++++++++ +++++++++++++++++++++++=?O88888888ZDDDDDDDDD$88888888O?=++++++++++++++++++++++++ ++++++++++++++++++++==+++I88888888ZDDDDDDDDDO88888888I+?+==+++++++++++++++++++++ +++++++++++++++++=+++78DD8I88888888ZDDDDDDD$88888888I8DD8I=+++==++++++++++++++++ +++++++++++++++==++=+$DDDDD$8888888DDDDDDDDD8888888ZDDDDD$+=+=====++++++++++++++ ++++++++++++++++=IZ8O?DDDDD8D8888888DDDDDDD8888888D8DDDD8IO8ZI=+++++++++++++++++ +++++++++++++++++I888888DDDDDD888888DDDDDDD888888DDDDDD888888I++++++++++++++++++ +++++++++++++++7Z7$888888D 8888877ZI=+++++++++++++++ ++++++++++==+++8DDDO88888D ███████╗███╗ ██╗███████╗ 8888ODDD8+++=++++++++++++ ++++++++++++Z8O7DDDDD88888 ██╔════╝████╗ ██║██╔════╝ 888DDDDD$O8Z+++++++++++++ +++++++++==+Z8888DDDDD8888 █████╗ ██╔██╗ ██║█████╗ 88DDDDD8888$===++++++++++ ++++++++=+8DDO8888DDDDD888 ██╔══╝ ██║╚██╗██║██╔══╝ 8DDDDD8888Z8DO+++++++++++ ++++++=IOO$DDDD8888DDDDD88 ██║ ██║ ╚████║██║ DDDDD8888DDDD78O?++++++++ +++++=??88888DDD8888DDDDD8 ╚═╝ ╚═╝ ╚═══╝╚═╝ DDDD8888DDDD8888??=++++++ +++=+?D888888DDDDD888DDDDD DDD888DDDDD888888D++==+++ +++I88ODD88888DDDDD8888DDD8888DDDD888DDDDD888DDDD8888DDDD8888DDDD888DDDDO88?++++ ++OD7888DDDD888DDDD8888DDDD888DDDD888DDDDD888DDDD8888DDD8888DDDD888DDDD888IDZ+++ $O7DDD888DDDD888DDDD888DDDD888D8DD888DDDDD888DDDD888DDDD8888DDD888DDDD888DDD78$= $888DDD888DDDDD88DDDD888DDDD888DDD888DDDDD88DDDD888DDDD888DDDD888DDD8888DDD888$$ DD888DDD888DDDD888DDDD88DDDD888DDDD888DDD888DDDD8888DD888DDDD888DDDD888DDD888DDD ================================================================================ Fast Nuclear Faddeeva Function Version 1 John Tramm 2015 ================================================================================ A fast approximation of the Faddeeva function W(z) for use in applications where the imaginary component of z is greater than 0. Ideal for SLBW nuclear resonance calculations where high fidelity is not required. Written in C. ================================================================================ Overview ================================================================================ This function combines appromxation methods for two ranges of Complex space: 1) |z| >= 6.0 In this range, the Faddeeva function is easily approximated by a three term asymptotic expansion. This method was first implemented by the QUICK_W code in [1], but was also implemented by Josey et al.[2]. 2) |z| < 6.0 In this range, the Faddeeva function requires a more precise appromxation method. This function uses an approximation developed by Abrarov et al.[3][4]. ================================================================================ Usage Assumptions ================================================================================ Use of this function comes with several assumptions: 1) The imaginary component of Z is always greater than zero. This is useful for many applications that can meet this assumption, as the Faddeeva function is much simplere to compute in positive complex space. 2) Machine precision or high fidelity is not required for the result when compared to reference implentations such as the MIT W function[5]. The estimated accuracy of this function is O(1e-4) for |z| < 6.0, and O(1e-6) for |z| > 6.0. ================================================================================ References ================================================================================ [1] H. Henryson II, B. J. Toppel, and C. G. Stenberg. MC^2 2: A Code to Calculate Fast Neutron Spectra and Multigroup Cross Sections. Technical Report Argonne-8144, Argonne National Laboratory (1976). [2] C. Josey, B. Forget, and K. S. Smith, “EFFICIENCY AND ACCURACY EVALUATION OF THE WINDOWED MULTIPOLE DIRECT DOPPLER BROADENING METHO,” presented at the PHYSOR 2014 - The Role of Reactor Physics toward a Sustainable Future, 2014. [3] S. M. Abrarov and B. M. Quine, “A rapid and highly accurate approximation for the error function of complex argument,” arXiv.org, vol. math.NA. 14-Aug-2013. [4] S. M. Abrarov and B. M. Quine, “Applied Mathematics and Computation,” Applied Mathematics and Computation, vol. 218, no. 5, pp. 1894–1902, Nov. 2011. [5] S. G. Johnson. “Faddeeva package - abinitio.” URL http://ab-initio.mit.edu/wiki/ index.php/Faddeeva_Package (2013).
About
Fast Nuclear Faddeeva (FNF) - A fast approximation of the Faddeeva function W(z) for use in applications where the imaginary component of z is greater than 0. Ideal for SLBW nuclear resonance calculations where high fidelity is not required.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published