final BoundaryCondition upper = new NeumannBoundaryCondition(1.0, fH, false);
// BoundaryCondition lower = new FixedSecondDerivativeBoundaryCondition(0.0, xL, true);
// BoundaryCondition upper = new FixedSecondDerivativeBoundaryCondition(0.0, xH, false);
// MeshingFunction timeMesh = new ExponentialMeshing(0.0, expiry, nTimeNodes, timeMeshLambda);
final MeshingFunction timeMesh = new ExponentialMeshing(0, EXPIRY, 50, 0.0);
// final MeshingFunction spaceMesh = new ExponentialMeshing(fL, fH, 101, 0.0);
final MeshingFunction spaceMesh = new HyperbolicMeshing(fL, fH, (fL + fH) / 2, 101, 0.4);
// ZZConvectionDiffusionPDEDataBundle pde_data = PDE_DATA_PROVIDER.getBackwardsLocalVolLogPayoff(EXPIRY, lvm);
final ConvectionDiffusionPDE1DStandardCoefficients pde = PDE_DATA_PROVIDER.getLogBackwardsLocalVol(EXPIRY, lvm);