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/elasticOrthoAcpSolidFoam/createFields.H

149 lines
3 KiB
C
Raw Normal View History

Info<< "Reading field U\n" << endl;
volVectorField U
2012-09-11 15:42:55 +00:00
(
IOobject
(
"U",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
volTensorField gradU //= fvc::grad(U);
2012-09-11 15:42:55 +00:00
(
IOobject
(
"grad(U)",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
2012-09-11 15:42:55 +00:00
),
mesh,
dimensionedTensor("zero", dimless, tensor::zero)
2012-09-11 15:42:55 +00:00
);
surfaceVectorField snGradU // = fvc::snGrad(U);
2012-09-11 15:42:55 +00:00
(
IOobject
(
"snGrad(U)",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
2012-09-11 15:42:55 +00:00
),
mesh,
dimensionedVector("zero", dimless, vector::zero)
2012-09-11 15:42:55 +00:00
);
volVectorField V
2012-09-11 15:42:55 +00:00
(
IOobject
(
"V",
2012-09-11 15:42:55 +00:00
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
fvc::ddt(U)
2012-09-11 15:42:55 +00:00
);
volSymmTensorField epsilon
2012-09-11 15:42:55 +00:00
(
IOobject
(
"epsilon",
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
);
volSymmTensorField sigma
(
IOobject
(
"sigma",
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedSymmTensor("zero", dimForce/dimArea, symmTensor::zero)
);
volVectorField divSigmaExp
(
IOobject
(
"divSigmaExp",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedVector("zero", dimForce/dimVolume, vector::zero)
);
constitutiveModel rheology(sigma, U);
surfaceVectorField traction
(
2012-09-11 15:42:55 +00:00
IOobject
(
"traction",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
2012-09-11 15:42:55 +00:00
mesh,
dimensionedVector("zero", dimForce/dimArea, vector::zero)
);
2012-09-11 15:42:55 +00:00
// for aitken relaxation
volVectorField aitkenDelta
(
2012-09-11 15:42:55 +00:00
IOobject
(
"aitkenDelta",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
2012-09-11 15:42:55 +00:00
mesh,
dimensionedVector("zero", dimLength, vector::zero)
);
// aitken relaxation factor
scalar aitkenInitialRes = 1.0;
scalar aitkenTheta = 0.1;
if(mesh.relax(U.name()))
{
aitkenTheta = mesh.relaxationFactor(U.name());
}
2012-09-11 15:42:55 +00:00
volVectorField resid
(
IOobject
(
"resid",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
mesh,
dimensionedVector("zero", dimless, vector::zero)
);