1 //--------------------------------------------------//
3 //--------------------------------------------------//
5 Info << "Rotating fields" << endl;
7 volTensorField F = I + gradDU;
15 volTensorField Finv = inv(F);
17 volScalarField J = det(F);
18 if(min(J.internalField()) < 0)
20 FatalErrorIn(args.executable())
21 << "Negative Jacobian - a cell volume has become negative!"
27 n = mesh.Sf()/mesh.magSf();
30 //epsilon = symm(Finv & epsilon & Finv.T());
31 epsilon = transform(Finv, epsilon);
34 //sigma = 1/J * symm(F.T() & sigma & F);
35 sigma = (1/J) * transform(F.T(), sigma);
37 //- rotate elastic constitutive tensor
38 C = transform(F.T(), C);
40 // - update implicit stiffness tensor
43 K[celli].xx() = C[celli].xxxx();
44 K[celli].yy() = C[celli].yyyy();
45 K[celli].zz() = C[celli].zzzz();
47 K.correctBoundaryConditions();