Ejemplo n.º 1
0
        public void SetIsotopesFlux(List <Isotope> isotopes, NeutronSpectra neutronSpectra, Constants.DATALIBS dataLib, double kt)
        {
            NeutronSpectra = neutronSpectra;
            var macs = CurrentEndf.EndfMacs.GetMacsList(dataLib, kt);

            BurnUp = new BurnUp(isotopes, neutronSpectra, macs);
        }
Ejemplo n.º 2
0
 public Reactor(List <Isotope> isotopes, NeutronSpectra spectra, DensityArray densityArray, Endf[] nuclearData)
 {
     initialize(nuclearData);
     NeutronSpectra = spectra;
     BurnUp         = new BurnUp(isotopes, NeutronSpectra);
     DensityArray   = densityArray;
     Calculate(1.0E6);
 }
Ejemplo n.º 3
0
 public void setAvgCrossSections(NeutronSpectra neutronSpectra)
 {
     foreach (var isotope in Isotopes)
     {
         foreach (var cs in isotope.CrossSections)
         {
             cs.Value.SetAvgCs(neutronSpectra);
         }
     }
 }
Ejemplo n.º 4
0
        private void buildBurnup()
        {
            IsBurnupSet = false;

            var flux           = getText(fluxTextBox.Text, "Поток нейтронов");
            var temp           = getText(temperTextBox.Text, "Температура");
            var kt             = getText(txtBoxKt.Text, "kT");
            var neutronSpectra = new NeutronSpectra(flux, temp);

            Constants.DATALIBS dataLib;
            Enum.TryParse(comBoxDataLibs.SelectedValue.ToString(), out dataLib);

            var isotopes = GetIsotopesRange(isotopesRange.Text);

            if (isotopes.Count == 0)
            {
                isotopes = GetIsotopesList(isotopesList.Text);
            }
            if (isotopes.Count == 0)
            {
                MessageBox.Show("Установите какие диапазон изотопов", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            //isotopes.RemoveAll(x => x.HalfLife <= 1000000.0);
            Reactor.SetIsotopesFlux(isotopes, neutronSpectra, dataLib, kt);

            /*var  iso1 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Tl-206");  iso1.HalfLife = 2.52E2;    iso1.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             * var  iso2 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Tl-207");  iso2.HalfLife = 2.86E2;    iso2.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             * var  iso3 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-204");  iso3.HalfLife = 1.0E40;    iso3.CrossSections[Constants.REACT.N_G].AvgCs = 0.6650334;
             * var  iso4 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-205");  iso4.HalfLife = 1.0E40;    iso4.CrossSections[Constants.REACT.N_G].AvgCs = 4.5297837;
             * var  iso5 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-206");  iso5.HalfLife = 1.0E40;    iso5.CrossSections[Constants.REACT.N_G].AvgCs = 0.0274678;
             * var  iso6 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-207");  iso6.HalfLife = 1.0E40;    iso6.CrossSections[Constants.REACT.N_G].AvgCs = 0.6265085;
             * var  iso7 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-208");  iso7.HalfLife = 1.0E40;    iso7.CrossSections[Constants.REACT.N_G].AvgCs = 2.3199E-4;
             * var  iso8 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-209");  iso8.HalfLife = 1.16E4;    iso8.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             * var  iso9 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-210");  iso9.HalfLife = 7.01E8;    iso9.CrossSections[Constants.REACT.N_G].AvgCs = 0.503063;
             * var iso10 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Pb-211");  iso10.HalfLife = 2.17E3;  iso10.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             * var iso11 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Bi-209");  iso11.HalfLife = 1.0E40;  iso11.CrossSections[Constants.REACT.N_G].AvgCs = 0.0403781;
             * var iso12 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Bi-210");  iso12.HalfLife = 4.33E5;  iso12.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             * var iso13 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Bi-211");  iso13.HalfLife = 1.28E2;  iso13.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             * var iso14 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Po-210");  iso14.HalfLife = 1.2E7;   iso14.CrossSections[Constants.REACT.N_G].AvgCs = 0.030174702;
             * var iso15 = Reactor.BurnUp.Isotopes.FirstOrDefault(x => x.Name == "Po-211");  iso15.HalfLife = 5.16E-1; //iso15.CrossSections[Constants.REACT.N_G].AvgCs = 0.0;
             */
            //Reactor.BurnUp.setCaptureProbabilityMatrix();
            //Reactor.BurnUp.setDecayProbabilityMatrix();
            //Reactor.BurnUp.SetBurnMatrix();
            //CalculationView.PrintMatrix<double>(terminal, Reactor.BurnUp.Matrix);
            IsBurnupSet = true;
        }
Ejemplo n.º 5
0
        private void FormMain_Load(object sender, EventArgs e)
        {
            double Flux           = 1.0E30; // 1/cm^2/s
            double StarTemperatue = 3000;   // Kelvin

            neutronSpectra = new NeutronSpectra(Flux, StarTemperatue);
            using (StreamWriter writer = new StreamWriter("dataNeutron.dat"))
            {
                double en = 1E-6;
                for (int i = 0; i < 35; i++)
                {
                    var data = NeutronSpectra.MaxwellCurve(en, StarTemperatue);
                    writer.WriteLine($"{en}\t{data}");
                    en = en * 10;
                }
            }

            var task = Task.Run(() => ReadAllNuclearData());
        }
Ejemplo n.º 6
0
 public void SetIsotopesFlux(List <Isotope> isotopes, NeutronSpectra neutronSpectra)
 {
     NeutronSpectra = neutronSpectra;
     BurnUp         = new BurnUp(isotopes, neutronSpectra);
 }
Ejemplo n.º 7
0
 private void initialize(int count, NeutronSpectra neutronSpectra)
 {
     setAvgCrossSections(neutronSpectra);
     initilaize(count);
 }
Ejemplo n.º 8
0
 public BurnUp(List <Isotope> isotopes, NeutronSpectra neutronSpectra, List <Macs> macsList)
 {
     Isotopes       = isotopes;
     NeutronSpectra = neutronSpectra;
     initialize(isotopes.Count, macsList);
 }
Ejemplo n.º 9
0
 public BurnUp(List <Isotope> isotopes, NeutronSpectra neutronSpectra)
 {
     Isotopes       = isotopes;
     NeutronSpectra = neutronSpectra;
     initialize(isotopes.Count, neutronSpectra);
 }