mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -153,6 +153,12 @@ int main(int argc, char *argv[])
|
|||||||
"internalFacesOnly",
|
"internalFacesOnly",
|
||||||
"do not convert boundary faces"
|
"do not convert boundary faces"
|
||||||
);
|
);
|
||||||
|
argList::addBoolOption
|
||||||
|
(
|
||||||
|
"updateFields",
|
||||||
|
"update fields to include new patches:"
|
||||||
|
" NOTE: updated field values may need to be edited"
|
||||||
|
);
|
||||||
|
|
||||||
#include "setRootCase.H"
|
#include "setRootCase.H"
|
||||||
#include "createTime.H"
|
#include "createTime.H"
|
||||||
@ -235,39 +241,45 @@ int main(int argc, char *argv[])
|
|||||||
IOobjectList objects(mesh, runTime.timeName());
|
IOobjectList objects(mesh, runTime.timeName());
|
||||||
|
|
||||||
// Read vol fields.
|
// Read vol fields.
|
||||||
|
if (args.optionFound("updateFields"))
|
||||||
|
{
|
||||||
|
Info<< "Reading geometric fields" << nl << endl;
|
||||||
|
PtrList<volScalarField> vsFlds;
|
||||||
|
ReadFields(mesh, objects, vsFlds);
|
||||||
|
|
||||||
PtrList<volScalarField> vsFlds;
|
PtrList<volVectorField> vvFlds;
|
||||||
ReadFields(mesh, objects, vsFlds);
|
ReadFields(mesh, objects, vvFlds);
|
||||||
|
|
||||||
PtrList<volVectorField> vvFlds;
|
PtrList<volSphericalTensorField> vstFlds;
|
||||||
ReadFields(mesh, objects, vvFlds);
|
ReadFields(mesh, objects, vstFlds);
|
||||||
|
|
||||||
PtrList<volSphericalTensorField> vstFlds;
|
PtrList<volSymmTensorField> vsymtFlds;
|
||||||
ReadFields(mesh, objects, vstFlds);
|
ReadFields(mesh, objects, vsymtFlds);
|
||||||
|
|
||||||
PtrList<volSymmTensorField> vsymtFlds;
|
PtrList<volTensorField> vtFlds;
|
||||||
ReadFields(mesh, objects, vsymtFlds);
|
ReadFields(mesh, objects, vtFlds);
|
||||||
|
|
||||||
PtrList<volTensorField> vtFlds;
|
// Read surface fields.
|
||||||
ReadFields(mesh, objects, vtFlds);
|
|
||||||
|
|
||||||
// Read surface fields.
|
PtrList<surfaceScalarField> ssFlds;
|
||||||
|
ReadFields(mesh, objects, ssFlds);
|
||||||
|
|
||||||
PtrList<surfaceScalarField> ssFlds;
|
PtrList<surfaceVectorField> svFlds;
|
||||||
ReadFields(mesh, objects, ssFlds);
|
ReadFields(mesh, objects, svFlds);
|
||||||
|
|
||||||
PtrList<surfaceVectorField> svFlds;
|
PtrList<surfaceSphericalTensorField> sstFlds;
|
||||||
ReadFields(mesh, objects, svFlds);
|
ReadFields(mesh, objects, sstFlds);
|
||||||
|
|
||||||
PtrList<surfaceSphericalTensorField> sstFlds;
|
PtrList<surfaceSymmTensorField> ssymtFlds;
|
||||||
ReadFields(mesh, objects, sstFlds);
|
ReadFields(mesh, objects, ssymtFlds);
|
||||||
|
|
||||||
PtrList<surfaceSymmTensorField> ssymtFlds;
|
|
||||||
ReadFields(mesh, objects, ssymtFlds);
|
|
||||||
|
|
||||||
PtrList<surfaceTensorField> stFlds;
|
|
||||||
ReadFields(mesh, objects, stFlds);
|
|
||||||
|
|
||||||
|
PtrList<surfaceTensorField> stFlds;
|
||||||
|
ReadFields(mesh, objects, stFlds);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< "Not updating geometric fields" << nl << endl;
|
||||||
|
}
|
||||||
|
|
||||||
// Mesh change container
|
// Mesh change container
|
||||||
polyTopoChange meshMod(mesh);
|
polyTopoChange meshMod(mesh);
|
||||||
|
|||||||
@ -478,10 +478,10 @@ void Foam::surfaceFilmModels::kinematicSingleLayer::solveThickness
|
|||||||
Info<< "kinematicSingleLayer::solveThickness()" << endl;
|
Info<< "kinematicSingleLayer::solveThickness()" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
volScalarField rUA = 1.0/UEqn.A();
|
volScalarField rAU = 1.0/UEqn.A();
|
||||||
U_ = rUA*UEqn.H();
|
U_ = rAU*UEqn.H();
|
||||||
|
|
||||||
surfaceScalarField deltarUAf = fvc::interpolate(delta_*rUA);
|
surfaceScalarField deltarAUf = fvc::interpolate(delta_*rAU);
|
||||||
surfaceScalarField rhof = fvc::interpolate(rho_);
|
surfaceScalarField rhof = fvc::interpolate(rho_);
|
||||||
|
|
||||||
surfaceScalarField phiAdd
|
surfaceScalarField phiAdd
|
||||||
@ -500,13 +500,13 @@ void Foam::surfaceFilmModels::kinematicSingleLayer::solveThickness
|
|||||||
(
|
(
|
||||||
"phid",
|
"phid",
|
||||||
(fvc::interpolate(U_*rho_) & filmRegion_.Sf())
|
(fvc::interpolate(U_*rho_) & filmRegion_.Sf())
|
||||||
- deltarUAf*phiAdd*rhof
|
- deltarAUf*phiAdd*rhof
|
||||||
);
|
);
|
||||||
constrainFilmField(phid, 0.0);
|
constrainFilmField(phid, 0.0);
|
||||||
|
|
||||||
surfaceScalarField ddrhorUAppf =
|
surfaceScalarField ddrhorAUppf =
|
||||||
fvc::interpolate(delta_)*deltarUAf*rhof*fvc::interpolate(pp);
|
fvc::interpolate(delta_)*deltarAUf*rhof*fvc::interpolate(pp);
|
||||||
// constrainFilmField(ddrhorUAppf, 0.0);
|
// constrainFilmField(ddrhorAUppf, 0.0);
|
||||||
|
|
||||||
for (int nonOrth=0; nonOrth<=nNonOrthCorr_; nonOrth++)
|
for (int nonOrth=0; nonOrth<=nNonOrthCorr_; nonOrth++)
|
||||||
{
|
{
|
||||||
@ -515,7 +515,7 @@ void Foam::surfaceFilmModels::kinematicSingleLayer::solveThickness
|
|||||||
(
|
(
|
||||||
fvm::ddt(rho_, delta_)
|
fvm::ddt(rho_, delta_)
|
||||||
+ fvm::div(phid, delta_)
|
+ fvm::div(phid, delta_)
|
||||||
- fvm::laplacian(ddrhorUAppf, delta_)
|
- fvm::laplacian(ddrhorAUppf, delta_)
|
||||||
==
|
==
|
||||||
rhoSp_
|
rhoSp_
|
||||||
);
|
);
|
||||||
@ -537,7 +537,7 @@ void Foam::surfaceFilmModels::kinematicSingleLayer::solveThickness
|
|||||||
delta_.max(0.0);
|
delta_.max(0.0);
|
||||||
|
|
||||||
// Update U field
|
// Update U field
|
||||||
U_ -= fvc::reconstruct(deltarUAf*phiAdd);
|
U_ -= fvc::reconstruct(deltarAUf*phiAdd);
|
||||||
|
|
||||||
// Remove any patch-normal components of velocity
|
// Remove any patch-normal components of velocity
|
||||||
U_ -= nHat_*(nHat_ & U_);
|
U_ -= nHat_*(nHat_ & U_);
|
||||||
|
|||||||
Reference in New Issue
Block a user