1 Info<< "Reading field U\n" << endl;
26 dimensionedTensor("zero", dimless, tensor::zero)
29 surfaceVectorField snGradU
40 dimensionedVector("zero", dimless, vector::zero)
43 volSymmTensorField epsilon
50 IOobject::READ_IF_PRESENT,
54 dimensionedSymmTensor("zero", dimless, symmTensor::zero)
57 Info<< "Reading field T\n" << endl;
71 volSymmTensorField sigma
78 IOobject::READ_IF_PRESENT,
82 dimensionedSymmTensor("zero", dimForce/dimArea, symmTensor::zero)
85 volVectorField divSigmaExp
96 dimensionedVector("zero", dimensionSet(1,-2,-2,0,0,0,0), vector::zero)
99 surfaceVectorField n = mesh.Sf()/mesh.magSf();
101 // mechanical properties
102 constitutiveModel rheology(sigma, U);
104 volScalarField rho = rheology.rho();
106 volScalarField mu = rheology.mu();
107 volScalarField lambda = rheology.lambda();
108 surfaceScalarField muf = fvc::interpolate(mu, "mu");
109 surfaceScalarField lambdaf = fvc::interpolate(lambda, "lambda");
112 // thermal properties
113 Info<< "Reading thermal model\n" << endl;
114 thermalModel thermal(T);
116 volScalarField C = thermal.C();
122 volScalarField threeKalpha = rheology.threeK()*rho*thermal.alpha();
123 surfaceScalarField threeKalphaf =
124 fvc::interpolate(threeKalpha, "threeKalpha");
125 volScalarField T0 = thermal.T0();
126 volScalarField rhoC = rho*C;
129 // for aitken relaxation
130 volVectorField aitkenDelta
141 dimensionedVector("zero", dimLength, vector::zero)
144 // aitken relaxation factor
145 scalar aitkenInitialRes = 1.0;
146 scalar aitkenTheta = 0.01;