This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/applications/solvers/solidMechanics/elasticNonLinIncrTLSolidFoam/createFields.H

115 lines
2.6 KiB
C
Raw Normal View History

2012-09-11 15:42:55 +00:00
Info<< "Reading field DU\n" << endl;
volVectorField DU
(
IOobject
(
"DU",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
volTensorField gradDU = fvc::grad(DU);
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedVector("zero", dimLength, vector::zero)
2012-09-11 15:42:55 +00:00
);
volTensorField gradU
2012-09-11 15:42:55 +00:00
(
IOobject
(
"grad(U)",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedTensor("zero", dimless, tensor::zero)
2012-09-11 15:42:55 +00:00
);
//- increment of Green finite strain tensor
volSymmTensorField DEpsilon
2012-09-11 15:42:55 +00:00
(
IOobject
(
"DEpsilonGreen",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedSymmTensor("zero", dimless, symmTensor::zero)
2012-09-11 15:42:55 +00:00
);
//- Green strain tensor
volSymmTensorField epsilon
2012-09-11 15:42:55 +00:00
(
IOobject
(
"epsilonGreen",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedSymmTensor("zero", dimless, symmTensor::zero)
2012-09-11 15:42:55 +00:00
);
//- increment of 2nd Piola-Kirchhoff stress tensor
volSymmTensorField DSigma
2012-09-11 15:42:55 +00:00
(
IOobject
(
"DSigma",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedSymmTensor("zero", dimForce/dimArea, symmTensor::zero)
);
//- 2nd Piola-Kirchhoff stress tensor
volSymmTensorField sigma
(
2012-09-11 15:42:55 +00:00
IOobject
(
"sigma",
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedSymmTensor("zero", dimForce/dimArea, symmTensor::zero)
);
2012-09-11 15:42:55 +00:00
constitutiveModel rheology(sigma, DU);
2012-09-11 15:42:55 +00:00
volScalarField rho = rheology.rho();
volScalarField mu = rheology.mu();
volScalarField lambda = rheology.lambda();
surfaceScalarField muf = fvc::interpolate(mu, "mu");
surfaceScalarField lambdaf = fvc::interpolate(lambda, "lambda");
surfaceVectorField n = mesh.Sf()/mesh.magSf();