if(divSigmaExpMethod == "standard") { //- calculating the full gradient has good convergence and no high freq oscillations divSigmaExp = fvc::div( (C && symm(gradU)) - (K & gradU), "div(sigma)" ); } else if(divSigmaExpMethod == "surface") { //- this form seems to have the best convergence divSigmaExp = fvc::div(mesh.magSf()* ( (n&(Cf && fvc::interpolate(symm(gradU)))) - (n&(Kf & fvc::interpolate(gradU))) ) ); } else if(divSigmaExpMethod == "laplacian") { //- can cause high freq oscillations and slow convergence divSigmaExp = fvc::div(C && symm(epsilon), "div(sigma)") - fvc::laplacian(K,U, "laplacian(K,U)"); } else { FatalError << "divSigmaExp method " << divSigmaExpMethod << " not found!" << endl; }