1 //--------------------------------------------------//
3 //--------------------------------------------------//
5 Info << "Rotating fields" << endl;
7 volTensorField F = I + gradDU;
9 volTensorField Finv = inv(F);
11 volScalarField J = det(F);
12 if(min(J.internalField()) < 0)
14 FatalErrorIn(args.executable())
15 << "Negative Jacobian -> cell negative volumes!!!"
20 n = mesh.Sf()/mesh.magSf();
22 // rotate strain and stress fields
23 //epsilon = symm(Finv & epsilon & Finv.T());
24 epsilon = transform(Finv, epsilon);
26 //sigma = 1/J * symm(F.T() & sigma & F);
27 sigma = (1/J)*transform(F.T(), sigma);
29 // Note: for strict large strain approach, the constitutive stiffness
30 // would be rotated here - see elasticOrthoNonLinULSolidFoam.