1 Info<< "Reading displacement increment field DU\n" << endl;
15 volTensorField gradDU = fvc::grad(DU);
17 Info<< "Creating field U\n" << endl;
25 IOobject::READ_IF_PRESENT,
29 dimensionedVector("zero", dimLength, vector::zero)
32 volSymmTensorField DEpsilon
39 IOobject::READ_IF_PRESENT,
43 dimensionedSymmTensor("zero", dimless, symmTensor::zero)
46 volSymmTensorField DSigma
53 IOobject::READ_IF_PRESENT,
57 dimensionedSymmTensor("zero", dimForce/dimArea, symmTensor::zero)
60 volSymmTensorField sigma
67 IOobject::READ_IF_PRESENT,
71 dimensionedSymmTensor("zero", dimForce/dimArea, symmTensor::zero)
74 volSymmTensorField epsilon
81 IOobject::READ_IF_PRESENT,
85 dimensionedSymmTensor("zero", dimless, symmTensor::zero)
88 volSymmTensorField epsilonP
95 IOobject::READ_IF_PRESENT,
99 dimensionedSymmTensor("zero", dimless, symmTensor::zero)
103 volVectorField divDSigmaExp
114 dimensionedVector("zero", dimensionSet(1,-2,-2,0,0,0,0), vector::zero)
117 constitutiveModel rheology(sigma, DU);
119 volScalarField rho = rheology.rho();
120 volScalarField mu = rheology.mu();
121 volScalarField lambda = rheology.lambda();
122 surfaceScalarField muf = fvc::interpolate(mu, "mu");
123 surfaceScalarField lambdaf = fvc::interpolate(lambda, "lambda");
125 surfaceVectorField n = mesh.Sf()/mesh.magSf();
127 // plastic strain increment
128 const volSymmTensorField& DEpsilonP = rheology.DEpsilonP();
130 // for aitken relaxation
131 volVectorField aitkenDelta
142 dimensionedVector("zero", dimLength, vector::zero)
145 scalar aitkenInitialRes = 1.0;
146 scalar aitkenTheta = 0.1;