fdVanillaEngine.setGridLimits();
fdVanillaEngine.initializeInitialCondition();
fdVanillaEngine.initializeOperator();
fdVanillaEngine.initializeBoundaryConditions();
final StandardFiniteDifferenceModel model = new StandardFiniteDifferenceModel(fdVanillaEngine.finiteDifferenceOperator, fdVanillaEngine.bcS);
prices = new SampledCurve(fdVanillaEngine.intrinsicValues);
prices.setValues( model.rollback(prices.values(), fdVanillaEngine.getResidualTime(), 0, fdVanillaEngine.timeSteps) );
final OneAssetOption.ResultsImpl r = (OneAssetOption.ResultsImpl)results_;
r.value = prices.valueAtCenter();
final Option.GreeksImpl greeks = r.greeks();
greeks.delta = prices.firstDerivativeAtCenter();