Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / applications / solvers / solidMechanics / elasticNonLinULSolidFoam / calculateDivDSigmaLargeStrainExp.H
blob720a84f0b7cd5c841956a5fb72800fc1355a3059
1 //----------------------------------------------------//
2 //- sigma explicit non linear explicit terms
3 //----------------------------------------------------//
4 if(divDSigmaLargeStrainExpMethod == "standard")
6     divDSigmaLargeStrainExp = fvc::div
7     (
8         mu*(gradDU & gradDU.T())
9         //+ 0.5*lambda*(gradDU && gradDU)*I //- equivalent to 0.5*lambda*(I*tr(gradDU & gradDU.T()))
10       + 0.5*lambda*tr(gradDU & gradDU.T())*I
11       + ((sigma + DSigma) & gradDU),
12         "div(sigma)"
13     );
15 else if(divDSigmaLargeStrainExpMethod == "surface")
17     divDSigmaLargeStrainExp = fvc::div
18     (
19         muf * (mesh.Sf() & fvc::interpolate(gradDU & gradDU.T()))
20       + 0.5*lambdaf * (mesh.Sf() & (fvc::interpolate(gradDU && gradDU)*I))
21       + (mesh.Sf() & fvc::interpolate( (sigma + DSigma) & gradDU ))
22     );
24 else
26     FatalError
27         << "divDSigmaLargeStrainMethod not found!"
28         << exit(FatalError);