createFields.H
Go to the documentation of this file.
1 Info<< "Reading field D\n" << endl;
3 (
4  IOobject
5  (
6  "D",
7  runTime.timeName(),
8  mesh,
9  IOobject::MUST_READ,
10  IOobject::AUTO_WRITE
11  ),
12  mesh
13 );
14 
15 
16 autoPtr<volScalarField> Tptr(NULL);
17 
18 if (thermalStress)
19 {
20  Info<< "Reading field T\n" << endl;
21  Tptr.reset
22  (
23  new volScalarField
24  (
25  IOobject
26  (
27  "T",
28  runTime.timeName(),
29  mesh,
30  IOobject::MUST_READ,
31  IOobject::AUTO_WRITE
32  ),
33  mesh
34  )
35  );
36 }
37 
38 
39 Info<< "Calculating stress field sigmaD\n" << endl;
40 volSymmTensorField sigmaD
41 (
42  IOobject
43  (
44  "sigmaD",
45  runTime.timeName(),
46  mesh,
47  IOobject::NO_READ,
48  IOobject::NO_WRITE
49  ),
50  mu*twoSymm(fvc::grad(D)) + lambda*(I*tr(fvc::grad(D)))
51 );
52 
53 Info<< "Calculating explicit part of div(sigma) divSigmaExp\n" << endl;
54 volVectorField divSigmaExp
55 (
56  IOobject
57  (
58  "divSigmaExp",
59  runTime.timeName(),
60  mesh,
61  IOobject::NO_READ,
62  IOobject::NO_WRITE
63  ),
64  fvc::div(sigmaD)
65 );
66 
68 {
69  divSigmaExp -= fvc::laplacian(2*mu + lambda, D, "laplacian(DD,D)");
70 }
71 else
72 {
73  divSigmaExp -= fvc::div((2*mu + lambda)*fvc::grad(D), "div(sigmaD)");
74 }
75 
76 mesh.setFluxRequired(D.name());
Foam::fvc::grad
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcGrad.C:52
compactNormalStress
Switch compactNormalStress(stressControl.lookup("compactNormalStress"))
Foam::fvc::div
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcDiv.C:47
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:251
Foam::fvc::laplacian
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Definition: fvcLaplacian.C:45
Foam::volSymmTensorField
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
Definition: volFieldsFwd.H:58
Foam::Info
messageStream Info
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:52
Foam::I
static const sphericalTensor I(1)
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:18
mu
const volScalarField & mu
Atomic mass unit.
Definition: createFields.H:13
Foam::volVectorField
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:55
Tptr
Info<< "Reading field D\n"<< endl;volVectorField D(IOobject("D", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);autoPtr< volScalarField > Tptr(NULL)
Foam::tr
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
Definition: dimensionedSphericalTensor.C:49
Foam::twoSymm
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
Definition: dimensionedSymmTensor.C:93
lambda
dimensionedScalar lambda(laminarTransport.lookup("lambda"))