
     type coded;
     libs (utilityFunctionObjects);
     writeControl    writeTime;
     // Name of on-the-fly generated functionObject
     name Stilde;
     codeWrite
     #{
         // Lookup U
         const volVectorField& U = mesh().lookupObject<volVectorField>("U");
         const volTensorField gradU(fvc::grad(U));
         const volTensorField S(0.5*(gradU + gradU.T()));
         const volScalarField STilde_(sqrt(2*S && S));

         // Write
         volScalarField STilde
         (
             IOobject
             (
                 "STilde",
                 mesh().time().timeName(),
                 U.mesh(),
                 IOobject::NO_READ,
                 IOobject::AUTO_WRITE
             ),
         STilde_
         );

         STilde().write();
     #};


