2 forAll(mesh.boundary(), patchID)
4 if(U.boundaryField()[patchID].type()
5 == solidDirectionMixedFvPatchVectorField::typeName
8 solidDirectionMixedFvPatchVectorField& loadingPatch =
9 refCast<solidDirectionMixedFvPatchVectorField>
11 U.boundaryField()[patchID]
14 tensorField Finv = inv(I + gradU);
15 vectorField newN = Finv & n.boundaryField()[patchID];
17 loadingPatch.valueFraction() = sqr(newN);
20 loadingPatch.refGrad() =
23 ( (mu.boundaryField()[patchID] + lambda.boundaryField()[patchID]) * (n.boundaryField()[patchID] & gradU.boundaryField()[patchID]) )
24 - ( mu.boundaryField()[patchID] * (n.boundaryField()[patchID] & gradU.boundaryField()[patchID].T()) )
25 - ( mu.boundaryField()[patchID] * ( n.boundaryField()[patchID] & (gradU.boundaryField()[patchID] & gradU.boundaryField()[patchID].T()) ) )
26 - ( lambda.boundaryField()[patchID] * tr(gradU.boundaryField()[patchID]) * n.boundaryField()[patchID] )
27 - ( 0.5 * lambda.boundaryField()[patchID] * tr(gradU.boundaryField()[patchID] & gradU.boundaryField()[patchID].T()) * n.boundaryField()[patchID] )
30 (2.0*mu.boundaryField()[patchID] + lambda.boundaryField()[patchID]);