├── .gitignore ├── DryAir_NoXGEN.inp ├── DryAir_NoXGEN.out ├── DryAir_XGEN.inp ├── DryAir_XGEN.out ├── LICENSE ├── MatMCNP ├── MatMCNP.bat ├── MatMCNP_GUI.py ├── MatMCNP_V4.0_CopyrightNotice_License.pdf ├── README.txt ├── SAND2014-17693_UUR.pdf ├── StartWindow.py ├── Version4.1_Notes.txt ├── VersionXGEN_Notes.txt ├── XGEN_DryAir.inp ├── bin ├── MatMCNP.exe ├── MatMCNP_v4.0.exe ├── MatMCNP_v4.1.exe ├── MatMCNP_vXGEN.exe └── xmatmcnp ├── input ├── BoronCarbide.inp ├── BoronCarbide.out ├── BoronCarbide.pkl ├── BoronNitride.inp ├── BoronNitride.out ├── BoronNitride.pkl ├── LithiumFlouride.inp ├── LithiumFlouride.out ├── LithiumFlouride.pkl ├── U10Moly.inp ├── U10Moly.out └── U10Moly.pkl ├── matmcnp-PC.pl ├── matmcnp.pl ├── source ├── MatMCNP.f90 ├── NWC-Database.f90 ├── NWC.f90 ├── Z11_Z15.f90 ├── Z16_Z20.f90 ├── Z1_Z5.f90 ├── Z21_Z25.f90 ├── Z26_Z30.f90 ├── Z31_Z35.f90 ├── Z36_Z40.f90 ├── Z41_Z45.f90 ├── Z46_Z50.f90 ├── Z51_Z55.f90 ├── Z56_Z60.f90 ├── Z61_Z65.f90 ├── Z66_Z70.f90 ├── Z6_Z10.f90 ├── Z71_Z75.f90 ├── Z76_Z80.f90 ├── Z81_Z85.f90 ├── Z86_Z90.f90 ├── Z91_Z92.f90 ├── atom_density.f90 ├── enriched.f90 ├── makefile ├── print_data.f90 ├── read_data.f90 ├── title_comment.f90 └── weight_percent.f90 ├── test.inp └── test.out /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Ignore object files 4 | # 5 | source/*.o 6 | source/*.obj 7 | source/*.mod 8 | # 9 | # Ignore input and output files 10 | # 11 | *.inp 12 | *.out 13 | # 14 | # 15 | -------------------------------------------------------------------------------- /DryAir_NoXGEN.inp: -------------------------------------------------------------------------------- 1 | Dry Air 2 | 3 3 | Standard Density: 1.205e-3 g/cc @ 20 deg C, 1 atm 4 | See "Introduction to Radiological Physics 5 | and Radiation Dosimetry" by Attix p.531-532 6 | 1.205e-3 7 | weight 8 | 4 9 | nat 6 0.000124 10 | nat 7 0.755268 11 | nat 8 0.231781 12 | nat 18 0.012827 13 | 100 14 | -------------------------------------------------------------------------------- /DryAir_NoXGEN.out: -------------------------------------------------------------------------------- 1 | C 2 | C Dry Air 3 | C 4 | C Standard Density: 1.205e-3 g/cc @ 20 deg C, 1 atm 5 | C See "Introduction to Radiological Physics 6 | C and Radiation Dosimetry" by Attix p.531-532 7 | C 8 | C Summary of MatMCNP (Version 4.1) Calculations: 9 | C 10 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 11 | C C-12 0.000149 0.000123 0.0000000 12 | C C-13 0.000002 0.000001 0.0000000 13 | C N-14 0.781575 0.752324 0.0000390 14 | C N-15 0.002855 0.002944 0.0000001 15 | C O-16 0.210236 0.231153 0.0000105 16 | C O-17 0.000080 0.000094 0.0000000 17 | C O-18 0.000432 0.000535 0.0000000 18 | C Ar-36 0.000016 0.000039 0.0000000 19 | C Ar-38 0.000003 0.000008 0.0000000 20 | C Ar-40 0.004653 0.012781 0.0000002 21 | C 22 | C The total compound atom density (atom/b-cm): 0.0000499 23 | C 24 | C 25 | C This material contains an isotope that is often modified by 26 | C an S(alpha,beta). Check MCNP Manual Appendix G to see if an 27 | C S(alpha,beta) card (i.e., an MTn card) is required. 28 | C 29 | M100 06012.00c 0.000149 30 | 06013.00c 0.000002 31 | 07014.00c 0.781575 32 | 07015.00c 0.002855 33 | 08016.00c 0.210236 34 | 08017.00c 0.000080 35 | 08018.00c 0.000432 36 | 18036.00c 0.000016 37 | 18038.00c 0.000003 38 | 18040.00c 0.004653 39 | C 40 | C To convert a particle flux to rad[Material] 41 | C use FM 6.6316863E-10 100 -4 1 for neutrons 42 | C or FM 6.6316863E-10 100 -5 -6 for photons. 43 | C 44 | -------------------------------------------------------------------------------- /DryAir_XGEN.inp: -------------------------------------------------------------------------------- 1 | Dry Air 2 | 3 3 | Standard Density: 1.205e-3 g/cc @ 20 deg C, 1 atm 4 | See "Introduction to Radiological Physics 5 | and Radiation Dosimetry" by Attix p.531-532 6 | 1.205e-3 7 | weight 8 | 4 9 | nat 6 0.000124 10 | nat 7 0.755268 11 | nat 8 0.231781 12 | nat 18 0.012827 13 | xgen 14 | -------------------------------------------------------------------------------- /DryAir_XGEN.out: -------------------------------------------------------------------------------- 1 | C 2 | C Dry Air 3 | C 4 | C Standard Density: 1.205e-3 g/cc @ 20 deg C, 1 atm 5 | C See "Introduction to Radiological Physics 6 | C and Radiation Dosimetry" by Attix p.531-532 7 | C 8 | C Summary of MatMCNP (Version 4.1) Calculations: 9 | C 10 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 11 | C C-12 0.000149 0.000123 0.0000000 12 | C C-13 0.000002 0.000001 0.0000000 13 | C N-14 0.781575 0.752324 0.0000390 14 | C N-15 0.002855 0.002944 0.0000001 15 | C O-16 0.210236 0.231153 0.0000105 16 | C O-17 0.000080 0.000094 0.0000000 17 | C O-18 0.000432 0.000535 0.0000000 18 | C Ar-36 0.000016 0.000039 0.0000000 19 | C Ar-38 0.000003 0.000008 0.0000000 20 | C Ar-40 0.004653 0.012781 0.0000002 21 | C 22 | C The total compound atom density (atom/b-cm): 0.0000499 23 | C 24 | C 25 | C This material contains an isotope that is often modified by 26 | C an S(alpha,beta). Check MCNP Manual Appendix G to see if an 27 | C S(alpha,beta) card (i.e., an MTn card) is required. 28 | C 29 | Mxgen 06012.00c 0.000149 30 | 06013.00c 0.000002 31 | 07014.00c 0.781575 32 | 07015.00c 0.002855 33 | 08016.00c 0.210236 34 | 08017.00c 0.000080 35 | 08018.00c 0.000432 36 | 18036.00c 0.000016 37 | 18038.00c 0.000003 38 | 18040.00c 0.004653 39 | C 40 | C To convert a particle flux to rad[Material] 41 | C use FM 6.6316863E-10 xgen -4 1 for neutrons 42 | C or FM 6.6316863E-10 xgen -5 -6 for photons. 43 | C 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 National Technology & Engineering Solutions of 2 | Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 3 | NTESS, the U.S. Government retains certain rights in this software. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions 7 | are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright 10 | notice, this list of conditions, and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions, and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 24 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /MatMCNP: -------------------------------------------------------------------------------- 1 | #! /bin/csh -f 2 | # 3 | # MatMCNP Unix shell 4 | # 5 | # 6 | # 7 | echo " " 8 | echo " " 9 | echo "************************************************************" 10 | echo "* Copyright 2019 National Technology & Engineering *" 11 | echo "* Solutions of Sandia, LLC (NTESS) *" 12 | echo "* *" 13 | echo "* Under the terms of Contract DE-NA0003525 with NTESS, the *" 14 | echo "* U.S. Government retains certain rights in this software. *" 15 | echo "* *" 16 | echo "************************************************************" 17 | echo " " 18 | echo " " 19 | # 20 | # 21 | perl ./matmcnp.pl $1 22 | -------------------------------------------------------------------------------- /MatMCNP.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET job=%1 3 | SET SYSTEMTYPE=dos 4 | rem 5 | rem 6 | ECHO * 7 | ECHO * 8 | ECHO ************************************************************ 9 | ECHO * Copyright 2019 National Technology and Engineering * 10 | ECHO * Solutions of Sandia, LLC (NTESS) * 11 | ECHO * * 12 | ECHO * Under the terms of Contract DE-NA0003525 with NTESS, the * 13 | ECHO * U.S. Government retains certain rights in this software. * 14 | ECHO * * 15 | ECHO ************************************************************ 16 | ECHO * 17 | ECHO * 18 | rem 19 | rem 20 | rem 21 | rem Copy the executable file to working directory 22 | rem 23 | COPY bin\MatMCNP_vXGEN.exe MatMCNP.exe 24 | rem 25 | rem 26 | rem Run the job 27 | rem 28 | matmcnp-PC.pl %1 29 | 30 | set saveerr=%ERRORLEVEL% 31 | 32 | if %saveerr% GTR 0 goto ERROR 33 | 34 | rem 35 | rem Delete the executable 36 | rem 37 | del MatMCNP.exe 38 | rem 39 | rem 40 | rem 41 | ECHO MatMCNP Calculation Complete 42 | 43 | goto END 44 | :USAGE 45 | ECHO Usage: MatMCNP jobname 46 | goto END 47 | :ERROR 48 | ECHO Batch file error occurred 49 | :END -------------------------------------------------------------------------------- /MatMCNP_V4.0_CopyrightNotice_License.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/MatMCNP_V4.0_CopyrightNotice_License.pdf -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | README file for MatMCNP 2 | ------------------------------- 3 | 4 | ************************************************************ 5 | * MatMCNP Version 4.0 * 6 | * * 7 | * Copyright 2019 National Technology & Engineering * 8 | * Solutions of Sandia, LLC (NTESS) * 9 | * * 10 | * Under the terms of Contract DE-NA0003525 with NTESS, the * 11 | * U.S. Government retains certain rights in this software. * 12 | * * 13 | ************************************************************ 14 | 15 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 16 | 17 | ************************* 18 | * * 19 | * * 20 | * DISCLAIMER * 21 | * * 22 | * * 23 | ******** * 24 | * * 25 | * No guarantee * 26 | * or warranty is * 27 | * implied or * 28 | * given with * 29 | * this software. * 30 | * * 31 | ********************* ********************* 32 | * * 33 | * * 34 | * The software represents the best effort of the * 35 | * programmers and was developed for specific purposes * 36 | * at Sandia National Laboratories (SNL). Any use of * 37 | * this software, either internal to SNL or external, is * 38 | * the sole responsibility of the user. * 39 | * * 40 | * * 41 | * Sandia National Laboratories is a multimission * 42 | * ********** laboratory ********** * 43 | * * * managed and * * * 44 | * * * operated by * * * 45 | * * * National * * * 46 | * * * Technology and * * * 47 | * * * Engineering * * * 48 | * **** * Solutions of * **** * 49 | * * * Sandia LLC, * * * 50 | * * * a wholly owned * * * 51 | * * * subsidiary of * * * 52 | * * ** Honeywell ** * * 53 | * * ** International ** * * 54 | * * ** Inc. for the ** * * 55 | ********* ** Department of ** ********* 56 | ** Energy's ** 57 | ** National ** 58 | ** Nuclear ** 59 | ** Security ** 60 | ** Administration ** 61 | ** under contract ** 62 | ** DE-NA0003525. ** 63 | ** ** 64 | ******************** 65 | 66 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 67 | 68 | MatMCNP Code Release 69 | Version 4.0 70 | January 2019 71 | 72 | K. Russell DePriest 73 | Principal R&D Scientist and Engineer 74 | Applied Nuclear Technologies, Org. 1384 75 | Sandia National Laboratories 76 | P. O. Box 5800, MS 1146 77 | Albuquerque, NM 87185-1146 78 | krdepri@sandia.gov 79 | (505) 845-8141 80 | 81 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 82 | 83 | Files in distribution: 84 | 85 | MatMCNP Directory 86 | 87 | (1) MatMCNP_V4.0_CopyrightNotice_License.pdf 88 | (2) MatMCNP - C-shell script for running code on UNIX/Linux system 89 | (3) MatMCNP.bat - DOS batch file for running code on Windows PC system 90 | (4) matmcnp.pl - Perl script for running the code and moving files on UNIX/Linux system 91 | (5) matmcnp-PC.pl - Perl script for running the code and moving files on Windows PC system 92 | (6) README.txt - This file 93 | (7) test.inp - An input deck for testing the installation of the code 94 | (8) test.out - An output file with correct results from testing the code 95 | (9) SAND2014-17693_UUR.pdf - Sandia report documenting the MatMCNP code 96 | (10) bin subdirectory 97 | 98 | A. MatMCNP.exe - MatMCNP Version 4.0 Windows executable 99 | B. xmatmcnp - MatMCNP Version 4.0 Linux excutable 100 | C. MatMCNP_v4.0.exe - MatMCNP Version 4.0 statically-linked Windows executable 101 | 102 | (10) source subdirectory (source files for compiling code independently) 103 | 104 | A. atom_density.f90 105 | B. enriched.f90 106 | C. MatMCNP.f90 107 | D. naturalzaid.f90 108 | E. NWC.f90 109 | F. NWC-Database.f90 110 | G. print_data.f90 111 | H. read_data.f90 112 | I. title_comment.f90 113 | J. weight_percent.f90 114 | K. Z1_Z5.f90 115 | L. Z6_Z10.f90 116 | M. Z11_Z15.f90 117 | N. Z16_Z20.f90 118 | O. Z21_Z25.f90 119 | P. Z26_Z30.f90 120 | Q. Z31_Z35.f90 121 | R. Z36_Z40.f90 122 | S. Z41_Z45.f90 123 | T. Z46_Z50.f90 124 | U. Z51_Z55.f90 125 | V. Z56_Z60.f90 126 | W. Z61_Z65.f90 127 | X. Z66_Z70.f90 128 | Y. Z71_Z75.f90 129 | Z. Z76_Z80.f90 130 | AA. Z81_Z85.f90 131 | AB. Z86_Z90.f90 132 | AC. Z91_Z92.f90 133 | AD. makefile - Makefile with options for building Intel version on Linux 134 | 135 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 136 | 137 | Documentation: 138 | K. Russell DePriest and Karen C. Saavedra. MatMCNP: A Code for Producing Material 139 | Cards for MCNP. Sandia Report, SAND2014-17693. Sandia National Laboratories, 140 | Albuquerque, NM. September 2014. (Unclassified Unlimited Release) 141 | 142 | If you use the code and CHOOSE to cite it, the preferred reference is given below: 143 | 144 | K. R. DePriest and K. C. Saavedra. MatMCNP: A Code for Producing Material Cards 145 | for MCNP. Sandia Report, SAND2014-17693. Sandia National Laboratories, 146 | Albuquerque, NM. September 2014. 147 | 148 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 149 | 150 | Installation (assumes Perl is installed on the computer): 151 | 152 | (1) Copy entire MatMCNP folder to desired working location 153 | 154 | (2) For Windows PC systems, the code is "installed". The program requires the use 155 | of the Command Prompt. 156 | 157 | A. Start > All Programs > Accessories > Command Prompt 158 | B. Using command line arguments, change to the working directory 159 | 160 | ****** 161 | 162 | C. Run Example 163 | 164 | c:\Work\MatMCNP> MatMCNP test.inp 165 | * 166 | * 167 | ************************************************************ 168 | * Copyright 2019 National Technology and Engineering * 169 | * Solutions of Sandia, LLC (NTESS) * 170 | * * 171 | * Under the terms of Contract DE-NA0003525 with NTESS, the * 172 | * U.S. Government retains certain rights in this software. * 173 | * * 174 | ************************************************************ 175 | * 176 | * 177 | 1 file(s) copied. 178 | 1 file(s) moved. 179 | 1 file(s) moved. 180 | MatMCNP Calculation Complete 181 | 182 | ****** 183 | 184 | (3) An executable file is included for Linux-based systems. However, some Linux/UNIX 185 | systems may require compilation of the code. 186 | 187 | A. A makefile with options for Intel Fortran (ifort). 188 | B. Compiling is accomplished by using the make utility. 189 | 190 | ****** 191 | 192 | C. Compile Example 193 | 194 | Work/MatMCNP/source> make 195 | ifort -c NWC.f90 196 | ifort -c title_comment.f90 197 | ifort -c NWC-Database.f90 198 | ifort -c atom_density.f90 199 | ifort -c enriched.f90 200 | ifort -c MatMCNP.f90 201 | ifort -c naturalzaid.f90 202 | ifort -c print_data.f90 203 | ifort -c read_data.f90 204 | ifort -c weight_percent.f90 205 | ifort -c Z1_Z5.f90 206 | ifort -c Z6_Z10.f90 207 | ifort -c Z11_Z15.f90 208 | ifort -c Z16_Z20.f90 209 | ifort -c Z21_Z25.f90 210 | ifort -c Z26_Z30.f90 211 | ifort -c Z31_Z35.f90 212 | ifort -c Z36_Z40.f90 213 | ifort -c Z41_Z45.f90 214 | ifort -c Z46_Z50.f90 215 | ifort -c Z51_Z55.f90 216 | ifort -c Z56_Z60.f90 217 | ifort -c Z61_Z65.f90 218 | ifort -c Z66_Z70.f90 219 | ifort -c Z71_Z75.f90 220 | ifort -c Z76_Z80.f90 221 | ifort -c Z81_Z85.f90 222 | ifort -c Z86_Z90.f90 223 | ifort -c Z91_Z92.f90 224 | ifort -o xmatmcnp NWC.o NWC-Database.o atom_density.o enriched.o MatMCNP.o naturalzaid.o print_data.o read_data.o title_comment.o weight_percent.o Z1_Z5.o Z6_Z10.o Z11_Z15.o Z16_Z20.o Z21_Z25.o Z26_Z30.o Z31_Z35.o Z36_Z40.o Z41_Z45.o Z46_Z50.o Z51_Z55.o Z56_Z60.o Z61_Z65.o Z66_Z70.o Z71_Z75.o Z76_Z80.o Z81_Z85.o Z86_Z90.o Z91_Z92.o 225 | mv xmatmcnp ../bin/. 226 | 227 | ****** 228 | 229 | D. To run the code on a Linux system, change to the working directory 230 | 231 | E. Run Example 232 | 233 | Work/MatMCNP> MatMCNP test 234 | 235 | ************************************************************ 236 | * Copyright 2019 National Technology & Engineering * 237 | * Solutions of Sandia, LLC (NTESS) * 238 | * * 239 | * Under the terms of Contract DE-NA0003525 with NTESS, the * 240 | * U.S. Government retains certain rights in this software. * 241 | * * 242 | ************************************************************ 243 | 244 | 245 | 246 | Running MatMCNP Version 4.0 247 | 248 | Moving output file. 249 | 250 | MatMCNP Calculation Complete. 251 | 252 | ****** 253 | 254 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 255 | 256 | Questions about installation, compilation, and/or running MatMCNP should be 257 | sent to K. Russell DePriest (krdepri@sandia.gov). 258 | 259 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 260 | 261 | If you have runtime complaints such as "libifcoremd.dll was not found" on Windows, 262 | copy the statically-linked executable from "MatMCNP_v4.0.exe" to "MatMCNP.exe" in the 263 | bin subdirectory. This will likely fix that issue. 264 | 265 | -------------------------------------------------------------------------------- /SAND2014-17693_UUR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/SAND2014-17693_UUR.pdf -------------------------------------------------------------------------------- /StartWindow.py: -------------------------------------------------------------------------------- 1 | import os 2 | from traits.api import HasTraits, Bool, Button, File, Property 3 | from traitsui.api import View, Item, Group, FileEditor, Handler, UItem, ListEditor 4 | from traits.etsconfig.api import ETSConfig 5 | ETSConfig.toolkit = 'qt4' 6 | 7 | 8 | 9 | class ClosingHandler(Handler): 10 | def object_cont_changed(self, info): 11 | info.ui.dispose() 12 | tmpfile = open('tmpfile', 'w') 13 | tmpfile.write(str(info.object.new_file)+'\n') 14 | if info.object.new_file == False: 15 | tmpfile.write(str(info.object.existing_file)) 16 | tmpfile.close() 17 | os._exit(0) 18 | 19 | class Start_File(HasTraits): 20 | new_file = Bool 21 | existing_file = File(False, editor = FileEditor(filter = ['*.pkl'])) 22 | cont = Button('Continue') 23 | 24 | view2 = View( 25 | Group( 26 | Item(name = 'new_file', springy = False, 27 | tooltip = "Clicking this button, followed by \"Continue\" will bring up a blank interface to start a new material."), 28 | Item(name = 'existing_file', style = 'custom', height = -500, springy = False, 29 | tooltip = "Use this file browser to find a previously saved .pkl file. Click on the file, followed by \"Continue\" to "\ 30 | "resume the calculation from the previously saved state."), 31 | UItem('cont', 32 | tooltip = "Click this button to proceed to the next window.", 33 | enabled_when = '(existing_file) or (new_file)') 34 | ), 35 | scrollable = True, resizable = True, width = 1000, height = 800, title = 'MatMCNP', handler=ClosingHandler(), 36 | ) 37 | 38 | 39 | 40 | if __name__ == '__main__': 41 | Begin = Start_File() 42 | Begin.configure_traits(view=view2) 43 | -------------------------------------------------------------------------------- /Version4.1_Notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/Version4.1_Notes.txt -------------------------------------------------------------------------------- /VersionXGEN_Notes.txt: -------------------------------------------------------------------------------- 1 | Notes on changes for MatMCNP Version XGEN 2 | - February 2021 3 | ------------------------------- 4 | 5 | This modification allows the user to create material files for use with the xgen program. XGEN 6 | is a utility code for producing continuous energy electron/photon cross sections for use with the 7 | Integrated Tiger Series (ITS) code system. This modification to MatMCNP does not change any of the 8 | calculations previously discussed and verified. It is simply a new format to output the results. 9 | 10 | To invoke the XGEN input generation, simply replace the material number intended for the MCNP 11 | material number with "xgen". The xgen input uses a default energy of 1.0 MeV which must be changed if 12 | your ITS problem has a different maximum energy. The density output in the xgen input file will need 13 | verification if you are using low density (< 1.0e-5 g/cc) materials. 14 | 15 | With these changes, MatMCNP expects no arguments, 2 arguments, or 3 arguments. 16 | (1) No arguments on the command line: 17 | - Input file: matmcnp.inp 18 | - Output file: matmcnp.out 19 | - XGEN input: matxgen.inp 20 | 21 | (2) Two arguments on the command line: 22 | - Input file: First argument 23 | - Output file: Second argument 24 | - XGEN input: matxgen.inp 25 | 26 | (3) Three arguments on the command line: 27 | - Input file: First argument 28 | - Output file: Second argument 29 | - XGEN input: Third argument 30 | 31 | An example using Dry Air has been added. 32 | 33 | New Files: 34 | (1) VersionXGEN_Notes.txt - This file 35 | (2) DryAir_NoXGEN.inp - An input file using original MatMCNP input format 36 | (3) DryAir_NoXGEN.out - Output file from (2) 37 | (4) DryAir_XGEN.inp - A MatMCNP input file that will generate an xgen input 38 | (5) DryAir_XGEN.out - Output file from (4) 39 | (6) XGEN_DryAir.inp - A file that can be used by xgen to generate cross sections for ITS 40 | (7) bin/MatMCNP_vXGEN.exe - A Windows executable built with gfortran using the makefile in /source 41 | -------------------------------------------------------------------------------- /XGEN_DryAir.inp: -------------------------------------------------------------------------------- 1 | TITLE 2 | ... Dry Air 3 | energy 1.00 4 | * 5 | * Standard Density: 1.205e-3 g/cc @ 20 deg C, 1 atm 6 | * See "Introduction to Radiological Physics 7 | * and Radiation Dosimetry" by Attix p.531-532 8 | * 9 | * Summary of MatMCNP (Version 4.1) Calculations: 10 | * 11 | * Isotope Number Fraction Weight Fraction Atoms/b-cm 12 | * C-12 0.000149 0.000123 0.0000000 13 | * C-13 0.000002 0.000001 0.0000000 14 | * N-14 0.781575 0.752324 0.0000390 15 | * N-15 0.002855 0.002944 0.0000001 16 | * O-16 0.210236 0.231153 0.0000105 17 | * O-17 0.000080 0.000094 0.0000000 18 | * O-18 0.000432 0.000535 0.0000000 19 | * Ar-36 0.000016 0.000039 0.0000000 20 | * Ar-38 0.000003 0.000008 0.0000000 21 | * Ar-40 0.004653 0.012781 0.0000002 22 | * 23 | * The total compound atom density (atom/b-cm): 0.0000499 24 | * 25 | * 26 | * This material contains an isotope that is often modified by 27 | * an S(alpha,beta). Check MCNP Manual Appendix G to see if an 28 | * S(alpha,beta) card (i.e., an MTn card) is required. 29 | * 30 | MATERIAL 31 | C 0.0001240 32 | N 0.7552680 33 | O 0.2317810 34 | Ar 0.0128270 35 | DENSITY 0.0012050 36 | -------------------------------------------------------------------------------- /bin/MatMCNP.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/bin/MatMCNP.exe -------------------------------------------------------------------------------- /bin/MatMCNP_v4.0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/bin/MatMCNP_v4.0.exe -------------------------------------------------------------------------------- /bin/MatMCNP_v4.1.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/bin/MatMCNP_v4.1.exe -------------------------------------------------------------------------------- /bin/MatMCNP_vXGEN.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/bin/MatMCNP_vXGEN.exe -------------------------------------------------------------------------------- /bin/xmatmcnp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/bin/xmatmcnp -------------------------------------------------------------------------------- /input/BoronCarbide.inp: -------------------------------------------------------------------------------- 1 | Boron Carbide (B4C) 2 | 6 3 | **1 4 | **2 The atom fraction of boron carbide (B4C) is used 5 | **3 Boron is enriched to 75 w/o B-10 6 | **4 The density of B4Cis 2.48 g/cc 7 | **5 The MNCP material number is 999 8 | **6 9 | 2.48000 10 | atomic 11 | 2 12 | enr 5 0.8000000 13 | 10 0.7500000 14 | 11 0.2500000 15 | nat 6 0.2000000 16 | 999 17 | -------------------------------------------------------------------------------- /input/BoronCarbide.out: -------------------------------------------------------------------------------- 1 | C 2 | C Boron Carbide (B4C) 3 | C 4 | C **1 5 | C **2 The atom fraction of boron carbide (B4C) is used 6 | C **3 Boron is enriched to 75 w/o B-10 7 | C **4 The density of B4Cis 2.48 g/cc 8 | C **5 The MNCP material number is 999 9 | C **6 10 | C 11 | C Summary of MatMCNP (Version 4.0) Calculations: 12 | C 13 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 14 | C B-10 0.613890 0.580004 0.0865111 15 | C B-11 0.186110 0.193335 0.0262272 16 | C C-12 0.197860 0.224036 0.0278830 17 | C C-13 0.002140 0.002626 0.0003016 18 | C 19 | C The total compound atom density (atom/b-cm): 0.1409229 20 | C 21 | C 22 | C This material contains an isotope that is often modified by 23 | C an S(alpha,beta). Check MCNP Manual Appendix G to see if an 24 | C S(alpha,beta) card (i.e., an MTn card) is required. 25 | C 26 | M999 05010.80c 0.613890 27 | 05011.80c 0.186110 28 | 06000.80c 0.200000 29 | C 30 | C Caution: The natural zaid is used for Carbon. 31 | C 32 | C To convert a particle flux to rad[Material] 33 | C use FM 9.1031632E-10 999 -4 1 for neutrons 34 | C or FM 9.1031632E-10 999 -5 -6 for photons. 35 | C 36 | -------------------------------------------------------------------------------- /input/BoronCarbide.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/input/BoronCarbide.pkl -------------------------------------------------------------------------------- /input/BoronNitride.inp: -------------------------------------------------------------------------------- 1 | Boron Nitride 2 | 6 3 | **1 4 | **2 The atom fraction of boron nitride (BN) is used 5 | **3 The natural abundances are used for each element 6 | **4 The density of BN is 2.142 g/cc 7 | **5 The MCNP material number is 100 8 | **6 9 | 2.14200 10 | atomic 11 | 2 12 | nat 5 0.5000000 13 | nat 7 0.5000000 14 | 100 15 | -------------------------------------------------------------------------------- /input/BoronNitride.out: -------------------------------------------------------------------------------- 1 | C 2 | C Boron Nitride 3 | C 4 | C **1 5 | C **2 The atom fraction of boron nitride (BN) is used 6 | C **3 The natural abundances are used for each element 7 | C **4 The density of BN is 2.142 g/cc 8 | C **5 The MCNP material number is 100 9 | C **6 10 | C 11 | C Summary of MatMCNP (Version 4.0) Calculations: 12 | C 13 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 14 | C B-10 0.099500 0.080288 0.0103434 15 | C B-11 0.400500 0.355329 0.0416333 16 | C N-14 0.498180 0.562183 0.0517875 17 | C N-15 0.001820 0.002200 0.0001892 18 | C 19 | C The total compound atom density (atom/b-cm): 0.1039533 20 | C 21 | M100 05010.80c 0.099500 22 | 05011.80c 0.400500 23 | 07014.80c 0.498180 24 | 07015.80c 0.001820 25 | C 26 | C To convert a particle flux to rad[Material] 27 | C use FM 7.7746598E-10 100 -4 1 for neutrons 28 | C or FM 7.7746598E-10 100 -5 -6 for photons. 29 | C 30 | -------------------------------------------------------------------------------- /input/BoronNitride.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/input/BoronNitride.pkl -------------------------------------------------------------------------------- /input/LithiumFlouride.inp: -------------------------------------------------------------------------------- 1 | Lithium Flouride 2 | 6 3 | **1 4 | **2 The atom fraction of Lithium Flouride (LiF) is used 5 | **3 Lithium is enriched to 90 w/o Li-6 6 | **4 The density of LiF is 2.64 g/cc 7 | **5 The MCNP material number is 100 8 | **6 9 | 2.64000 10 | atomic 11 | 2 12 | enr 3 0.5000000 13 | 6 0.9000000 14 | 7 0.1000000 15 | nat 9 0.5000000 16 | 100 17 | -------------------------------------------------------------------------------- /input/LithiumFlouride.out: -------------------------------------------------------------------------------- 1 | C 2 | C Lithium Flouride 3 | C 4 | C **1 5 | C **2 The atom fraction of Lithium Flouride (LiF) is used 6 | C **3 Lithium is enriched to 90 w/o Li-6 7 | C **4 The density of LiF is 2.64 g/cc 8 | C **5 The MCNP material number is 100 9 | C **6 10 | C 11 | C Summary of MatMCNP (Version 4.0) Calculations: 12 | C 13 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 14 | C Li-6 0.456512 0.218798 0.0578301 15 | C Li-7 0.043488 0.024311 0.0055089 16 | C F-19 0.500000 0.756891 0.0633390 17 | C 18 | C The total compound atom density (atom/b-cm): 0.1266780 19 | C 20 | M100 03006.80c 0.456512 21 | 03007.80c 0.043488 22 | 09019.80c 0.500000 23 | C 24 | C To convert a particle flux to rad[Material] 25 | C use FM 7.6870499E-10 100 -4 1 for neutrons 26 | C or FM 7.6870499E-10 100 -5 -6 for photons. 27 | C 28 | -------------------------------------------------------------------------------- /input/LithiumFlouride.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/input/LithiumFlouride.pkl -------------------------------------------------------------------------------- /input/U10Moly.inp: -------------------------------------------------------------------------------- 1 | U-10Moly 20 w/o LEU 2 | 4 3 | **1 4 | **2 This is 20 w/o U-235 alloyed with 10 w/o Molybdenum 5 | **3 The density of U-10Moly is 17.08 g/cc 6 | **4 7 | 17.08000 8 | weight 9 | 2 10 | nat 42 0.1000000 11 | enr 92 0.9000000 12 | 234 0.0000000 13 | 235 0.2000000 14 | 238 0.8000000 15 | 100 16 | -------------------------------------------------------------------------------- /input/U10Moly.out: -------------------------------------------------------------------------------- 1 | C 2 | C U-10Moly 20 w/o LEU 3 | C 4 | C **1 5 | C **2 This is 20 w/o U-235 alloyed with 10 w/o Molybdenum 6 | C **3 The density of U-10Moly is 17.08 g/cc 7 | C **4 8 | C 9 | C Summary of MatMCNP (Version 4.0) Calculations: 10 | C 11 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 12 | C Mo-92 0.031333 0.013916 0.0015575 13 | C Mo-94 0.019732 0.008954 0.0009808 14 | C Mo-95 0.034158 0.015666 0.0016979 15 | C Mo-96 0.035948 0.016660 0.0017868 16 | C Mo-97 0.020702 0.009695 0.0010290 17 | C Mo-98 0.052596 0.024885 0.0026143 18 | C Mo-100 0.021176 0.010224 0.0010526 19 | C U-234 0.000000 0.000000 0.0000000 20 | C U-235 0.158472 0.180000 0.0078770 21 | C U-238 0.625882 0.720000 0.0311101 22 | C 23 | C The total compound atom density (atom/b-cm): 0.0497060 24 | C 25 | M100 42092.80c 0.031333 26 | 42094.80c 0.019732 27 | 42095.80c 0.034158 28 | 42096.80c 0.035948 29 | 42097.80c 0.020702 30 | 42098.80c 0.052596 31 | 42100.80c 0.021176 32 | 92234.80c 0.000000 33 | 92235.80c 0.158472 34 | 92238.80c 0.625882 35 | C 36 | C To convert a particle flux to rad[Material] 37 | C use FM 4.6621224E-11 100 -4 1 for neutrons 38 | C or FM 4.6621224E-11 100 -5 -6 for photons. 39 | C 40 | -------------------------------------------------------------------------------- /input/U10Moly.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/MatMCNP/84f2f1e97f325b29cb8474679a1fe57ef7320e7d/input/U10Moly.pkl -------------------------------------------------------------------------------- /matmcnp-PC.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl 2 | # 3 | # usage: matmcnp.pl {job} 4 | # matmcnp program execution 5 | # 6 | # 7 | 8 | $cpx = "copy"; 9 | $rm = "del"; 10 | $mv = "move"; 11 | 12 | 13 | $ar = 0; 14 | $nar = 1; 15 | $job = $ARGV[$ar]; 16 | if ($job =~ /(\S+).inp$/) {$job = $1} # Remove .inp, if user added it at command-line. 17 | 18 | 19 | $numarg = $#ARGV + 1; 20 | if ($numarg != $nar) { 21 | print "\n\n illegal number of arguments, arguments = $numarg \n"; 22 | print " usage: $0 {job} \n"; 23 | die " try again $!\n"; 24 | } 25 | 26 | # 27 | # cleanup files 28 | # 29 | if( -e "matmcnp.inp" ) { 30 | system("$rm matmcnp.inp"); 31 | } 32 | if( -e "matmcnp.out" ) { 33 | system("$rm matmcnp.out"); 34 | } 35 | 36 | $file = ${job}.".inp"; 37 | $filout = "matmcnp.inp"; 38 | 39 | if (-r $file ) { 40 | rename ($file, $filout); 41 | } 42 | else { 43 | print " \n \n ERROR ${file} file does not exist \n \n"; 44 | die " try again $!\n"; 45 | } 46 | 47 | # 48 | # run MatMCNP 49 | # 50 | # 51 | system("MatMCNP"); 52 | system("$mv matmcnp.out ${job}.out"); 53 | system("$mv $filout ${job}.inp"); 54 | # 55 | # 56 | # 57 | exit 0; 58 | -------------------------------------------------------------------------------- /matmcnp.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl 2 | # 3 | # usage: matmcnp.pl {job} 4 | # matmcnp program execution 5 | # 6 | # 7 | # This could be made generic with "SYSTEMTYPE" options. 8 | # These command variables assume a UNIX or Linux system. 9 | # 10 | $cpx = "cp"; 11 | $rmx = "rm"; 12 | $mvx = "mv"; 13 | 14 | $ar = 0; 15 | $nar = 1; 16 | $job = $ARGV[$ar]; 17 | if ($job =~ /(\S+).inp$/) {$job = $1} # Remove .inp, if user added it at command-line. 18 | 19 | $numarg = $#ARGV + 1; 20 | if ($numarg != $nar) { 21 | print "\n\n illegal number of arguments, arguments = $numarg \n"; 22 | print " usage: $0 {job} \n"; 23 | die " try again $!\n"; 24 | } 25 | # 26 | # Cleanup files for new run. Should be already clean. 27 | # 28 | $input = "matmcnp.inp"; 29 | $output = "matmcnp.out"; 30 | if (-e $input) { 31 | system("$rmx matmcnp.inp"); 32 | } 33 | if (-e $output) { 34 | system("$rmx matmcnp.out"); 35 | } 36 | # 37 | 38 | $file = ${job}.".inp"; 39 | $filout = "matmcnp.inp"; 40 | 41 | if (-r $file ) { 42 | rename ($file, $filout); 43 | } 44 | else { 45 | print " \n \n ERROR ${file} file does not exist \n \n"; 46 | die " try again $!\n"; 47 | } 48 | # 49 | # run MatMCNP 50 | # 51 | print "\n\n Running MatMCNP Version 4.0 \n"; 52 | system("$cpx bin/xmatmcnp ."); 53 | system("xmatmcnp"); 54 | print "\n Moving output file. \n"; 55 | system("$mvx matmcnp.out ${job}.out"); 56 | system("$mvx $filout ${job}.inp"); 57 | system("$rmx xmatmcnp"); 58 | print "\n MatMCNP Calculation Complete. \n\n\n"; 59 | # 60 | # 61 | # 62 | exit 0; 63 | -------------------------------------------------------------------------------- /source/NWC-Database.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | MODULE NWC_DATABASE 7 | USE NWC_2000 8 | IMPLICIT NONE 9 | 10 | !Module that holds all of the variables for the element subroutines, the weight_percent 11 | !subroutine, the atom_density subroutine, and the print_data subroutine. 12 | !Created June 23,2004 by Karen Kajder 13 | 14 | 15 | !Module variables 16 | INTEGER::h_size,he_size,li_size,be_size,b_size,c_size,n_size,o_size,f_size,ne_size,& 17 | na_size,mg_size,al_size,si_size,p_size,s_size,cl_size,ar_size,k_size,ca_size,& 18 | sc_size,ti_size,v_size,cr_size,mn_size,fe_size,co_size,ni_size,cu_size, & 19 | zn_size,ga_size,ge_size,as_size,se_size,br_size,kr_size,rb_size,sr_size, & 20 | y_size,zr_size,nb_size,mo_size,ru_size,rh_size,pd_size,ag_size,cd_size, & 21 | in_size,sn_size,sb_size,te_size,i_size,xe_size,cs_size,ba_size,la_size,ce_size,& 22 | pr_size,nd_size,sm_size,eu_size,gd_size,tb_size,dy_size,ho_size,er_size,tm_size,& 23 | yb_size,lu_size,hf_size,ta_size,w_size,re_size,os_size,ir_size,pt_size,au_size, & 24 | hg_size,tl_size,pb_size,bi_size,th_size,u_size, num_iso 25 | 26 | REAL::h_mass,he_mass,li_mass,be_mass,b_mass,c_mass,n_mass,o_mass,f_mass,ne_mass, & 27 | na_mass,mg_mass,al_mass,si_mass,p_mass,s_mass,cl_mass,ar_mass,k_mass,ca_mass,& 28 | sc_mass,ti_mass,v_mass,cr_mass,mn_mass,fe_mass,co_mass,ni_mass,cu_mass, & 29 | zn_mass,ga_mass,ge_mass,as_mass,se_mass,br_mass,kr_mass,rb_mass,sr_mass, & 30 | y_mass,zr_mass,nb_mass,mo_mass,ru_mass,rh_mass,pd_mass,ag_mass,cd_mass, & 31 | in_mass,sn_mass,sb_mass,te_mass,i_mass,xe_mass,cs_mass,ba_mass,la_mass,ce_mass,& 32 | pr_mass,nd_mass,sm_mass,eu_mass,gd_mass,tb_mass,dy_mass,ho_mass,er_mass,tm_mass,& 33 | yb_mass,lu_mass,hf_mass,ta_mass,w_mass,re_mass,os_mass,ir_mass,pt_mass,au_mass, & 34 | hg_mass,tl_mass,pb_mass,bi_mass,th_mass,u_mass 35 | ! 36 | ! 931.494013 MeV/amu per 2000 NWC pdf 37 | ! 931.49410242 MeV/amu per NIST CODATA 38 | ! Using the value that Kajder used in 2004 (931.494) - 7/22/2020 39 | REAL, PARAMETER :: MeV_amu = 931.494 40 | 41 | 42 | !NWC Data with various dimension attributes 43 | TYPE(nwc_data), DIMENSION(1)::beryllium_array, fluorine_array,sodium_array, & 44 | aluminum_array,phosphorus_array,scandium_array,manganese_array,cobalt_array,& 45 | arsenic_array,yttrium_array,niobium_array,rhodium_array,iodine_array, & 46 | cesium_array,praseodymium_array,terbium_array,holmium_array,thulium_array, & 47 | gold_array,bismuth_array,thorium_array 48 | TYPE(nwc_data), DIMENSION(2)::hydrogen_array, helium_array, lithium_array, & 49 | boron_array,carbon_array, nitrogen_array,chlorine_array,vanadium_array, & 50 | copper_array,gallium_array,bromine_array,rubidium_array,silver_array, & 51 | indium_array,antimony_array,lanthanum_array,europium_array,lutetium_array, & 52 | tantalum_array,rhenium_array,iridium_array,thallium_array 53 | TYPE(nwc_data), DIMENSION(3)::oxygen_array,neon_array,magnesium_array, & 54 | silicon_array,argon_array,potassium_array,uranium_array 55 | TYPE(nwc_data), DIMENSION(4)::sulfur_array,chromium_array,iron_array,strontium_array,& 56 | cerium_array,lead_array 57 | TYPE(nwc_data), DIMENSION(5)::titanium_array,nickel_array,zinc_array, & 58 | germanium_array,zirconium_array,tungsten_array 59 | TYPE(nwc_data), DIMENSION(6)::calcium_array,selenium_array,krypton_array,& 60 | palladium_array,erbium_array,hafnium_array,platinum_array 61 | TYPE(nwc_data), DIMENSION(7)::molybdenum_array,ruthenium_array,barium_array, & 62 | neodymium_array,samarium_array,gadolinium_array,dysprosium_array, & 63 | ytterbium_array,osmium_array,mercury_array 64 | TYPE(nwc_data), DIMENSION(8)::cadmium_array,tellurium_array 65 | TYPE(nwc_data), DIMENSION(9)::xenon_array 66 | TYPE(nwc_data), DIMENSION(10)::tin_array 67 | TYPE(nwc_data), DIMENSION(500):: output_array 68 | 69 | END MODULE NWC_DATABASE 70 | -------------------------------------------------------------------------------- /source/NWC.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | MODULE NWC_2000 7 | IMPLICIT NONE 8 | 9 | !This is the database type which will be used throughout the program. 10 | !We are creating a derived datatype to hold the data from the 11 | ! Nuclear Wallet Cards. 12 | 13 | TYPE nwc_data 14 | INTEGER:: z, a 15 | CHARACTER(LEN=6):: symbol 16 | REAL:: mass_defect, atom_percent, weight_percent, isotopic_mass 17 | CHARACTER(LEN=9):: zaid 18 | END TYPE nwc_data 19 | 20 | END MODULE NWC_2000 21 | -------------------------------------------------------------------------------- /source/Z11_Z15.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z11_Z15 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 11-15 (sodium,magnesium,aluminum,silicon,and 12 | !phosphorus) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 25, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 6, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Sodium Isotopes 33 | na_size = 1 34 | 35 | sodium_array(1)%z = 11 36 | sodium_array(1)%a = 23 37 | sodium_array(1)%symbol ="Na-23 " 38 | sodium_array(1)%mass_defect = -9.5298 39 | sodium_array(1)%atom_percent = 100.0 40 | sodium_array(1)%zaid = "11023.00c" 41 | 42 | !Calculate isotopic mass for Sodium 43 | DO i=1, na_size 44 | holder = sodium_array(i)%a + (sodium_array(i)%mass_defect/MeV_amu) 45 | 46 | sodium_array(i)%isotopic_mass = holder 47 | END DO 48 | 49 | !Set mass and holder to zero. 50 | na_mass = 0.0 51 | holder = 0.0 52 | 53 | !Calculate mass of Sodium 54 | DO i=1, na_size 55 | na_mass = holder + (sodium_array(i)%isotopic_mass* & 56 | & sodium_array(i)%atom_percent)/100 57 | 58 | holder = na_mass 59 | END DO 60 | 61 | !Calculate weight percent of Sodium 62 | DO i=1, na_size 63 | sodium_array(i)%weight_percent = (sodium_array(i)%isotopic_mass & 64 | & * sodium_array(i)%atom_percent)/na_mass 65 | END DO 66 | 67 | !Number of Magnesium Isotopes 68 | mg_size = 3 69 | 70 | magnesium_array(1)%z = 12 71 | magnesium_array(1)%a = 24 72 | magnesium_array(1)%symbol ="Mg-24 " 73 | magnesium_array(1)%mass_defect = -13.9335 74 | magnesium_array(1)%atom_percent = 78.99 75 | magnesium_array(1)%zaid = "12024.00c" 76 | 77 | magnesium_array(2)%z = 12 78 | magnesium_array(2)%a = 25 79 | magnesium_array(2)%symbol ="Mg-25 " 80 | magnesium_array(2)%mass_defect = -13.1927 81 | magnesium_array(2)%atom_percent = 10.00 82 | magnesium_array(2)%zaid = "12025.00c" 83 | 84 | magnesium_array(3)%z = 12 85 | magnesium_array(3)%a = 26 86 | magnesium_array(3)%symbol ="Mg-26 " 87 | magnesium_array(3)%mass_defect = -16.2145 88 | magnesium_array(3)%atom_percent = 11.01 89 | magnesium_array(3)%zaid = "12026.00c" 90 | 91 | !Calculate isotopic mass for Magnesium 92 | DO i=1,mg_size 93 | holder = magnesium_array(i)%a + (magnesium_array(i)%mass_defect/MeV_amu) 94 | 95 | magnesium_array(i)%isotopic_mass = holder 96 | END DO 97 | 98 | !Set mass and holder to zero. 99 | mg_mass = 0.0 100 | holder = 0.0 101 | 102 | !Calculate mass of Magnesium 103 | DO i=1, mg_size 104 | mg_mass = holder + (magnesium_array(i)%isotopic_mass* & 105 | & magnesium_array(i)%atom_percent)/100 106 | 107 | holder = mg_mass 108 | END DO 109 | 110 | !Calculate weight percent of Magnesium 111 | DO i=1, mg_size 112 | magnesium_array(i)%weight_percent = (magnesium_array(i)%isotopic_mass & 113 | & * magnesium_array(i)%atom_percent)/mg_mass 114 | END DO 115 | 116 | !Number of Aluminum Isotopes 117 | al_size = 1 118 | 119 | aluminum_array(1)%z = 13 120 | aluminum_array(1)%a = 27 121 | aluminum_array(1)%symbol ="Al-27 " 122 | aluminum_array(1)%mass_defect = -17.1968 123 | aluminum_array(1)%atom_percent = 100.0 124 | aluminum_array(1)%zaid = "13027.00c" 125 | 126 | !Calculate isotopic mass for Aluminum 127 | DO i=1, al_size 128 | holder = aluminum_array(i)%a + (aluminum_array(i)%mass_defect/MeV_amu) 129 | 130 | aluminum_array(i)%isotopic_mass = holder 131 | END DO 132 | 133 | !Set mass and holder to zero. 134 | al_mass = 0.0 135 | holder = 0.0 136 | 137 | !Calculate mass of Aluminum 138 | DO i=1, al_size 139 | al_mass = holder + (aluminum_array(i)%isotopic_mass* & 140 | & aluminum_array(i)%atom_percent)/100 141 | 142 | holder = al_mass 143 | END DO 144 | 145 | !Calculate weight percent of Aluminum 146 | DO i=1, al_size 147 | aluminum_array(i)%weight_percent = (aluminum_array(i)%isotopic_mass & 148 | & * aluminum_array(i)%atom_percent)/al_mass 149 | END DO 150 | 151 | !Number of Silicon Isotopes 152 | si_size = 3 153 | 154 | silicon_array(1)%z = 14 155 | silicon_array(1)%a = 28 156 | silicon_array(1)%symbol ="Si-28 " 157 | silicon_array(1)%mass_defect = -21.4927 158 | silicon_array(1)%atom_percent = 92.223 159 | silicon_array(1)%zaid = "14028.00c" 160 | 161 | silicon_array(2)%z = 14 162 | silicon_array(2)%a = 29 163 | silicon_array(2)%symbol ="Si-29 " 164 | silicon_array(2)%mass_defect = -21.8950 165 | silicon_array(2)%atom_percent = 4.685 166 | silicon_array(2)%zaid = "14029.00c" 167 | 168 | silicon_array(3)%z = 14 169 | silicon_array(3)%a = 30 170 | silicon_array(3)%symbol ="Si-30 " 171 | silicon_array(3)%mass_defect = -24.4329 172 | silicon_array(3)%atom_percent = 3.092 173 | silicon_array(3)%zaid = "14030.00c" 174 | 175 | !Calculate isotopic mass for Silicon 176 | DO i=1,si_size 177 | holder = silicon_array(i)%a + (silicon_array(i)%mass_defect/MeV_amu) 178 | 179 | silicon_array(i)%isotopic_mass = holder 180 | END DO 181 | 182 | !Set mass and holder to zero. 183 | si_mass = 0.0 184 | holder = 0.0 185 | 186 | !Calculate mass of Silicon 187 | DO i=1, si_size 188 | si_mass = holder + (silicon_array(i)%isotopic_mass* & 189 | & silicon_array(i)%atom_percent)/100 190 | 191 | holder = si_mass 192 | END DO 193 | 194 | !Calculate weight percent of Silicon 195 | DO i=1, si_size 196 | silicon_array(i)%weight_percent = (silicon_array(i)%isotopic_mass & 197 | & * silicon_array(i)%atom_percent)/si_mass 198 | END DO 199 | 200 | !Number of Phosphorus Isotopes 201 | p_size = 1 202 | 203 | phosphorus_array(1)%z = 15 204 | phosphorus_array(1)%a = 31 205 | phosphorus_array(1)%symbol =" P-31 " 206 | phosphorus_array(1)%mass_defect = -24.4405 207 | phosphorus_array(1)%atom_percent = 100.0 208 | phosphorus_array(1)%zaid = "15031.00c" 209 | 210 | !Calculate isotopic mass for Phosphorus 211 | DO i=1, p_size 212 | holder = phosphorus_array(i)%a + (phosphorus_array(i)%mass_defect/MeV_amu) 213 | 214 | phosphorus_array(i)%isotopic_mass = holder 215 | END DO 216 | 217 | !Set mass and holder to zero. 218 | p_mass = 0.0 219 | holder = 0.0 220 | 221 | !Calculate mass of Phosphorus 222 | DO i=1, p_size 223 | p_mass = holder + (phosphorus_array(i)%isotopic_mass* & 224 | & phosphorus_array(i)%atom_percent)/100 225 | 226 | holder = p_mass 227 | END DO 228 | 229 | !Calculate weight percent of Phosphorus 230 | DO i=1, p_size 231 | phosphorus_array(i)%weight_percent = (phosphorus_array(i)%isotopic_mass & 232 | & * phosphorus_array(i)%atom_percent)/p_mass 233 | END DO 234 | 235 | END SUBROUTINE Z11_Z15 236 | -------------------------------------------------------------------------------- /source/Z16_Z20.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z16_Z20 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 16-20 (sulfur,chlorine,argon,potassium,and 12 | !calcium) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 25, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 6, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Sulfur Isotopes 33 | s_size = 4 34 | 35 | sulfur_array(1)%z = 16 36 | sulfur_array(1)%a = 32 37 | sulfur_array(1)%symbol =" S-32 " 38 | sulfur_array(1)%mass_defect = -26.0155 39 | sulfur_array(1)%atom_percent = 94.99 40 | sulfur_array(1)%zaid = "16032.00c" 41 | 42 | sulfur_array(2)%z = 16 43 | sulfur_array(2)%a = 33 44 | sulfur_array(2)%symbol =" S-33 " 45 | sulfur_array(2)%mass_defect = -26.5858 46 | sulfur_array(2)%atom_percent = 0.75 47 | sulfur_array(2)%zaid = "16033.00c" 48 | 49 | sulfur_array(3)%z = 16 50 | sulfur_array(3)%a = 34 51 | sulfur_array(3)%symbol =" S-34 " 52 | sulfur_array(3)%mass_defect = -29.9316 53 | sulfur_array(3)%atom_percent = 4.25 54 | sulfur_array(3)%zaid = "16034.00c" 55 | 56 | sulfur_array(4)%z = 16 57 | sulfur_array(4)%a = 36 58 | sulfur_array(4)%symbol =" S-36 " 59 | sulfur_array(4)%mass_defect = -30.6641 60 | sulfur_array(4)%atom_percent = 0.01 61 | sulfur_array(4)%zaid = "16036.00c" 62 | 63 | !Calculate isotopic mass for Sulfur 64 | DO i=1,s_size 65 | holder = sulfur_array(i)%a + (sulfur_array(i)%mass_defect/MeV_amu) 66 | 67 | sulfur_array(i)%isotopic_mass = holder 68 | END DO 69 | 70 | !Set mass and holder to zero. 71 | s_mass = 0.0 72 | holder = 0.0 73 | 74 | !Calculate mass of Sulfur 75 | DO i=1, s_size 76 | s_mass = holder + (sulfur_array(i)%isotopic_mass* & 77 | & sulfur_array(i)%atom_percent)/100 78 | 79 | holder = s_mass 80 | END DO 81 | 82 | !Calculate weight percent of Sulfur 83 | DO i=1, s_size 84 | sulfur_array(i)%weight_percent = (sulfur_array(i)%isotopic_mass & 85 | & * sulfur_array(i)%atom_percent)/s_mass 86 | END DO 87 | 88 | !Number of Chlorine Isotopes 89 | cl_size = 2 90 | 91 | chlorine_array(1)%z = 17 92 | chlorine_array(1)%a = 35 93 | chlorine_array(1)%symbol ="Cl-35 " 94 | chlorine_array(1)%mass_defect = -29.0135 95 | chlorine_array(1)%atom_percent = 75.76 96 | chlorine_array(1)%zaid = "17035.00c" 97 | 98 | chlorine_array(2)%z = 17 99 | chlorine_array(2)%a = 37 100 | chlorine_array(2)%symbol ="Cl-37 " 101 | chlorine_array(2)%mass_defect = -31.7615 102 | chlorine_array(2)%atom_percent = 24.24 103 | chlorine_array(2)%zaid = "17037.00c" 104 | 105 | !Calculate isotopic mass for Chlorine 106 | DO i=1,cl_size 107 | holder = chlorine_array(i)%a + (chlorine_array(i)%mass_defect/MeV_amu) 108 | 109 | chlorine_array(i)%isotopic_mass = holder 110 | END DO 111 | 112 | !Set mass and holder to zero. 113 | cl_mass = 0.0 114 | holder = 0.0 115 | 116 | !Calculate mass of Chlorine 117 | DO i=1, cl_size 118 | cl_mass = holder + (chlorine_array(i)%isotopic_mass* & 119 | & chlorine_array(i)%atom_percent)/100 120 | 121 | holder = cl_mass 122 | END DO 123 | 124 | !Calculate weight percent of Chlorine 125 | DO i=1, cl_size 126 | chlorine_array(i)%weight_percent = (chlorine_array(i)%isotopic_mass & 127 | & * chlorine_array(i)%atom_percent)/cl_mass 128 | END DO 129 | 130 | !Number of Argon Isotopes 131 | ar_size = 3 132 | 133 | argon_array(1)%z = 18 134 | argon_array(1)%a = 36 135 | argon_array(1)%symbol ="Ar-36 " 136 | argon_array(1)%mass_defect = -30.2315 137 | argon_array(1)%atom_percent = 0.3336 138 | argon_array(1)%zaid = "18036.00c" 139 | 140 | argon_array(2)%z = 18 141 | argon_array(2)%a = 38 142 | argon_array(2)%symbol ="Ar-38 " 143 | argon_array(2)%mass_defect = -34.7148 144 | argon_array(2)%atom_percent = 0.0629 145 | argon_array(2)%zaid = "18038.00c" 146 | 147 | argon_array(3)%z = 18 148 | argon_array(3)%a = 40 149 | argon_array(3)%symbol ="Ar-40 " 150 | argon_array(3)%mass_defect = -35.0398 151 | argon_array(3)%atom_percent = 99.6035 152 | argon_array(3)%zaid = "18040.00c" 153 | 154 | !Calculate isotopic mass for Argon 155 | DO i=1,ar_size 156 | holder = argon_array(i)%a + (argon_array(i)%mass_defect/MeV_amu) 157 | 158 | argon_array(i)%isotopic_mass = holder 159 | END DO 160 | 161 | !Set mass and holder to zero. 162 | 163 | ar_mass = 0.0 164 | holder = 0.0 165 | 166 | !Calculate mass of Argon 167 | DO i=1, ar_size 168 | ar_mass = holder + (argon_array(i)%isotopic_mass* & 169 | & argon_array(i)%atom_percent)/100 170 | 171 | holder = ar_mass 172 | END DO 173 | 174 | !Calculate weight percent of Argon 175 | DO i=1, ar_size 176 | argon_array(i)%weight_percent = (argon_array(i)%isotopic_mass & 177 | & * argon_array(i)%atom_percent)/ar_mass 178 | END DO 179 | 180 | !Number of Potassium Isotopes 181 | k_size = 3 182 | 183 | potassium_array(1)%z = 19 184 | potassium_array(1)%a = 39 185 | potassium_array(1)%symbol =" K-39 " 186 | potassium_array(1)%mass_defect = -33.8071 187 | potassium_array(1)%atom_percent = 93.2581 188 | potassium_array(1)%zaid = "19039.00c" 189 | 190 | potassium_array(2)%z = 19 191 | potassium_array(2)%a = 40 192 | potassium_array(2)%symbol =" K-40 " 193 | potassium_array(2)%mass_defect = -33.5354 194 | potassium_array(2)%atom_percent = 0.0117 195 | potassium_array(2)%zaid = "19040.00c" 196 | 197 | potassium_array(3)%z = 19 198 | potassium_array(3)%a = 41 199 | potassium_array(3)%symbol =" K-41 " 200 | potassium_array(3)%mass_defect = -35.5595 201 | potassium_array(3)%atom_percent = 6.7302 202 | potassium_array(3)%zaid = "19041.00c" 203 | 204 | !Calculate isotopic mass for Potassium 205 | DO i=1,k_size 206 | holder = potassium_array(i)%a + (potassium_array(i)%mass_defect/MeV_amu) 207 | 208 | potassium_array(i)%isotopic_mass = holder 209 | END DO 210 | 211 | !Set mass and holder to zero. 212 | k_mass = 0.0 213 | holder = 0.0 214 | 215 | !Calculate mass of Potassium 216 | DO i=1, k_size 217 | k_mass = holder + (potassium_array(i)%isotopic_mass* & 218 | & potassium_array(i)%atom_percent)/100 219 | 220 | holder = k_mass 221 | END DO 222 | 223 | !Calculate weight percent of Potassium 224 | DO i=1, k_size 225 | potassium_array(i)%weight_percent = (potassium_array(i)%isotopic_mass & 226 | & * potassium_array(i)%atom_percent)/k_mass 227 | END DO 228 | 229 | !Number of Calcium Isotopes 230 | ca_size = 6 231 | 232 | calcium_array(1)%z = 20 233 | calcium_array(1)%a = 40 234 | calcium_array(1)%symbol ="Ca-40 " 235 | calcium_array(1)%mass_defect = -34.8463 236 | calcium_array(1)%atom_percent = 96.94 237 | calcium_array(1)%zaid = "20040.00c" 238 | 239 | calcium_array(2)%z = 20 240 | calcium_array(2)%a = 42 241 | calcium_array(2)%symbol ="Ca-42 " 242 | calcium_array(2)%mass_defect = -38.5472 243 | calcium_array(2)%atom_percent = 0.647 244 | calcium_array(2)%zaid = "20042.00c" 245 | 246 | calcium_array(3)%z = 20 247 | calcium_array(3)%a = 43 248 | calcium_array(3)%symbol ="Ca-43 " 249 | calcium_array(3)%mass_defect = -38.4088 250 | calcium_array(3)%atom_percent = 0.135 251 | calcium_array(3)%zaid = "20043.00c" 252 | 253 | calcium_array(4)%z = 20 254 | calcium_array(4)%a = 44 255 | calcium_array(4)%symbol ="Ca-44 " 256 | calcium_array(4)%mass_defect = -41.4686 257 | calcium_array(4)%atom_percent = 2.09 258 | calcium_array(4)%zaid = "20044.00c" 259 | 260 | calcium_array(5)%z = 20 261 | calcium_array(5)%a = 46 262 | calcium_array(5)%symbol ="Ca-46 " 263 | calcium_array(5)%mass_defect = -43.1393 264 | calcium_array(5)%atom_percent = 0.004 265 | calcium_array(5)%zaid = "20046.00c" 266 | 267 | calcium_array(6)%z = 20 268 | calcium_array(6)%a = 48 269 | calcium_array(6)%symbol ="Ca-48 " 270 | calcium_array(6)%mass_defect = -44.2246 271 | calcium_array(6)%atom_percent = 0.187 272 | calcium_array(6)%zaid = "20048.00c" 273 | 274 | !Calculate isotopic mass for Calcium 275 | DO i=1,ca_size 276 | holder = calcium_array(i)%a + (calcium_array(i)%mass_defect/MeV_amu) 277 | 278 | calcium_array(i)%isotopic_mass = holder 279 | END DO 280 | 281 | !Set mass and holder to zero. 282 | ca_mass = 0.0 283 | holder = 0.0 284 | 285 | !Calculate mass of Calcium 286 | DO i=1, ca_size 287 | ca_mass = holder + (calcium_array(i)%isotopic_mass* & 288 | & calcium_array(i)%atom_percent)/100 289 | 290 | holder = ca_mass 291 | END DO 292 | 293 | !Calculate weight percent of Calcium 294 | DO i=1, ca_size 295 | calcium_array(i)%weight_percent = (calcium_array(i)%isotopic_mass & 296 | & * calcium_array(i)%atom_percent)/ca_mass 297 | END DO 298 | 299 | END SUBROUTINE Z16_Z20 300 | -------------------------------------------------------------------------------- /source/Z1_Z5.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z1_Z5 7 | USE NWC_2000 8 | USE NWC_DATABASE 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains first five elements (hydrogen,helium,lithium,beryllium,and 12 | !boron.) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) on 14 | !May 24, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 6, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | 29 | ! Local variables 30 | REAL::holder, mass_of_element 31 | INTEGER:: i 32 | 33 | !Number of Hydrogen Isotopes 34 | h_size = 2 35 | 36 | hydrogen_array(1)%z = 1 37 | hydrogen_array(1)%a = 1 38 | hydrogen_array(1)%symbol =" H-1 " 39 | hydrogen_array(1)%mass_defect = 7.2889 40 | hydrogen_array(1)%atom_percent = 99.9885 41 | hydrogen_array(1)%zaid = "01001.00c" 42 | 43 | hydrogen_array(2)%z = 1 44 | hydrogen_array(2)%a = 2 45 | hydrogen_array(2)%symbol =" H-2 " 46 | hydrogen_array(2)%mass_defect = 13.1357 47 | hydrogen_array(2)%atom_percent = 0.0115 48 | hydrogen_array(2)%zaid = "01002.00c" 49 | 50 | !Calculate isotopic mass for Hydrogen 51 | DO i=1, h_size 52 | holder = hydrogen_array(i)%a + (hydrogen_array(i)%mass_defect/MeV_amu) 53 | 54 | hydrogen_array(i)%isotopic_mass = holder 55 | END DO 56 | 57 | !Set mass and holder to zero. 58 | h_mass = 0.0 59 | holder = 0.0 60 | 61 | !Calculate mass of Hydrogen 62 | DO i=1, h_size 63 | h_mass = holder + (hydrogen_array(i)%isotopic_mass*hydrogen_array(i)%atom_percent)/100 64 | 65 | holder = h_mass 66 | END DO 67 | 68 | !Calculate weight percent of Hydrogen 69 | DO i=1, h_size 70 | hydrogen_array(i)%weight_percent = (hydrogen_array(i)%isotopic_mass & 71 | & * hydrogen_array(i)%atom_percent)/h_mass 72 | END DO 73 | 74 | !Number of Helium Isotopes 75 | he_size = 2 76 | 77 | helium_array(1)%z = 2 78 | helium_array(1)%a = 3 79 | helium_array(1)%symbol =" He-3 " 80 | helium_array(1)%mass_defect = 14.9312 81 | helium_array(1)%atom_percent = 0.000134 82 | helium_array(1)%zaid = "02003.00c" 83 | 84 | helium_array(2)%z = 2 85 | helium_array(2)%a = 4 86 | helium_array(2)%symbol =" He-4 " 87 | helium_array(2)%mass_defect = 2.4249 88 | helium_array(2)%atom_percent = 99.999866 89 | helium_array(2)%zaid = "02004.00c" 90 | 91 | !Calculate isotopic mass for Helium 92 | DO i=1, he_size 93 | holder = helium_array(i)%a + (helium_array(i)%mass_defect/MeV_amu) 94 | 95 | helium_array(i)%isotopic_mass = holder 96 | END DO 97 | 98 | !Set mass and holder to zero. 99 | he_mass = 0.0 100 | holder = 0.0 101 | 102 | !Calculate mass of Helium 103 | DO i=1, he_size 104 | he_mass = holder + (helium_array(i)%isotopic_mass*helium_array(i)%atom_percent)/100 105 | 106 | holder = he_mass 107 | END DO 108 | 109 | !Calculate weight percent of Helium 110 | DO i=1, he_size 111 | helium_array(i)%weight_percent = (helium_array(i)%isotopic_mass & 112 | & * helium_array(i)%atom_percent)/he_mass 113 | END DO 114 | 115 | !Number of Lithium Isotopes 116 | li_size = 2 117 | 118 | lithium_array(1)%z = 3 119 | lithium_array(1)%a = 6 120 | lithium_array(1)%symbol =" Li-6 " 121 | lithium_array(1)%mass_defect = 14.0868 122 | lithium_array(1)%atom_percent = 7.59 123 | lithium_array(1)%zaid = "03006.00c" 124 | 125 | lithium_array(2)%z = 3 126 | lithium_array(2)%a = 7 127 | lithium_array(2)%symbol =" Li-7 " 128 | lithium_array(2)%mass_defect = 14.9071 129 | lithium_array(2)%atom_percent = 92.41 130 | lithium_array(2)%zaid = "03007.00c" 131 | 132 | !Calculate isotopic mass for Lithium 133 | DO i=1, li_size 134 | holder = lithium_array(i)%a + (lithium_array(i)%mass_defect/MeV_amu) 135 | 136 | lithium_array(i)%isotopic_mass = holder 137 | END DO 138 | 139 | !Set mass and holder to zero. 140 | li_mass = 0.0 141 | holder = 0.0 142 | 143 | !Calculate mass of Lithium 144 | DO i=1, li_size 145 | li_mass = holder + (lithium_array(i)%isotopic_mass*lithium_array(i)%atom_percent)/100 146 | 147 | holder = li_mass 148 | END DO 149 | 150 | !Calculate weight percent of Lithium 151 | DO i=1, li_size 152 | lithium_array(i)%weight_percent = (lithium_array(i)%isotopic_mass & 153 | & * lithium_array(i)%atom_percent)/li_mass 154 | END DO 155 | 156 | !Number of Beryllium Isotopes 157 | be_size = 1 158 | 159 | beryllium_array(1)%z = 4 160 | beryllium_array(1)%a = 9 161 | beryllium_array(1)%symbol =" Be-9 " 162 | beryllium_array(1)%mass_defect = 11.3484 163 | beryllium_array(1)%atom_percent = 100 164 | beryllium_array(1)%zaid = "04009.00c" 165 | 166 | 167 | !Calculate isotopic mass for Beryllium 168 | DO i=1, be_size 169 | holder = beryllium_array(i)%a + (beryllium_array(i)%mass_defect/MeV_amu) 170 | 171 | beryllium_array(i)%isotopic_mass = holder 172 | END DO 173 | 174 | !Set mass and holder to zero. 175 | be_mass = 0.0 176 | holder = 0.0 177 | 178 | !Calculate mass of Beryllium 179 | DO i=1, be_size 180 | be_mass = holder + (beryllium_array(i)%isotopic_mass*beryllium_array(i)%atom_percent)/100 181 | 182 | holder = be_mass 183 | END DO 184 | 185 | !Calculate weight percent of Beryllium 186 | DO i=1, be_size 187 | beryllium_array(i)%weight_percent = (beryllium_array(i)%isotopic_mass & 188 | & * beryllium_array(i)%atom_percent)/be_mass 189 | END DO 190 | 191 | !Number of Boron Isotopes 192 | b_size = 2 193 | 194 | boron_array(1)%z = 5 195 | boron_array(1)%a = 10 196 | boron_array(1)%symbol =" B-10 " 197 | boron_array(1)%mass_defect = 12.0506 198 | boron_array(1)%atom_percent = 19.9 199 | boron_array(1)%zaid = "05010.00c" 200 | 201 | boron_array(2)%z = 5 202 | boron_array(2)%a = 11 203 | boron_array(2)%symbol =" B-11 " 204 | boron_array(2)%mass_defect = 8.6677 205 | boron_array(2)%atom_percent = 80.1 206 | boron_array(2)%zaid = "05011.00c" 207 | 208 | !Calculate isotopic mass for Boron 209 | DO i=1, b_size 210 | holder = boron_array(i)%a + (boron_array(i)%mass_defect/MeV_amu) 211 | 212 | boron_array(i)%isotopic_mass = holder 213 | END DO 214 | 215 | !Set mass and holder to zero. 216 | b_mass = 0.0 217 | holder = 0.0 218 | 219 | !Calculate mass of Boron 220 | DO i=1, b_size 221 | b_mass = holder + (boron_array(i)%isotopic_mass*boron_array(i)%atom_percent)/100 222 | 223 | holder = b_mass 224 | END DO 225 | 226 | !Calculate weight percent of Boron 227 | DO i=1, b_size 228 | boron_array(i)%weight_percent = (boron_array(i)%isotopic_mass & 229 | & * boron_array(i)%atom_percent)/b_mass 230 | END DO 231 | 232 | END SUBROUTINE Z1_Z5 233 | -------------------------------------------------------------------------------- /source/Z21_Z25.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z21_Z25 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 21-25 (scandium,titanium,vanadium,chromium,and 12 | !manganese) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 25, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 12, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! - Vanadium changed from elemental to isotopic 22 | ! 23 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 24 | ! on 07/22/2020 by K. Russell DePriest. 25 | ! 26 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 27 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 28 | 29 | !Local variables 30 | REAL::holder, mass_of_element 31 | INTEGER:: i 32 | 33 | !Number of Scandium Isotopes 34 | sc_size = 1 35 | 36 | scandium_array(1)%z = 21 37 | scandium_array(1)%a = 45 38 | scandium_array(1)%symbol ="Sc-45 " 39 | scandium_array(1)%mass_defect = -41.0718 40 | scandium_array(1)%atom_percent = 100.0 41 | scandium_array(1)%zaid = "21045.00c" 42 | 43 | !Calculate isotopic mass for Scandium 44 | DO i=1,sc_size 45 | holder = scandium_array(i)%a + (scandium_array(i)%mass_defect/MeV_amu) 46 | 47 | scandium_array(i)%isotopic_mass = holder 48 | END DO 49 | 50 | !Set mass and holder to zero. 51 | sc_mass = 0.0 52 | holder = 0.0 53 | 54 | !Calculate mass of Scandium 55 | DO i=1, sc_size 56 | sc_mass = holder + (scandium_array(i)%isotopic_mass* & 57 | & scandium_array(i)%atom_percent)/100 58 | 59 | holder = sc_mass 60 | END DO 61 | 62 | !Calculate weight percent of Scandium 63 | DO i=1, sc_size 64 | scandium_array(i)%weight_percent = (scandium_array(i)%isotopic_mass & 65 | & * scandium_array(i)%atom_percent)/sc_mass 66 | END DO 67 | 68 | !Number of Titanium Isotopes 69 | ti_size = 5 70 | 71 | titanium_array(1)%z = 22 72 | titanium_array(1)%a = 46 73 | titanium_array(1)%symbol ="Ti-46 " 74 | titanium_array(1)%mass_defect = -44.1277 75 | titanium_array(1)%atom_percent = 8.25 76 | titanium_array(1)%zaid = "22046.00c" 77 | 78 | titanium_array(2)%z = 22 79 | titanium_array(2)%a = 47 80 | titanium_array(2)%symbol ="Ti-47 " 81 | titanium_array(2)%mass_defect = -44.9373 82 | titanium_array(2)%atom_percent = 7.44 83 | titanium_array(2)%zaid = "22047.00c" 84 | 85 | titanium_array(3)%z = 22 86 | titanium_array(3)%a = 48 87 | titanium_array(3)%symbol ="Ti-48 " 88 | titanium_array(3)%mass_defect = -48.4927 89 | titanium_array(3)%atom_percent = 73.72 90 | titanium_array(3)%zaid = "22048.00c" 91 | 92 | titanium_array(4)%z = 22 93 | titanium_array(4)%a = 49 94 | titanium_array(4)%symbol ="Ti-49 " 95 | titanium_array(4)%mass_defect = -48.5637 96 | titanium_array(4)%atom_percent = 5.41 97 | titanium_array(4)%zaid = "22049.00c" 98 | 99 | titanium_array(5)%z = 22 100 | titanium_array(5)%a = 50 101 | titanium_array(5)%symbol ="Ti-50 " 102 | titanium_array(5)%mass_defect = -51.4316 103 | titanium_array(5)%atom_percent = 5.18 104 | titanium_array(5)%zaid = "22050.00c" 105 | 106 | !Calculate isotopic mass for Titanium 107 | DO i=1,ti_size 108 | holder = titanium_array(i)%a + (titanium_array(i)%mass_defect/MeV_amu) 109 | 110 | titanium_array(i)%isotopic_mass = holder 111 | END DO 112 | 113 | !Set mass and holder to zero. 114 | ti_mass = 0.0 115 | holder = 0.0 116 | 117 | !Calculate mass of Titanium 118 | DO i=1, ti_size 119 | ti_mass = holder + (titanium_array(i)%isotopic_mass* & 120 | & titanium_array(i)%atom_percent)/100 121 | 122 | holder = ti_mass 123 | END DO 124 | 125 | !Calculate weight percent of Titanium 126 | DO i=1, ti_size 127 | titanium_array(i)%weight_percent = (titanium_array(i)%isotopic_mass & 128 | & * titanium_array(i)%atom_percent)/ti_mass 129 | END DO 130 | 131 | !Number of Vanadium Isotopes 132 | v_size = 2 133 | 134 | vanadium_array(1)%z = 23 135 | vanadium_array(1)%a = 50 136 | vanadium_array(1)%symbol =" V-50 " 137 | vanadium_array(1)%mass_defect = -49.2240 138 | vanadium_array(1)%atom_percent = 0.250 139 | vanadium_array(1)%zaid = "23050.00c" 140 | 141 | vanadium_array(2)%z = 23 142 | vanadium_array(2)%a = 51 143 | vanadium_array(2)%symbol =" V-51 " 144 | vanadium_array(2)%mass_defect = -52.2038 145 | vanadium_array(2)%atom_percent = 99.750 146 | vanadium_array(2)%zaid = "23051.00c" 147 | 148 | !Calculate isotopic mass for Vanadium 149 | DO i=1,v_size 150 | holder = vanadium_array(i)%a + (vanadium_array(i)%mass_defect/MeV_amu) 151 | 152 | vanadium_array(i)%isotopic_mass = holder 153 | END DO 154 | 155 | !Set mass and holder to zero. 156 | v_mass = 0.0 157 | holder = 0.0 158 | 159 | !Calculate mass of Vanadium 160 | DO i=1, v_size 161 | v_mass = holder + (vanadium_array(i)%isotopic_mass* & 162 | & vanadium_array(i)%atom_percent)/100 163 | 164 | holder = v_mass 165 | END DO 166 | 167 | !Calculate weight percent of Vanadium 168 | DO i=1, v_size 169 | vanadium_array(i)%weight_percent = (vanadium_array(i)%isotopic_mass & 170 | & * vanadium_array(i)%atom_percent)/v_mass 171 | END DO 172 | 173 | !Number of Chromium Isotopes 174 | cr_size = 4 175 | 176 | chromium_array(1)%z = 24 177 | chromium_array(1)%a = 50 178 | chromium_array(1)%symbol ="Cr-50 " 179 | chromium_array(1)%mass_defect = -50.2620 180 | chromium_array(1)%atom_percent = 4.345 181 | chromium_array(1)%zaid = "24050.00c" 182 | 183 | chromium_array(2)%z = 24 184 | chromium_array(2)%a = 52 185 | chromium_array(2)%symbol ="Cr-52 " 186 | chromium_array(2)%mass_defect = -55.4192 187 | chromium_array(2)%atom_percent = 83.789 188 | chromium_array(2)%zaid = "24052.00c" 189 | 190 | chromium_array(3)%z = 24 191 | chromium_array(3)%a = 53 192 | chromium_array(3)%symbol ="Cr-53 " 193 | chromium_array(3)%mass_defect = -55.2869 194 | chromium_array(3)%atom_percent = 9.501 195 | chromium_array(3)%zaid = "24053.00c" 196 | 197 | chromium_array(4)%z = 24 198 | chromium_array(4)%a = 54 199 | chromium_array(4)%symbol ="Cr-54 " 200 | chromium_array(4)%mass_defect = -56.9347 201 | chromium_array(4)%atom_percent = 2.365 202 | chromium_array(4)%zaid = "24054.00c" 203 | 204 | !Calculate isotopic mass for Chromium 205 | DO i=1,cr_size 206 | holder = chromium_array(i)%a + (chromium_array(i)%mass_defect/MeV_amu) 207 | 208 | chromium_array(i)%isotopic_mass = holder 209 | END DO 210 | 211 | !Set mass and holder to zero. 212 | cr_mass = 0.0 213 | holder = 0.0 214 | 215 | !Calculate mass of Chromium 216 | DO i=1, cr_size 217 | cr_mass = holder + (chromium_array(i)%isotopic_mass* & 218 | & chromium_array(i)%atom_percent)/100 219 | 220 | holder = cr_mass 221 | END DO 222 | 223 | !Calculate weight percent of Chromium 224 | DO i=1, cr_size 225 | chromium_array(i)%weight_percent = (chromium_array(i)%isotopic_mass & 226 | & * chromium_array(i)%atom_percent)/cr_mass 227 | END DO 228 | 229 | !Number of Manganese Isotopes 230 | mn_size = 1 231 | 232 | manganese_array(1)%z = 25 233 | manganese_array(1)%a = 55 234 | manganese_array(1)%symbol ="Mn-55 " 235 | manganese_array(1)%mass_defect = -57.7124 236 | manganese_array(1)%atom_percent = 100.0 237 | manganese_array(1)%zaid = "25055.00c" 238 | 239 | !Calculate isotopic mass for Manganese 240 | DO i=1,mn_size 241 | holder = manganese_array(i)%a + (manganese_array(i)%mass_defect/MeV_amu) 242 | 243 | manganese_array(i)%isotopic_mass = holder 244 | END DO 245 | 246 | !Set mass and holder to zero. 247 | mn_mass = 0.0 248 | holder = 0.0 249 | 250 | !Calculate mass of Manganese 251 | DO i=1, mn_size 252 | mn_mass = holder + (manganese_array(i)%isotopic_mass* & 253 | & manganese_array(i)%atom_percent)/100 254 | 255 | holder = mn_mass 256 | END DO 257 | 258 | !Calculate weight percent of Manganese 259 | DO i=1, mn_size 260 | manganese_array(i)%weight_percent = (manganese_array(i)%isotopic_mass & 261 | & * manganese_array(i)%atom_percent)/mn_mass 262 | END DO 263 | 264 | END SUBROUTINE Z21_Z25 265 | -------------------------------------------------------------------------------- /source/Z26_Z30.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z26_Z30 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 26-30 (iron,cobalt,nickel,copper,and zinc) 12 | !and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 25, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 13, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! - Zinc changed from elemental to isotopic 22 | ! 23 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 24 | ! on 07/22/2020 by K. Russell DePriest. 25 | ! 26 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 27 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 28 | 29 | !Local variables 30 | REAL::holder, mass_of_element 31 | INTEGER:: i 32 | 33 | !Number of Iron Isotopes 34 | fe_size = 4 35 | 36 | iron_array(1)%z = 26 37 | iron_array(1)%a = 54 38 | iron_array(1)%symbol ="Fe-54 " 39 | iron_array(1)%mass_defect = -56.2545 40 | iron_array(1)%atom_percent = 5.845 41 | iron_array(1)%zaid = "26054.00c" 42 | 43 | iron_array(2)%z = 26 44 | iron_array(2)%a = 56 45 | iron_array(2)%symbol ="Fe-56 " 46 | iron_array(2)%mass_defect = -60.6070 47 | iron_array(2)%atom_percent = 91.754 48 | iron_array(2)%zaid = "26056.00c" 49 | 50 | iron_array(3)%z = 26 51 | iron_array(3)%a = 57 52 | iron_array(3)%symbol ="Fe-57 " 53 | iron_array(3)%mass_defect = -60.1818 54 | iron_array(3)%atom_percent = 2.119 55 | iron_array(3)%zaid = "26057.00c" 56 | 57 | iron_array(4)%z = 26 58 | iron_array(4)%a = 58 59 | iron_array(4)%symbol ="Fe-58 " 60 | iron_array(4)%mass_defect = -62.1551 61 | iron_array(4)%atom_percent = 0.282 62 | iron_array(4)%zaid = "26058.00c" 63 | 64 | !Calculate isotopic mass for Iron 65 | DO i=1,fe_size 66 | holder = iron_array(i)%a + (iron_array(i)%mass_defect/MeV_amu) 67 | 68 | iron_array(i)%isotopic_mass = holder 69 | END DO 70 | 71 | !Set mass and holder to zero. 72 | fe_mass = 0.0 73 | holder = 0.0 74 | 75 | !Calculate mass of Iron 76 | DO i=1, fe_size 77 | fe_mass = holder + (iron_array(i)%isotopic_mass* & 78 | & iron_array(i)%atom_percent)/100 79 | 80 | holder = fe_mass 81 | END DO 82 | 83 | !Calculate weight percent of Iron 84 | DO i=1, fe_size 85 | iron_array(i)%weight_percent = (iron_array(i)%isotopic_mass & 86 | & * iron_array(i)%atom_percent)/fe_mass 87 | END DO 88 | 89 | !Number of Cobalt Isotopes 90 | co_size = 1 91 | 92 | cobalt_array(1)%z = 27 93 | cobalt_array(1)%a = 59 94 | cobalt_array(1)%symbol ="Co-59 " 95 | cobalt_array(1)%mass_defect = -62.2297 96 | cobalt_array(1)%atom_percent = 100.0 97 | cobalt_array(1)%zaid = "27059.00c" 98 | 99 | !Calculate isotopic mass for Cobalt 100 | DO i=1,co_size 101 | holder = cobalt_array(i)%a + (cobalt_array(i)%mass_defect/MeV_amu) 102 | 103 | cobalt_array(i)%isotopic_mass = holder 104 | END DO 105 | 106 | !Set mass and holder to zero. 107 | co_mass = 0.0 108 | holder = 0.0 109 | 110 | !Calculate mass of Cobalt 111 | DO i=1, co_size 112 | co_mass = holder + (cobalt_array(i)%isotopic_mass* & 113 | & cobalt_array(i)%atom_percent)/100 114 | 115 | holder = co_mass 116 | END DO 117 | 118 | !Calculate weight percent of Cobalt 119 | DO i=1, co_size 120 | cobalt_array(i)%weight_percent = (cobalt_array(i)%isotopic_mass & 121 | & * cobalt_array(i)%atom_percent)/co_mass 122 | END DO 123 | 124 | !Number of Nickel Isotopes 125 | ni_size = 5 126 | 127 | nickel_array(1)%z = 28 128 | nickel_array(1)%a = 58 129 | nickel_array(1)%symbol ="Ni-58 " 130 | nickel_array(1)%mass_defect = -60.2287 131 | nickel_array(1)%atom_percent = 68.077 132 | nickel_array(1)%zaid = "28058.00c" 133 | 134 | nickel_array(2)%z = 28 135 | nickel_array(2)%a = 60 136 | nickel_array(2)%symbol ="Ni-60 " 137 | nickel_array(2)%mass_defect = -64.4731 138 | nickel_array(2)%atom_percent = 26.223 139 | nickel_array(2)%zaid = "28060.00c" 140 | 141 | nickel_array(3)%z = 28 142 | nickel_array(3)%a = 61 143 | nickel_array(3)%symbol ="Ni-61 " 144 | nickel_array(3)%mass_defect = -64.2219 145 | nickel_array(3)%atom_percent = 1.1399 146 | nickel_array(3)%zaid = "28061.00c" 147 | 148 | nickel_array(4)%z = 28 149 | nickel_array(4)%a = 62 150 | nickel_array(4)%symbol ="Ni-62 " 151 | nickel_array(4)%mass_defect = -66.7463 152 | nickel_array(4)%atom_percent = 3.6346 153 | nickel_array(4)%zaid = "28062.00c" 154 | 155 | nickel_array(5)%z = 28 156 | nickel_array(5)%a = 64 157 | nickel_array(5)%symbol ="Ni-64 " 158 | nickel_array(5)%mass_defect = -67.0989 159 | nickel_array(5)%atom_percent = 0.9255 160 | nickel_array(5)%zaid = "28064.00c" 161 | 162 | !Calculate isotopic mass for Nickel 163 | DO i=1,ni_size 164 | holder = nickel_array(i)%a + (nickel_array(i)%mass_defect/MeV_amu) 165 | 166 | nickel_array(i)%isotopic_mass = holder 167 | END DO 168 | 169 | !Set mass and holder to zero. 170 | ni_mass = 0.0 171 | holder = 0.0 172 | 173 | !Calculate mass of Nickel 174 | DO i=1, ni_size 175 | ni_mass = holder + (nickel_array(i)%isotopic_mass* & 176 | & nickel_array(i)%atom_percent)/100 177 | 178 | holder = ni_mass 179 | END DO 180 | 181 | !Calculate weight percent of Nickel 182 | DO i=1, ni_size 183 | nickel_array(i)%weight_percent = (nickel_array(i)%isotopic_mass & 184 | & * nickel_array(i)%atom_percent)/ni_mass 185 | END DO 186 | 187 | !Number of Copper Isotopes 188 | cu_size = 2 189 | 190 | copper_array(1)%z = 29 191 | copper_array(1)%a = 63 192 | copper_array(1)%symbol ="Cu-63 " 193 | copper_array(1)%mass_defect = -65.5797 194 | copper_array(1)%atom_percent = 69.15 195 | copper_array(1)%zaid = "29063.00c" 196 | 197 | copper_array(2)%z = 29 198 | copper_array(2)%a = 65 199 | copper_array(2)%symbol ="Cu-65 " 200 | copper_array(2)%mass_defect = -67.2636 201 | copper_array(2)%atom_percent = 30.85 202 | copper_array(2)%zaid = "29065.00c" 203 | 204 | !Calculate isotopic mass for Copper 205 | DO i=1,cu_size 206 | holder = copper_array(i)%a + (copper_array(i)%mass_defect/MeV_amu) 207 | 208 | copper_array(i)%isotopic_mass = holder 209 | END DO 210 | 211 | !Set mass and holder to zero. 212 | cu_mass = 0.0 213 | holder = 0.0 214 | 215 | !Calculate mass of Copper 216 | DO i=1, cu_size 217 | cu_mass = holder + (copper_array(i)%isotopic_mass* & 218 | & copper_array(i)%atom_percent)/100 219 | 220 | holder = cu_mass 221 | END DO 222 | 223 | !Calculate weight percent of Copper 224 | DO i=1, cu_size 225 | copper_array(i)%weight_percent = (copper_array(i)%isotopic_mass & 226 | & * copper_array(i)%atom_percent)/cu_mass 227 | END DO 228 | 229 | !Number of Zinc Isotopes 230 | zn_size = 5 231 | 232 | zinc_array(1)%z = 30 233 | zinc_array(1)%a = 64 234 | zinc_array(1)%symbol ="Zn-64 " 235 | zinc_array(1)%mass_defect = -66.0040 236 | zinc_array(1)%atom_percent = 49.17 237 | zinc_array(1)%zaid = "30064.00c" 238 | 239 | zinc_array(2)%z = 30 240 | zinc_array(2)%a = 66 241 | zinc_array(2)%symbol ="Zn-66 " 242 | zinc_array(2)%mass_defect = -68.8991 243 | zinc_array(2)%atom_percent = 27.73 244 | zinc_array(2)%zaid = "30066.00c" 245 | 246 | zinc_array(3)%z = 30 247 | zinc_array(3)%a = 67 248 | zinc_array(3)%symbol ="Zn-67 " 249 | zinc_array(3)%mass_defect = -67.8803 250 | zinc_array(3)%atom_percent = 4.04 251 | zinc_array(3)%zaid = "30067.00c" 252 | 253 | zinc_array(4)%z = 30 254 | zinc_array(4)%a = 68 255 | zinc_array(4)%symbol ="Zn-68 " 256 | zinc_array(4)%mass_defect = -70.0070 257 | zinc_array(4)%atom_percent = 18.45 258 | zinc_array(4)%zaid = "30068.00c" 259 | 260 | zinc_array(5)%z = 30 261 | zinc_array(5)%a = 70 262 | zinc_array(5)%symbol ="Zn-70 " 263 | zinc_array(5)%mass_defect = -69.5647 264 | zinc_array(5)%atom_percent = 0.61 265 | zinc_array(5)%zaid = "30070.00c" 266 | 267 | !Calculate isotopic mass for Zinc 268 | DO i=1,zn_size 269 | holder = zinc_array(i)%a + (zinc_array(i)%mass_defect/MeV_amu) 270 | 271 | zinc_array(i)%isotopic_mass = holder 272 | END DO 273 | 274 | !Set mass and holder to zero. 275 | zn_mass = 0.0 276 | holder = 0.0 277 | 278 | !Calculate mass of Zinc 279 | DO i=1, zn_size 280 | zn_mass = holder + (zinc_array(i)%isotopic_mass* & 281 | & zinc_array(i)%atom_percent)/100 282 | 283 | holder = zn_mass 284 | END DO 285 | 286 | !Calculate weight percent of Zinc 287 | DO i=1, zn_size 288 | zinc_array(i)%weight_percent = (zinc_array(i)%isotopic_mass & 289 | & * zinc_array(i)%atom_percent)/zn_mass 290 | END DO 291 | 292 | END SUBROUTINE Z26_Z30 293 | -------------------------------------------------------------------------------- /source/Z31_Z35.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z31_Z35 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 31-35 (gallium, germanium, arsenic, 12 | !selenium, and bromine) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 25, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 14, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Gallium Isotopes 33 | ga_size = 2 34 | 35 | gallium_array(1)%z = 31 36 | gallium_array(1)%a = 69 37 | gallium_array(1)%symbol ="Ga-69 " 38 | gallium_array(1)%mass_defect = -69.3278 39 | gallium_array(1)%atom_percent = 60.108 40 | gallium_array(1)%zaid = "31069.00c" 41 | 42 | gallium_array(2)%z = 31 43 | gallium_array(2)%a = 71 44 | gallium_array(2)%symbol ="Ga-71 " 45 | gallium_array(2)%mass_defect = -70.1391 46 | gallium_array(2)%atom_percent = 39.892 47 | gallium_array(2)%zaid = "31071.00c" 48 | 49 | !Calculate isotopic mass for Gallium 50 | DO i=1,ga_size 51 | holder = gallium_array(i)%a + (gallium_array(i)%mass_defect/MeV_amu) 52 | 53 | gallium_array(i)%isotopic_mass = holder 54 | END DO 55 | 56 | !Set mass and holder to zero. 57 | ga_mass = 0.0 58 | holder = 0.0 59 | 60 | !Calculate mass of Gallium 61 | DO i=1, ga_size 62 | ga_mass = holder + (gallium_array(i)%isotopic_mass* & 63 | & gallium_array(i)%atom_percent)/100 64 | 65 | holder = ga_mass 66 | END DO 67 | 68 | !Calculate weight percent of Gallium 69 | DO i=1, ga_size 70 | gallium_array(i)%weight_percent = (gallium_array(i)%isotopic_mass & 71 | & * gallium_array(i)%atom_percent)/ga_mass 72 | END DO 73 | 74 | !Number of Germanium Isotopes 75 | ge_size = 5 76 | 77 | germanium_array(1)%z = 32 78 | germanium_array(1)%a = 70 79 | germanium_array(1)%symbol ="Ge-70 " 80 | germanium_array(1)%mass_defect = -70.5618 81 | germanium_array(1)%atom_percent = 20.57 82 | germanium_array(1)%zaid = "32070.00c" 83 | 84 | germanium_array(2)%z = 32 85 | germanium_array(2)%a = 72 86 | germanium_array(2)%symbol ="Ge-72 " 87 | germanium_array(2)%mass_defect = -72.5859 88 | germanium_array(2)%atom_percent = 27.45 89 | germanium_array(2)%zaid = "32072.00c" 90 | 91 | germanium_array(3)%z = 32 92 | germanium_array(3)%a = 73 93 | germanium_array(3)%symbol ="Ge-73 " 94 | germanium_array(3)%mass_defect = -71.2975 95 | germanium_array(3)%atom_percent = 7.75 96 | germanium_array(3)%zaid = "32073.00c" 97 | 98 | germanium_array(4)%z = 32 99 | germanium_array(4)%a = 74 100 | germanium_array(4)%symbol ="Ge-74 " 101 | germanium_array(4)%mass_defect = -73.4224 102 | germanium_array(4)%atom_percent = 36.50 103 | germanium_array(4)%zaid = "32074.00c" 104 | 105 | germanium_array(5)%z = 32 106 | germanium_array(5)%a = 76 107 | germanium_array(5)%symbol ="Ge-76 " 108 | germanium_array(5)%mass_defect = -73.2128 109 | germanium_array(5)%atom_percent = 7.73 110 | germanium_array(5)%zaid = "32076.00c" 111 | 112 | !Calculate isotopic mass for Germanium 113 | DO i=1,ge_size 114 | holder = germanium_array(i)%a + (germanium_array(i)%mass_defect/MeV_amu) 115 | 116 | germanium_array(i)%isotopic_mass = holder 117 | END DO 118 | 119 | !Set mass and holder to zero. 120 | ge_mass = 0.0 121 | holder = 0.0 122 | 123 | !Calculate mass of Germanium 124 | DO i=1, ge_size 125 | ge_mass = holder + (germanium_array(i)%isotopic_mass* & 126 | & germanium_array(i)%atom_percent)/100 127 | 128 | holder = ge_mass 129 | END DO 130 | 131 | !Calculate weight percent of Germanium 132 | DO i=1, ge_size 133 | germanium_array(i)%weight_percent = (germanium_array(i)%isotopic_mass & 134 | & * germanium_array(i)%atom_percent)/ge_mass 135 | END DO 136 | 137 | !Number of Arsenic Isotopes 138 | as_size = 1 139 | 140 | arsenic_array(1)%z = 33 141 | arsenic_array(1)%a = 75 142 | arsenic_array(1)%symbol ="As-75 " 143 | arsenic_array(1)%mass_defect = -73.0341 144 | arsenic_array(1)%atom_percent = 100.0 145 | arsenic_array(1)%zaid = "33075.00c" 146 | 147 | !Calculate isotopic mass for Arsenic 148 | DO i=1,as_size 149 | holder = arsenic_array(i)%a + (arsenic_array(i)%mass_defect/MeV_amu) 150 | 151 | arsenic_array(i)%isotopic_mass = holder 152 | END DO 153 | 154 | !Set mass and holder to zero. 155 | as_mass = 0.0 156 | holder = 0.0 157 | 158 | !Calculate mass of Arsenic 159 | DO i=1, as_size 160 | as_mass = holder + (arsenic_array(i)%isotopic_mass* & 161 | & arsenic_array(i)%atom_percent)/100 162 | 163 | holder = as_mass 164 | END DO 165 | 166 | !Calculate weight percent of Arsenic 167 | DO i=1, as_size 168 | arsenic_array(i)%weight_percent = (arsenic_array(i)%isotopic_mass & 169 | & * arsenic_array(i)%atom_percent)/as_mass 170 | END DO 171 | 172 | !Number of Selenium Isotopes 173 | se_size = 6 174 | 175 | selenium_array(1)%z = 34 176 | selenium_array(1)%a = 74 177 | selenium_array(1)%symbol ="Se-74 " 178 | selenium_array(1)%mass_defect = -72.2132 179 | selenium_array(1)%atom_percent = 0.89 180 | selenium_array(1)%zaid = "34074.00c" 181 | 182 | selenium_array(2)%z = 34 183 | selenium_array(2)%a = 76 184 | selenium_array(2)%symbol ="Se-76 " 185 | selenium_array(2)%mass_defect = -75.2519 186 | selenium_array(2)%atom_percent = 9.37 187 | selenium_array(2)%zaid = "34076.00c" 188 | 189 | selenium_array(3)%z = 34 190 | selenium_array(3)%a = 77 191 | selenium_array(3)%symbol ="Se-77 " 192 | selenium_array(3)%mass_defect = -74.5994 193 | selenium_array(3)%atom_percent = 7.63 194 | selenium_array(3)%zaid = "34077.00c" 195 | 196 | selenium_array(4)%z = 34 197 | selenium_array(4)%a = 78 198 | selenium_array(4)%symbol ="Se-78 " 199 | selenium_array(4)%mass_defect = -77.0259 200 | selenium_array(4)%atom_percent = 23.77 201 | selenium_array(4)%zaid = "34078.00c" 202 | 203 | selenium_array(5)%z = 34 204 | selenium_array(5)%a = 80 205 | selenium_array(5)%symbol ="Se-80 " 206 | selenium_array(5)%mass_defect = -77.7594 207 | selenium_array(5)%atom_percent = 49.61 208 | selenium_array(5)%zaid = "34080.00c" 209 | 210 | selenium_array(6)%z = 34 211 | selenium_array(6)%a = 82 212 | selenium_array(6)%symbol ="Se-82 " 213 | selenium_array(6)%mass_defect = -77.5938 214 | selenium_array(6)%atom_percent = 8.73 215 | selenium_array(6)%zaid = "34082.00c" 216 | 217 | !Calculate isotopic mass for Selenium 218 | DO i=1,se_size 219 | holder = selenium_array(i)%a + (selenium_array(i)%mass_defect/MeV_amu) 220 | 221 | selenium_array(i)%isotopic_mass = holder 222 | END DO 223 | 224 | !Set mass and holder to zero. 225 | se_mass = 0.0 226 | holder = 0.0 227 | 228 | !Calculate mass of Selenium 229 | DO i=1, se_size 230 | se_mass = holder + (selenium_array(i)%isotopic_mass* & 231 | & selenium_array(i)%atom_percent)/100 232 | 233 | holder = se_mass 234 | END DO 235 | 236 | !Calculate weight percent of Selenium 237 | DO i=1, se_size 238 | selenium_array(i)%weight_percent = (selenium_array(i)%isotopic_mass & 239 | & * selenium_array(i)%atom_percent)/se_mass 240 | END DO 241 | 242 | !Number of Bromine Isotopes 243 | br_size = 2 244 | 245 | bromine_array(1)%z = 35 246 | bromine_array(1)%a = 79 247 | bromine_array(1)%symbol ="Br-79 " 248 | bromine_array(1)%mass_defect = -76.0680 249 | bromine_array(1)%atom_percent = 50.69 250 | bromine_array(1)%zaid = "35079.00c" 251 | 252 | bromine_array(2)%z = 35 253 | bromine_array(2)%a = 81 254 | bromine_array(2)%symbol ="Br-81 " 255 | bromine_array(2)%mass_defect = -77.9770 256 | bromine_array(2)%atom_percent = 49.31 257 | bromine_array(2)%zaid = "35081.00c" 258 | 259 | !Calculate isotopic mass for Bromine 260 | DO i=1,br_size 261 | holder = bromine_array(i)%a + (bromine_array(i)%mass_defect/MeV_amu) 262 | 263 | bromine_array(i)%isotopic_mass = holder 264 | END DO 265 | 266 | !Set mass and holder to zero. 267 | br_mass = 0.0 268 | holder = 0.0 269 | 270 | !Calculate mass of Bromine 271 | DO i=1, br_size 272 | br_mass = holder + (bromine_array(i)%isotopic_mass* & 273 | & bromine_array(i)%atom_percent)/100 274 | 275 | holder = br_mass 276 | END DO 277 | 278 | !Calculate weight percent of Bromine 279 | DO i=1, br_size 280 | bromine_array(i)%weight_percent = (bromine_array(i)%isotopic_mass & 281 | & * bromine_array(i)%atom_percent)/br_mass 282 | END DO 283 | 284 | END SUBROUTINE Z31_Z35 285 | -------------------------------------------------------------------------------- /source/Z36_Z40.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z36_Z40 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 36-40 (krypton, rubidium, strontium, 12 | !yttrium, and zirconium) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 26, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 14, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Krypton Isotopes 33 | kr_size = 6 34 | 35 | krypton_array(1)%z = 36 36 | krypton_array(1)%a = 78 37 | krypton_array(1)%symbol ="Kr-78 " 38 | krypton_array(1)%mass_defect = -74.1782 39 | krypton_array(1)%atom_percent = 0.355 40 | krypton_array(1)%zaid = "36078.00c" 41 | 42 | krypton_array(2)%z = 36 43 | krypton_array(2)%a = 80 44 | krypton_array(2)%symbol ="Kr-80 " 45 | krypton_array(2)%mass_defect = -77.8933 46 | krypton_array(2)%atom_percent = 2.286 47 | krypton_array(2)%zaid = "36080.00c" 48 | 49 | krypton_array(3)%z = 36 50 | krypton_array(3)%a = 82 51 | krypton_array(3)%symbol ="Kr-82 " 52 | krypton_array(3)%mass_defect = -80.5917 53 | krypton_array(3)%atom_percent = 11.593 54 | krypton_array(3)%zaid = "36082.00c" 55 | 56 | krypton_array(4)%z = 36 57 | krypton_array(4)%a = 83 58 | krypton_array(4)%symbol ="Kr-83 " 59 | krypton_array(4)%mass_defect = -79.9906 60 | krypton_array(4)%atom_percent = 11.500 61 | krypton_array(4)%zaid = "36083.00c" 62 | 63 | krypton_array(5)%z = 36 64 | krypton_array(5)%a = 84 65 | krypton_array(5)%symbol ="Kr-84 " 66 | krypton_array(5)%mass_defect = -82.4393 67 | krypton_array(5)%atom_percent = 56.987 68 | krypton_array(5)%zaid = "36084.00c" 69 | 70 | krypton_array(6)%z = 36 71 | krypton_array(6)%a = 86 72 | krypton_array(6)%symbol ="Kr-86 " 73 | krypton_array(6)%mass_defect = -83.2656 74 | krypton_array(6)%atom_percent = 17.279 75 | krypton_array(6)%zaid = "36086.00c" 76 | 77 | !Calculate isotopic mass for Krypton 78 | DO i=1,kr_size 79 | holder = krypton_array(i)%a + (krypton_array(i)%mass_defect/MeV_amu) 80 | 81 | krypton_array(i)%isotopic_mass = holder 82 | END DO 83 | 84 | !Set mass and holder to zero. 85 | kr_mass = 0.0 86 | holder = 0.0 87 | 88 | !Calculate mass of Krypton 89 | DO i=1, kr_size 90 | kr_mass = holder + (krypton_array(i)%isotopic_mass* & 91 | & krypton_array(i)%atom_percent)/100 92 | 93 | holder = kr_mass 94 | END DO 95 | 96 | !Calculate weight percent of Krypton 97 | DO i=1, kr_size 98 | krypton_array(i)%weight_percent = (krypton_array(i)%isotopic_mass & 99 | & * krypton_array(i)%atom_percent)/kr_mass 100 | END DO 101 | 102 | !Number of Rubidium Isotopes 103 | rb_size = 2 104 | 105 | rubidium_array(1)%z = 37 106 | rubidium_array(1)%a = 85 107 | rubidium_array(1)%symbol ="Rb-85 " 108 | rubidium_array(1)%mass_defect = -82.1673 109 | rubidium_array(1)%atom_percent = 72.17 110 | rubidium_array(1)%zaid = "37085.00c" 111 | 112 | rubidium_array(2)%z = 37 113 | rubidium_array(2)%a = 87 114 | rubidium_array(2)%symbol ="Rb-87 " 115 | rubidium_array(2)%mass_defect = -84.5977 116 | rubidium_array(2)%atom_percent = 27.83 117 | rubidium_array(2)%zaid = "37087.00c" 118 | 119 | !Calculate isotopic mass for Rubidium 120 | DO i=1,rb_size 121 | holder = rubidium_array(i)%a + (rubidium_array(i)%mass_defect/MeV_amu) 122 | 123 | rubidium_array(i)%isotopic_mass = holder 124 | END DO 125 | 126 | !Set mass and holder to zero. 127 | rb_mass = 0.0 128 | holder = 0.0 129 | 130 | !Calculate mass of Rubidium 131 | DO i=1, rb_size 132 | rb_mass = holder + (rubidium_array(i)%isotopic_mass* & 133 | & rubidium_array(i)%atom_percent)/100 134 | 135 | holder = rb_mass 136 | END DO 137 | 138 | !Calculate weight percent of Rubidium 139 | DO i=1, rb_size 140 | rubidium_array(i)%weight_percent = (rubidium_array(i)%isotopic_mass & 141 | & * rubidium_array(i)%atom_percent)/rb_mass 142 | END DO 143 | 144 | !Number of Strontium Isotopes 145 | sr_size = 4 146 | 147 | strontium_array(1)%z = 38 148 | strontium_array(1)%a = 84 149 | strontium_array(1)%symbol ="Sr-84 " 150 | strontium_array(1)%mass_defect = -80.6495 151 | strontium_array(1)%atom_percent = 0.56 152 | strontium_array(1)%zaid = "38084.00c" 153 | 154 | strontium_array(2)%z = 38 155 | strontium_array(2)%a = 86 156 | strontium_array(2)%symbol ="Sr-86 " 157 | strontium_array(2)%mass_defect = -84.5230 158 | strontium_array(2)%atom_percent = 9.86 159 | strontium_array(2)%zaid = "38086.00c" 160 | 161 | strontium_array(3)%z = 38 162 | strontium_array(3)%a = 87 163 | strontium_array(3)%symbol ="Sr-87 " 164 | strontium_array(3)%mass_defect = -84.8800 165 | strontium_array(3)%atom_percent = 7.00 166 | strontium_array(3)%zaid = "38087.00c" 167 | 168 | strontium_array(4)%z = 38 169 | strontium_array(4)%a = 88 170 | strontium_array(4)%symbol ="Sr-88 " 171 | strontium_array(4)%mass_defect = -87.9216 172 | strontium_array(4)%atom_percent = 82.58 173 | strontium_array(4)%zaid = "38088.00c" 174 | 175 | !Calculate isotopic mass for Strontium 176 | DO i=1,sr_size 177 | holder = strontium_array(i)%a + (strontium_array(i)%mass_defect/MeV_amu) 178 | 179 | strontium_array(i)%isotopic_mass = holder 180 | END DO 181 | 182 | !Set mass and holder to zero. 183 | sr_mass = 0.0 184 | holder = 0.0 185 | 186 | !Calculate mass of Strontium 187 | DO i=1, sr_size 188 | sr_mass = holder + (strontium_array(i)%isotopic_mass* & 189 | & strontium_array(i)%atom_percent)/100 190 | 191 | holder = sr_mass 192 | END DO 193 | 194 | !Calculate weight percent of Strontium 195 | DO i=1, sr_size 196 | strontium_array(i)%weight_percent = (strontium_array(i)%isotopic_mass & 197 | & * strontium_array(i)%atom_percent)/sr_mass 198 | END DO 199 | 200 | !Number of Yttrium Isotopes 201 | y_size = 1 202 | 203 | yttrium_array(1)%z = 39 204 | yttrium_array(1)%a = 89 205 | yttrium_array(1)%symbol =" Y-89 " 206 | yttrium_array(1)%mass_defect = -87.7083 207 | yttrium_array(1)%atom_percent = 100.0 208 | yttrium_array(1)%zaid = "39089.00c" 209 | 210 | !Calculate isotopic mass for Yttrium 211 | DO i=1,y_size 212 | holder = yttrium_array(i)%a + (yttrium_array(i)%mass_defect/MeV_amu) 213 | 214 | yttrium_array(i)%isotopic_mass = holder 215 | END DO 216 | 217 | !Set mass and holder to zero. 218 | y_mass = 0.0 219 | holder = 0.0 220 | 221 | !Calculate mass of Yttrium 222 | DO i=1, y_size 223 | y_mass = holder + (yttrium_array(i)%isotopic_mass* & 224 | & yttrium_array(i)%atom_percent)/100 225 | 226 | holder = y_mass 227 | END DO 228 | 229 | !Calculate weight percent of Yttrium 230 | DO i=1, y_size 231 | yttrium_array(i)%weight_percent = (yttrium_array(i)%isotopic_mass & 232 | & * yttrium_array(i)%atom_percent)/y_mass 233 | END DO 234 | 235 | !Number of Zirconium Isotopes 236 | zr_size = 5 237 | 238 | zirconium_array(1)%z = 40 239 | zirconium_array(1)%a = 90 240 | zirconium_array(1)%symbol ="Zr-90 " 241 | zirconium_array(1)%mass_defect = -88.7725 242 | zirconium_array(1)%atom_percent = 51.45 243 | zirconium_array(1)%zaid = "40090.00c" 244 | 245 | zirconium_array(2)%z = 40 246 | zirconium_array(2)%a = 91 247 | zirconium_array(2)%symbol ="Zr-91 " 248 | zirconium_array(2)%mass_defect = -87.8955 249 | zirconium_array(2)%atom_percent = 11.22 250 | zirconium_array(2)%zaid = "40091.00c" 251 | 252 | zirconium_array(3)%z = 40 253 | zirconium_array(3)%a = 92 254 | zirconium_array(3)%symbol ="Zr-92 " 255 | zirconium_array(3)%mass_defect = -88.4490 256 | zirconium_array(3)%atom_percent = 17.15 257 | zirconium_array(3)%zaid = "40092.00c" 258 | 259 | zirconium_array(4)%z = 40 260 | zirconium_array(4)%a = 94 261 | zirconium_array(4)%symbol ="Zr-94 " 262 | zirconium_array(4)%mass_defect = -87.2693 263 | zirconium_array(4)%atom_percent = 17.38 264 | zirconium_array(4)%zaid = "40094.00c" 265 | 266 | zirconium_array(5)%z = 40 267 | zirconium_array(5)%a = 96 268 | zirconium_array(5)%symbol ="Zr-96 " 269 | zirconium_array(5)%mass_defect = -85.4388 270 | zirconium_array(5)%atom_percent = 2.80 271 | zirconium_array(5)%zaid = "40096.00c" 272 | 273 | !Calculate isotopic mass for Zirconium 274 | DO i=1,zr_size 275 | holder = zirconium_array(i)%a + (zirconium_array(i)%mass_defect/MeV_amu) 276 | 277 | zirconium_array(i)%isotopic_mass = holder 278 | END DO 279 | 280 | !Set mass and holder to zero. 281 | zr_mass = 0.0 282 | holder = 0.0 283 | 284 | !Calculate mass of Zirconium 285 | DO i=1, zr_size 286 | zr_mass = holder + (zirconium_array(i)%isotopic_mass* & 287 | & zirconium_array(i)%atom_percent)/100 288 | 289 | holder = zr_mass 290 | END DO 291 | 292 | !Calculate weight percent of Zirconium 293 | DO i=1, zr_size 294 | zirconium_array(i)%weight_percent = (zirconium_array(i)%isotopic_mass & 295 | & * zirconium_array(i)%atom_percent)/zr_mass 296 | END DO 297 | 298 | END SUBROUTINE Z36_Z40 299 | -------------------------------------------------------------------------------- /source/Z41_Z45.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z41_Z45 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 41-45 (niobium, molybdenum, technetium, 12 | !ruthenium, and rhodium) and their naturally occuring isotopes. 13 | !Technetium does not naturally occur in nature and is therefore 14 | !left out of the subroutine. 15 | !Created with the Current Nuclear Wallet Cards (2004) 16 | !on May 26, 2004 by Karen Kajder. 17 | ! 18 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 19 | !sections by K. Russell DePriest on December 6, 2011. 20 | ! 21 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 22 | ! on 05/09/2014 by K. Russell DePriest. 23 | ! 24 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 25 | ! on 07/22/2020 by K. Russell DePriest. 26 | ! 27 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 28 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 29 | 30 | 31 | !Local variables 32 | REAL::holder, mass_of_element 33 | INTEGER:: i 34 | 35 | !Number of Niobium Isotopes 36 | nb_size = 1 37 | 38 | niobium_array(1)%z = 41 39 | niobium_array(1)%a = 93 40 | niobium_array(1)%symbol ="Nb-93 " 41 | niobium_array(1)%mass_defect = -87.2128 42 | niobium_array(1)%atom_percent = 100.0 43 | niobium_array(1)%zaid = "41093.00c" 44 | 45 | !Calculate isotopic mass for Niobium 46 | DO i=1, nb_size 47 | holder = niobium_array(i)%a + (niobium_array(i)%mass_defect/MeV_amu) 48 | 49 | niobium_array(i)%isotopic_mass = holder 50 | END DO 51 | 52 | !Set mass and holder to zero. 53 | nb_mass = 0.0 54 | holder = 0.0 55 | 56 | !Calculate mass of Niobium 57 | DO i=1, nb_size 58 | nb_mass = holder + (niobium_array(i)%isotopic_mass* & 59 | & niobium_array(i)%atom_percent)/100 60 | 61 | holder = nb_mass 62 | END DO 63 | 64 | !Calculate weight percent of Niobium 65 | DO i=1, nb_size 66 | niobium_array(i)%weight_percent = (niobium_array(i)%isotopic_mass & 67 | & * niobium_array(i)%atom_percent)/nb_mass 68 | END DO 69 | 70 | !Number of Molybdenum Isotopes 71 | mo_size = 7 72 | 73 | molybdenum_array(1)%z = 42 74 | molybdenum_array(1)%a = 92 75 | molybdenum_array(1)%symbol ="Mo-92 " 76 | molybdenum_array(1)%mass_defect = -86.8085 77 | molybdenum_array(1)%atom_percent = 14.53 78 | molybdenum_array(1)%zaid = "42092.00c" 79 | 80 | molybdenum_array(2)%z = 42 81 | molybdenum_array(2)%a = 94 82 | molybdenum_array(2)%symbol ="Mo-94 " 83 | molybdenum_array(2)%mass_defect = -88.4140 84 | molybdenum_array(2)%atom_percent = 9.15 85 | molybdenum_array(2)%zaid = "42094.00c" 86 | 87 | molybdenum_array(3)%z = 42 88 | molybdenum_array(3)%a = 95 89 | molybdenum_array(3)%symbol ="Mo-95 " 90 | molybdenum_array(3)%mass_defect = -87.7118 91 | molybdenum_array(3)%atom_percent = 15.84 92 | molybdenum_array(3)%zaid = "42095.00c" 93 | 94 | molybdenum_array(4)%z = 42 95 | molybdenum_array(4)%a = 96 96 | molybdenum_array(4)%symbol ="Mo-96 " 97 | molybdenum_array(4)%mass_defect = -88.7948 98 | molybdenum_array(4)%atom_percent = 16.67 99 | molybdenum_array(4)%zaid = "42096.00c" 100 | 101 | molybdenum_array(5)%z = 42 102 | molybdenum_array(5)%a = 97 103 | molybdenum_array(5)%symbol ="Mo-97 " 104 | molybdenum_array(5)%mass_defect = -87.5446 105 | molybdenum_array(5)%atom_percent = 9.60 106 | molybdenum_array(5)%zaid = "42097.00c" 107 | 108 | molybdenum_array(6)%z = 42 109 | molybdenum_array(6)%a = 98 110 | molybdenum_array(6)%symbol ="Mo-98 " 111 | molybdenum_array(6)%mass_defect = -88.1159 112 | molybdenum_array(6)%atom_percent = 24.39 113 | molybdenum_array(6)%zaid = "42098.00c" 114 | 115 | molybdenum_array(7)%z = 42 116 | molybdenum_array(7)%a = 100 117 | molybdenum_array(7)%symbol ="Mo-100" 118 | molybdenum_array(7)%mass_defect = -86.1930 119 | molybdenum_array(7)%atom_percent = 9.82 120 | molybdenum_array(7)%zaid = "42100.00c" 121 | 122 | !Calculate isotopic mass for Molybdenum 123 | DO i=1,mo_size 124 | holder = molybdenum_array(i)%a + (molybdenum_array(i)%mass_defect/MeV_amu) 125 | 126 | molybdenum_array(i)%isotopic_mass = holder 127 | END DO 128 | 129 | !Set mass and holder to zero. 130 | mo_mass = 0.0 131 | holder = 0.0 132 | 133 | !Calculate mass of Molybdenum 134 | DO i=1, mo_size 135 | mo_mass = holder + (molybdenum_array(i)%isotopic_mass* & 136 | & molybdenum_array(i)%atom_percent)/100 137 | 138 | holder = mo_mass 139 | END DO 140 | 141 | !Calculate weight percent of Molybdenum 142 | DO i=1, mo_size 143 | molybdenum_array(i)%weight_percent = (molybdenum_array(i)%isotopic_mass & 144 | & * molybdenum_array(i)%atom_percent)/mo_mass 145 | END DO 146 | 147 | !Number of Ruthenium Isotopes 148 | ru_size = 7 149 | 150 | ruthenium_array(1)%z = 44 151 | ruthenium_array(1)%a = 96 152 | ruthenium_array(1)%symbol ="Ru-96 " 153 | ruthenium_array(1)%mass_defect = -86.0803 154 | ruthenium_array(1)%atom_percent = 5.54 155 | ruthenium_array(1)%zaid = "44096.00c" 156 | 157 | ruthenium_array(2)%z = 44 158 | ruthenium_array(2)%a = 98 159 | ruthenium_array(2)%symbol ="Ru-98 " 160 | ruthenium_array(2)%mass_defect = -88.2248 161 | ruthenium_array(2)%atom_percent = 1.87 162 | ruthenium_array(2)%zaid = "44098.00c" 163 | 164 | ruthenium_array(3)%z = 44 165 | ruthenium_array(3)%a = 99 166 | ruthenium_array(3)%symbol ="Ru-99 " 167 | ruthenium_array(3)%mass_defect = -87.6253 168 | ruthenium_array(3)%atom_percent = 12.76 169 | ruthenium_array(3)%zaid = "44099.00c" 170 | 171 | ruthenium_array(4)%z = 44 172 | ruthenium_array(4)%a = 100 173 | ruthenium_array(4)%symbol ="Ru-100" 174 | ruthenium_array(4)%mass_defect = -89.2273 175 | ruthenium_array(4)%atom_percent = 12.60 176 | ruthenium_array(4)%zaid = "44100.00c" 177 | 178 | ruthenium_array(5)%z = 44 179 | ruthenium_array(5)%a = 101 180 | ruthenium_array(5)%symbol ="Ru-101" 181 | ruthenium_array(5)%mass_defect = -87.9581 182 | ruthenium_array(5)%atom_percent = 17.06 183 | ruthenium_array(5)%zaid = "44101.00c" 184 | 185 | ruthenium_array(6)%z = 44 186 | ruthenium_array(6)%a = 102 187 | ruthenium_array(6)%symbol ="Ru-102" 188 | ruthenium_array(6)%mass_defect = -89.1064 189 | ruthenium_array(6)%atom_percent = 31.55 190 | ruthenium_array(6)%zaid = "44102.00c" 191 | 192 | ruthenium_array(7)%z = 44 193 | ruthenium_array(7)%a = 104 194 | ruthenium_array(7)%symbol ="Ru-104" 195 | ruthenium_array(7)%mass_defect = -88.0957 196 | ruthenium_array(7)%atom_percent = 18.62 197 | ruthenium_array(7)%zaid = "44104.00c" 198 | 199 | !Calculate isotopic mass for Ruthenium 200 | DO i=1,ru_size 201 | holder = ruthenium_array(i)%a + (ruthenium_array(i)%mass_defect/MeV_amu) 202 | 203 | ruthenium_array(i)%isotopic_mass = holder 204 | END DO 205 | 206 | !Set mass and holder to zero. 207 | ru_mass = 0.0 208 | holder = 0.0 209 | 210 | !Calculate mass of Ruthenium 211 | DO i=1, ru_size 212 | ru_mass = holder + (ruthenium_array(i)%isotopic_mass* & 213 | & ruthenium_array(i)%atom_percent)/100 214 | 215 | holder = ru_mass 216 | END DO 217 | 218 | !Calculate weight percent of Ruthenium 219 | DO i=1, ru_size 220 | ruthenium_array(i)%weight_percent = (ruthenium_array(i)%isotopic_mass & 221 | & * ruthenium_array(i)%atom_percent)/ru_mass 222 | END DO 223 | 224 | !Number of Rhodium Isotopes 225 | rh_size = 1 226 | 227 | rhodium_array(1)%z = 45 228 | rhodium_array(1)%a = 103 229 | rhodium_array(1)%symbol ="Rh-103" 230 | rhodium_array(1)%mass_defect = -88.0317 231 | rhodium_array(1)%atom_percent = 100.0 232 | rhodium_array(1)%zaid = "45103.00c" 233 | 234 | !Calculate isotopic mass for Rhodium 235 | DO i=1, rh_size 236 | holder = rhodium_array(i)%a + (rhodium_array(i)%mass_defect/MeV_amu) 237 | 238 | rhodium_array(i)%isotopic_mass = holder 239 | END DO 240 | 241 | !Set mass and holder to zero. 242 | rh_mass = 0.0 243 | holder = 0.0 244 | 245 | !Calculate mass of Rhodium 246 | DO i=1, rh_size 247 | rh_mass = holder + (rhodium_array(i)%isotopic_mass* & 248 | & rhodium_array(i)%atom_percent)/100 249 | 250 | holder = rh_mass 251 | END DO 252 | 253 | !Calculate weight percent of Rhodium 254 | DO i=1, rh_size 255 | rhodium_array(i)%weight_percent = (rhodium_array(i)%isotopic_mass & 256 | & * rhodium_array(i)%atom_percent)/rh_mass 257 | END DO 258 | 259 | END SUBROUTINE Z41_Z45 260 | -------------------------------------------------------------------------------- /source/Z51_Z55.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z51_Z55 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 51-55 (antimony, tellurium, iodine, 12 | !xenon, and cesium) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 26, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 14, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Antimony Isotopes 33 | sb_size = 2 34 | 35 | antimony_array(1)%z = 51 36 | antimony_array(1)%a = 121 37 | antimony_array(1)%symbol ="Sb-121" 38 | antimony_array(1)%mass_defect = -89.6003 39 | antimony_array(1)%atom_percent = 57.21 40 | antimony_array(1)%zaid = "51121.00c" 41 | 42 | antimony_array(2)%z = 51 43 | antimony_array(2)%a = 123 44 | antimony_array(2)%symbol ="Sb-123" 45 | antimony_array(2)%mass_defect = -89.2240 46 | antimony_array(2)%atom_percent = 42.79 47 | antimony_array(2)%zaid = "51123.00c" 48 | 49 | !Calculate isotopic mass for Antimony 50 | DO i=1,sb_size 51 | holder = antimony_array(i)%a + (antimony_array(i)%mass_defect/MeV_amu) 52 | 53 | antimony_array(i)%isotopic_mass = holder 54 | END DO 55 | 56 | !Set mass and holder to zero. 57 | sb_mass = 0.0 58 | holder = 0.0 59 | 60 | !Calculate mass of Antimony 61 | DO i=1, sb_size 62 | sb_mass = holder + (antimony_array(i)%isotopic_mass* & 63 | & antimony_array(i)%atom_percent)/100 64 | 65 | holder = sb_mass 66 | END DO 67 | 68 | !Calculate weight percent of Antimony 69 | DO i=1, sb_size 70 | antimony_array(i)%weight_percent = (antimony_array(i)%isotopic_mass & 71 | & * antimony_array(i)%atom_percent)/sb_mass 72 | END DO 73 | 74 | !Number of Tellurium Isotopes 75 | te_size = 8 76 | 77 | tellurium_array(1)%z = 52 78 | tellurium_array(1)%a = 120 79 | tellurium_array(1)%symbol ="Te-120" 80 | tellurium_array(1)%mass_defect = -89.3679 81 | tellurium_array(1)%atom_percent = 0.09 82 | tellurium_array(1)%zaid = "52120.00c" 83 | 84 | tellurium_array(2)%z = 52 85 | tellurium_array(2)%a = 122 86 | tellurium_array(2)%symbol ="Te-122" 87 | tellurium_array(2)%mass_defect = -90.3144 88 | tellurium_array(2)%atom_percent = 2.55 89 | tellurium_array(2)%zaid = "52122.00c" 90 | 91 | tellurium_array(3)%z = 52 92 | tellurium_array(3)%a = 123 93 | tellurium_array(3)%symbol ="Te-123" 94 | tellurium_array(3)%mass_defect = -89.172 95 | tellurium_array(3)%atom_percent = 0.89 96 | tellurium_array(3)%zaid = "52123.00c" 97 | 98 | tellurium_array(4)%z = 52 99 | tellurium_array(4)%a = 124 100 | tellurium_array(4)%symbol ="Te-124" 101 | tellurium_array(4)%mass_defect = -90.5253 102 | tellurium_array(4)%atom_percent = 4.74 103 | tellurium_array(4)%zaid = "52124.00c" 104 | 105 | tellurium_array(5)%z = 52 106 | tellurium_array(5)%a = 125 107 | tellurium_array(5)%symbol ="Te-125" 108 | tellurium_array(5)%mass_defect = -89.0229 109 | tellurium_array(5)%atom_percent = 7.07 110 | tellurium_array(5)%zaid = "52125.00c" 111 | 112 | tellurium_array(6)%z = 52 113 | tellurium_array(6)%a = 126 114 | tellurium_array(6)%symbol ="Te-126" 115 | tellurium_array(6)%mass_defect = -90.0653 116 | tellurium_array(6)%atom_percent = 18.84 117 | tellurium_array(6)%zaid = "52126.00c" 118 | 119 | tellurium_array(7)%z = 52 120 | tellurium_array(7)%a = 128 121 | tellurium_array(7)%symbol ="Te-128" 122 | tellurium_array(7)%mass_defect = -88.9937 123 | tellurium_array(7)%atom_percent = 31.74 124 | tellurium_array(7)%zaid = "52128.00c" 125 | 126 | tellurium_array(8)%z = 52 127 | tellurium_array(8)%a = 130 128 | tellurium_array(8)%symbol ="Te-130" 129 | tellurium_array(8)%mass_defect = -87.3529 130 | tellurium_array(8)%atom_percent = 34.08 131 | tellurium_array(8)%zaid = "52130.00c" 132 | 133 | !Calculate isotopic mass for Tellurium 134 | DO i=1,te_size 135 | holder = tellurium_array(i)%a + (tellurium_array(i)%mass_defect/MeV_amu) 136 | 137 | tellurium_array(i)%isotopic_mass = holder 138 | END DO 139 | 140 | !Set mass and holder to zero. 141 | te_mass = 0.0 142 | holder = 0.0 143 | 144 | !Calculate mass of Tellurium 145 | DO i=1, te_size 146 | te_mass = holder + (tellurium_array(i)%isotopic_mass* & 147 | & tellurium_array(i)%atom_percent)/100 148 | 149 | holder = te_mass 150 | END DO 151 | 152 | !Calculate weight percent of Tellurium 153 | DO i=1, te_size 154 | tellurium_array(i)%weight_percent = (tellurium_array(i)%isotopic_mass & 155 | & * tellurium_array(i)%atom_percent)/te_mass 156 | END DO 157 | 158 | !Number of Iodine Isotopes 159 | i_size = 1 160 | 161 | iodine_array(1)%z = 53 162 | iodine_array(1)%a = 127 163 | iodine_array(1)%symbol =" I-127" 164 | iodine_array(1)%mass_defect = -88.9839 165 | iodine_array(1)%atom_percent = 100.0 166 | iodine_array(1)%zaid = "53127.00c" 167 | 168 | !Calculate isotopic mass for Iodine 169 | DO i=1, i_size 170 | holder = iodine_array(i)%a + (iodine_array(i)%mass_defect/MeV_amu) 171 | 172 | iodine_array(i)%isotopic_mass = holder 173 | END DO 174 | 175 | !Set mass and holder to zero. 176 | i_mass = 0.0 177 | holder = 0.0 178 | 179 | !Calculate mass of Iodine 180 | DO i=1, i_size 181 | i_mass = holder + (iodine_array(i)%isotopic_mass* & 182 | & iodine_array(i)%atom_percent)/100 183 | 184 | holder = i_mass 185 | END DO 186 | 187 | !Calculate weight percent of Iodine 188 | DO i=1, i_size 189 | iodine_array(i)%weight_percent = (iodine_array(i)%isotopic_mass & 190 | & * iodine_array(i)%atom_percent)/i_mass 191 | END DO 192 | 193 | !Number of Xenon Isotopes 194 | xe_size = 9 195 | 196 | xenon_array(1)%z = 54 197 | xenon_array(1)%a = 124 198 | xenon_array(1)%symbol ="Xe-124" 199 | xenon_array(1)%mass_defect = -87.6614 200 | xenon_array(1)%atom_percent = 0.0952 201 | xenon_array(1)%zaid = "54124.00c" 202 | 203 | xenon_array(2)%z = 54 204 | xenon_array(2)%a = 126 205 | xenon_array(2)%symbol ="Xe-126" 206 | xenon_array(2)%mass_defect = -89.1469 207 | xenon_array(2)%atom_percent = 0.0890 208 | xenon_array(2)%zaid = "54126.00c" 209 | 210 | xenon_array(3)%z = 54 211 | xenon_array(3)%a = 128 212 | xenon_array(3)%symbol ="Xe-128" 213 | xenon_array(3)%mass_defect = -89.8602 214 | xenon_array(3)%atom_percent = 1.9102 215 | xenon_array(3)%zaid = "54128.00c" 216 | 217 | xenon_array(4)%z = 54 218 | xenon_array(4)%a = 129 219 | xenon_array(4)%symbol ="Xe-129" 220 | xenon_array(4)%mass_defect = -88.6960 221 | xenon_array(4)%atom_percent = 26.4006 222 | xenon_array(4)%zaid = "54129.00c" 223 | 224 | xenon_array(5)%z = 54 225 | xenon_array(5)%a = 130 226 | xenon_array(5)%symbol ="Xe-130" 227 | xenon_array(5)%mass_defect = -89.8804 228 | xenon_array(5)%atom_percent = 4.0710 229 | xenon_array(5)%zaid = "54130.00c" 230 | 231 | xenon_array(6)%z = 54 232 | xenon_array(6)%a = 131 233 | xenon_array(6)%symbol ="Xe-131" 234 | xenon_array(6)%mass_defect = -88.4135 235 | xenon_array(6)%atom_percent = 21.232 236 | xenon_array(6)%zaid = "54131.00c" 237 | 238 | xenon_array(7)%z = 54 239 | xenon_array(7)%a = 132 240 | xenon_array(7)%symbol ="Xe-132" 241 | xenon_array(7)%mass_defect = -89.2789 242 | xenon_array(7)%atom_percent = 26.9086 243 | xenon_array(7)%zaid = "54132.00c" 244 | 245 | xenon_array(8)%z = 54 246 | xenon_array(8)%a = 134 247 | xenon_array(8)%symbol ="Xe-134" 248 | xenon_array(8)%mass_defect = -88.1258 249 | xenon_array(8)%atom_percent = 10.4357 250 | xenon_array(8)%zaid = "54134.00c" 251 | 252 | xenon_array(9)%z = 54 253 | xenon_array(9)%a = 136 254 | xenon_array(9)%symbol ="Xe-136" 255 | xenon_array(9)%mass_defect = -86.4291 256 | xenon_array(9)%atom_percent = 8.8573 257 | xenon_array(9)%zaid = "54136.00c" 258 | 259 | !Calculate isotopic mass for Xenon 260 | DO i=1,xe_size 261 | holder = xenon_array(i)%a + (xenon_array(i)%mass_defect/MeV_amu) 262 | 263 | xenon_array(i)%isotopic_mass = holder 264 | END DO 265 | 266 | !Set mass and holder to zero. 267 | xe_mass = 0.0 268 | holder = 0.0 269 | 270 | !Calculate mass of Xenon 271 | DO i=1, xe_size 272 | xe_mass = holder + (xenon_array(i)%isotopic_mass* & 273 | & xenon_array(i)%atom_percent)/100 274 | 275 | holder = xe_mass 276 | END DO 277 | 278 | !Calculate weight percent of Xenon 279 | DO i=1, xe_size 280 | xenon_array(i)%weight_percent = (xenon_array(i)%isotopic_mass & 281 | & * xenon_array(i)%atom_percent)/xe_mass 282 | END DO 283 | 284 | !Number of Cesium Isotopes 285 | cs_size = 1 286 | 287 | cesium_array(1)%z = 55 288 | cesium_array(1)%a = 133 289 | cesium_array(1)%symbol ="Ce-133" 290 | cesium_array(1)%mass_defect = -88.0709 291 | cesium_array(1)%atom_percent = 100.0 292 | cesium_array(1)%zaid = "55133.00c" 293 | 294 | !Calculate isotopic mass for Cesium 295 | DO i=1, cs_size 296 | holder = cesium_array(i)%a + (cesium_array(i)%mass_defect/MeV_amu) 297 | 298 | cesium_array(i)%isotopic_mass = holder 299 | END DO 300 | 301 | !Set mass and holder to zero. 302 | cs_mass = 0.0 303 | holder = 0.0 304 | 305 | !Calculate mass of Cesium 306 | DO i=1, cs_size 307 | cs_mass = holder + (cesium_array(i)%isotopic_mass* & 308 | & cesium_array(i)%atom_percent)/100 309 | 310 | holder = cs_mass 311 | END DO 312 | 313 | !Calculate weight percent of Cesium 314 | DO i=1, cs_size 315 | cesium_array(i)%weight_percent = (cesium_array(i)%isotopic_mass & 316 | & * cesium_array(i)%atom_percent)/cs_mass 317 | END DO 318 | 319 | END SUBROUTINE Z51_Z55 320 | -------------------------------------------------------------------------------- /source/Z56_Z60.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z56_Z60 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 56-60 (barium, lanthanum, cerium, 12 | !praseodymium, and neodymium) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 26, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 15, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Barium Isotopes 33 | ba_size = 7 34 | 35 | barium_array(1)%z = 56 36 | barium_array(1)%a = 130 37 | barium_array(1)%symbol ="Ba-130" 38 | barium_array(1)%mass_defect = -87.2615 39 | barium_array(1)%atom_percent = 0.106 40 | barium_array(1)%zaid = "56130.00c" 41 | 42 | barium_array(2)%z = 56 43 | barium_array(2)%a = 132 44 | barium_array(2)%symbol ="Ba-132" 45 | barium_array(2)%mass_defect = -88.4350 46 | barium_array(2)%atom_percent = 0.101 47 | barium_array(2)%zaid = "56132.00c" 48 | 49 | barium_array(3)%z = 56 50 | barium_array(3)%a = 134 51 | barium_array(3)%symbol ="Ba-134" 52 | barium_array(3)%mass_defect = -88.9498 53 | barium_array(3)%atom_percent = 2.417 54 | barium_array(3)%zaid = "56134.00c" 55 | 56 | barium_array(4)%z = 56 57 | barium_array(4)%a = 135 58 | barium_array(4)%symbol ="Ba-135" 59 | barium_array(4)%mass_defect = -87.8504 60 | barium_array(4)%atom_percent = 6.592 61 | barium_array(4)%zaid = "56135.00c" 62 | 63 | barium_array(5)%z = 56 64 | barium_array(5)%a = 136 65 | barium_array(5)%symbol ="Ba-136" 66 | barium_array(5)%mass_defect = -88.8869 67 | barium_array(5)%atom_percent = 7.854 68 | barium_array(5)%zaid = "56136.00c" 69 | 70 | barium_array(6)%z = 56 71 | barium_array(6)%a = 137 72 | barium_array(6)%symbol ="Ba-137" 73 | barium_array(6)%mass_defect = -87.7212 74 | barium_array(6)%atom_percent = 11.232 75 | barium_array(6)%zaid = "56137.00c" 76 | 77 | barium_array(7)%z = 56 78 | barium_array(7)%a = 138 79 | barium_array(7)%symbol ="Ba-138" 80 | barium_array(7)%mass_defect = -88.2616 81 | barium_array(7)%atom_percent = 71.698 82 | barium_array(7)%zaid = "56138.00c" 83 | 84 | !Calculate isotopic mass for Barium 85 | DO i=1,ba_size 86 | holder = barium_array(i)%a + (barium_array(i)%mass_defect/MeV_amu) 87 | 88 | barium_array(i)%isotopic_mass = holder 89 | END DO 90 | 91 | !Set mass and holder to zero. 92 | ba_mass = 0.0 93 | holder = 0.0 94 | 95 | !Calculate mass of Barium 96 | DO i=1, ba_size 97 | ba_mass = holder + (barium_array(i)%isotopic_mass* & 98 | & barium_array(i)%atom_percent)/100 99 | 100 | holder = ba_mass 101 | END DO 102 | 103 | !Calculate weight percent of Barium 104 | DO i=1, ba_size 105 | barium_array(i)%weight_percent = (barium_array(i)%isotopic_mass & 106 | & * barium_array(i)%atom_percent)/ba_mass 107 | END DO 108 | 109 | !Number of Lanthanum Isotopes 110 | la_size = 2 111 | 112 | lanthanum_array(1)%z = 57 113 | lanthanum_array(1)%a = 138 114 | lanthanum_array(1)%symbol ="La-138" 115 | lanthanum_array(1)%mass_defect = -86.5191 116 | lanthanum_array(1)%atom_percent = 0.08881 117 | lanthanum_array(1)%zaid = "57138.00c" 118 | 119 | lanthanum_array(2)%z = 57 120 | lanthanum_array(2)%a = 139 121 | lanthanum_array(2)%symbol ="La-139" 122 | lanthanum_array(2)%mass_defect = -87.2262 123 | lanthanum_array(2)%atom_percent = 99.9119 124 | lanthanum_array(2)%zaid = "57139.00c" 125 | 126 | !Calculate isotopic mass for Lanthanum 127 | DO i=1,la_size 128 | holder = lanthanum_array(i)%a + (lanthanum_array(i)%mass_defect/MeV_amu) 129 | 130 | lanthanum_array(i)%isotopic_mass = holder 131 | END DO 132 | 133 | !Set mass and holder to zero. 134 | la_mass = 0.0 135 | holder = 0.0 136 | 137 | !Calculate mass of Lanthanum 138 | DO i=1, la_size 139 | la_mass = holder + (lanthanum_array(i)%isotopic_mass* & 140 | & lanthanum_array(i)%atom_percent)/100 141 | 142 | holder = la_mass 143 | END DO 144 | 145 | !Calculate weight percent of Lanthanum 146 | DO i=1, la_size 147 | lanthanum_array(i)%weight_percent = (lanthanum_array(i)%isotopic_mass & 148 | & * lanthanum_array(i)%atom_percent)/la_mass 149 | END DO 150 | 151 | !Number of Cerium Isotopes 152 | ce_size = 4 153 | 154 | cerium_array(1)%z = 58 155 | cerium_array(1)%a = 136 156 | cerium_array(1)%symbol ="Ce-136" 157 | cerium_array(1)%mass_defect = -86.5083 158 | cerium_array(1)%atom_percent = 0.185 159 | cerium_array(1)%zaid = "58136.00c" 160 | 161 | cerium_array(2)%z = 58 162 | cerium_array(2)%a = 138 163 | cerium_array(2)%symbol ="Ce-138" 164 | cerium_array(2)%mass_defect = -87.5709 165 | cerium_array(2)%atom_percent = 0.251 166 | cerium_array(2)%zaid = "58138.00c" 167 | 168 | cerium_array(3)%z = 58 169 | cerium_array(3)%a = 140 170 | cerium_array(3)%symbol ="Ce-140" 171 | cerium_array(3)%mass_defect = -88.0760 172 | cerium_array(3)%atom_percent = 88.450 173 | cerium_array(3)%zaid = "58140.00c" 174 | 175 | cerium_array(4)%z = 58 176 | cerium_array(4)%a = 142 177 | cerium_array(4)%symbol ="Ce-142" 178 | cerium_array(4)%mass_defect = -84.5331 179 | cerium_array(4)%atom_percent = 11.114 180 | cerium_array(4)%zaid = "58142.00c" 181 | 182 | !Calculate isotopic mass for Cerium 183 | DO i=1,ce_size 184 | holder = cerium_array(i)%a + (cerium_array(i)%mass_defect/MeV_amu) 185 | 186 | cerium_array(i)%isotopic_mass = holder 187 | END DO 188 | 189 | !Set mass and holder to zero. 190 | ce_mass = 0.0 191 | holder = 0.0 192 | 193 | !Calculate mass of Cerium 194 | DO i=1, ce_size 195 | ce_mass = holder + (cerium_array(i)%isotopic_mass* & 196 | & cerium_array(i)%atom_percent)/100 197 | 198 | holder = ce_mass 199 | END DO 200 | 201 | !Calculate weight percent of Cerium 202 | DO i=1, ce_size 203 | cerium_array(i)%weight_percent = (cerium_array(i)%isotopic_mass & 204 | & * cerium_array(i)%atom_percent)/ce_mass 205 | END DO 206 | 207 | !Number of Praseodymium Isotopes 208 | pr_size = 1 209 | 210 | praseodymium_array(1)%z = 59 211 | praseodymium_array(1)%a = 141 212 | praseodymium_array(1)%symbol ="Pr-141" 213 | praseodymium_array(1)%mass_defect = -86.0156 214 | praseodymium_array(1)%atom_percent = 100.0 215 | praseodymium_array(1)%zaid = "59141.00c" 216 | 217 | !Calculate isotopic mass for Praseodymium 218 | DO i=1, pr_size 219 | holder = praseodymium_array(i)%a + (praseodymium_array(i)%mass_defect/MeV_amu) 220 | 221 | praseodymium_array(i)%isotopic_mass = holder 222 | END DO 223 | 224 | !Set mass and holder to zero. 225 | pr_mass = 0.0 226 | holder = 0.0 227 | 228 | !Calculate mass of Praseodymium 229 | DO i=1, pr_size 230 | pr_mass = holder + (praseodymium_array(i)%isotopic_mass* & 231 | & praseodymium_array(i)%atom_percent)/100 232 | 233 | holder = pr_mass 234 | END DO 235 | 236 | !Calculate weight percent of Praseodymium 237 | DO i=1, pr_size 238 | praseodymium_array(i)%weight_percent = (praseodymium_array(i)%isotopic_mass & 239 | & * praseodymium_array(i)%atom_percent)/pr_mass 240 | END DO 241 | 242 | !Number of Neodymium Isotopes 243 | nd_size = 7 244 | 245 | neodymium_array(1)%z = 60 246 | neodymium_array(1)%a = 142 247 | neodymium_array(1)%symbol ="Nd-142" 248 | neodymium_array(1)%mass_defect = -85.9499 249 | neodymium_array(1)%atom_percent = 27.152 250 | neodymium_array(1)%zaid = "60142.00c" 251 | 252 | neodymium_array(2)%z = 60 253 | neodymium_array(2)%a = 143 254 | neodymium_array(2)%symbol ="Nd-143" 255 | neodymium_array(2)%mass_defect = -84.0022 256 | neodymium_array(2)%atom_percent = 12.174 257 | neodymium_array(2)%zaid = "60143.00c" 258 | 259 | neodymium_array(3)%z = 60 260 | neodymium_array(3)%a = 144 261 | neodymium_array(3)%symbol ="Nd-144" 262 | neodymium_array(3)%mass_defect = -83.7479 263 | neodymium_array(3)%atom_percent = 23.798 264 | neodymium_array(3)%zaid = "60144.00c" 265 | 266 | neodymium_array(4)%z = 60 267 | neodymium_array(4)%a = 145 268 | neodymium_array(4)%symbol ="Nd-145" 269 | neodymium_array(4)%mass_defect = -81.4319 270 | neodymium_array(4)%atom_percent = 8.293 271 | neodymium_array(4)%zaid = "60145.00c" 272 | 273 | neodymium_array(5)%z = 60 274 | neodymium_array(5)%a = 146 275 | neodymium_array(5)%symbol ="Nd-146" 276 | neodymium_array(5)%mass_defect = -80.9258 277 | neodymium_array(5)%atom_percent = 17.189 278 | neodymium_array(5)%zaid = "60146.00c" 279 | 280 | neodymium_array(6)%z = 60 281 | neodymium_array(6)%a = 148 282 | neodymium_array(6)%symbol ="Nd-148" 283 | neodymium_array(6)%mass_defect = -77.4079 284 | neodymium_array(6)%atom_percent = 5.756 285 | neodymium_array(6)%zaid = "60148.00c" 286 | 287 | neodymium_array(7)%z = 60 288 | neodymium_array(7)%a = 150 289 | neodymium_array(7)%symbol ="Nd-150" 290 | neodymium_array(7)%mass_defect = -73.6797 291 | neodymium_array(7)%atom_percent = 5.638 292 | neodymium_array(7)%zaid = "60150.00c" 293 | 294 | !Calculate isotopic mass for Neodymium 295 | DO i=1,nd_size 296 | holder = neodymium_array(i)%a + (neodymium_array(i)%mass_defect/MeV_amu) 297 | 298 | neodymium_array(i)%isotopic_mass = holder 299 | END DO 300 | 301 | !Set mass and holder to zero. 302 | nd_mass = 0.0 303 | holder = 0.0 304 | 305 | !Calculate mass of Neodymium 306 | DO i=1, nd_size 307 | nd_mass = holder + (neodymium_array(i)%isotopic_mass* & 308 | & neodymium_array(i)%atom_percent)/100 309 | 310 | holder = nd_mass 311 | END DO 312 | 313 | !Calculate weight percent of Neodymium 314 | DO i=1, nd_size 315 | neodymium_array(i)%weight_percent = (neodymium_array(i)%isotopic_mass & 316 | & * neodymium_array(i)%atom_percent)/nd_mass 317 | END DO 318 | 319 | END SUBROUTINE Z56_Z60 320 | -------------------------------------------------------------------------------- /source/Z61_Z65.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z61_Z65 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 61-65 (promethium, samarium, europium, 12 | !gadolinium, and terbium) and their naturally occuring isotopes. Promethium 13 | !does not occur naturally in nature so it has been left out. 14 | !Created with the Current Nuclear Wallet Cards (2004) 15 | !on June 2, 2004 by Karen Kajder. 16 | ! 17 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 18 | !sections by K. Russell DePriest on December 15, 2011. 19 | ! 20 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 21 | ! on 05/09/2014 by K. Russell DePriest. 22 | ! 23 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 24 | ! on 07/22/2020 by K. Russell DePriest. 25 | ! 26 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 27 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 28 | 29 | !Local variables 30 | REAL::holder, mass_of_element 31 | INTEGER:: i 32 | 33 | !Number of Samarium Isotopes 34 | sm_size = 7 35 | 36 | samarium_array(1)%z = 62 37 | samarium_array(1)%a = 144 38 | samarium_array(1)%symbol ="Sm-144" 39 | samarium_array(1)%mass_defect = -81.9655 40 | samarium_array(1)%atom_percent = 3.07 41 | samarium_array(1)%zaid = "62144.00c" 42 | 43 | samarium_array(2)%z = 62 44 | samarium_array(2)%a = 147 45 | samarium_array(2)%symbol ="Sm-147" 46 | samarium_array(2)%mass_defect = -79.2663 47 | samarium_array(2)%atom_percent = 14.99 48 | samarium_array(2)%zaid = "62147.00c" 49 | 50 | samarium_array(3)%z = 62 51 | samarium_array(3)%a = 148 52 | samarium_array(3)%symbol ="Sm-148" 53 | samarium_array(3)%mass_defect = -79.3362 54 | samarium_array(3)%atom_percent = 11.24 55 | samarium_array(3)%zaid = "62148.00c" 56 | 57 | samarium_array(4)%z = 62 58 | samarium_array(4)%a = 149 59 | samarium_array(4)%symbol ="Sm-149" 60 | samarium_array(4)%mass_defect = -77.1357 61 | samarium_array(4)%atom_percent = 13.82 62 | samarium_array(4)%zaid = "62149.00c" 63 | 64 | samarium_array(5)%z = 62 65 | samarium_array(5)%a = 150 66 | samarium_array(5)%symbol ="Sm-150" 67 | samarium_array(5)%mass_defect = -77.0511 68 | samarium_array(5)%atom_percent = 7.38 69 | samarium_array(5)%zaid = "62150.00c" 70 | 71 | samarium_array(6)%z = 62 72 | samarium_array(6)%a = 152 73 | samarium_array(6)%symbol ="Sm-152" 74 | samarium_array(6)%mass_defect = -74.7626 75 | samarium_array(6)%atom_percent = 26.75 76 | samarium_array(6)%zaid = "62152.00c" 77 | 78 | samarium_array(7)%z = 62 79 | samarium_array(7)%a = 154 80 | samarium_array(7)%symbol ="Sm-154" 81 | samarium_array(7)%mass_defect = -72.4551 82 | samarium_array(7)%atom_percent = 22.75 83 | samarium_array(7)%zaid = "62154.00c" 84 | 85 | !Calculate isotopic mass for Samarium 86 | DO i=1,sm_size 87 | holder = samarium_array(i)%a + (samarium_array(i)%mass_defect/MeV_amu) 88 | 89 | samarium_array(i)%isotopic_mass = holder 90 | END DO 91 | 92 | !Set mass and holder to zero. 93 | sm_mass = 0.0 94 | holder = 0.0 95 | 96 | !Calculate mass of Samarium 97 | DO i=1, sm_size 98 | sm_mass = holder + (samarium_array(i)%isotopic_mass* & 99 | & samarium_array(i)%atom_percent)/100 100 | 101 | holder = sm_mass 102 | END DO 103 | 104 | !Calculate weight percent of Samarium 105 | DO i=1, sm_size 106 | samarium_array(i)%weight_percent = (samarium_array(i)%isotopic_mass & 107 | & * samarium_array(i)%atom_percent)/sm_mass 108 | END DO 109 | 110 | !Number of Europium Isotopes 111 | eu_size = 2 112 | 113 | europium_array(1)%z = 63 114 | europium_array(1)%a = 151 115 | europium_array(1)%symbol ="Eu-151" 116 | europium_array(1)%mass_defect = -74.6528 117 | europium_array(1)%atom_percent = 47.81 118 | europium_array(1)%zaid = "63151.00c" 119 | 120 | europium_array(2)%z = 63 121 | europium_array(2)%a = 153 122 | europium_array(2)%symbol ="Eu-153" 123 | europium_array(2)%mass_defect = -73.3672 124 | europium_array(2)%atom_percent = 52.19 125 | europium_array(2)%zaid = "63153.00c" 126 | 127 | !Calculate isotopic mass for Europium 128 | DO i=1,eu_size 129 | holder = europium_array(i)%a + (europium_array(i)%mass_defect/MeV_amu) 130 | 131 | europium_array(i)%isotopic_mass = holder 132 | END DO 133 | 134 | !Set mass and holder to zero. 135 | eu_mass = 0.0 136 | holder = 0.0 137 | 138 | !Calculate mass of Europium 139 | DO i=1, eu_size 140 | eu_mass = holder + (europium_array(i)%isotopic_mass* & 141 | & europium_array(i)%atom_percent)/100 142 | 143 | holder = eu_mass 144 | END DO 145 | 146 | !Calculate weight percent of Europium 147 | DO i=1, eu_size 148 | europium_array(i)%weight_percent = (europium_array(i)%isotopic_mass & 149 | & * europium_array(i)%atom_percent)/eu_mass 150 | END DO 151 | 152 | !Number of Gadolinium Isotopes 153 | gd_size = 7 154 | 155 | gadolinium_array(1)%z = 64 156 | gadolinium_array(1)%a = 152 157 | gadolinium_array(1)%symbol ="Gd-152" 158 | gadolinium_array(1)%mass_defect = -74.7069 159 | gadolinium_array(1)%atom_percent = 0.20 160 | gadolinium_array(1)%zaid = "64152.00c" 161 | 162 | gadolinium_array(2)%z = 64 163 | gadolinium_array(2)%a = 154 164 | gadolinium_array(2)%symbol ="Gd-154" 165 | gadolinium_array(2)%mass_defect = -73.7059 166 | gadolinium_array(2)%atom_percent = 2.18 167 | gadolinium_array(2)%zaid = "64154.00c" 168 | 169 | gadolinium_array(3)%z = 64 170 | gadolinium_array(3)%a = 155 171 | gadolinium_array(3)%symbol ="Gd-155" 172 | gadolinium_array(3)%mass_defect = -72.0698 173 | gadolinium_array(3)%atom_percent = 14.80 174 | gadolinium_array(3)%zaid = "64155.00c" 175 | 176 | gadolinium_array(4)%z = 64 177 | gadolinium_array(4)%a = 156 178 | gadolinium_array(4)%symbol ="Gd-156" 179 | gadolinium_array(4)%mass_defect = -72.5349 180 | gadolinium_array(4)%atom_percent = 20.47 181 | gadolinium_array(4)%zaid = "64156.00c" 182 | 183 | gadolinium_array(5)%z = 64 184 | gadolinium_array(5)%a = 157 185 | gadolinium_array(5)%symbol ="Gd-157" 186 | gadolinium_array(5)%mass_defect = -70.8234 187 | gadolinium_array(5)%atom_percent = 15.65 188 | gadolinium_array(5)%zaid = "64157.00c" 189 | 190 | gadolinium_array(6)%z = 64 191 | gadolinium_array(6)%a = 158 192 | gadolinium_array(6)%symbol ="Gd-158" 193 | gadolinium_array(6)%mass_defect = -70.6895 194 | gadolinium_array(6)%atom_percent = 24.84 195 | gadolinium_array(6)%zaid = "64158.00c" 196 | 197 | gadolinium_array(7)%z = 64 198 | gadolinium_array(7)%a = 160 199 | gadolinium_array(7)%symbol ="Gd-160" 200 | gadolinium_array(7)%mass_defect = -67.9417 201 | gadolinium_array(7)%atom_percent = 21.86 202 | gadolinium_array(7)%zaid = "64160.00c" 203 | 204 | !Calculate isotopic mass for Gadolinium 205 | DO i=1,gd_size 206 | holder = gadolinium_array(i)%a + (gadolinium_array(i)%mass_defect/MeV_amu) 207 | 208 | gadolinium_array(i)%isotopic_mass = holder 209 | END DO 210 | 211 | !Set mass and holder to zero. 212 | gd_mass = 0.0 213 | holder = 0.0 214 | 215 | !Calculate mass of Gadolinium 216 | DO i=1, gd_size 217 | gd_mass = holder + (gadolinium_array(i)%isotopic_mass* & 218 | & gadolinium_array(i)%atom_percent)/100 219 | 220 | holder = gd_mass 221 | END DO 222 | 223 | !Calculate weight percent of Gadolinium 224 | DO i=1, gd_size 225 | gadolinium_array(i)%weight_percent = (gadolinium_array(i)%isotopic_mass & 226 | & * gadolinium_array(i)%atom_percent)/gd_mass 227 | END DO 228 | 229 | !Number of Terbium Isotopes 230 | tb_size = 1 231 | 232 | terbium_array(1)%z = 65 233 | terbium_array(1)%a = 159 234 | terbium_array(1)%symbol ="Tb-159" 235 | terbium_array(1)%mass_defect = -69.5323 236 | terbium_array(1)%atom_percent = 100.0 237 | terbium_array(1)%zaid = "65159.00c" 238 | 239 | !Calculate isotopic mass for Terbium 240 | DO i=1, tb_size 241 | holder = terbium_array(i)%a + (terbium_array(i)%mass_defect/MeV_amu) 242 | 243 | terbium_array(i)%isotopic_mass = holder 244 | END DO 245 | 246 | !Set mass and holder to zero. 247 | tb_mass = 0.0 248 | holder = 0.0 249 | 250 | !Calculate mass of Terbium 251 | DO i=1, tb_size 252 | tb_mass = holder + (terbium_array(i)%isotopic_mass* & 253 | & terbium_array(i)%atom_percent)/100 254 | 255 | holder = tb_mass 256 | END DO 257 | 258 | !Calculate weight percent of Terbium 259 | DO i=1, tb_size 260 | terbium_array(i)%weight_percent = (terbium_array(i)%isotopic_mass & 261 | & * terbium_array(i)%atom_percent)/tb_mass 262 | END DO 263 | 264 | END SUBROUTINE Z61_Z65 265 | -------------------------------------------------------------------------------- /source/Z6_Z10.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z6_Z10 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 6-10 (carbon,nitrogen,oxygen,fluorine,and 12 | !neon) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on May 25, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 6, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! - Changes include new evaluations for isotopic Carbon and Neon 25 | ! - O-18 now has its own evaluation so it is not given the zaid for O-16 26 | ! 27 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 28 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 29 | 30 | ! Local variables 31 | REAL::holder, mass_of_element 32 | INTEGER:: i 33 | 34 | !Number of Carbon Isotopes 35 | c_size = 2 36 | 37 | carbon_array(1)%z = 6 38 | carbon_array(1)%a = 12 39 | carbon_array(1)%symbol =" C-12 " 40 | carbon_array(1)%mass_defect = 0.0000 41 | carbon_array(1)%atom_percent = 98.93 42 | carbon_array(1)%zaid = "06012.00c" 43 | 44 | carbon_array(2)%z = 6 45 | carbon_array(2)%a = 13 46 | carbon_array(2)%symbol =" C-13 " 47 | carbon_array(2)%mass_defect = 3.1250 48 | carbon_array(2)%atom_percent = 1.07 49 | carbon_array(2)%zaid = "06013.00c" 50 | 51 | !Calculate isotopic mass for Carbon 52 | DO i=1, c_size 53 | holder = carbon_array(i)%a + (carbon_array(i)%mass_defect/MeV_amu) 54 | 55 | carbon_array(i)%isotopic_mass = holder 56 | END DO 57 | 58 | !Set mass and holder to zero. 59 | c_mass = 0.0 60 | holder = 0.0 61 | 62 | !Calculate mass of Carbon 63 | DO i=1, c_size 64 | c_mass = holder + (carbon_array(i)%isotopic_mass*carbon_array(i)%atom_percent)/100 65 | 66 | holder = c_mass 67 | END DO 68 | 69 | !Calculate weight percent of Carbon 70 | DO i=1, c_size 71 | carbon_array(i)%weight_percent = (carbon_array(i)%isotopic_mass & 72 | & * carbon_array(i)%atom_percent)/c_mass 73 | END DO 74 | 75 | !Number of Nitrogen Isotopes 76 | n_size = 2 77 | 78 | nitrogen_array(1)%z = 7 79 | nitrogen_array(1)%a = 14 80 | nitrogen_array(1)%symbol =" N-14 " 81 | nitrogen_array(1)%mass_defect = 2.8634 82 | nitrogen_array(1)%atom_percent = 99.636 83 | nitrogen_array(1)%zaid = "07014.00c" 84 | 85 | nitrogen_array(2)%z = 7 86 | nitrogen_array(2)%a = 15 87 | nitrogen_array(2)%symbol =" N-15 " 88 | nitrogen_array(2)%mass_defect = 0.1014 89 | nitrogen_array(2)%atom_percent = 0.364 90 | nitrogen_array(2)%zaid = "07015.00c" 91 | 92 | !Calculate isotopic mass for Nitrogen 93 | DO i=1, n_size 94 | holder = nitrogen_array(i)%a + (nitrogen_array(i)%mass_defect/MeV_amu) 95 | 96 | nitrogen_array(i)%isotopic_mass = holder 97 | END DO 98 | 99 | !Set mass and holder to zero. 100 | n_mass = 0.0 101 | holder = 0.0 102 | 103 | !Calculate mass of Nitrogen 104 | DO i=1, n_size 105 | n_mass = holder + (nitrogen_array(i)%isotopic_mass*nitrogen_array(i)%atom_percent)/100 106 | 107 | holder = n_mass 108 | END DO 109 | 110 | !Calculate weight percent of Nitrogen 111 | DO i=1, n_size 112 | nitrogen_array(i)%weight_percent = (nitrogen_array(i)%isotopic_mass & 113 | & * nitrogen_array(i)%atom_percent)/n_mass 114 | END DO 115 | 116 | !Number of Oxygen Isotopes 117 | o_size = 3 118 | 119 | oxygen_array(1)%z = 8 120 | oxygen_array(1)%a = 16 121 | oxygen_array(1)%symbol =" O-16 " 122 | oxygen_array(1)%mass_defect = -4.7370 123 | oxygen_array(1)%atom_percent = 99.757 124 | oxygen_array(1)%zaid = "08016.00c" 125 | 126 | oxygen_array(2)%z = 8 127 | oxygen_array(2)%a = 17 128 | oxygen_array(2)%symbol =" O-17 " 129 | oxygen_array(2)%mass_defect = -0.8087 130 | oxygen_array(2)%atom_percent = 0.038 131 | oxygen_array(2)%zaid = "08017.00c" 132 | 133 | oxygen_array(3)%z = 8 134 | oxygen_array(3)%a = 18 135 | oxygen_array(3)%symbol =" O-18 " 136 | oxygen_array(3)%mass_defect = -0.7828 137 | oxygen_array(3)%atom_percent = 0.205 138 | oxygen_array(3)%zaid = "08018.00c" 139 | 140 | !Calculate isotopic mass for Oxygen 141 | DO i=1, o_size 142 | holder = oxygen_array(i)%a + (oxygen_array(i)%mass_defect/MeV_amu) 143 | 144 | oxygen_array(i)%isotopic_mass = holder 145 | END DO 146 | 147 | !Set mass and holder to zero. 148 | o_mass = 0.0 149 | holder = 0.0 150 | 151 | !Calculate mass of Oxygen 152 | DO i=1, o_size 153 | o_mass = holder + (oxygen_array(i)%isotopic_mass*oxygen_array(i)%atom_percent)/100 154 | 155 | holder = o_mass 156 | END DO 157 | 158 | !Calculate weight percent of Oxygen 159 | DO i=1, o_size 160 | oxygen_array(i)%weight_percent = (oxygen_array(i)%isotopic_mass & 161 | & * oxygen_array(i)%atom_percent)/o_mass 162 | END DO 163 | 164 | !Number of Fluorine Isotopes 165 | f_size = 1 166 | 167 | fluorine_array(1)%z = 9 168 | fluorine_array(1)%a = 19 169 | fluorine_array(1)%symbol =" F-19 " 170 | fluorine_array(1)%mass_defect = -1.4874 171 | fluorine_array(1)%atom_percent = 100.0 172 | fluorine_array(1)%zaid = "09019.00c" 173 | 174 | !Calculate isotopic mass for Fluorine 175 | DO i=1, f_size 176 | holder = fluorine_array(i)%a + (fluorine_array(i)%mass_defect/MeV_amu) 177 | 178 | fluorine_array(i)%isotopic_mass = holder 179 | END DO 180 | 181 | !Set mass and holder to zero. 182 | f_mass = 0.0 183 | holder = 0.0 184 | 185 | !Calculate mass of Fluorine 186 | DO i=1, f_size 187 | f_mass = holder + (fluorine_array(i)%isotopic_mass* & 188 | & fluorine_array(i)%atom_percent)/100 189 | 190 | holder = f_mass 191 | END DO 192 | 193 | !Calculate weight percent of Fluorine 194 | DO i=1, f_size 195 | fluorine_array(i)%weight_percent = (fluorine_array(i)%isotopic_mass & 196 | & * fluorine_array(i)%atom_percent)/f_mass 197 | END DO 198 | 199 | !Number of Neon Isotopes 200 | ne_size = 3 201 | 202 | neon_array(1)%z = 10 203 | neon_array(1)%a = 20 204 | neon_array(1)%symbol ="Ne-20 " 205 | neon_array(1)%mass_defect = -7.0419 206 | neon_array(1)%atom_percent = 90.48 207 | neon_array(1)%zaid = "10020.00c" 208 | 209 | neon_array(2)%z = 10 210 | neon_array(2)%a = 21 211 | neon_array(2)%symbol ="Ne-21 " 212 | neon_array(2)%mass_defect = -5.7317 213 | neon_array(2)%atom_percent = 0.27 214 | neon_array(2)%zaid = "10021.00c" 215 | 216 | neon_array(3)%z = 10 217 | neon_array(3)%a = 22 218 | neon_array(3)%symbol ="Ne-22 " 219 | neon_array(3)%mass_defect = -8.0247 220 | neon_array(3)%atom_percent = 9.25 221 | neon_array(3)%zaid = "10022.00c" 222 | 223 | !Calculate isotopic mass for Neon 224 | DO i=1, ne_size 225 | holder = neon_array(i)%a + (neon_array(i)%mass_defect/MeV_amu) 226 | 227 | neon_array(i)%isotopic_mass = holder 228 | END DO 229 | 230 | !Set mass and holder to zero. 231 | ne_mass = 0.0 232 | holder = 0.0 233 | 234 | !Calculate mass of Neon 235 | DO i=1, ne_size 236 | ne_mass = holder + (neon_array(i)%isotopic_mass*neon_array(i)%atom_percent)/100 237 | 238 | holder = ne_mass 239 | END DO 240 | 241 | !Calculate weight percent of Neon 242 | DO i=1, ne_size 243 | neon_array(i)%weight_percent = (neon_array(i)%isotopic_mass & 244 | & * neon_array(i)%atom_percent)/ne_mass 245 | 246 | END DO 247 | 248 | END SUBROUTINE Z6_Z10 249 | -------------------------------------------------------------------------------- /source/Z71_Z75.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z71_Z75 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 71-75 (lutetium, hafnium, tantalum, 12 | !tungsten, and rhenium) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on June 2, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 15, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! - Ta-180 "fixed" 22 | ! - W-180 "fixed" 23 | ! 24 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 25 | ! on 07/22/2020 by K. Russell DePriest. 26 | ! 27 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 28 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 29 | 30 | !Local variables 31 | REAL::holder, mass_of_element 32 | INTEGER:: i 33 | 34 | !Number of Lutetium Isotopes 35 | lu_size = 2 36 | 37 | lutetium_array(1)%z = 71 38 | lutetium_array(1)%a = 175 39 | lutetium_array(1)%symbol ="Lu-175" 40 | lutetium_array(1)%mass_defect = -55.1655 41 | lutetium_array(1)%atom_percent = 97.401 42 | lutetium_array(1)%zaid = "71175.00c" 43 | 44 | lutetium_array(2)%z = 71 45 | lutetium_array(2)%a = 176 46 | lutetium_array(2)%symbol ="Lu-176" 47 | lutetium_array(2)%mass_defect = -53.3822 48 | lutetium_array(2)%atom_percent = 2.599 49 | lutetium_array(2)%zaid = "71176.00c" 50 | 51 | !Calculate isotopic mass for Lutetium 52 | DO i=1, lu_size 53 | holder = lutetium_array(i)%a + (lutetium_array(i)%mass_defect/MeV_amu) 54 | 55 | lutetium_array(i)%isotopic_mass = holder 56 | END DO 57 | 58 | !Set mass and holder to zero. 59 | lu_mass = 0.0 60 | holder = 0.0 61 | 62 | !Calculate mass of Lutetium 63 | DO i=1, lu_size 64 | lu_mass = holder + (lutetium_array(i)%isotopic_mass* & 65 | & lutetium_array(i)%atom_percent)/100 66 | 67 | holder = lu_mass 68 | END DO 69 | 70 | !Calculate weight percent of Lutetium 71 | DO i=1, lu_size 72 | lutetium_array(i)%weight_percent = (lutetium_array(i)%isotopic_mass & 73 | & * lutetium_array(i)%atom_percent)/lu_mass 74 | END DO 75 | 76 | !Number of Hafnium Isotopes 77 | hf_size = 6 78 | 79 | hafnium_array(1)%z = 72 80 | hafnium_array(1)%a = 174 81 | hafnium_array(1)%symbol ="Hf-174" 82 | hafnium_array(1)%mass_defect = -55.8444 83 | hafnium_array(1)%atom_percent = 0.16 84 | hafnium_array(1)%zaid = "72174.00c" 85 | 86 | hafnium_array(2)%z = 72 87 | hafnium_array(2)%a = 176 88 | hafnium_array(2)%symbol ="Hf-176" 89 | hafnium_array(2)%mass_defect = -54.5763 90 | hafnium_array(2)%atom_percent = 5.26 91 | hafnium_array(2)%zaid = "72176.00c" 92 | 93 | hafnium_array(3)%z = 72 94 | hafnium_array(3)%a = 177 95 | hafnium_array(3)%symbol ="Hf-177" 96 | hafnium_array(3)%mass_defect = -52.8806 97 | hafnium_array(3)%atom_percent = 18.60 98 | hafnium_array(3)%zaid = "72177.00c" 99 | 100 | hafnium_array(4)%z = 72 101 | hafnium_array(4)%a = 178 102 | hafnium_array(4)%symbol ="Hf-178" 103 | hafnium_array(4)%mass_defect = -52.4352 104 | hafnium_array(4)%atom_percent = 27.28 105 | hafnium_array(4)%zaid = "72178.00c" 106 | 107 | hafnium_array(5)%z = 72 108 | hafnium_array(5)%a = 179 109 | hafnium_array(5)%symbol ="Hf-179" 110 | hafnium_array(5)%mass_defect = -50.4629 111 | hafnium_array(5)%atom_percent = 13.62 112 | hafnium_array(5)%zaid = "72179.00c" 113 | 114 | hafnium_array(6)%z = 72 115 | hafnium_array(6)%a = 180 116 | hafnium_array(6)%symbol ="Hf-180" 117 | hafnium_array(6)%mass_defect = -49.7793 118 | hafnium_array(6)%atom_percent = 35.08 119 | hafnium_array(6)%zaid = "72180.00c" 120 | 121 | !Calculate isotopic mass for Hafnium 122 | DO i=1,hf_size 123 | holder = hafnium_array(i)%a + (hafnium_array(i)%mass_defect/MeV_amu) 124 | 125 | hafnium_array(i)%isotopic_mass = holder 126 | END DO 127 | 128 | !Set mass and holder to zero. 129 | hf_mass = 0.0 130 | holder = 0.0 131 | 132 | !Calculate mass of Hafnium 133 | DO i=1, hf_size 134 | hf_mass = holder + (hafnium_array(i)%isotopic_mass* & 135 | & hafnium_array(i)%atom_percent)/100 136 | 137 | holder = hf_mass 138 | END DO 139 | 140 | !Calculate weight percent of Hafnium 141 | DO i=1, hf_size 142 | hafnium_array(i)%weight_percent = (hafnium_array(i)%isotopic_mass & 143 | & * hafnium_array(i)%atom_percent)/hf_mass 144 | END DO 145 | 146 | !Number of Tantalum Isotopes 147 | ta_size = 2 148 | 149 | tantalum_array(1)%z = 73 150 | tantalum_array(1)%a = 180 151 | tantalum_array(1)%symbol ="Ta-180" 152 | tantalum_array(1)%mass_defect = -48.8557 153 | tantalum_array(1)%atom_percent = 0.01201 154 | tantalum_array(1)%zaid = "73180.00c" 155 | 156 | tantalum_array(2)%z = 73 157 | tantalum_array(2)%a = 181 158 | tantalum_array(2)%symbol ="Ta-181" 159 | tantalum_array(2)%mass_defect = -48.4383 160 | tantalum_array(2)%atom_percent = 99.98799 161 | tantalum_array(2)%zaid = "73181.00c" 162 | 163 | !Calculate isotopic mass for Tantalum 164 | DO i=1, ta_size 165 | holder = tantalum_array(i)%a + (tantalum_array(i)%mass_defect/MeV_amu) 166 | 167 | tantalum_array(i)%isotopic_mass = holder 168 | END DO 169 | 170 | !Set mass and holder to zero. 171 | ta_mass = 0.0 172 | holder = 0.0 173 | 174 | !Calculate mass of Tantalum 175 | DO i=1, ta_size 176 | ta_mass = holder + (tantalum_array(i)%isotopic_mass* & 177 | & tantalum_array(i)%atom_percent)/100 178 | 179 | holder = ta_mass 180 | END DO 181 | 182 | !Calculate weight percent of Tantalum 183 | DO i=1, ta_size 184 | tantalum_array(i)%weight_percent = (tantalum_array(i)%isotopic_mass & 185 | & * tantalum_array(i)%atom_percent)/ta_mass 186 | END DO 187 | 188 | !Number of Tungsten Isotopes 189 | w_size = 5 190 | 191 | tungsten_array(1)%z = 74 192 | tungsten_array(1)%a = 180 193 | tungsten_array(1)%symbol =" W-180" 194 | tungsten_array(1)%mass_defect = -49.6361 195 | tungsten_array(1)%atom_percent = 0.12 196 | tungsten_array(1)%zaid = "74180.00c" 197 | 198 | tungsten_array(2)%z = 74 199 | tungsten_array(2)%a = 182 200 | tungsten_array(2)%symbol =" W-182" 201 | tungsten_array(2)%mass_defect = -48.2460 202 | tungsten_array(2)%atom_percent = 26.50 203 | tungsten_array(2)%zaid = "74182.00c" 204 | 205 | tungsten_array(3)%z = 74 206 | tungsten_array(3)%a = 183 207 | tungsten_array(3)%symbol =" W-183" 208 | tungsten_array(3)%mass_defect = -46.3655 209 | tungsten_array(3)%atom_percent = 14.31 210 | tungsten_array(3)%zaid = "74183.00c" 211 | 212 | tungsten_array(4)%z = 74 213 | tungsten_array(4)%a = 184 214 | tungsten_array(4)%symbol =" W-184" 215 | tungsten_array(4)%mass_defect = -45.7053 216 | tungsten_array(4)%atom_percent = 30.64 217 | tungsten_array(4)%zaid = "74184.00c" 218 | 219 | tungsten_array(5)%z = 74 220 | tungsten_array(5)%a = 186 221 | tungsten_array(5)%symbol =" W-186" 222 | tungsten_array(5)%mass_defect = -42.5085 223 | tungsten_array(5)%atom_percent = 28.43 224 | tungsten_array(5)%zaid = "74186.00c" 225 | 226 | !Calculate isotopic mass for Tungsten 227 | DO i=1,w_size 228 | holder = tungsten_array(i)%a + (tungsten_array(i)%mass_defect/MeV_amu) 229 | 230 | tungsten_array(i)%isotopic_mass = holder 231 | END DO 232 | 233 | !Set mass and holder to zero. 234 | w_mass = 0.0 235 | holder = 0.0 236 | 237 | !Calculate mass of Tungsten 238 | DO i=1, w_size 239 | w_mass = holder + (tungsten_array(i)%isotopic_mass* & 240 | & tungsten_array(i)%atom_percent)/100 241 | 242 | holder = w_mass 243 | END DO 244 | 245 | !Calculate weight percent of Tungsten 246 | DO i=1, w_size 247 | tungsten_array(i)%weight_percent = (tungsten_array(i)%isotopic_mass & 248 | & * tungsten_array(i)%atom_percent)/w_mass 249 | END DO 250 | 251 | !Number of Rhenium Isotopes 252 | re_size = 2 253 | 254 | rhenium_array(1)%z = 75 255 | rhenium_array(1)%a = 185 256 | rhenium_array(1)%symbol ="Re-185" 257 | rhenium_array(1)%mass_defect = -43.8190 258 | rhenium_array(1)%atom_percent = 37.40 259 | rhenium_array(1)%zaid = "75185.00c" 260 | 261 | rhenium_array(2)%z = 75 262 | rhenium_array(2)%a = 187 263 | rhenium_array(2)%symbol ="Re-187" 264 | rhenium_array(2)%mass_defect = -41.2164 265 | rhenium_array(2)%atom_percent = 62.60 266 | rhenium_array(2)%zaid = "75187.00c" 267 | 268 | !Calculate isotopic mass for Rhenium 269 | DO i=1,re_size 270 | holder = rhenium_array(i)%a + (rhenium_array(i)%mass_defect/MeV_amu) 271 | 272 | rhenium_array(i)%isotopic_mass = holder 273 | END DO 274 | 275 | !Set mass and holder to zero. 276 | re_mass = 0.0 277 | holder = 0.0 278 | 279 | !Calculate mass of Rhenium 280 | DO i=1, re_size 281 | re_mass = holder + (rhenium_array(i)%isotopic_mass* & 282 | & rhenium_array(i)%atom_percent)/100 283 | 284 | holder = re_mass 285 | END DO 286 | 287 | !Calculate weight percent of Rhenium 288 | DO i=1, re_size 289 | rhenium_array(i)%weight_percent = (rhenium_array(i)%isotopic_mass & 290 | & * rhenium_array(i)%atom_percent)/re_mass 291 | END DO 292 | 293 | END SUBROUTINE Z71_Z75 294 | -------------------------------------------------------------------------------- /source/Z76_Z80.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z76_Z80 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 76-80 (osmium, iridium, platinum, 12 | !gold, and mercury) and their naturally occuring isotopes. 13 | !Created with the Current Nuclear Wallet Cards (2004) 14 | !on June 2, 2004 by Karen Kajder. 15 | ! 16 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 17 | !sections by K. Russell DePriest on December 15, 2011. 18 | ! 19 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 20 | ! on 05/09/2014 by K. Russell DePriest. 21 | ! 22 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 23 | ! on 07/22/2020 by K. Russell DePriest. 24 | ! 25 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 26 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 27 | 28 | !Local variables 29 | REAL::holder, mass_of_element 30 | INTEGER:: i 31 | 32 | !Number of Osmium Isotopes 33 | os_size = 7 34 | 35 | osmium_array(1)%z = 76 36 | osmium_array(1)%a = 184 37 | osmium_array(1)%symbol ="Os-184" 38 | osmium_array(1)%mass_defect = -44.2525 39 | osmium_array(1)%atom_percent = 0.02 40 | osmium_array(1)%zaid = "76184.00c" 41 | 42 | osmium_array(2)%z = 76 43 | osmium_array(2)%a = 186 44 | osmium_array(2)%symbol ="Os-186" 45 | osmium_array(2)%mass_defect = -42.9999 46 | osmium_array(2)%atom_percent = 1.59 47 | osmium_array(2)%zaid = "76186.00c" 48 | 49 | osmium_array(3)%z = 76 50 | osmium_array(3)%a = 187 51 | osmium_array(3)%symbol ="Os-187" 52 | osmium_array(3)%mass_defect = -41.2189 53 | osmium_array(3)%atom_percent = 1.96 54 | osmium_array(3)%zaid = "76187.00c" 55 | 56 | osmium_array(4)%z = 76 57 | osmium_array(4)%a = 188 58 | osmium_array(4)%symbol ="Os-188" 59 | osmium_array(4)%mass_defect = -41.1372 60 | osmium_array(4)%atom_percent = 13.24 61 | osmium_array(4)%zaid = "76188.00c" 62 | 63 | osmium_array(5)%z = 76 64 | osmium_array(5)%a = 189 65 | osmium_array(5)%symbol ="Os-189" 66 | osmium_array(5)%mass_defect = -38.9867 67 | osmium_array(5)%atom_percent = 16.15 68 | osmium_array(5)%zaid = "76189.00c" 69 | 70 | osmium_array(6)%z = 76 71 | osmium_array(6)%a = 190 72 | osmium_array(6)%symbol ="Os-190" 73 | osmium_array(6)%mass_defect = -38.7077 74 | osmium_array(6)%atom_percent = 26.26 75 | osmium_array(6)%zaid = "76190.00c" 76 | 77 | osmium_array(7)%z = 76 78 | osmium_array(7)%a = 192 79 | osmium_array(7)%symbol ="Os-192" 80 | osmium_array(7)%mass_defect = -35.8821 81 | osmium_array(7)%atom_percent = 40.78 82 | osmium_array(7)%zaid = "76192.00c" 83 | 84 | !Calculate isotopic mass for Osmium 85 | DO i=1,os_size 86 | holder = osmium_array(i)%a + (osmium_array(i)%mass_defect/MeV_amu) 87 | 88 | osmium_array(i)%isotopic_mass = holder 89 | END DO 90 | 91 | !Set mass and holder to zero. 92 | os_mass = 0.0 93 | holder = 0.0 94 | 95 | !Calculate mass of Osmium 96 | DO i=1, os_size 97 | os_mass = holder + (osmium_array(i)%isotopic_mass* & 98 | & osmium_array(i)%atom_percent)/100 99 | 100 | holder = os_mass 101 | END DO 102 | 103 | !Calculate weight percent of Osmium 104 | DO i=1, os_size 105 | osmium_array(i)%weight_percent = (osmium_array(i)%isotopic_mass & 106 | & * osmium_array(i)%atom_percent)/os_mass 107 | END DO 108 | 109 | !Number of Iridium Isotopes 110 | ir_size = 2 111 | 112 | iridium_array(1)%z = 77 113 | iridium_array(1)%a = 191 114 | iridium_array(1)%symbol ="Ir-191" 115 | iridium_array(1)%mass_defect = -36.7087 116 | iridium_array(1)%atom_percent = 37.3 117 | iridium_array(1)%zaid = "77191.00c" 118 | 119 | iridium_array(2)%z = 77 120 | iridium_array(2)%a = 193 121 | iridium_array(2)%symbol ="Ir-193" 122 | iridium_array(2)%mass_defect = -34.5362 123 | iridium_array(2)%atom_percent = 62.7 124 | iridium_array(2)%zaid = "77193.00c" 125 | 126 | !Calculate isotopic mass for Iridium 127 | DO i=1, ir_size 128 | holder = iridium_array(i)%a + (iridium_array(i)%mass_defect/MeV_amu) 129 | 130 | iridium_array(i)%isotopic_mass = holder 131 | END DO 132 | 133 | !Set mass and holder to zero. 134 | ir_mass = 0.0 135 | holder = 0.0 136 | 137 | !Calculate mass of Iridium 138 | DO i=1, ir_size 139 | ir_mass = holder + (iridium_array(i)%isotopic_mass* & 140 | & iridium_array(i)%atom_percent)/100 141 | 142 | holder = ir_mass 143 | END DO 144 | 145 | !Calculate weight percent of Iridium 146 | DO i=1, ir_size 147 | iridium_array(i)%weight_percent = (iridium_array(i)%isotopic_mass & 148 | & * iridium_array(i)%atom_percent)/ir_mass 149 | END DO 150 | 151 | !Number of Platinum Isotopes 152 | pt_size = 6 153 | 154 | platinum_array(1)%z = 78 155 | platinum_array(1)%a = 190 156 | platinum_array(1)%symbol ="Pt-190" 157 | platinum_array(1)%mass_defect = -37.3064 158 | platinum_array(1)%atom_percent = 0.012 159 | platinum_array(1)%zaid = "78190.00c" 160 | 161 | platinum_array(2)%z = 78 162 | platinum_array(2)%a = 192 163 | platinum_array(2)%symbol ="Pt-192" 164 | platinum_array(2)%mass_defect = -36.2884 165 | platinum_array(2)%atom_percent = 0.782 166 | platinum_array(2)%zaid = "78192.00c" 167 | 168 | platinum_array(3)%z = 78 169 | platinum_array(3)%a = 194 170 | platinum_array(3)%symbol ="Pt-194" 171 | platinum_array(3)%mass_defect = -34.7600 172 | platinum_array(3)%atom_percent = 32.86 173 | platinum_array(3)%zaid = "78194.00c" 174 | 175 | platinum_array(4)%z = 78 176 | platinum_array(4)%a = 195 177 | platinum_array(4)%symbol ="Pt-195" 178 | platinum_array(4)%mass_defect = -32.7938 179 | platinum_array(4)%atom_percent = 33.78 180 | platinum_array(4)%zaid = "78195.00c" 181 | 182 | platinum_array(5)%z = 78 183 | platinum_array(5)%a = 196 184 | platinum_array(5)%symbol ="Pt-196" 185 | platinum_array(5)%mass_defect = -32.6445 186 | platinum_array(5)%atom_percent = 25.21 187 | platinum_array(5)%zaid = "78196.00c" 188 | 189 | platinum_array(6)%z = 78 190 | platinum_array(6)%a = 198 191 | platinum_array(6)%symbol ="Pt-198" 192 | platinum_array(6)%mass_defect = -29.9039 193 | platinum_array(6)%atom_percent = 7.36 194 | platinum_array(6)%zaid = "78198.00c" 195 | 196 | !Calculate isotopic mass for Platinum 197 | DO i=1,pt_size 198 | holder = platinum_array(i)%a + (platinum_array(i)%mass_defect/MeV_amu) 199 | 200 | platinum_array(i)%isotopic_mass = holder 201 | END DO 202 | 203 | !Set mass and holder to zero. 204 | pt_mass = 0.0 205 | holder = 0.0 206 | 207 | !Calculate mass of Platinum 208 | DO i=1, pt_size 209 | pt_mass = holder + (platinum_array(i)%isotopic_mass* & 210 | & platinum_array(i)%atom_percent)/100 211 | 212 | holder = pt_mass 213 | END DO 214 | 215 | !Calculate weight percent of Platinum 216 | DO i=1, pt_size 217 | platinum_array(i)%weight_percent = (platinum_array(i)%isotopic_mass & 218 | & * platinum_array(i)%atom_percent)/pt_mass 219 | END DO 220 | 221 | !Number of Gold Isotopes 222 | au_size = 1 223 | 224 | gold_array(1)%z = 79 225 | gold_array(1)%a = 197 226 | gold_array(1)%symbol ="Au-197" 227 | gold_array(1)%mass_defect = -31.1397 228 | gold_array(1)%atom_percent = 100.0 229 | gold_array(1)%zaid = "79197.00c" 230 | 231 | !Calculate isotopic mass for Gold 232 | DO i=1,au_size 233 | holder = gold_array(i)%a + (gold_array(i)%mass_defect/MeV_amu) 234 | 235 | gold_array(i)%isotopic_mass = holder 236 | END DO 237 | 238 | !Set mass and holder to zero. 239 | au_mass = 0.0 240 | holder = 0.0 241 | 242 | !Calculate mass of Gold 243 | DO i=1, au_size 244 | au_mass = holder + (gold_array(i)%isotopic_mass* & 245 | & gold_array(i)%atom_percent)/100 246 | 247 | holder = au_mass 248 | END DO 249 | 250 | !Calculate weight percent of Gold 251 | DO i=1, au_size 252 | gold_array(i)%weight_percent = (gold_array(i)%isotopic_mass & 253 | & * gold_array(i)%atom_percent)/au_mass 254 | END DO 255 | 256 | !Number of Mercury Isotopes 257 | hg_size = 7 258 | 259 | mercury_array(1)%z = 80 260 | mercury_array(1)%a = 196 261 | mercury_array(1)%symbol ="Hg-196" 262 | mercury_array(1)%mass_defect = -31.8259 263 | mercury_array(1)%atom_percent = 0.15 264 | mercury_array(1)%zaid = "80196.00c" 265 | 266 | mercury_array(2)%z = 80 267 | mercury_array(2)%a = 198 268 | mercury_array(2)%symbol ="Hg-198" 269 | mercury_array(2)%mass_defect = -30.9543 270 | mercury_array(2)%atom_percent = 9.97 271 | mercury_array(2)%zaid = "80198.00c" 272 | 273 | mercury_array(3)%z = 80 274 | mercury_array(3)%a = 199 275 | mercury_array(3)%symbol ="Hg-199" 276 | mercury_array(3)%mass_defect = -29.5460 277 | mercury_array(3)%atom_percent = 16.87 278 | mercury_array(3)%zaid = "80199.00c" 279 | 280 | mercury_array(4)%z = 80 281 | mercury_array(4)%a = 200 282 | mercury_array(4)%symbol ="Hg-200" 283 | mercury_array(4)%mass_defect = -29.5032 284 | mercury_array(4)%atom_percent = 23.10 285 | mercury_array(4)%zaid = "80200.00c" 286 | 287 | mercury_array(5)%z = 80 288 | mercury_array(5)%a = 201 289 | mercury_array(5)%symbol ="Hg-201" 290 | mercury_array(5)%mass_defect = -27.6625 291 | mercury_array(5)%atom_percent = 13.18 292 | mercury_array(5)%zaid = "80201.00c" 293 | 294 | mercury_array(6)%z = 80 295 | mercury_array(6)%a = 202 296 | mercury_array(6)%symbol ="Hg-202" 297 | mercury_array(6)%mass_defect = -27.3453 298 | mercury_array(6)%atom_percent = 29.86 299 | mercury_array(6)%zaid = "80202.00c" 300 | 301 | mercury_array(7)%z = 80 302 | mercury_array(7)%a = 204 303 | mercury_array(7)%symbol ="Hg-204" 304 | mercury_array(7)%mass_defect = -24.6901 305 | mercury_array(7)%atom_percent = 6.87 306 | mercury_array(7)%zaid = "80204.00c" 307 | 308 | !Calculate isotopic mass for Mercury 309 | DO i=1,hg_size 310 | holder = mercury_array(i)%a + (mercury_array(i)%mass_defect/MeV_amu) 311 | 312 | mercury_array(i)%isotopic_mass = holder 313 | END DO 314 | 315 | !Set mass and holder to zero. 316 | hg_mass = 0.0 317 | holder = 0.0 318 | 319 | !Calculate mass of Mercury 320 | DO i=1, hg_size 321 | hg_mass = holder + (mercury_array(i)%isotopic_mass* & 322 | & mercury_array(i)%atom_percent)/100 323 | 324 | holder = hg_mass 325 | END DO 326 | 327 | !Calculate weight percent of Mercury 328 | DO i=1, hg_size 329 | mercury_array(i)%weight_percent = (mercury_array(i)%isotopic_mass & 330 | & * mercury_array(i)%atom_percent)/hg_mass 331 | END DO 332 | 333 | END SUBROUTINE Z76_Z80 334 | -------------------------------------------------------------------------------- /source/Z81_Z85.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z81_Z85 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains elements 81-85 (thallium, lead, bismuth, 12 | !polonium,and astatine) and their naturally occuring isotopes. 13 | !Polonium and astatine do not occur naturally in nature and are 14 | !therefore not included in the subroutine. 15 | ! 16 | !Created with the Current Nuclear Wallet Cards (2004) 17 | !on June 2, 2004 by Karen Kajder. 18 | ! 19 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 20 | !sections by K. Russell DePriest on December 15, 2011. 21 | ! 22 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 23 | ! on 05/09/2014 by K. Russell DePriest. 24 | ! - New cross sections available for Tl 25 | ! 26 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 27 | ! on 07/22/2020 by K. Russell DePriest. 28 | ! 29 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 30 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 31 | 32 | !Local variables 33 | REAL::holder, mass_of_element 34 | INTEGER:: i 35 | 36 | !Number of Thallium Isotopes 37 | tl_size = 2 38 | 39 | thallium_array(1)%z = 81 40 | thallium_array(1)%a = 203 41 | thallium_array(1)%symbol ="Tl-203" 42 | thallium_array(1)%mass_defect = -25.7613 43 | thallium_array(1)%atom_percent = 29.524 44 | thallium_array(1)%zaid = "81203.00c" 45 | 46 | thallium_array(2)%z = 81 47 | thallium_array(2)%a = 205 48 | thallium_array(2)%symbol ="Tl-205" 49 | thallium_array(2)%mass_defect = -23.8208 50 | thallium_array(2)%atom_percent = 70.476 51 | thallium_array(2)%zaid = "81205.00c" 52 | 53 | !Calculate isotopic mass for Thallium 54 | DO i=1, tl_size 55 | holder = thallium_array(i)%a + (thallium_array(i)%mass_defect/MeV_amu) 56 | 57 | thallium_array(i)%isotopic_mass = holder 58 | END DO 59 | 60 | !Set mass and holder to zero. 61 | tl_mass = 0.0 62 | holder = 0.0 63 | 64 | !Calculate mass of Thallium 65 | DO i=1, tl_size 66 | tl_mass = holder + (thallium_array(i)%isotopic_mass* & 67 | & thallium_array(i)%atom_percent)/100 68 | 69 | holder = tl_mass 70 | END DO 71 | 72 | !Calculate weight percent of Thallium 73 | DO i=1, tl_size 74 | thallium_array(i)%weight_percent = (thallium_array(i)%isotopic_mass & 75 | & * thallium_array(i)%atom_percent)/tl_mass 76 | END DO 77 | 78 | !Number of Lead Isotopes 79 | pb_size = 4 80 | 81 | lead_array(1)%z = 82 82 | lead_array(1)%a = 204 83 | lead_array(1)%symbol ="Pb-204" 84 | lead_array(1)%mass_defect = -25.1098 85 | lead_array(1)%atom_percent = 1.4 86 | lead_array(1)%zaid = "82204.00c" 87 | 88 | lead_array(2)%z = 82 89 | lead_array(2)%a = 206 90 | lead_array(2)%symbol ="Pb-206" 91 | lead_array(2)%mass_defect = -23.7855 92 | lead_array(2)%atom_percent = 24.1 93 | lead_array(2)%zaid = "82206.00c" 94 | 95 | lead_array(3)%z = 82 96 | lead_array(3)%a = 207 97 | lead_array(3)%symbol ="Pb-207" 98 | lead_array(3)%mass_defect = -22.4520 99 | lead_array(3)%atom_percent = 22.1 100 | lead_array(3)%zaid = "82207.00c" 101 | 102 | lead_array(4)%z = 82 103 | lead_array(4)%a = 208 104 | lead_array(4)%symbol ="Pb-208" 105 | lead_array(4)%mass_defect = -21.7485 106 | lead_array(4)%atom_percent = 52.4 107 | lead_array(4)%zaid = "82208.00c" 108 | 109 | !Calculate isotopic mass for Lead 110 | DO i=1,pb_size 111 | holder = lead_array(i)%a + (lead_array(i)%mass_defect/MeV_amu) 112 | 113 | lead_array(i)%isotopic_mass = holder 114 | END DO 115 | 116 | !Set mass and holder to zero. 117 | pb_mass = 0.0 118 | holder = 0.0 119 | 120 | !Calculate mass of Lead 121 | DO i=1, pb_size 122 | pb_mass = holder + (lead_array(i)%isotopic_mass* & 123 | & lead_array(i)%atom_percent)/100 124 | 125 | holder = pb_mass 126 | END DO 127 | 128 | !Calculate weight percent of Lead 129 | DO i=1, pb_size 130 | lead_array(i)%weight_percent = (lead_array(i)%isotopic_mass & 131 | & * lead_array(i)%atom_percent)/pb_mass 132 | END DO 133 | 134 | !Number of Bismuth Isotopes 135 | bi_size = 1 136 | 137 | bismuth_array(1)%z = 83 138 | bismuth_array(1)%a = 209 139 | bismuth_array(1)%symbol ="Bi-209" 140 | bismuth_array(1)%mass_defect = -18.2586 141 | bismuth_array(1)%atom_percent = 100.0 142 | bismuth_array(1)%zaid = "83209.00c" 143 | 144 | !Calculate isotopic mass for Bismuth 145 | DO i=1, bi_size 146 | holder = bismuth_array(i)%a + (bismuth_array(i)%mass_defect/MeV_amu) 147 | 148 | bismuth_array(i)%isotopic_mass = holder 149 | END DO 150 | 151 | !Set mass and holder to zero. 152 | bi_mass = 0.0 153 | holder = 0.0 154 | 155 | !Calculate mass of Bismuth 156 | DO i=1, bi_size 157 | bi_mass = holder + (bismuth_array(i)%isotopic_mass* & 158 | & bismuth_array(i)%atom_percent)/100 159 | 160 | holder = bi_mass 161 | END DO 162 | 163 | !Calculate weight percent of Bismuth 164 | DO i=1, bi_size 165 | bismuth_array(i)%weight_percent = (bismuth_array(i)%isotopic_mass & 166 | & * bismuth_array(i)%atom_percent)/bi_mass 167 | END DO 168 | 169 | END SUBROUTINE Z81_Z85 170 | -------------------------------------------------------------------------------- /source/Z86_Z90.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z86_Z90 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | 12 | !This subroutine contains elements 86-90 (radon, francium, radium, 13 | !actinium, and thorium) and their naturally occuring isotopes. Radon, 14 | !francium,radium,and actinium do not occur naturally in nature and 15 | !are therefore not included in the subroutine. 16 | ! 17 | !Created with the Current Nuclear Wallet Cards (2004) 18 | !on June 2, 2004 by Karen Kajder. 19 | ! 20 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 21 | !sections by K. Russell DePriest on December 6, 2011. 22 | ! 23 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 24 | ! on 05/09/2014 by K. Russell DePriest. 25 | ! 26 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 27 | ! on 07/22/2020 by K. Russell DePriest. 28 | ! 29 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 30 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 31 | 32 | !Local variables 33 | REAL::holder, mass_of_element 34 | INTEGER:: i 35 | 36 | !Number of Thorium Isotopes 37 | th_size = 1 38 | 39 | thorium_array(1)%z = 90 40 | thorium_array(1)%a = 232 41 | thorium_array(1)%symbol ="Th-232" 42 | thorium_array(1)%mass_defect = 35.4467 43 | thorium_array(1)%atom_percent = 100.0 44 | thorium_array(1)%zaid = "90232.00c" 45 | 46 | !Calculate isotopic mass for Thorium 47 | DO i=1, th_size 48 | holder = thorium_array(i)%a + (thorium_array(i)%mass_defect/MeV_amu) 49 | 50 | thorium_array(i)%isotopic_mass = holder 51 | END DO 52 | 53 | !Set mass and holder to zero. 54 | th_mass = 0.0 55 | holder = 0.0 56 | 57 | !Calculate mass of Thorium 58 | DO i=1, th_size 59 | th_mass = holder + (thorium_array(i)%isotopic_mass* & 60 | & thorium_array(i)%atom_percent)/100 61 | 62 | holder = th_mass 63 | END DO 64 | 65 | !Calculate weight percent of Thorium 66 | DO i=1, th_size 67 | thorium_array(i)%weight_percent = (thorium_array(i)%isotopic_mass & 68 | & * thorium_array(i)%atom_percent)/th_mass 69 | END DO 70 | 71 | END SUBROUTINE Z86_Z90 72 | -------------------------------------------------------------------------------- /source/Z91_Z92.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE Z91_Z92 7 | USE NWC_DATABASE 8 | USE NWC_2000 9 | IMPLICIT NONE 10 | 11 | 12 | !This subroutine contains elements 91-92 (protactinium and uranium) 13 | !and their naturally occuring isotopes. Protactinium does not 14 | !occur naturally in nature and is therefore not included in 15 | !the subroutine. 16 | ! 17 | !Created with the Current Nuclear Wallet Cards (2004) 18 | !on June 2, 2004 by Karen Kajder. 19 | ! 20 | !Modified to latest NWC electronic version values and ENDF/B-VII cross 21 | !sections by K. Russell DePriest on December 15, 2011. 22 | ! 23 | ! - ENDF/B-VII Release 1 cross sections (that is, .80c) made the default 24 | ! on 05/09/2014 by K. Russell DePriest. 25 | ! 26 | ! - ENDF/B-VIII.0 cross sections at 293.6 K (that is, .00c) made the default 27 | ! on 07/22/2020 by K. Russell DePriest. 28 | ! 29 | ! - Nuclear Wallet Card values verified on 07/22/2020 using 30 | ! "Nuclear Wallet Cards database version of 7/10/2019" on nndc.bnl.gov website. 31 | 32 | !Local variables 33 | REAL::holder, mass_of_element 34 | INTEGER:: i 35 | 36 | !Number of Uranium Isotopes 37 | u_size = 3 38 | 39 | uranium_array(1)%z = 92 40 | uranium_array(1)%a = 234 41 | uranium_array(1)%symbol ="U-234 " 42 | uranium_array(1)%mass_defect = 38.1450 43 | uranium_array(1)%atom_percent = 0.0054 44 | uranium_array(1)%zaid = "92234.00c" 45 | 46 | uranium_array(2)%z = 92 47 | uranium_array(2)%a = 235 48 | uranium_array(2)%symbol ="U-235 " 49 | uranium_array(2)%mass_defect = 40.9188 50 | uranium_array(2)%atom_percent = 0.7204 51 | uranium_array(2)%zaid = "92235.00c" 52 | 53 | uranium_array(3)%z = 92 54 | uranium_array(3)%a = 238 55 | uranium_array(3)%symbol ="U-238 " 56 | uranium_array(3)%mass_defect = 47.3077 57 | uranium_array(3)%atom_percent = 99.2742 58 | uranium_array(3)%zaid = "92238.00c" 59 | 60 | !Calculate isotopic mass for Uranium 61 | DO i=1, u_size 62 | holder = uranium_array(i)%a + (uranium_array(i)%mass_defect/MeV_amu) 63 | 64 | uranium_array(i)%isotopic_mass = holder 65 | END DO 66 | 67 | !Set mass and holder to zero. 68 | u_mass = 0.0 69 | holder = 0.0 70 | 71 | !Calculate mass of Uranium 72 | DO i=1, u_size 73 | u_mass = holder + (uranium_array(i)%isotopic_mass* & 74 | & uranium_array(i)%atom_percent)/100 75 | 76 | holder = u_mass 77 | END DO 78 | 79 | !Calculate weight percent of Uranium 80 | DO i=1, u_size 81 | uranium_array(i)%weight_percent = (uranium_array(i)%isotopic_mass & 82 | & * uranium_array(i)%atom_percent)/u_mass 83 | END DO 84 | 85 | END SUBROUTINE Z91_Z92 86 | -------------------------------------------------------------------------------- /source/enriched.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE enriched(natural_or_enriched,z_of_element,number_elements) 7 | USE NWC_2000 8 | USE NWC_DATABASE 9 | IMPLICIT NONE 10 | 11 | !Subroutine to deal with enriched elements. 12 | !At present, only Lithium, Boron, and Uranium can use this option 13 | !Created on July 2, 2004 by Karen Kajder. 14 | ! 15 | !Modified on December 21, 2011 by K. Russell DePriest 16 | !Equations for almost all of the enrichment were incorrectly implemented. 17 | !These modifications provided correct answers now for both atomic or weight fraction 18 | !input. The program assumes that enrichment is WEIGHT % regardless of elemental 19 | !input option type. 20 | 21 | !Dummy Variables 22 | CHARACTER(LEN=3), DIMENSION(92),INTENT(IN)::natural_or_enriched 23 | INTEGER, DIMENSION(92),INTENT(IN)::z_of_element 24 | INTEGER,INTENT(IN):: number_elements 25 | 26 | !Local Variables 27 | INTEGER::j,k,z 28 | REAL,DIMENSION(92):: w_holder 29 | REAL::holder, frac_holder, inverse_mass 30 | INTEGER, DIMENSION(92)::isotope 31 | REAL::li6_atom_dens, li7_atom_dens, li_total_atom_dens 32 | REAL::b10_atom_dens, b11_atom_dens, b_total_atom_dens 33 | REAL::u234_atom_dens, u235_atom_dens, u238_atom_dens, u_total_atom_dens 34 | 35 | !Initialize 36 | holder = 0.0 37 | frac_holder = 0.0 38 | 39 | DO j=1, number_elements 40 | z = z_of_element(j) 41 | 42 | SELECT CASE (z) 43 | !If the z of the element is not lithium, boron, or uranium, continue back to the main program. 44 | CASE DEFAULT 45 | CONTINUE 46 | CASE (3) 47 | DO k=1, 2 48 | !Read in isotope number and its corresponding new weight percent. 49 | READ (UNIT=10,FMT=*) isotope(k), w_holder(k) 50 | IF (isotope(k) == 6) THEN 51 | lithium_array(1)%weight_percent = w_holder(k) 52 | ELSE IF (isotope(k) == 7) THEN 53 | lithium_array(2)%weight_percent = w_holder(k) 54 | END IF 55 | END DO 56 | ! 57 | ! 58 | !Normalize lithium weight to 100 59 | frac_holder = lithium_array(1)%weight_percent + lithium_array(2)%weight_percent 60 | lithium_array(1)%weight_percent = (lithium_array(1)%weight_percent/frac_holder) * 100 61 | lithium_array(2)%weight_percent = (lithium_array(2)%weight_percent/frac_holder) * 100 62 | ! 63 | ! 64 | !Calculate new mass of Lithium 65 | inverse_mass = (lithium_array(1)%weight_percent / lithium_array(1)%isotopic_mass + & 66 | & lithium_array(2)%weight_percent / lithium_array(2)%isotopic_mass) / 100 67 | ! 68 | ! 69 | li_mass = 1.0 / inverse_mass 70 | ! 71 | ! 72 | !Assume a mass density of 1.0 g/cc and calculate an atom density in order to compute 73 | ! an atom percent for the enriched material 74 | ! 75 | ! N(sub-i) = w(sub-i)*rho*Avog#/M(sub-i) where M(sub-i) is the isotopic mass 76 | ! 77 | li6_atom_dens = lithium_array(1)%weight_percent * 1.0 * 0.6022 / lithium_array(1)%isotopic_mass / 100 78 | li7_atom_dens = lithium_array(2)%weight_percent * 1.0 * 0.6022 / lithium_array(2)%isotopic_mass / 100 79 | ! 80 | li_total_atom_dens = li6_atom_dens + li7_atom_dens 81 | ! 82 | lithium_array(1)%atom_percent = li6_atom_dens / li_total_atom_dens * 100 83 | lithium_array(2)%atom_percent = li7_atom_dens / li_total_atom_dens * 100 84 | 85 | CASE (5) 86 | DO k=1, 2 87 | !Read in isotope number and its corresponding new weight percent. 88 | READ (UNIT=10,FMT=*) isotope(k), w_holder(k) 89 | IF (isotope(k) == 10) THEN 90 | boron_array(1)%weight_percent = w_holder(k) 91 | ELSE IF (isotope(k) == 11) THEN 92 | boron_array(2)%weight_percent = w_holder(k) 93 | END IF 94 | END DO 95 | ! 96 | ! 97 | !Normalize boron weight to 100 98 | frac_holder = boron_array(1)%weight_percent + boron_array(2)%weight_percent 99 | boron_array(1)%weight_percent = (boron_array(1)%weight_percent/frac_holder) * 100 100 | boron_array(2)%weight_percent = (boron_array(2)%weight_percent/frac_holder) * 100 101 | ! 102 | ! 103 | !Calculate new mass of Boron 104 | inverse_mass = (boron_array(1)%weight_percent / boron_array(1)%isotopic_mass + & 105 | & boron_array(2)%weight_percent / boron_array(2)%isotopic_mass) / 100 106 | ! 107 | ! 108 | b_mass = 1.0 / inverse_mass 109 | ! 110 | ! 111 | !Assume a mass density of 1.0 g/cc and calculate an atom density in order to compute 112 | ! an atom percent for the enriched material 113 | ! 114 | ! N(sub-i) = w(sub-i)*rho*Avog#/M(sub-i) where M(sub-i) is the isotopic mass 115 | ! 116 | b10_atom_dens = boron_array(1)%weight_percent * 1.0 * 0.6022 / boron_array(1)%isotopic_mass / 100 117 | b11_atom_dens = boron_array(2)%weight_percent * 1.0 * 0.6022 / boron_array(2)%isotopic_mass / 100 118 | ! 119 | b_total_atom_dens = b10_atom_dens + b11_atom_dens 120 | ! 121 | boron_array(1)%atom_percent = b10_atom_dens / b_total_atom_dens * 100 122 | boron_array(2)%atom_percent = b11_atom_dens / b_total_atom_dens * 100 123 | 124 | CASE (92) 125 | DO k=1,3 126 | !Read in isotope number and its corresponding new weight percent. 127 | READ (UNIT=10,FMT=*) isotope(k), w_holder(k) 128 | IF (isotope(k) == 234) THEN 129 | uranium_array(1)%weight_percent = w_holder(k) 130 | ELSE IF (isotope(k) == 235) THEN 131 | uranium_array(2)%weight_percent = w_holder(k) 132 | ELSE IF (isotope(k) == 238) THEN 133 | uranium_array(3)%weight_percent = w_holder(k) 134 | END IF 135 | END DO 136 | ! 137 | ! 138 | !Normalize uranium weight to 100 139 | frac_holder = uranium_array(1)%weight_percent + uranium_array(2)%weight_percent + & 140 | & uranium_array(3)%weight_percent 141 | uranium_array(1)%weight_percent = (uranium_array(1)%weight_percent/frac_holder) * 100 142 | uranium_array(2)%weight_percent = (uranium_array(2)%weight_percent/frac_holder) * 100 143 | uranium_array(3)%weight_percent = (uranium_array(3)%weight_percent/frac_holder) * 100 144 | ! 145 | ! 146 | !Calculate new mass of Uranium 147 | inverse_mass = (uranium_array(1)%weight_percent / uranium_array(1)%isotopic_mass + & 148 | & uranium_array(2)%weight_percent / uranium_array(2)%isotopic_mass + & 149 | & uranium_array(3)%weight_percent / uranium_array(3)%isotopic_mass) / 100 150 | ! 151 | ! 152 | u_mass = 1.0 / inverse_mass 153 | ! 154 | ! 155 | !Assume a mass density of 1.0 g/cc and calculate an atom density in order to compute 156 | ! an atom percent for the enriched material 157 | ! 158 | ! N(sub-i) = w(sub-i)*rho*Avog#/M(sub-i) where M(sub-i) is the isotopic mass 159 | ! 160 | u234_atom_dens = uranium_array(1)%weight_percent * 1.0 * 0.6022 / uranium_array(1)%isotopic_mass / 100 161 | u235_atom_dens = uranium_array(2)%weight_percent * 1.0 * 0.6022 / uranium_array(2)%isotopic_mass / 100 162 | u238_atom_dens = uranium_array(3)%weight_percent * 1.0 * 0.6022 / uranium_array(3)%isotopic_mass / 100 163 | ! 164 | u_total_atom_dens = u234_atom_dens + u235_atom_dens + u238_atom_dens 165 | ! 166 | uranium_array(1)%atom_percent = u234_atom_dens / u_total_atom_dens * 100 167 | uranium_array(2)%atom_percent = u235_atom_dens / u_total_atom_dens * 100 168 | uranium_array(3)%atom_percent = u238_atom_dens / u_total_atom_dens * 100 169 | 170 | END SELECT 171 | END DO 172 | 173 | !Format Statements 174 | ! 6 FORMAT(A5,2X,F10.1) 175 | 176 | END SUBROUTINE 177 | -------------------------------------------------------------------------------- /source/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # This makefile works for Intel fortran (ifort). Additional 4 | # targets can be created. 5 | # 6 | # 7 | objects = NWC.o NWC-Database.o atom_density.o enriched.o \ 8 | MatMCNP.o print_data.o read_data.o \ 9 | title_comment.o weight_percent.o Z1_Z5.o Z6_Z10.o \ 10 | Z11_Z15.o Z16_Z20.o Z21_Z25.o Z26_Z30.o Z31_Z35.o \ 11 | Z36_Z40.o Z41_Z45.o Z46_Z50.o Z51_Z55.o Z56_Z60.o \ 12 | Z61_Z65.o Z66_Z70.o Z71_Z75.o Z76_Z80.o Z81_Z85.o \ 13 | Z86_Z90.o Z91_Z92.o 14 | 15 | # Fortran compiler 16 | intel : fortcomp = ifort 17 | gnu : fortcomp = gfortran 18 | # Compile flags 19 | intel : OFLAGS = -c 20 | gnu : OFLAGS = -c 21 | 22 | intel : $(objects) 23 | $(fortcomp) -o xmatmcnp $(objects) 24 | mv xmatmcnp ../bin/. 25 | 26 | gnu : $(objects) 27 | $(fortcomp) -o xmatmcnp $(objects) 28 | mv xmatmcnp ../bin/. 29 | 30 | %.o : %.f90 31 | $(fortcomp) $(OFLAGS) $< 32 | 33 | # 34 | # State the dependency of each of the object files 35 | # 36 | NWC-Database.o : NWC.o 37 | atom_density.o : NWC.o NWC-Database.o 38 | enriched.o : NWC.o NWC-Database.o 39 | MatMCNP.o : NWC.o NWC-Database.o 40 | print_data.o : NWC.o NWC-Database.o 41 | read_data.o : NWC.o NWC-Database.o 42 | weight_percent.o : NWC.o NWC-Database.o 43 | Z1_Z5.o : NWC.o NWC-Database.o 44 | Z6_Z10.o : NWC.o NWC-Database.o 45 | Z11_Z15.o : NWC.o NWC-Database.o 46 | Z16_Z20.o : NWC.o NWC-Database.o 47 | Z21_Z25.o : NWC.o NWC-Database.o 48 | Z26_Z30.o : NWC.o NWC-Database.o 49 | Z31_Z35.o : NWC.o NWC-Database.o 50 | Z36_Z40.o : NWC.o NWC-Database.o 51 | Z41_Z45.o : NWC.o NWC-Database.o 52 | Z46_Z50.o : NWC.o NWC-Database.o 53 | Z51_Z55.o : NWC.o NWC-Database.o 54 | Z56_Z60.o : NWC.o NWC-Database.o 55 | Z61_Z65.o : NWC.o NWC-Database.o 56 | Z66_Z70.o : NWC.o NWC-Database.o 57 | Z71_Z75.o : NWC.o NWC-Database.o 58 | Z76_Z80.o : NWC.o NWC-Database.o 59 | Z81_Z85.o : NWC.o NWC-Database.o 60 | Z86_Z90.o : NWC.o NWC-Database.o 61 | Z91_Z92.o : NWC.o NWC-Database.o 62 | 63 | 64 | clean: 65 | rm -f *.o *.mod *.obj 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /source/print_data.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE print_data(total_atom_b_cm,iso_atom_b_cm,mat_number,z_of_element) 7 | USE NWC_2000 8 | USE NWC_DATABASE 9 | IMPLICIT NONE 10 | 11 | !This subroutine contains the rest of the format statements for the output file. 12 | !It outputs the symbol of each isotope, their atom fraction, their weight fraction, 13 | !their atom density, the total atom density for the mixture, the MCNP material number, 14 | !and each isotope's zaid. 15 | !Created on June 24,2004 by Karen Kajder. 16 | ! 17 | !Modified by K. Russell DePriest on December 19, 2011 to account for new xsec 18 | ! data available in the mcnp format. 19 | ! 20 | ! - Additional changes with the release of ENDF/B-VII release 1 21 | ! made on 05/09/2014 22 | ! - Clean up to improve output formatting 23 | ! 24 | !Modified by K. Russell DePriest on July 22 - July 23, 2020 to account for new 25 | ! ENDF/B-VIII.0 cross sections and isotope data updated to the NWC July 2019 database 26 | ! values. Additional changes to allow for commandline arguments for input and output 27 | ! filenames for use directly instead of through scripts. The subroutine "naturalzaid" 28 | ! is no longer needed with latest cross section update. 29 | ! 30 | 31 | !Dummy variables 32 | REAL,DIMENSION(300),INTENT(IN):: iso_atom_b_cm 33 | REAL,INTENT(IN)::total_atom_b_cm 34 | CHARACTER(LEN=5)::mat_number 35 | INTEGER, DIMENSION(92)::z_of_element 36 | 37 | !Local variables 38 | INTEGER::i,j, adj_num_iso 39 | REAL::holder 40 | 41 | !Initialize 42 | holder = 0.0 43 | 44 | !Loop to print calculated info. with each isotope's symbol to the output file. 45 | DO i=1,num_iso 46 | WRITE (UNIT=11,FMT=444) output_array(i)%symbol,output_array(i)%atom_percent,& 47 | output_array(i)%weight_percent,iso_atom_b_cm(i) 48 | END DO 49 | 50 | !Print the total atoms/b-cm 51 | WRITE (UNIT=11, FMT=555) total_atom_b_cm 52 | 53 | !Print message for elements that could be modified by an S(alpha,beta). 54 | DO i=1,num_iso 55 | IF (z_of_element(i) == 1) THEN 56 | WRITE (UNIT=11, FMT=39) 57 | EXIT 58 | ELSE IF (z_of_element(i) == 4) THEN 59 | WRITE (UNIT=11, FMT=39) 60 | EXIT 61 | ELSE IF (z_of_element(i) == 6) THEN 62 | WRITE (UNIT=11, FMT=39) 63 | EXIT 64 | ELSE IF (z_of_element(i) == 8) THEN 65 | WRITE (UNIT=11, FMT=39) 66 | EXIT 67 | ELSE IF (z_of_element(i) == 13) THEN 68 | WRITE (UNIT=11, FMT=39) 69 | EXIT 70 | ELSE IF (z_of_element(i) == 40) THEN 71 | WRITE (UNIT=11, FMT=39) 72 | EXIT 73 | END IF 74 | END DO 75 | 76 | 77 | !Print info. in MatMCNP format. 78 | WRITE (UNIT=11,FMT=777) mat_number,output_array(1)%zaid,output_array(1)%atom_percent 79 | 80 | !If there is more than one isotope in the mixture, then print out that information. 81 | IF (num_iso > 1) THEN 82 | DO i=2,num_iso 83 | WRITE (UNIT=11,FMT=888) output_array(i)%zaid,output_array(i)%atom_percent 84 | END DO 85 | END IF 86 | 87 | 88 | !Format statements 89 | 444 FORMAT ("C",2X,A6,6X,F9.6,10X,F9.6,10X,F9.7) 90 | 555 FORMAT ("C"/"C",2X,"The total compound atom density (atom/b-cm): ",F9.7,/"C") 91 | 777 FORMAT ("M",A5,2X,A9,2X,F9.6) 92 | 888 FORMAT (8X,A9,2X,F9.6) 93 | 39 FORMAT ("C"/"C",2X,"This material contains an isotope that is often modified by "/"C",2X,"an S(alpha,beta).& 94 | & Check MCNP Manual Appendix G to see if an"/"C",2X,"S(alpha,beta) card (i.e., an MTn card) is required."/"C") 95 | 96 | END SUBROUTINE print_data 97 | -------------------------------------------------------------------------------- /source/read_data.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE read_data(compound_density,atom_or_weight,number_elements, z_of_element, & 7 | natural_or_enriched,a_or_w_percent,mat_number, oflag) 8 | USE NWC_2000 9 | USE NWC_DATABASE 10 | IMPLICIT NONE 11 | 12 | !Subroutine to read in the rest of the data from the input deck. 13 | !Created on June 21,2004, by Karen Kajder. 14 | ! 15 | !This subroutine needs to be modified to allow more freedom of 16 | !input formats. Probably some intrinsic string functions and 17 | !logic tests would allow MatMCNP to move to free format reads. 18 | 19 | !Dummy Variables 20 | REAL,INTENT(OUT):: compound_density 21 | REAL, DIMENSION(92),INTENT(OUT):: a_or_w_percent 22 | CHARACTER(LEN=6),INTENT(OUT)::atom_or_weight 23 | CHARACTER(LEN=5),INTENT(OUT)::mat_number 24 | CHARACTER(LEN=3), DIMENSION(92),INTENT(OUT)::natural_or_enriched 25 | INTEGER,INTENT(OUT):: number_elements, oflag 26 | INTEGER, DIMENSION(92),INTENT(OUT)::z_of_element 27 | 28 | !Local variables 29 | INTEGER:: i 30 | REAL:: holder 31 | 32 | !Initialize 33 | holder = 0.0 34 | 35 | !Read in density, whether using weight percents or atom percents, 36 | !and the number of elements in the compound from input file. 37 | READ (UNIT=10,FMT=1) compound_density 38 | READ (UNIT=10,FMT=2) atom_or_weight 39 | READ (UNIT=10,FMT=3) number_elements 40 | 41 | !Allow only 92 element entries 42 | IF (number_elements > 92) THEN 43 | !Print error message for two many entries 44 | WRITE (UNIT=11, FMT=7) 45 | STOP 46 | END IF 47 | 48 | !Loop to read in whether each element is natural or enriched, the z of each 49 | !element and the atomic or weight percent. 50 | DO i=1, number_elements 51 | READ (10,*) natural_or_enriched(i), z_of_element(i),a_or_w_percent(i) 52 | holder = holder + a_or_w_percent(i) 53 | ! 54 | !Check for Z > 92 55 | IF (z_of_element(i) .GT. 92) THEN 56 | !Print error message if Z is greater than 92. 57 | WRITE (UNIT=11, FMT=6) 58 | STOP 59 | END IF 60 | ! 61 | IF (natural_or_enriched(i) == 'nat') THEN 62 | CONTINUE 63 | ELSE IF (natural_or_enriched(i) == 'enr') THEN 64 | CALL enriched(natural_or_enriched,z_of_element,number_elements) 65 | ELSE 66 | !Print error message if user does not specify whether element is natural or enriched. 67 | WRITE (UNIT=11, FMT=5) 68 | STOP 69 | END IF 70 | END DO 71 | 72 | !Read in material number. 73 | READ (UNIT=10,FMT=4) mat_number 74 | 75 | IF (mat_number == 'xgen') THEN 76 | oflag = 1 77 | ELSE 78 | oflag = 0 79 | END IF 80 | 81 | !Normalize atom or weight percent to 1.0 (or 100%) 82 | a_or_w_percent = (a_or_w_percent/holder) 83 | 84 | !Format Statements 85 | 1 FORMAT(F20.3) 86 | 2 FORMAT(A6) 87 | 3 FORMAT(I2) 88 | 4 FORMAT(A5) 89 | 5 FORMAT(/"Error: Need to specify whether the element(s) is natural or enriched & 90 | &(nat or enr)."/" Make sure it is not capitalized. ") 91 | 6 FORMAT(/"Error: Elements with Z > 92 are not implemented in MatMCNP.") 92 | 7 FORMAT(/,"Error: MatMCNP limits the number of element entries to 92 or less.") 93 | 94 | END SUBROUTINE 95 | -------------------------------------------------------------------------------- /source/title_comment.f90: -------------------------------------------------------------------------------- 1 | ! 2 | ! Copyright (c) 2019 National Technology & Engineering Solutions of 3 | ! Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with 4 | ! NTESS, the U.S. Government retains certain rights in this software. 5 | ! 6 | SUBROUTINE title_comment 7 | IMPLICIT NONE 8 | 9 | !This subroutine created on June 10,2004, by Karen Kajder. It reads in 10 | !the compound's title and comment cards and prints them to the output deck. 11 | ! 12 | !Modifications to NWC Data by K. Russell DePriest (July 2020), so the 13 | ! version number is incremented. 14 | 15 | !Variables. 16 | CHARACTER(LEN=65):: title 17 | CHARACTER(LEN=72)::comment_cards 18 | INTEGER:: comment_number, i 19 | 20 | !Read from the input file the title and the number of comment cards. 21 | READ (UNIT=10,FMT=110) title, comment_number 22 | 23 | !Output to output file. 24 | WRITE (UNIT=11,FMT=111) title 25 | 26 | !Loop to get each comment card and display to output file. 27 | DO i=1, comment_number 28 | READ (UNIT=10,FMT=210) comment_cards 29 | WRITE (UNIT=11,FMT=222) comment_cards 30 | END DO 31 | 32 | !output titles of matmcnp calculations 33 | WRITE (UNIT=11,FMT=333) 34 | 35 | !Format statements 36 | 110 FORMAT(A65/I2) 37 | 111 FORMAT("C"/"C",2X,A65/"C") 38 | 210 FORMAT(A72) 39 | 222 FORMAT("C",2X,A72) 40 | 333 FORMAT("C"/"C",3X,"Summary of MatMCNP (Version 4.1) Calculations:"/"C"/"C",2X,"Isotope",2X, & 41 | "Number Fraction",4X,"Weight Fraction",7X,"Atoms/b-cm") 42 | 43 | END SUBROUTINE title_comment 44 | -------------------------------------------------------------------------------- /test.inp: -------------------------------------------------------------------------------- 1 | PA 2200 aka Polyamide 12 aka Nylon 12 aka Polylauryllactam 2 | 5 3 | The atom fraction of Polyamide 12 (C12H23NO)is used. 4 | The natural abundances are used for each element. 5 | The density of laser sintered Polyamide 12 is 0.93 g/cc, 6 | per the EOS Safety Data Sheet. 7 | The MCNP material number is found after the material. 8 | 0.93 9 | atomic 10 | 4 11 | nat 1 0.621621622 12 | nat 6 0.324324324 13 | nat 7 0.027027027 14 | nat 8 0.027027027 15 | 100 16 | -------------------------------------------------------------------------------- /test.out: -------------------------------------------------------------------------------- 1 | C 2 | C PA 2200 aka Polyamide 12 aka Nylon 12 aka Polylauryllactam 3 | C 4 | C The atom fraction of Polyamide 12 (C12H23NO)is used. 5 | C The natural abundances are used for each element. 6 | C The density of laser sintered Polyamide 12 is 0.93 g/cc, 7 | C per the EOS Safety Data Sheet. 8 | C The MCNP material number is found after the material. 9 | C 10 | C Summary of MatMCNP (Version 4.0) Calculations: 11 | C 12 | C Isotope Number Fraction Weight Fraction Atoms/b-cm 13 | C H-1 0.621550 0.117462 0.0652749 14 | C H-2 0.000071 0.000027 0.0000075 15 | C C-12 0.320854 0.721979 0.0336959 16 | C C-13 0.003470 0.008462 0.0003644 17 | C N-14 0.026929 0.070709 0.0028280 18 | C N-15 0.000098 0.000277 0.0000103 19 | C O-16 0.026961 0.080865 0.0028315 20 | C O-17 0.000010 0.000033 0.0000011 21 | C O-18 0.000055 0.000187 0.0000058 22 | C 23 | C The total compound atom density (atom/b-cm): 0.1050195 24 | C 25 | C 26 | C This material contains an isotope that is often modified by 27 | C an S(alpha,beta). Check MCNP Manual Appendix G to see if an 28 | C S(alpha,beta) card (i.e., an MTn card) is required. 29 | C 30 | M100 01001.80c 0.621550 31 | 01002.80c 0.000071 32 | 06000.80c 0.324324 33 | 07014.80c 0.026929 34 | 07015.80c 0.000098 35 | 08016.80c 0.026961 36 | 08017.80c 0.000010 37 | 08016.80c 0.000055 38 | C 39 | C Caution: The natural zaid is used for Carbon. 40 | C 41 | C Caution: The O-18 has been set to O-16. 42 | C 43 | C To convert a particle flux to rad[Material] 44 | C use FM 1.8090452E-09 100 -4 1 for neutrons 45 | C or FM 1.8090452E-09 100 -5 -6 for photons. 46 | C 47 | --------------------------------------------------------------------------------