1 if(divDSigmaExpMethod == "standard")
3 divDSigmaExp = fvc::div
5 mu*gradDU.T() + lambda*(I*tr(gradDU)) - (mu + lambda)*gradDU,
9 else if(divDSigmaExpMethod == "surface")
11 surfaceTensorField gradDUf = fvc::interpolate(gradDU);
13 divDSigmaExp = fvc::div
18 + lambdaf*tr(gradDUf)*n
19 - (muf + lambdaf)*(n & gradDUf)
23 // divDSigmaExp = fvc::div
25 // muf*(mesh.Sf() & fvc::interpolate(gradDU.T()))
26 // + lambdaf*(mesh.Sf() & I*fvc::interpolate(tr(gradDU)))
27 // - (muf + lambdaf)*(mesh.Sf() & fvc::interpolate(gradDU))
30 else if(divDSigmaExpMethod == "decompose")
32 surfaceTensorField shearGradDU = ((I - n*n) & fvc::interpolate(gradDU));
34 divDSigmaExp = fvc::div
38 - (muf + lambdaf)*(fvc::snGrad(DU) & (I - n*n))
39 + lambdaf*tr(shearGradDU & (I - n*n))*n
40 + muf*(shearGradDU & n)
44 else if(divDSigmaExpMethod == "laplacian")
47 - fvc::laplacian(mu + lambda, DU, "laplacian(DDU,DU)")
48 + fvc::div(mu*gradDU.T() + lambda*(I*tr(gradDU)), "div(sigma)");
52 FatalErrorIn(args.executable())
53 << "divDSigmaExp method " << divDSigmaExpMethod << " not found!"