public CellAlchemyState SimulateShock(CellAlchemyState cellState)
        {
            CellAlchemyState simulateState = new CellAlchemyState();

            simulateState.CopyInformation(cellState);
            ApplyShockInternal(simulateState);
            return(simulateState);
        }
        public CellAlchemyState SimulateGas(CellAlchemyState cellState, GasPhaseState gas)
        {
            CellAlchemyState simulateState = new CellAlchemyState();

            simulateState.CopyInformation(cellState);
            ApplyGasInternal(simulateState, gas);
            return(simulateState);
        }
        public CellAlchemyState SimulateSolid(CellAlchemyState cellState, SolidPhaseState solid)
        {
            CellAlchemyState simulateState = new CellAlchemyState();

            simulateState.CopyInformation(cellState);
            ApplySolidInternal(simulateState, solid);
            return(simulateState);
        }