aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/Ic2ExpReactorPlanner/SimulationData.java
blob: 614e903250b712b34f9934b7fa546d004b723e76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
 * To change this license header, choose License Headers in Project Properties. To change this template file, choose
 * Tools | Templates and open the template in the editor.
 */
package Ic2ExpReactorPlanner;

/**
 * Simple container for data from a simulation of an IC2 nuclear reactor, to allow comparison wtih another simulation.
 * 
 * @author Brian McCloud
 */
public class SimulationData {
    // Values should only be written to by the simulator class and read by other classes, but this is not yet strictly
    // enforced.
    // Enforcement might require refactoring this to be an inner class of the simulator.

    // Times to temperature thresholds
    public int timeToBelow50 = Integer.MAX_VALUE;
    public int timeToBurn = Integer.MAX_VALUE;
    public int timeToEvaporate = Integer.MAX_VALUE;
    public int timeToHurt = Integer.MAX_VALUE;
    public int timeToLava = Integer.MAX_VALUE;
    public int timeToXplode = Integer.MAX_VALUE;

    // Special, for calculating efficiency
    public int totalRodCount = 0;

    // First component broken details
    public int firstComponentBrokenTime = Integer.MAX_VALUE;
    public int firstComponentBrokenRow = -1;
    public int firstComponentBrokenCol = -1;
    public String firstComponentBrokenDescription = "";
    public double prebreakTotalEUoutput = 0;
    public double prebreakAvgEUoutput = 0;
    public double prebreakMinEUoutput = Double.MAX_VALUE;
    public double prebreakMaxEUoutput = 0;
    public double prebreakTotalHUoutput = 0;
    public double prebreakAvgHUoutput = 0;
    public double prebreakMinHUoutput = Double.MAX_VALUE;
    public double prebreakMaxHUoutput = 0;

    // First rod depleted details
    public int firstRodDepletedTime = Integer.MAX_VALUE;
    public int firstRodDepletedRow = -1;
    public int firstRodDepletedCol = -1;
    public String firstRodDepletedDescription = "";
    public double predepleteTotalEUoutput = 0;
    public double predepleteAvgEUoutput = 0;
    public double predepleteMinEUoutput = Double.MAX_VALUE;
    public double predepleteMaxEUoutput = 0;
    public double predepleteTotalHUoutput = 0;
    public double predepleteAvgHUoutput = 0;
    public double predepleteMinHUoutput = Double.MAX_VALUE;
    public double predepleteMaxHUoutput = 0;
    public double predepleteMinTemp = Double.MAX_VALUE;
    public double predepleteMaxTemp = 0;

    // Completed-simulation details
    public int totalReactorTicks = 0;
    public int totalEUoutput = 0;
    public int avgEUoutput = 0;
    public double minEUoutput = Double.MAX_VALUE;
    public int maxEUoutput = 0;
    public int totalHUoutput = 0;
    public int avgHUoutput = 0;
    public double minHUoutput = Double.MAX_VALUE;
    public int maxHUoutput = 0;
    public int minTemp = (int) Double.MAX_VALUE;
    public int maxTemp = 0;
    public int explosionPower = 0;

    // Heating and Cooling details
    public double hullHeating = 0;
    public double componentHeating = 0;
    public double hullCooling = 0;
    public double hullCoolingCapacity = 0;
    public double ventCooling = 0;
    public double ventCoolingCapacity = 0;
}