package initialconditions; import main.Model; import main.Cell; public class InitialConditionStorage extends Object { float [] storage = null; public InitialConditionStorage() { } public InitialConditionStorage(Model model) { getInitialConditions(model); } public void getInitialConditions(Model model) { int num_cells = model.numCells, num_nodes = model.cells[0].nodes.length; Cell [] cells = model.cells; storage = new float[num_cells * num_nodes]; for(int cell = 0; cell < num_cells; cell++) { for(int node = 0; node < num_nodes; node++) { storage[cell * num_nodes + node] = cells[cell].getInitialValue(node); } } } public void setInitialConditions(Model model) { if(storage == null) return; // Maybe through exception? int num_cells = model.numCells, num_nodes = model.cells[0].nodes.length; Cell [] cells = model.cells; for(int cell = 0; cell < num_cells; cell++) { for(int node = 0; node < num_nodes; node++) { cells[cell].setInitialValue(node, storage[cell * num_nodes + node]); } } } }