aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/github/technus/tectech/TecTech.java3
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/core/interfaces/iElementalDefinition.java2
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java127
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java132
-rw-r--r--src/main/java/com/github/technus/tectech/loader/AtomOverrider.java42
-rw-r--r--src/main/resources/assets/tectech/energyLevels.csv2920
-rw-r--r--src/main/resources/assets/tectech/nuclides.csv6783
-rw-r--r--src/main/resources/assets/tectech/nuclides.tsv6783
-rw-r--r--src/main/resources/assets/tectech/nuclidesTable.csv3255
9 files changed, 13156 insertions, 6891 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java
index c80a9de6f4..952e57ac14 100644
--- a/src/main/java/com/github/technus/tectech/TecTech.java
+++ b/src/main/java/com/github/technus/tectech/TecTech.java
@@ -2,8 +2,6 @@ package com.github.technus.tectech;
import com.github.technus.tectech.auxiliary.Reference;
import com.github.technus.tectech.auxiliary.TecTechConfig;
-import com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition;
-import com.github.technus.tectech.loader.AtomOverrider;
import com.github.technus.tectech.loader.MainLoader;
import com.github.technus.tectech.proxy.CommonProxy;
import cpw.mods.fml.common.Loader;
@@ -73,7 +71,6 @@ public class TecTech {
GTCustomLoader = new MainLoader();
- dAtomDefinition.overrides.add(new AtomOverrider());
TecTech.Logger.info("Added Atom Overrider");
}
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/core/interfaces/iElementalDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/core/interfaces/iElementalDefinition.java
index ea34530057..e40e2c0a46 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/core/interfaces/iElementalDefinition.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/core/interfaces/iElementalDefinition.java
@@ -12,7 +12,7 @@ import net.minecraft.nbt.NBTTagCompound;
* Created by danie_000 on 11.11.2016.
*/
public interface iElementalDefinition extends Comparable<iElementalDefinition>,Cloneable {//IMMUTABLE
- float STABLE_RAW_LIFE_TIME =1.5e25f;
+ float STABLE_RAW_LIFE_TIME =1.5e36f;
//Nomenclature
String getName();
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java
index 3052ac0600..3fc042f0d9 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/dAtomDefinition.java
@@ -11,6 +11,7 @@ import com.github.technus.tectech.elementalMatter.core.interfaces.iElementalDefi
import com.github.technus.tectech.elementalMatter.core.tElementalException;
import com.github.technus.tectech.elementalMatter.core.templates.cElementalDefinition;
import com.github.technus.tectech.elementalMatter.core.transformations.*;
+import com.github.technus.tectech.elementalMatter.definitions.complex.iaea.iaeaNuclide;
import com.github.technus.tectech.elementalMatter.definitions.primitive.eBosonDefinition;
import com.github.technus.tectech.elementalMatter.definitions.primitive.eLeptonDefinition;
import com.github.technus.tectech.elementalMatter.definitions.primitive.eNeutrinoDefinition;
@@ -47,6 +48,8 @@ public final class dAtomDefinition extends cElementalDefinition {
private static final HashMap<dAtomDefinition,Float> lifetimeOverrides = new HashMap<>();
public static final ArrayList<Runnable> overrides = new ArrayList<>();
+ public final iaeaNuclide iaea;
+
public static void addOverride(dAtomDefinition atom, float rawLifeTime){
lifetimeOverrides.put(atom,rawLifeTime);
}
@@ -128,7 +131,6 @@ public final class dAtomDefinition extends cElementalDefinition {
element = Math.abs(element);
- xstr.setSeed((long) (element + 1) * (neutralCount + 100));
//stability curve
int StableIsotope = stableIzoCurve(element);
@@ -137,20 +139,32 @@ public final class dAtomDefinition extends cElementalDefinition {
hash=super.hashCode();
- Float overriddenLifeTime=lifetimeOverrides.get(this);
- float rawLifeTimeTemp;
- if(overriddenLifeTime!=null)
- rawLifeTimeTemp = overriddenLifeTime;
- else
- rawLifeTimeTemp= calculateLifeTime(izoDiff, izoDiffAbs, element, neutralCount, containsAnti);
+ iaea=iaeaNuclide.get(element,neutralCount);
+ if(iaea!=null){
+ xstr.setSeed((long) (element + 1) * (neutralCount + 100));
+ this.rawLifeTime=containsAnti ? iaea.Thalf * 1.5514433E-21f * (1f + xstr.nextFloat() * 9f):iaea.Thalf;
+ }else{
+ Float overriddenLifeTime=lifetimeOverrides.get(this);
+ float rawLifeTimeTemp;
+ if(overriddenLifeTime!=null)
+ rawLifeTimeTemp = overriddenLifeTime;
+ else {
+ xstr.setSeed((long) (element + 1) * (neutralCount + 100));
+ rawLifeTimeTemp = calculateLifeTime(izoDiff, izoDiffAbs, element, neutralCount, containsAnti);
+ }
+ this.rawLifeTime=rawLifeTimeTemp> STABLE_RAW_LIFE_TIME ? STABLE_RAW_LIFE_TIME :rawLifeTimeTemp;
+ }
- this.rawLifeTime=rawLifeTimeTemp> STABLE_RAW_LIFE_TIME ? STABLE_RAW_LIFE_TIME :rawLifeTimeTemp;
- if (izoDiff == 0)
- this.decayMode = 0;
- else
- this.decayMode = izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4);
- this.stable = this.rawLifeTime>= STABLE_RAW_LIFE_TIME;
+ if(iaea==null || iaea.energeticStates==null || iaea.energeticStates.get(0f)==null) {
+ if (izoDiff == 0)
+ this.decayMode = 0;
+ else
+ this.decayMode = izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4);
+ }else{
+ this.decayMode=Byte.MAX_VALUE;
+ }
+ this.stable = this.rawLifeTime >= STABLE_RAW_LIFE_TIME;
}
private static int stableIzoCurve(int element) {
@@ -308,6 +322,8 @@ public final class dAtomDefinition extends cElementalDefinition {
return Emmision(dHadronDefinition.hadron_n1);
case 2:
return MbetaDecay();
+ case Byte.MAX_VALUE:
+ return iaeaDecay();
default:
return getNaturalDecayInstant();
}
@@ -316,6 +332,10 @@ public final class dAtomDefinition extends cElementalDefinition {
}
}
+ private cElementalDecay[] iaeaDecay(){
+ return null;
+ }
+
private cElementalDecay[] Emmision(cElementalDefinitionStack emit) {
final cElementalMutableDefinitionStackMap tree = new cElementalMutableDefinitionStackMap(elementalStacks.values());
if (tree.removeAmount(false, emit)) {
@@ -403,14 +423,14 @@ public final class dAtomDefinition extends cElementalDefinition {
final cElementalMutableDefinitionStackMap light = new cElementalMutableDefinitionStackMap(elementalStacks.values());
final cElementalMutableDefinitionStackMap heavy = new cElementalMutableDefinitionStackMap();
final ArrayList<cElementalDefinitionStack> particles = new ArrayList<>(4);
- final double[] liquidDrop=liquidDropFunction(Math.abs(element)>97);
+ final double[] liquidDrop=liquidDropFunction(Math.abs(element)<=97);
for(cElementalDefinitionStack stack:light.values()){
if(spontaneousCheck && stack.definition instanceof dHadronDefinition &&
(stack.amount<=80 || (stack.amount<90 && XSTR_INSTANCE.nextInt(10)<stack.amount-80)))
return getNaturalDecayInstant();
if(stack.definition.getCharge()==0){
- if(stack.definition instanceof dHadronDefinition){
+ //if(stack.definition instanceof dHadronDefinition){
double neutrals=stack.amount*liquidDrop[2];
int neutrals_cnt=(int)Math.floor(neutrals);
neutrals_cnt+=neutrals-neutrals_cnt>XSTR_INSTANCE.nextDouble()?1:0;
@@ -421,12 +441,14 @@ public final class dAtomDefinition extends cElementalDefinition {
heavy_cnt--;
light.removeAmount(false,new cElementalDefinitionStack(stack.definition,heavy_cnt+neutrals_cnt));
heavy.putReplace(new cElementalDefinitionStack(stack.definition, heavy_cnt));
- }else{
- particles.add(stack);
- light.remove(stack.definition);
- }
+ //}else{
+ // particles.add(stack);
+ // light.remove(stack.definition);
+ //}
}else{
int heavy_cnt=(int)Math.ceil(stack.amount*liquidDrop[0]);
+ if(heavy_cnt%2==1 && XSTR_INSTANCE.nextFloat()>0.05f)
+ heavy_cnt--;
cElementalDefinitionStack new_stack=new cElementalDefinitionStack(stack.definition, heavy_cnt);
light.removeAmount(false,new_stack);
heavy.putReplace(new_stack);
@@ -456,24 +478,24 @@ public final class dAtomDefinition extends cElementalDefinition {
if (XSTR_INSTANCE.nextBoolean())
out[0] = XSTR_INSTANCE.nextDouble() * 2d - 1d;
- if (asymmetric && out[0] > XSTR_INSTANCE.nextDouble() && XSTR_INSTANCE.nextInt(3) == 0)
- out[0] = -out[0];
+ if (asymmetric && out[0] > XSTR_INSTANCE.nextDouble() && XSTR_INSTANCE.nextInt(4) == 0)
+ out[0] = -out[0];
//scale to splitting ratio
- out[0]=out[0]*0.025d+.575d;
+ out[0] = out[0] * 0.05d + .6d;
- if(out[0]<0 || out [0]>1)
+ if (out[0] < 0 || out[0] > 1)
return liquidDropFunction(asymmetric);
- if(out[0]<.5d)
- out[0]=1d-out[0];
+ if (out[0] < .5d)
+ out[0] = 1d - out[0];
//extra neutrals
- out[2]=0.012d+XSTR_INSTANCE.nextDouble()*0.01d;
+ out[2] = 0.012d + XSTR_INSTANCE.nextDouble() * 0.01d;
if (asymmetric)
- out[1]=out[0];
+ out[1] = out[0];
else
- out[1]=out[0]-out[2]*.5d;
+ out[1] = out[0] - out[2] * .5d;
return out;
}
@@ -522,34 +544,34 @@ public final class dAtomDefinition extends cElementalDefinition {
return new cElementalDecay[]{new cElementalDecay(0.75F, decaysInto.toArray(new cElementalDefinitionStack[decaysInto.size()])), eBosonDefinition.deadEnd};
}
+ //@Override
+ //public iElementalDefinition getAnti() {
+ // cElementalDefinitionStack[] stacks = this.elementalStacks.values();
+ // cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length];
+ // for (int i = 0; i < antiElements.length; i++) {
+ // antiElements[i] = new cElementalDefinitionStack(stacks[i].definition.getAnti(), stacks[i].amount);
+ // }
+ // try {
+ // return new dAtomDefinition(false, antiElements);
+ // } catch (tElementalException e) {
+ // if (DEBUG_MODE) e.printStackTrace();
+ // return null;
+ // }
+ //}
+
@Override
public iElementalDefinition getAnti() {
- cElementalDefinitionStack[] stacks = this.elementalStacks.values();
- cElementalDefinitionStack[] antiElements = new cElementalDefinitionStack[stacks.length];
- for (int i = 0; i < antiElements.length; i++) {
- antiElements[i] = new cElementalDefinitionStack(stacks[i].definition.getAnti(), stacks[i].amount);
- }
+ cElementalMutableDefinitionStackMap anti = new cElementalMutableDefinitionStackMap();
+ for (cElementalDefinitionStack stack : elementalStacks.values())
+ anti.putReplace(new cElementalDefinitionStack(stack.definition.getAnti(), stack.amount));
try {
- return new dAtomDefinition(false, antiElements);
+ return new dAtomDefinition(anti.toImmutable());
} catch (tElementalException e) {
if (DEBUG_MODE) e.printStackTrace();
return null;
}
}
- //@Override
- //public iElementalDefinition getAnti() {
- // cElementalMutableDefinitionStackMap anti = new cElementalMutableDefinitionStackMap();
- // for (cElementalDefinitionStack stack : elementalStacks.values())
- // anti.putReplace(new cElementalDefinitionStack(stack.definition.getAnti(), stack.amount));
- // try {
- // return new dAtomDefinition(anti.toImmutable());
- // } catch (tElementalException e) {
- // if (TecTechConfig.DEBUG_MODE) e.printStackTrace();
- // return null;
- // }
- //}
-
@Override
public aFluidDequantizationInfo someAmountIntoFluidStack() {
return transformation.fluidDequantization.get(this);
@@ -606,7 +628,7 @@ public final class dAtomDefinition extends cElementalDefinition {
}
//populate stable isotopes
- for (int element = 1; element < 84; element++)//Up to Astatine exclusive
+ for (int element = 1; element < 83; element++)//Up to Bismuth exclusive
for (int isotope = 0; isotope < 130; isotope++) {
xstr.setSeed((long) (element + 1) * (isotope + 100));
//stability curve
@@ -614,7 +636,8 @@ public final class dAtomDefinition extends cElementalDefinition {
final int izoDiff = isotope - StableIsotope;
final int izoDiffAbs = Math.abs(izoDiff);
final float rawLifeTime = calculateLifeTime(izoDiff, izoDiffAbs, element, isotope, false);
- if (rawLifeTime>= STABLE_RAW_LIFE_TIME) {
+ iaeaNuclide nuclide=iaeaNuclide.get(element,isotope);
+ if (rawLifeTime>= STABLE_RAW_LIFE_TIME || (nuclide!=null && nuclide.Thalf>=STABLE_RAW_LIFE_TIME)) {
TreeSet<Integer> isotopes = stableIsotopes.get(element);
if (isotopes == null) stableIsotopes.put(element, isotopes = new TreeSet<>());
isotopes.add(isotope);
@@ -622,7 +645,7 @@ public final class dAtomDefinition extends cElementalDefinition {
}
//populate unstable isotopes
- for (int element = 84; element < 150; element++)
+ for (int element = 83; element < 150; element++)
for (int isotope = 100; isotope < 180; isotope++) {
xstr.setSeed((long) (element + 1) * (isotope + 100));
//stability curve
@@ -756,11 +779,11 @@ public final class dAtomDefinition extends cElementalDefinition {
transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(80), 144),Materials.Mercury.mFluid.getID(), 144);
//transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(81), 144),OrePrefixes.dust, Materials.Thallium,1);
transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(82), 144), dust, Materials.Lead,1);
- transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(83), 144), dust, Materials.Bismuth,1);
/*----UNSTABLE ATOMS----**/
- refUnstableMass = getFirstStableIsotope(83).getMass() * 144F;
+ refUnstableMass = getFirstStableIsotope(82).getMass() * 144F;
+ transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(83), 144), dust, Materials.Bismuth,1);
//transformation.addOredict(new cElementalDefinitionStack(getBestUnstableIsotope(84),144),OrePrefixes.dust, Materials.Polonium,1);
//transformation.addFluid(new cElementalDefinitionStack(getBestUnstableIsotope(85),144),Materials.Astatine.mPlasma.getID(), 144);
transformation.addFluid(new cElementalDefinitionStack(getBestUnstableIsotope(86),144),Materials.Radon.mGas.getID(), 144);
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java
index 7537decba4..d9cdf8db4e 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/complex/iaea/iaeaNuclide.java
@@ -9,6 +9,8 @@ import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.TreeMap;
import static com.github.technus.tectech.elementalMatter.core.interfaces.iElementalDefinition.STABLE_RAW_LIFE_TIME;
@@ -17,17 +19,21 @@ public final class iaeaNuclide {
//Nuclide T1/2 T1/2 [s] Decay Modes ? Q Q?- Q? QEC Q?- n Sn Sp Binding/A Atomic Mass Mass Excess Discovery
//Abund. [mole fract.] BR [%] [?N] [barn] [keV] [keV] [keV] [keV] [keV] [keV] [keV] [? AMU] [keV]
+
+ //Z,N,symb,radius, unc, energy, unc, jp, half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quad , unc,Qb-,unc,Qb- n,unc,Qa, unc, Qec, unc,Sn,unc, Sp,unc,Binding/A,unc,atomic mass, unc, mass excess,unc,
+ //Z,N,symbol,energy , unc, jp,half-life operator, half_life, unc,unit, half_life [s], unc, decay, decay %, unc, decay, decay %, unc, decay, decay %, unc,isospin,magn. dipole, unc, elect. quadrupole , unc,
private static final HashMap<Integer,iaeaNuclide> NUCLIDES=new HashMap<>();
public static void run(){
+ String line="";
+
try {
- ResourceLocation loc = new ResourceLocation(Reference.MODID+":nuclides.tsv");
+ ResourceLocation loc = new ResourceLocation(Reference.MODID+":nuclides.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream()));
ArrayList<String[]> blockOfData=new ArrayList<>(4);
- String line;
while((line=reader.readLine())!=null) {
- String[] split= Util.splitButDifferent(line,"\t");
- if(split.length!=19) throw new Error("Invalid count ("+split.length+") of separators in IAEA database " + line);
+ String[] split= Util.splitButDifferent(line,",");
+ if(split.length!=19) throw new Error("Invalid count ("+split.length+") of separators in IAEA nuclides database " + line);
if(split[1].length()>0 && !blockOfData.isEmpty()) {
new iaeaNuclide(blockOfData.toArray(new String[0][]));
blockOfData.clear();
@@ -38,9 +44,39 @@ public final class iaeaNuclide {
new iaeaNuclide(blockOfData.toArray(new String[0][]));
blockOfData.clear();
}
- }catch (Throwable e){
+ }catch (Exception e){
+ System.out.println(line);
+ e.printStackTrace();
+ }
+
+ try {
+ ResourceLocation loc = new ResourceLocation(Reference.MODID+":nuclidesTable.csv");
+ BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream()));
+ while((line=reader.readLine())!=null) {
+ String[] split= Util.splitButDifferent(line,",");
+ if(split.length!=47) throw new Error("Invalid count ("+split.length+") of separators in IAEA nuvlidesTable database " + line);
+ get(Integer.parseInt(split[0]),Integer.parseInt(split[1])).getMoreData(split);
+ }
+ }catch (Exception e){
+ System.out.println(line);
+ e.printStackTrace();
+ }
+
+ try {
+ ResourceLocation loc = new ResourceLocation(Reference.MODID+":energyLevels.csv");
+ BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream()));
+ while((line=reader.readLine())!=null) {
+ String[] split= Util.splitButDifferent(line,",");
+ if(split.length!=27) throw new Error("Invalid count ("+split.length+") of separators in IAEA energyLevels database " + line);
+ new energeticState(split);
+ }
+ }catch (Exception e){
+ System.out.println(line);
e.printStackTrace();
- throw new Error(e.getMessage());
+ }
+
+ for(String s:decays){
+ System.out.println(s);
}
}
@@ -50,10 +86,9 @@ public final class iaeaNuclide {
public final short N,Z;
public final float Thalf;//sec
- //public final HashMap<String,Float> decaymodes;
-
public final float mass;//eV/c^2
public final short discovery;//year
+ public TreeMap<Float,energeticState> energeticStates;
private iaeaNuclide(String[][] rows){
@@ -61,7 +96,6 @@ public final class iaeaNuclide {
Z=Short.parseShort(rows[1][0]);
NUCLIDES.put((((int)Z)<<16)+N,this);
-
String[] parts = Util.splitButDifferent(rows[0][16], "|");
double Mass=doubleOrNaN(parts[0],"mass");
if(Mass!=Double.NaN) mass = (float)(Mass*MICRO_AMU_TO_EV_DIV_C_C);
@@ -74,6 +108,11 @@ public final class iaeaNuclide {
}else{
parts = Util.splitButDifferent(rows[0][4], "|");
Thalf = (float)doubleOrNaN(parts[0],"half life");
+ //if(Thalf>STABLE_RAW_LIFE_TIME) System.out.println("KEK KEK"+N+" "+Z+" "+Thalf);
+ }
+
+ for(int i=0;i<rows.length;i++){
+ add(rows[i][5]);
}
@@ -84,6 +123,12 @@ public final class iaeaNuclide {
//System.out.println("KEKEKEK");
}
+ private void getMoreData(String[] cells){
+ add(cells[14]);
+ add(cells[17]);
+ add(cells[20]);
+ }
+
private double doubleOrNaN(String s, String name){
s=s.replaceAll("#","");
if(s.length()>0) {
@@ -91,9 +136,76 @@ public final class iaeaNuclide {
return Double.parseDouble(s);
} catch (Exception e) {
System.out.println("Invalid Value " + name + " " + N + " " + Z + " " + s);
- return Double.NaN;
+ e.printStackTrace();
}
}
return Double.NaN;
}
+
+ public static class energeticState{
+ public final float energy;
+ public final float Thalf;
+ public TreeMap<Float,String> decaymodes;
+
+ private energeticState(iaeaNuclide nuclide,float Thalf,TreeMap<Float,String> decaymodes){
+ energy=0;
+ this.Thalf=Thalf;
+ this.decaymodes=decaymodes;
+ if(nuclide.energeticStates==null)
+ nuclide.energeticStates=new TreeMap<>();
+ nuclide.energeticStates.put(energy,this);
+ }
+
+ private energeticState(String[] cells){
+ iaeaNuclide nuclide=get((int)doubleOrNaN(cells[0],"protons"),(int)doubleOrNaN(cells[1],"neutrons"));
+ if(nuclide==null)
+ throw new Error("Missing nuclide "+(int)doubleOrNaN(cells[0],"protons")+" "+(int)doubleOrNaN(cells[1],"neutrons"));
+ this.energy=(float) (doubleOrNaN(cells[3],"energy level",nuclide)*1000);//to eV
+ this.Thalf=(float) doubleOrNaN(cells[10],"half life",nuclide);
+ if(nuclide.energeticStates==null)
+ nuclide.energeticStates=new TreeMap<>();
+ nuclide.energeticStates.put(energy,this);
+
+ add(cells[12]);
+ add(cells[15]);
+ add(cells[18]);
+ }
+
+ private double doubleOrNaN(String s, String name){
+ return doubleOrNaN(s,name,null);
+ }
+
+ private double doubleOrNaN(String s, String name, iaeaNuclide nuclide){
+ s = s.replaceAll("#", "");
+ if (s.length() > 0) {
+ try {
+ return Double.parseDouble(s);
+ } catch (Exception e) {
+ if(nuclide==null){
+ System.out.println("Invalid Value " + name + " " + s);
+ }else {
+ System.out.println("Invalid Value " + name + " " + nuclide.N + " " + nuclide.Z + " " + s);
+ }
+ e.printStackTrace();
+ }
+ }
+ return Double.NaN;
+ }
+ }
+
+ private static HashSet<String> decays=new HashSet<>();
+ private static void add(String s){
+ int len=decays.size();
+ decays.add(s);
+ if(decays.size()>len){
+ System.out.println(s);
+ }
+ }
+ public enum decayType{
+ ;
+ public final String name;
+ decayType(String name){
+ this.name=name;
+ }
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/loader/AtomOverrider.java b/src/main/java/com/github/technus/tectech/loader/AtomOverrider.java
deleted file mode 100644
index 34bbbf4d93..0000000000
--- a/src/main/java/com/github/technus/tectech/loader/AtomOverrider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.github.technus.tectech.loader;
-
-import com.github.technus.tectech.elementalMatter.core.containers.cElementalDefinitionStack;
-import com.github.technus.tectech.elementalMatter.core.tElementalException;
-import com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition;
-import com.github.technus.tectech.elementalMatter.definitions.complex.dHadronDefinition;
-import com.github.technus.tectech.elementalMatter.definitions.primitive.eLeptonDefinition;
-
-import static com.github.technus.tectech.elementalMatter.core.interfaces.iElementalDefinition.STABLE_RAW_LIFE_TIME;
-import static com.github.technus.tectech.elementalMatter.definitions.complex.dAtomDefinition.addOverride;
-
-/**
- * Created by Tec on 29.05.2017.
- */
-public class AtomOverrider implements Runnable{
- @Override
- public void run() {
- try {
- addOverride(new dAtomDefinition(
- new cElementalDefinitionStack(eLeptonDefinition.lepton_e, 2),
- dHadronDefinition.hadron_p2,
- new cElementalDefinitionStack(dHadronDefinition.hadron_n, 3)
- ), STABLE_RAW_LIFE_TIME);//He3
-
- addOverride(new dAtomDefinition(
- eLeptonDefinition.lepton_e1,
- dHadronDefinition.hadron_p1,
- dHadronDefinition.hadron_n1
- ), STABLE_RAW_LIFE_TIME);//D
-
- addOverride(new dAtomDefinition(
- eLeptonDefinition.lepton_e1,
- dHadronDefinition.hadron_p1,
- dHadronDefinition.hadron_n2
- ), 1e9f);//T
-
-
- }catch (tElementalException e){
- e.printStackTrace();
- }
- }
-}
diff --git a/src/main/resources/assets/tectech/energyLevels.csv b/src/main/resources/assets/tectech/energyLevels.csv
new file mode 100644
index 0000000000..ec98b17ab2
--- /dev/null
+++ b/src/main/resources/assets/tectech/energyLevels.csv
@@ -0,0 +1,2920 @@
+1,3,H,310,0,1-,,6.73,,MEV,6.77e-23,0,N,100,0,,,,,,,= 1,,,,,
+1,3,H,2080,0,0-,,8.92,,MEV,5.11e-23,0,N,100,0,,,,,,,= 1,,,,,
+1,3,H,2830,0,1-,,12.99,,MEV,3.51e-23,0,N,100,0,,,,,,,= 1,,,,,
+2,2,He,20210,0,0+,,0.50,,MEV,9.114e-22,0,P,100,0,,,,,,,= 0,,,,,
+2,2,He,21010,0,0-,,0.84,,MEV,5.425e-22,0,P,76,0,N,24,0,,,,= 0,,,,,
+2,2,He,21840,0,2-,,2.01,,MEV,2.267e-22,0,P,63,0,N,37,0,,,,= 0,,,,,
+2,2,He,23330,0,2-,,5.01,,MEV,9.1e-23,0,P,53,0,N,47,0,,,,= 1,,,,,
+2,2,He,23640,0,1-,,6.20,,MEV,7.35e-23,0,P,55,0,N,45,0,IT,,0,= 1,,,,,
+2,2,He,24250,0,1-,,6.10,,MEV,7.47e-23,0,P,50,0,N,47,0,D,3,0,= 0,,,,,
+2,2,He,25280,0,0-,,7.97,,MEV,5.72e-23,0,P,52,0,N,48,0,,,,= 1,,,,,
+2,2,He,25950,0,1-,,12.66,,MEV,3.6e-23,0,P,52,0,N,48,0,IT,,0,= 1,,,,,
+2,2,He,27420,0,2+,,8.69,,MEV,5.24e-23,0,D,94,0,P,3,0,N,3,0,= 0,,,,,
+2,2,He,28310,0,1+,,9.89,,MEV,4.61e-23,0,P,48,0,N,47,0,D,5,0,= 0,,,,,
+2,2,He,28370,0,1-,,3.92,,MEV,1.163e-22,0,D,96,0,P,2,0,N,2,0,= 0,,,,,
+2,2,He,28390,0,2-,,8.75,,MEV,5.21e-23,0,D,99.6,0,P,0.2,0,N,0.2,0,= 0,,,,,
+2,2,He,28640,0,0-,,4.89,,MEV,9.32e-23,0,D,100,0,,,,,,,= 0,,,,,
+2,2,He,28670,0,2+,,3.78,,MEV,1.206e-22,0,D,100,0,IT,,0,,,,= 0,,,,,
+2,2,He,29890,0,2+,,9.72,,MEV,4.69e-23,0,D,99.2,0,P,0.4,0,N,0.4,0,= 0,,,,,
+2,4,He,1797,25,2+,,113,20,KEV,4e-21,7e-22,A,,0,N,,0,,,,= 1,,,,,
+2,5,He,2920,90,(5/2-),,1.99,17,MEV,2.29e-22,1.9562e-23,N,,0,,,,,,,= 3/2,,,,,
+2,5,He,5800,300,,,4,1,MEV,1.139e-22,2.85e-23,N,,0,,,,,,,,,,,,
+2,6,He,3100,500,2+,,0.6,2,MEV,7.595e-22,2.5317e-22,N,100,0,A,5,0,,,,= 2,,,,,
+2,6,He,4360,200,(1-),,1.3,5,MEV,3.505e-22,1.3482e-22,N,100,0,,,,,,,,,,,,
+3,1,Li,320,0,1-,,7.35,,MEV,6.2e-23,0,P,100,0,,,,,,,= 1,,,,,
+3,1,Li,2080,0,0-,,9.35,,MEV,4.87e-23,0,P,100,0,,,,,,,= 1,,,,,
+3,1,Li,2850,0,1-,,13.51,,MEV,3.37e-23,0,P,100,0,,,,,,,= 1,,,,,
+3,3,Li,2186,2,3+,,24,2,KEV,1.9e-20,1.6e-21,A,,0,IT,,0,,,,= 0,,,,,
+3,3,Li,3562.88,0.1,0+,,8.2,2,EV,5.56e-17,1.36e-18,IT,,0,,,,,,,= 1,,,,,
+3,3,Li,4312,22,2+,,1.30,10,MEV,3.505e-22,2.6964e-23,A,,0,IT,,0,,,,= 0,,,,,
+3,3,Li,5366,15,2+,,541,20,KEV,8e-22,0,A,,0,P,,0,N,,0,= 1,,,,,
+3,3,Li,5650,50,1+,,1.5,2,MEV,3.038e-22,4.051e-23,A,,0,,,,,,,= 0,,,,,
+3,3,Li,15800,0,3+,,17.8,8,MEV,2.56e-23,1.15e-24,A,,0,,,,,,,= 0,,,,,
+3,3,Li,17985,25,2-,,3.012,7,MEV,1.513e-22,3.516e-25,3H,,0,IT,,0,,,,= 1,,,,,
+3,3,Li,21500,0,0-,,,,,,,3H,,0,,,,,,,= 1,,,,,
+3,3,Li,23000,2000,4+,,12.,2,MEV,3.8e-23,6.3e-24,A,,0,,,,,,,= 0,,,,,
+3,3,Li,24779,54,3-,,6.75,11,MEV,6.75e-23,1.1e-24,3H,,0,N,,0,IT,,0,= 1,,,,,
+3,3,Li,24890,55,4-,,5.32,11,MEV,8.57e-23,1.771e-24,3H,,0,IT,,0,N,,0,= 1,,,,,
+3,3,Li,26590,65,2-,,8.68,13,MEV,5.25e-23,7.86e-25,A,,0,3H,,0,N,,0,= 1,,,,,
+3,3,Li,31000,0,(3+),,,,,,,A,,0,3H,,0,,,,,,,,,
+3,4,Li,4630,9,7/2-,,93,8,KEV,4.9e-21,4e-22,A,,0,3H,,0,,,,= 1/2,,,,,
+3,4,Li,6680,50,5/2-,,0.88,+20-10,MEV,5.178e-22,5.615526802218114,A,,0,3H,,0,,,,= 1/2,,,,,
+3,4,Li,7459.5,1,5/2-,,89,7,KEV,5.1e-21,4e-22,A,,0,3H,,0,N,,0,= 1/2,,,,,
+3,4,Li,9670,100,7/2-,AP,400,,KEV,1.1e-21,,N,,0,A,,0,3H,,0,= 1/2,,,,,
+3,4,Li,9850,0,3/2-,AP,1200,,KEV,4e-22,,A,,0,N,,0,,,,= 1/2,,,,,
+3,4,Li,11240,30,3/2-,,260,35,KEV,1.8e-21,2e-22,P,,0,N,,0,,,,= 3/2,,,,,
+3,4,Li,13700,0,,AP,500,,KEV,9e-22,,N,,0,,,,,,,,,,,,
+3,4,Li,14700,0,,AP,700,,KEV,7e-22,,N,,0,,,,,,,,,,,,
+3,5,Li,980.8,0.1,1+,,8.2,23,FS,0.0000000000000082,0.0000000000000023,IT,100,0,,,,,,,= 1,,,,,
+3,5,Li,2255,3,3+,,32.3,57,KEV,1.41e-20,2.49e-21,N,100,0,IT,0.00021,0.0001,,,,= 1,,,,,
+3,5,Li,3210,0,1+,AP,1000,,KEV,5e-22,,N,100,0,,,,,,,= 1,,,,,
+3,5,Li,5400,0,1+,AP,650,,KEV,7e-22,,N,100,0,,,,,,,= 1,,,,,
+3,5,Li,6100,100,(3),AP,1000,,KEV,5e-22,,N,100,0,,,,,,,= 1,,,,,
+3,5,Li,6530,20,4+,,35,15,KEV,1.3e-20,5.6e-21,N,100,0,,,,,,,= 1,,,,,
+3,5,Li,7100,100,,AP,400,,KEV,1.1e-21,,N,100,0,,,,,,,,,,,,
+3,5,Li,9000,0,,AP,6000,,KEV,1e-22,,N,,0,,,,,,,,,,,,
+3,5,Li,9670,-1,1+,AP,1000,,KEV,5e-22,,3H,,0,N,,0,,,,,,,,,
+3,6,Li,2691,5,(1/2-),,,,,,,IT,100,0,,,,,,,,,,,,
+3,6,Li,4301,12,,,88,25,KEV,5.2e-21,1.5e-21,N,100,0,,,,,,,,,,,,
+3,6,Li,16000,100,,LT,100,,KEV,4.6e-21,,P,100,0,,,,,,,= 5/2,,,,,
+3,6,Li,17100,200,,,0.8,3,MEV,5.696e-22,2.1361e-22,P,100,0,,,,,,,= 5/2,,,,,
+3,6,Li,18900,100,,,0.24,10,MEV,1.8988e-21,7.91146e-22,P,100,0,,,,,,,= 5/2,,,,,
+4,2,Be,1670,50,(2)+,,1.16,6,MEV,3.928e-22,2.032e-23,A,,0,P,,0,,,,= 1,,,,,
+4,2,Be,23000,0,4-,,,,,,,3HE,,0,IT,,0,,,,,,,,,
+4,2,Be,26000,0,2-,,,,,,,3HE,,0,,,,,,,,,,,,
+4,2,Be,27000,0,3-,,,,,,,3HE,,0,,,,,,,,,,,,
+4,3,Be,4570,50,7/2-,,175,7,KEV,2.6e-21,1e-22,A,,0,3HE,,0,,,,= 1/2,,,,,
+4,3,Be,6730,100,5/2-,,1.2,,MEV,3.798e-22,0,A,,0,3HE,,0,,,,= 1/2,,,,,
+4,3,Be,7210,60,5/2-,,0.40,5,MEV,1.1393e-21,1.42406e-22,A,,0,3HE,,0,P,,0,= 1/2,,,,,
+4,3,Be,9270,100,7/2-,,,,,,,A,,0,3HE,,0,P,,0,= 1/2,,,,,
+4,3,Be,9900,0,3/2-,AP,1.8,,MEV,2.532e-22,,A,,0,3HE,,0,P,,0,= 1/2,,,,,
+4,3,Be,11010,30,3/2-,,320,30,KEV,1.4e-21,1e-22,A,,0,3HE,,0,P,,0,= 3/2,,,,,
+4,3,Be,17000,0,1/2-,AP,6.5,,MEV,7.01e-23,,3HE,,0,,,,,,,= 1/2,,,,,
+4,4,Be,3030,10,2+,,1513,15,KEV,3e-22,0,A,100,0,,,,,,,= 0,,,,,
+4,4,Be,11350,150,4+,AP,3.5,,MEV,1.302e-22,,A,100,0,,,,,,,= 0,,,,,
+4,4,Be,16626,3,2+,,108.1,5,KEV,4.2e-21,2e-23,A,100,0,IT,0.00265,0,,,,= 0&1,,,,,
+4,4,Be,16922,3,2+,,74.0,4,KEV,6.2e-21,3e-23,A,100,0,IT,0.00389,0,,,,= 0&1,,,,,
+4,4,Be,17640,1,1+,,10.7,5,KEV,4.26e-20,1.99e-21,P,99.8,0,IT,0.204,0,,,,= 1,,,,,
+4,4,Be,18150,4,1+,,138,6,KEV,3.3e-21,1e-22,P,100,0,IT,0.0046,0,,,,= 0,,,,,
+4,4,Be,18910,0,2-,,122,,KEV,3.7e-21,0,IT,0.00022,0,P,,0,N,,0,,,,,,
+4,4,Be,19069,10,3+,,271,15,KEV,1.7e-21,1e-22,P,100,0,IT,0.00387,0,,,,= 1,,,,,
+4,4,Be,19235,10,3+,,227,16,KEV,2e-21,1e-22,P,50,0,N,50,0,,,,= 0,,,,,
+4,4,Be,19400,0,1-,AP,645,,KEV,7e-22,,P,,0,N,,0,,,,,,,,,
+4,4,Be,19860,50,4+,,0.7,1,MEV,6.51e-22,9.3e-23,A,70,0,P,30,0,,,,= 0,,,,,
+4,4,Be,20100,0,2+,,880,20,KEV,5e-22,0,A,,0,P,,0,N,,0,= 0,,,,,
+4,4,Be,20200,0,0+,,720,20,KEV,6e-22,0,A,50,0,N,,0,,,,= 0,,,,,
+4,4,Be,20900,0,4-,,1.6,2,MEV,2.848e-22,3.56e-23,P,,0,,,,,,,,,,,,
+4,4,Be,21500,0,3(+),,1.1,,MEV,4.143e-22,0,P,,0,N,,0,IT,,0,,,,,,
+4,4,Be,22000,0,1-,AP,4,,MEV,1.139e-22,,IT,,0,P,,0,,,,= 1,,,,,
+4,4,Be,22240,20,2+,AP,0.8,,MEV,5.696e-22,,A,,0,D,,0,P,,0,= 0,,,,,
+4,4,Be,24000,0,(1 2)-,AP,7,,MEV,6.51e-23,,IT,,0,A,,0,P,,0,= 1,,,,,
+4,4,Be,25200,0,2+,,,,,,,A,,0,D,,0,P,,0,= 0,,,,,
+4,4,Be,25500,0,4+,,,,,,,A,,0,D,,0,,,,= 0,,,,,
+4,4,Be,27494.1,1.8,0+,,5.5,20,KEV,8.29e-20,3.013e-20,N,39.4,0,D,27,0,3H,11.7,0,= 2,,,,,
+4,4,Be,28600,0,,,,,,,,IT,,0,P,,0,,,,,,,,,
+4,5,Be,1684,20,1/2+,,214,5,KEV,2.1e-21,0,N,100,0,IT,0.0000014,0,,,,,,,,,
+4,5,Be,2429.4,1.3,5/2-,,0.78,13,KEV,5.842e-19,9.7372e-20,N,7,1,A,1,0,IT,0.00012,0,,,,,,
+4,5,Be,2780,120,1/2-,,1.10,12,MEV,4.143e-22,4.5193e-23,N,100,0,,,,,,,,,,,,
+4,5,Be,3049,9,5/2+,,282,11,KEV,1.6e-21,1e-22,N,87,0,IT,0.000001,0,,,,,,,,,
+4,5,Be,4704,25,(3/2)+,,743,55,KEV,6e-22,0,N,100,0,IT,0.0000016,0,,,,,,,,,
+4,5,Be,6380,60,7/2-,,1.21,23,MEV,3.766e-22,7.1587e-23,N,100,0,IT,0.000000068,0,,,,,,,,,
+4,5,Be,6760,60,9/2+,,1.33,9,MEV,3.426e-22,2.3186e-23,N,100,0,IT,0,0,,,,,,,,,
+4,5,Be,11282,22,(7/2-),,575,50,KEV,8e-22,1e-22,N,15,0,,,,,,,,,,,,
+4,5,Be,11810,20,5/2-,,400,30,KEV,1.1e-21,1e-22,N,100,0,IT,0,0,,,,= 1/2,,,,,
+4,5,Be,13790,30,(5/2- 7/2-),,590,60,KEV,8e-22,1e-22,N,100,0,IT,0,0,,,,= 1/2,,,,,
+4,5,Be,14392.2,1.8,3/2-,,365,29,EV,1.2e-18,1e-19,N,52.6,0,A,43,0,IT,4.4,0,= 3/2,,,,,
+4,5,Be,15100,50,,,,,,,,IT,0,0,,,,,,,,,,,,
+4,5,Be,15970,30,,AP,300,,KEV,1.5e-21,,IT,0,0,,,,,,,= 1/2,,,,,
+4,5,Be,16671,8,(5/2+),,41,4,KEV,1.11e-20,1.1e-21,IT,0,0,,,,,,,,,,,,
+4,5,Be,16977.1,0.5,1/2-,,389,10,EV,1.2e-18,0,N,74,0,A,62,0,D,15.9,0,= 3/2,,,,,
+4,5,Be,17300,5,(5/2)-,,195,,KEV,2.3e-21,0,N,100,0,IT,0.000046,0,A,0,0,,,,,,
+4,5,Be,17495,5,(7/2)+,,47,,KEV,9.7e-21,0,N,100,0,IT,0.000017,0,A,0,0,,,,,,
+4,5,Be,18020,50,,,,,,,,IT,0,0,,,,,,,,,,,,
+4,5,Be,18580,40,,,,,,,,N,100,0,A,0,0,IT,0,0,,,,,,
+4,5,Be,18650,50,(5/2-),,0.3,1,MEV,1.519e-21,5.0633e-22,P,100,0,,,,,,,,,,,,
+4,5,Be,19200,50,,,310,80,KEV,1.5e-21,4e-22,N,100,0,3H,0,0,P,0,0,,,,,,
+4,5,Be,19465,45,(9/2+),,0.6,3,MEV,7.595e-22,3.7975e-22,IT,0,0,,,,,,,,,,,,
+4,5,Be,19900,200,,,,,,,,N,100,0,IT,0,0,,,,,,,,,
+4,5,Be,20510,30,,,0.6,1,MEV,7.595e-22,1.2658e-22,P,100,0,IT,0,0,D,0,0,,,,,,
+4,5,Be,20750,30,,,0.68,9,MEV,6.701e-22,8.8696e-23,N,100,0,3H,0,0,IT,0,0,,,,,,
+4,5,Be,21400,200,,,,,,,,N,100,0,IT,0,0,,,,,,,,,
+4,5,Be,22400,200,,,,,,,,N,100,0,IT,0,0,,,,,,,,,
+4,5,Be,23800,200,,,,,,,,N,100,0,IT,0,0,,,,,,,,,
+4,5,Be,27000,500,,,,,,,,N,100,0,IT,0,0,,,,,,,,,
+4,6,Be,3368.03,0.03,2+,,125,12,FS,0.000000000000125,0.000000000000012,IT,100,0,,,,,,,= 1,,,,,
+4,6,Be,5958.39,0.05,2+,LT,55,,FS,0.000000000000055,0,IT,100,0,,,,,,,= 1,,,,,
+4,6,Be,5959.9,0.6,1-,,,,,,,IT,100,0,,,,,,,= 1,,,,,
+4,6,Be,6179.3,0.7,0+,,0.8,+3-2,PS,0.0000000000008,0.0000000000003,IT,100,0,,,,,,,= 1,,,,,
+4,6,Be,6263.3,5,2-,,,,,,,IT,100,0,,,,,,,= 1,,,,,
+4,6,Be,7371,1,3-,,15.7,5,KEV,2.9e-20,9.2e-22,IT,0,0,N,0,0,,,,= 1,,,,,
+4,6,Be,7542,1,2+,,6.3,8,KEV,7.23e-20,9.19e-21,A,3.5,1.2,N,0,0,,,,= 1,,,,,
+4,6,Be,9270,0,(4-),,150,20,KEV,3e-21,4e-22,N,0,0,,,,,,,= 1,,,,,
+4,6,Be,9560,20,2+,,141,10,KEV,3.2e-21,2e-22,A,0.16,0.04,N,0,0,,,,= 1,,,,,
+4,6,Be,10150,20,3-,,296,15,KEV,1.5e-21,1e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,10570,30,GE 1,,,,,,,A,0,0,N,0,0,,,,= 1,,,,,
+4,6,Be,11230,50,,,200,80,KEV,2.3e-21,9e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,11760,20,(4+),,121,10,KEV,3.8e-21,3e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,11930,100,(5-),,200,80,KEV,2.3e-21,9e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,13050,100,,,290,130,KEV,1.6e-21,7e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,13850,50,,,330,150,KEV,1.4e-21,6e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,14680,100,,,310,140,KEV,1.5e-21,7e-22,A,0,0,,,,,,,,,,,,
+4,6,Be,17790,0,,,112,35,KEV,4.1e-21,1.3e-21,A,0,0,3H,0,0,N,0,0,,,,,,
+4,6,Be,18150,50,(0-),,90,30,KEV,5.1e-21,1.7e-21,3H,0,0,,,,,,,,,,,,
+4,6,Be,18550,0,,,310,,KEV,1.5e-21,0,3H,0,0,N,0,0,,,,,,,,,
+4,6,Be,19800,0,,,,,,,,P,0,0,,,,,,,,,,,,
+4,6,Be,20800,100,,,,,,,,A,0,0,,,,,,,,,,,,
+4,6,Be,21216,23,(2-),,,,,,,3H,0,0,P,0,0,N,0,0,,,,,,
+4,6,Be,21800,100,,AP,200,,KEV,2.3e-21,,D,0,0,P,0,0,,,,,,,,,
+4,6,Be,22400,100,,AP,250,,KEV,1.8e-21,,3H,0,0,P,0,0,N,0,0,,,,,,
+4,6,Be,23000,100,,,,,,,,P,0,0,,,,,,,,,,,,
+4,6,Be,23350,50,,,,,,,,A,0,0,3H,0,0,D,0,0,,,,,,
+4,6,Be,23650,50,,,,,,,,A,0,0,3H,0,0,P,0,0,,,,,,
+4,6,Be,24000,100,,AP,150,,KEV,3e-21,,A,0,0,3H,0,0,D,0,0,,,,,,
+4,6,Be,24250,50,,AP,200,,KEV,2.3e-21,,A,0,0,3H,0,0,D,0,0,,,,,,
+4,6,Be,24600,100,,AP,150,,KEV,3e-21,,D,0,0,P,0,0,,,,,,,,,
+4,6,Be,24800,100,,AP,100,,KEV,4.6e-21,,P,0,0,D,0,0,,,,,,,,,
+4,6,Be,25050,100,,AP,150,,KEV,3e-21,,A,0,0,D,0,0,,,,,,,,,
+4,6,Be,25600,100,,,,,,,,A,0,0,D,0,0,P,0,0,,,,,,
+4,6,Be,25950,50,,AP,300,,KEV,1.5e-21,,D,0,0,,,,,,,,,,,,
+4,6,Be,26300,100,,AP,100,,KEV,4.6e-21,,3H,0,0,D,0,0,,,,,,,,,
+4,6,Be,26800,100,,,,,,,,A,0,0,D,0,0,P,0,0,,,,,,
+4,6,Be,27200,200,,,,,,,,A,0,0,3H,0,0,D,0,0,,,,,,
+4,7,Be,320.04,0.1,1/2-,,115,10,FS,0.000000000000115,0.00000000000001,IT,100,0,,,,,,,,,,,,
+4,7,Be,1783,4,5/2+,,100,10,KEV,4.6e-21,5e-22,N,100,0,,,,,,,,,,,,
+4,7,Be,2654,10,3/2-,,206,8,KEV,2.2e-21,1e-22,N,100,0,,,,,,,,,,,,
+4,7,Be,3400,6,3/2-,,122,8,KEV,3.7e-21,2e-22,N,100,0,,,,,,,,,,,,
+4,7,Be,3889,1,(3/2+ 5/2-),LT,8,,KEV,5.7e-20,,N,,0,,,,,,,,,,,,
+4,7,Be,3955,1,3/2-,,10,5,KEV,4.56e-20,2.28e-20,N,,0,,,,,,,,,,,,
+4,7,Be,5255,3,5/2-,,45,10,KEV,1.01e-20,2.3e-21,N,,0,,,,,,,,,,,,
+4,7,Be,5849,10,1/2+,,139,17,KEV,3.3e-21,4e-22,N,,0,,,,,,,,,,,,
+4,7,Be,6510,50,,,120,50,KEV,3.8e-21,1.6e-21,N,,0,,,,,,,,,,,,
+4,7,Be,6705,21,(7/2-),,40,20,KEV,1.14e-20,5.7e-21,N,,0,,,,,,,,,,,,
+4,7,Be,7030,50,(5/2-),,0.30,10,MEV,1.519e-21,5.06333e-22,N,,0,,,,,,,,,,,,
+4,7,Be,8813,25,3/2- (9/2-),,0.20,5,MEV,2.2785e-21,5.69625e-22,N,,0,,,,,,,,,,,,
+4,7,Be,10590,50,5/2-,,210,40,KEV,2.2e-21,4e-22,A,,0,N,,0,,,,,,,,,
+4,7,Be,18190,140,,,1.5,4,MEV,3.038e-22,8.101e-23,A,,0,3H,,0,N,,0,,,,,,
+4,8,Be,2102,12,2+,,,,,,,IT,,0,,,,,,,= 2,,,,,
+5,3,B,769.5,2.5,1+,,35.6,6,KEV,1.28e-20,2.2e-22,P,100,0,IT,0.00007,0,,,,,,,,,
+5,3,B,2320,20,3+,,350,30,KEV,1.3e-21,1e-22,P,100,0,IT,0.000029,0,,,,= 1,,,,,
+5,4,B,1500,-1,,AP,1.2,,MEV,3.798e-22,,P,100,0,A,0,0,,,,,,,,,