Compare commits
5 Commits
demand-dri
...
wip-primit
| Author | SHA1 | Date | |
|---|---|---|---|
| a94db7170d | |||
| 1c458cbf7c | |||
| 5a75946f1a | |||
| 709472a7bb | |||
| af14230255 |
@ -49,7 +49,7 @@
|
||||
|
||||
<!--
|
||||
Providing details of your set-up can help us identify any issues, e.g.
|
||||
OpenFOAM version : v2306|v2212|v2206|v2112|v2106 etc
|
||||
OpenFOAM version : v2212|v2206|v2112|v2106|v2012 etc
|
||||
Operating system : ubuntu|openSUSE|centos etc
|
||||
Hardware info : any info that may help?
|
||||
Compiler : gcc|intel|clang etc
|
||||
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -17,6 +17,3 @@
|
||||
[submodule "external-solver"]
|
||||
path = modules/external-solver
|
||||
url = https://develop.openfoam.com/Modules/external-solver.git
|
||||
[submodule "turbulence-community"]
|
||||
path = modules/turbulence-community
|
||||
url = https://gitlab.com/openfoam/community/tc-turbulence/turbulence-community.git
|
||||
|
||||
10
Allwmake
10
Allwmake
@ -96,12 +96,10 @@ echo " ${WM_PROJECT_DIR##*/}"
|
||||
echo " $WM_COMPILER ${WM_COMPILER_TYPE:-system} compiler"
|
||||
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
|
||||
echo
|
||||
|
||||
# The api/patch information
|
||||
sed -e 's/^/ /; s/=/ = /' ./META-INFO/api-info 2>/dev/null || true
|
||||
|
||||
echo " bin = $(_foamCountDirEntries "$FOAM_APPBIN") entries"
|
||||
echo " lib = $(_foamCountDirEntries "$FOAM_LIBBIN") entries"
|
||||
echo " api = $(etc/openfoam -show-api 2>/dev/null)"
|
||||
echo " patch = $(etc/openfoam -show-patch 2>/dev/null)"
|
||||
echo " bin = $(_foamCountDirEntries "$FOAM_APPBIN") entries"
|
||||
echo " lib = $(_foamCountDirEntries "$FOAM_LIBBIN") entries"
|
||||
echo
|
||||
echo ========================================
|
||||
|
||||
|
||||
@ -5,22 +5,17 @@ It is likely incomplete...
|
||||
|
||||
## Contributors (alphabetical by surname)
|
||||
|
||||
- Horacio Aguerre
|
||||
- Yu Ankun
|
||||
- Tetsuo Aoyagi
|
||||
- Akira Azami
|
||||
- William Bainbridge
|
||||
- Gabriel Barajas
|
||||
- Kutalmis Bercin
|
||||
- Julius Bergmann
|
||||
- Ivor Clifford
|
||||
- Greg Collecutt
|
||||
- Jonathan Cranford
|
||||
- Santiago Marquez Damian
|
||||
- Sergio Ferraris
|
||||
- Matej Forman
|
||||
- Marian Fuchs
|
||||
- Gabriel Gerlero
|
||||
- Pawan Ghildiyal
|
||||
- Chris Greenshields
|
||||
- Bernhard Gschaider
|
||||
@ -33,7 +28,6 @@ It is likely incomplete...
|
||||
- Alexander Kabat vel Job
|
||||
- Thilo Knacke
|
||||
- Shannon Leakey
|
||||
- Sergey Lesnik
|
||||
- Tommaso Lucchini
|
||||
- Graham Macpherson
|
||||
- Alexey Matveichev
|
||||
@ -56,12 +50,8 @@ It is likely incomplete...
|
||||
- Gavin Tabor
|
||||
- Zeljko Tukovic
|
||||
- Eugene De Villiers
|
||||
- Louis Vittoz
|
||||
- Vuko Vukcevic
|
||||
- Yi Wang
|
||||
- Norbert Weber
|
||||
- Gregor Weiss
|
||||
- Volker Weissmann
|
||||
- Henry Weller
|
||||
- Niklas Wikstrom
|
||||
- Guanyang Xue
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
api=2309
|
||||
patch=0
|
||||
api=2301
|
||||
patch=230110
|
||||
|
||||
14
README.md
14
README.md
@ -40,9 +40,9 @@ Violations of the Trademark are monitored, and will be duly prosecuted.
|
||||
|
||||
If OpenFOAM has already been compiled on your system, simply source
|
||||
the appropriate `etc/bashrc` or `etc/cshrc` file and get started.
|
||||
For example, for the OpenFOAM-v2306 version:
|
||||
For example, for the OpenFOAM-v2212 version:
|
||||
```
|
||||
source /installation/path/OpenFOAM-v2306/etc/bashrc
|
||||
source /installation/path/OpenFOAM-v2212/etc/bashrc
|
||||
```
|
||||
|
||||
## Compiling OpenFOAM
|
||||
@ -127,8 +127,8 @@ These 3rd-party sources are normally located in a directory parallel
|
||||
to the OpenFOAM directory. For example,
|
||||
```
|
||||
/path/parent
|
||||
|-- OpenFOAM-v2306
|
||||
\-- ThirdParty-v2306
|
||||
|-- OpenFOAM-v2212
|
||||
\-- ThirdParty-v2212
|
||||
```
|
||||
There are, however, many cases where this simple convention is inadequate:
|
||||
|
||||
@ -136,7 +136,7 @@ There are, however, many cases where this simple convention is inadequate:
|
||||
operating system or cluster installation provides it)
|
||||
|
||||
* When we have changed the OpenFOAM directory name to some arbitrary
|
||||
directory name, e.g. openfoam-sandbox2306, etc..
|
||||
directory name, e.g. openfoam-sandbox2212, etc..
|
||||
|
||||
* When we would like any additional 3rd party software to be located
|
||||
inside of the OpenFOAM directory to ensure that the installation is
|
||||
@ -156,9 +156,9 @@ when locating the ThirdParty directory with the following precedence:
|
||||
2. PREFIX/ThirdParty-VERSION
|
||||
* this corresponds to the traditional approach
|
||||
3. PREFIX/ThirdParty-vAPI
|
||||
* allows for an updated value of VERSION, *eg*, `v2306-myCustom`,
|
||||
* allows for an updated value of VERSION, *eg*, `v2212-myCustom`,
|
||||
without requiring a renamed ThirdParty. The API value would still
|
||||
be `2306` and the original `ThirdParty-v2306/` would be found.
|
||||
be `2212` and the original `ThirdParty-v2212/` would be found.
|
||||
4. PREFIX/ThirdParty-API
|
||||
* same as the previous example, but using an unadorned API value.
|
||||
5. PREFIX/ThirdParty-common
|
||||
|
||||
@ -30,6 +30,6 @@ volVectorField U
|
||||
|
||||
#include "createPhi.H"
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
#include "readTurbulenceProperties.H"
|
||||
|
||||
@ -118,7 +118,7 @@ int main(int argc, char *argv[])
|
||||
fvm::laplacian(rAUf, p) == fvc::div(phiHbyA)
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(piso.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(piso.finalInnerIter())));
|
||||
|
||||
phi = phiHbyA - pEqn.flux();
|
||||
|
||||
|
||||
@ -18,6 +18,6 @@ dimensionedScalar rho("rho", dimDensity, transportProperties);
|
||||
|
||||
scalar MaxCo =
|
||||
max(mesh.surfaceInterpolation::deltaCoeffs()*c0).value()
|
||||
*runTime.deltaTValue();
|
||||
*runTime.deltaT().value();
|
||||
|
||||
Info<< "Max acoustic Courant Number = " << MaxCo << endl;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
const dictionary& potentialFlow
|
||||
(
|
||||
mesh.solution().solutionDict("potentialFlow")
|
||||
mesh.solutionDict().subDict("potentialFlow")
|
||||
);
|
||||
|
||||
const int nNonOrthCorr
|
||||
|
||||
@ -113,6 +113,6 @@ setRefCell
|
||||
PhiRefCell,
|
||||
PhiRefValue
|
||||
);
|
||||
mesh.schemes().setFluxRequired(Phi.name());
|
||||
mesh.setFluxRequired(Phi.name());
|
||||
|
||||
#include "createMRF.H"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
const dictionary& potentialFlow
|
||||
(
|
||||
mesh.solution().solutionDict("potentialFlow")
|
||||
mesh.solutionDict().subDict("potentialFlow")
|
||||
);
|
||||
|
||||
const int nNonOrthCorr
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2019-2020,2023 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2020 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -132,11 +132,6 @@ void PDRkEpsilon::correct()
|
||||
|
||||
// Update epsilon and G at the wall
|
||||
epsilon_.boundaryFieldRef().updateCoeffs();
|
||||
// Push new cell values to
|
||||
// coupled neighbours. Note that we want to avoid the re-updateCoeffs
|
||||
// of the wallFunctions so make sure to bypass the evaluate on
|
||||
// those patches and only do the coupled ones.
|
||||
epsilon_.boundaryFieldRef().evaluateCoupled<coupledFvPatch>();
|
||||
|
||||
// Add the blockage generation term so that it is included consistently
|
||||
// in both the k and epsilon equations
|
||||
|
||||
@ -109,7 +109,7 @@ Foam::XiEqModel::calculateSchelkinEffect(const scalar uPrimeCoef) const
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
IOobject::NO_REGISTER
|
||||
false
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar(Nv.dimensions(), Zero)
|
||||
|
||||
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.schemes().div("div(phi,ft_b_ha_hau)")
|
||||
mesh.divScheme("div(phi,ft_b_ha_hau)")
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ volVectorField U
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::RASModel> turbulence
|
||||
|
||||
@ -27,7 +27,7 @@ if (pimple.transonic())
|
||||
betav*fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -57,7 +57,7 @@ else
|
||||
betav*fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -30,7 +30,7 @@ if (pimple.transonic())
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -66,7 +66,7 @@ else
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -35,7 +35,7 @@ if (pimple.transonic())
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -71,7 +71,7 @@ else
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -223,7 +223,7 @@ if (ign.ignited())
|
||||
volScalarField R(Gstar*XiEqStar/(XiEqStar - scalar(1)));
|
||||
volScalarField G(R*(XiEq - scalar(1.001))/XiEq);
|
||||
|
||||
//R *= (Gstar + 2*mag(devSymm(fvc::grad(U))))/Gstar;
|
||||
//R *= (Gstar + 2*mag(dev(symm(fvc::grad(U)))))/Gstar;
|
||||
|
||||
// Solve for the flame wrinkling
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -44,7 +44,7 @@ volVectorField U
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.schemes().div("div(phi,ft_b_ha_hau)")
|
||||
mesh.divScheme("div(phi,ft_b_ha_hau)")
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ if (pimple.transonic())
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -64,7 +64,7 @@ else
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
solve
|
||||
(
|
||||
fvm::ddt(rho, Yi) - chemistry.RR(specieI),
|
||||
"Yi"
|
||||
mesh.solver("Yi")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ Info<< "Creating base fields for time " << runTime.timeName() << endl;
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE,
|
||||
IOobject::NO_REGISTER
|
||||
false
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar("Ydefault", dimless, 1)
|
||||
@ -29,7 +29,7 @@ Info<< "Creating base fields for time " << runTime.timeName() << endl;
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE,
|
||||
IOobject::NO_REGISTER
|
||||
false
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar("p", dimPressure, p0)
|
||||
@ -46,7 +46,7 @@ Info<< "Creating base fields for time " << runTime.timeName() << endl;
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE,
|
||||
IOobject::NO_REGISTER
|
||||
false
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar("T", dimTemperature, T0)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
if (adjustTimeStep)
|
||||
{
|
||||
runTime.setDeltaT(min(dtChem, maxDeltaT));
|
||||
Info<< "deltaT = " << runTime.deltaTValue() << endl;
|
||||
Info<< "deltaT = " << runTime.deltaT().value() << endl;
|
||||
}
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
dtChem = chemistry.solve(runTime.deltaTValue());
|
||||
dtChem = chemistry.solve(runTime.deltaT().value());
|
||||
scalar Qdot = chemistry.Qdot()()[0]/rho[0];
|
||||
integratedHeat += Qdot*runTime.deltaTValue();
|
||||
integratedHeat += Qdot*runTime.deltaT().value();
|
||||
|
||||
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.schemes().div("div(phi,Yi_h)")
|
||||
mesh.divScheme("div(phi,Yi_h)")
|
||||
)
|
||||
);
|
||||
{
|
||||
@ -35,7 +35,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
|
||||
|
||||
fvOptions.constrain(YiEqn);
|
||||
|
||||
YiEqn.solve("Yi");
|
||||
YiEqn.solve(mesh.solver("Yi"));
|
||||
|
||||
fvOptions.correct(Yi);
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ volScalarField p_rgh
|
||||
mesh
|
||||
);
|
||||
|
||||
mesh.schemes().setFluxRequired(p_rgh.name());
|
||||
mesh.setFluxRequired(p_rgh.name());
|
||||
|
||||
#include "phrghEqn.H"
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ while (pimple.correctNonOrthogonal())
|
||||
+ fvOptions(psi, p_rgh, rho.name())
|
||||
);
|
||||
|
||||
p_rghEqn.solve(p_rgh.select(pimple.finalInnerIter()));
|
||||
p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.schemes().div("div(phi,Yi_h)")
|
||||
mesh.divScheme("div(phi,Yi_h)")
|
||||
)
|
||||
);
|
||||
|
||||
@ -34,7 +34,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
|
||||
|
||||
fvOptions.constrain(YiEqn);
|
||||
|
||||
YiEqn.solve("Yi");
|
||||
YiEqn.solve(mesh.solver("Yi"));
|
||||
|
||||
fvOptions.correct(Yi);
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ volScalarField& p = thermo.p();
|
||||
|
||||
pressureControl pressureControl(p, rho, pimple.dict(), false);
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info << "Creating turbulence model.\n" << nl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -37,7 +37,7 @@ if (pimple.transonic())
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -72,7 +72,7 @@ else
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -49,7 +49,7 @@ if (pimple.transonic())
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -89,7 +89,7 @@ else
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -48,7 +48,7 @@ volScalarField& p = thermo.p();
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info << "Creating turbulence model.\n" << nl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -41,7 +41,7 @@ while (pimple.correctNonOrthogonal())
|
||||
- fvm::laplacian(rhorAUf, p_rgh)
|
||||
);
|
||||
|
||||
p_rghEqn.solve(p_rgh.select(pimple.finalInnerIter()));
|
||||
p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -49,7 +49,7 @@ volScalarField& p = thermo.p();
|
||||
|
||||
pressureControl pressureControl(p, rho, pimple.dict(), false);
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
|
||||
Info << "Creating turbulence model.\n" << nl;
|
||||
|
||||
@ -103,10 +103,16 @@ Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
if (!this->readValueEntry(dict))
|
||||
if (dict.found("value"))
|
||||
{
|
||||
// Fallback: set to the internal field
|
||||
fvPatchField<scalar>::patchInternalField(*this);
|
||||
fvPatchField<scalar>::operator=
|
||||
(
|
||||
scalarField("value", dict, p.size())
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
fvPatchField<scalar>::operator=(patchInternalField());
|
||||
}
|
||||
|
||||
refValue() = *this;
|
||||
|
||||
@ -105,15 +105,18 @@ Foam::maxwellSlipUFvPatchVectorField::maxwellSlipUFvPatchVectorField
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
if (this->readValueEntry(dict))
|
||||
if (dict.found("value"))
|
||||
{
|
||||
const auto* hasRefValue = dict.findEntry("refValue", keyType::LITERAL);
|
||||
const auto* hasFrac = dict.findEntry("valueFraction", keyType::LITERAL);
|
||||
fvPatchField<vector>::operator=
|
||||
(
|
||||
vectorField("value", dict, p.size())
|
||||
);
|
||||
|
||||
if (hasRefValue && hasFrac)
|
||||
if (dict.found("refValue") && dict.found("valueFraction"))
|
||||
{
|
||||
this->refValue().assign(*hasRefValue, p.size());
|
||||
this->valueFraction().assign(*hasFrac, p.size());
|
||||
this->refValue() = vectorField("refValue", dict, p.size());
|
||||
this->valueFraction() =
|
||||
scalarField("valueFraction", dict, p.size());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> interpolate
|
||||
vf,
|
||||
dir,
|
||||
"reconstruct("
|
||||
+ (reconFieldName.empty() ? vf.name() : reconFieldName)
|
||||
+ (reconFieldName != word::null ? reconFieldName : vf.name())
|
||||
+ ')'
|
||||
)
|
||||
);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
word fluxScheme("Kurganov");
|
||||
if (mesh.schemes().dict().readIfPresent("fluxScheme", fluxScheme))
|
||||
if (mesh.schemesDict().readIfPresent("fluxScheme", fluxScheme))
|
||||
{
|
||||
if ((fluxScheme == "Tadmor") || (fluxScheme == "Kurganov"))
|
||||
{
|
||||
|
||||
@ -79,7 +79,7 @@ autoPtr<compressible::turbulenceModel> turbulence
|
||||
)
|
||||
);
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
#include "createMRF.H"
|
||||
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
fvOptions(psi, p, rho.name())
|
||||
);
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
// Rhie & Chow interpolation (part 2)
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
|
||||
@ -42,7 +42,7 @@ volVectorField U
|
||||
|
||||
pressureControl pressureControl(p, rho, pimple.dict(), false);
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -29,7 +29,7 @@ if (mesh.changing())
|
||||
wordList pcorrTypes
|
||||
(
|
||||
p.boundaryField().size(),
|
||||
fvPatchFieldBase::zeroGradientType()
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
|
||||
// Set BCs of pcorr to fixed-value for patches at which p is fixed
|
||||
@ -56,7 +56,7 @@ if (mesh.changing())
|
||||
pcorrTypes
|
||||
);
|
||||
|
||||
mesh.schemes().setFluxRequired(pcorr.name());
|
||||
mesh.setFluxRequired(pcorr.name());
|
||||
|
||||
{
|
||||
dimensionedScalar rAUf("rAUf", dimTime, 1.0);
|
||||
@ -72,7 +72,7 @@ if (mesh.changing())
|
||||
divrhoU()
|
||||
);
|
||||
|
||||
pcorrEqn.solve(pcorr.select(pimple.finalInnerIter()));
|
||||
pcorrEqn.solve(mesh.solver(pcorr.select(pimple.finalInnerIter())));
|
||||
//Bypass virtual layer
|
||||
//mesh.fvMesh::solve(pcorrEqn, d);
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ pressureControl pressureControl(p, rho, pimple.dict(), false);
|
||||
const dimensionedScalar rhoMax("rhoMax", dimDensity, GREAT, pimple.dict());
|
||||
const dimensionedScalar rhoMin("rhoMin", dimDensity, Zero, pimple.dict());
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
#include "createDpdt.H"
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ if (pimple.transonic())
|
||||
// Relax the pressure equation to ensure diagonal-dominance
|
||||
pEqn.relax();
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -78,7 +78,7 @@ else
|
||||
{
|
||||
fvScalarMatrix pEqn(pDDtEqn - fvm::laplacian(rhorAUf, p));
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -54,7 +54,7 @@ if (pimple.transonic())
|
||||
// Relax the pressure equation to ensure diagonal-dominance
|
||||
pEqn.relax();
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -76,7 +76,7 @@ else
|
||||
{
|
||||
fvScalarMatrix pEqn(pDDtEqn - fvm::laplacian(rhorAUf, p));
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -65,7 +65,7 @@ if (pimple.transonic())
|
||||
// Relax the pressure equation to ensure diagonal-dominance
|
||||
pEqn.relax();
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -90,7 +90,7 @@ else
|
||||
{
|
||||
fvScalarMatrix pEqn(pDDtEqn - fvm::laplacian(rhorAtU, p));
|
||||
|
||||
pEqn.solve(p.select(pimple.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -40,7 +40,7 @@ volVectorField U
|
||||
|
||||
pressureControl pressureControl(p, rho, simple.dict());
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -40,7 +40,7 @@ volVectorField U
|
||||
|
||||
pressureControl pressureControl(p, rho, simple.dict());
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -36,7 +36,7 @@ volVectorField U
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
|
||||
@ -46,4 +46,4 @@ volScalarField rho
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
|
||||
@ -114,5 +114,5 @@ label pRefCell = 0;
|
||||
scalar pRefValue = 0.0;
|
||||
setRefCell(p, piso.dict(), pRefCell, pRefValue);
|
||||
|
||||
mesh.schemes().setFluxRequired(p.name());
|
||||
mesh.schemes().setFluxRequired(pB.name());
|
||||
mesh.setFluxRequired(p.name());
|
||||
mesh.setFluxRequired(pB.name());
|
||||
|
||||
@ -127,7 +127,7 @@ int main(int argc, char *argv[])
|
||||
);
|
||||
|
||||
pEqn.setReference(pRefCell, pRefValue);
|
||||
pEqn.solve(p.select(piso.finalInnerIter()));
|
||||
pEqn.solve(mesh.solver(p.select(piso.finalInnerIter())));
|
||||
|
||||
if (piso.finalNonOrthogonalIter())
|
||||
{
|
||||
@ -167,7 +167,7 @@ int main(int argc, char *argv[])
|
||||
fvm::laplacian(rABf, pB) == fvc::div(phiB)
|
||||
);
|
||||
|
||||
pBEqn.solve(pB.select(bpiso.finalInnerIter()));
|
||||
pBEqn.solve(mesh.solver(pB.select(bpiso.finalInnerIter())));
|
||||
|
||||
if (bpiso.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
const dictionary& Bpiso = mesh.solution().solutionDict("BPISO");
|
||||
const dictionary& Bpiso = mesh.solutionDict().subDict("BPISO");
|
||||
|
||||
const int nBcorr = Bpiso.getOrDefault<int>("nCorrectors", 1);
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
*mag(aMesh.edgeInterpolation::deltaCoeffs())
|
||||
/rhol
|
||||
)
|
||||
).value()*runTime.deltaTValue();
|
||||
).value()*runTime.deltaT().value();
|
||||
|
||||
Info<< "Max Capillary Courant Number = " << CoNumSigma << '\n' << endl;
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
(
|
||||
"h",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -20,7 +20,7 @@
|
||||
(
|
||||
"Us",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -34,7 +34,7 @@
|
||||
(
|
||||
"phis",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -48,7 +48,7 @@
|
||||
(
|
||||
"phi2s",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -67,7 +67,7 @@
|
||||
(
|
||||
"Sm",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
@ -82,7 +82,7 @@
|
||||
(
|
||||
"Sd",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
@ -96,7 +96,7 @@
|
||||
(
|
||||
"Sg",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
@ -112,7 +112,7 @@
|
||||
(
|
||||
"ps",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -134,7 +134,7 @@
|
||||
(
|
||||
"manningField",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -147,7 +147,7 @@
|
||||
(
|
||||
"frictionFactor",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
@ -155,4 +155,4 @@
|
||||
dimensionedScalar("one", dimless, 0.01)
|
||||
);
|
||||
|
||||
aMesh.schemes().setFluxRequired("h");
|
||||
aMesh.setFluxRequired("h");
|
||||
|
||||
@ -7,7 +7,7 @@ volVectorField U
|
||||
(
|
||||
"U",
|
||||
runTime.timeName(),
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -22,7 +22,7 @@ volScalarField H
|
||||
(
|
||||
"H",
|
||||
runTime.timeName(),
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
|
||||
@ -87,13 +87,7 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
fam::ddt(h, Us)
|
||||
+ fam::div(phi2s, Us)
|
||||
+ fam::Sp
|
||||
(
|
||||
0.0125
|
||||
*frictionFactor.internalField()
|
||||
*mag(Us.internalField()),
|
||||
Us
|
||||
)
|
||||
+ fam::Sp(0.0125*frictionFactor*mag(Us), Us)
|
||||
==
|
||||
Gs*h
|
||||
- fam::Sp(Sd, Us)
|
||||
|
||||
@ -1 +1 @@
|
||||
loopControl iters(runTime, aMesh.solution().solutionDict(), "solution");
|
||||
loopControl iters(runTime, aMesh.solutionDict(), "solution");
|
||||
|
||||
@ -47,10 +47,10 @@ if (aMesh.nInternalEdges())
|
||||
);
|
||||
|
||||
CoNum = max(SfUfbyDelta/aMesh.magLe())
|
||||
.value()*runTime.deltaTValue();
|
||||
.value()*runTime.deltaT().value();
|
||||
|
||||
meanCoNum = (sum(SfUfbyDelta)/sum(aMesh.magLe()))
|
||||
.value()*runTime.deltaTValue();
|
||||
.value()*runTime.deltaT().value();
|
||||
|
||||
velMag = max(mag(phis)/aMesh.magLe()).value();
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@ areaScalarField Cs
|
||||
(
|
||||
"Cs",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -26,7 +26,7 @@ areaVectorField Us
|
||||
(
|
||||
"Us",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
@ -47,7 +47,6 @@ forAll(Us, faceI)
|
||||
Us[faceI].z() =
|
||||
Uinf.value()*0.25*R[faceI].x()*R[faceI].z()/sqr(mag(R[faceI]));
|
||||
}
|
||||
Us.boundaryFieldRef().evaluateCoupled<coupledFaPatch>();
|
||||
|
||||
Us -= aMesh.faceAreaNormals()*(aMesh.faceAreaNormals() & Us);
|
||||
|
||||
@ -58,7 +57,7 @@ edgeScalarField phis
|
||||
(
|
||||
"phis",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
// Create Finite Area mesh
|
||||
faMesh aMesh(mesh);
|
||||
@ -7,7 +7,7 @@
|
||||
(
|
||||
"Cvf",
|
||||
runTime.timeName(),
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -24,7 +24,7 @@
|
||||
(
|
||||
"U",
|
||||
runTime.timeName(),
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
|
||||
@ -5,7 +5,7 @@ areaScalarField Cs
|
||||
(
|
||||
"Cs",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -37,7 +37,7 @@ areaVectorField Us
|
||||
(
|
||||
"Us",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
@ -51,7 +51,7 @@ edgeScalarField phis
|
||||
(
|
||||
"phis",
|
||||
runTime.timeName(),
|
||||
aMesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
// Create Finite Area mesh
|
||||
faMesh aMesh(mesh);
|
||||
@ -7,7 +7,7 @@
|
||||
(
|
||||
"Cvf",
|
||||
runTime.timeName(),
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
@ -24,7 +24,7 @@
|
||||
(
|
||||
"U",
|
||||
runTime.timeName(),
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
|
||||
@ -119,7 +119,7 @@ if (p_rgh.needReference())
|
||||
);
|
||||
}
|
||||
|
||||
mesh.schemes().setFluxRequired(p_rgh.name());
|
||||
mesh.setFluxRequired(p_rgh.name());
|
||||
|
||||
#include "createMRF.H"
|
||||
#include "createIncompressibleRadiationModel.H"
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
p_rghEqn.setReference(pRefCell, getRefCellValue(p_rgh, pRefCell));
|
||||
|
||||
p_rghEqn.solve(p_rgh.select(pimple.finalInnerIter()));
|
||||
p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -119,7 +119,7 @@ if (p_rgh.needReference())
|
||||
);
|
||||
}
|
||||
|
||||
mesh.schemes().setFluxRequired(p_rgh.name());
|
||||
mesh.setFluxRequired(p_rgh.name());
|
||||
|
||||
#include "createMRF.H"
|
||||
#include "createIncompressibleRadiationModel.H"
|
||||
|
||||
@ -74,7 +74,7 @@ volScalarField p_rgh
|
||||
// Force p_rgh to be consistent with p
|
||||
p_rgh = p - rho*gh;
|
||||
|
||||
mesh.schemes().setFluxRequired(p_rgh.name());
|
||||
mesh.setFluxRequired(p_rgh.name());
|
||||
|
||||
label pRefCell = 0;
|
||||
scalar pRefValue = 0.0;
|
||||
|
||||
@ -29,7 +29,7 @@ if (mesh.changing())
|
||||
wordList pcorrTypes
|
||||
(
|
||||
p.boundaryField().size(),
|
||||
fvPatchFieldBase::zeroGradientType()
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
|
||||
// Set BCs of pcorr to fixed-value for patches at which p is fixed
|
||||
@ -56,7 +56,7 @@ if (mesh.changing())
|
||||
pcorrTypes
|
||||
);
|
||||
|
||||
mesh.schemes().setFluxRequired(pcorr.name());
|
||||
mesh.setFluxRequired(pcorr.name());
|
||||
|
||||
{
|
||||
dimensionedScalar rAUf("rAUf", dimTime, 1.0);
|
||||
@ -72,7 +72,7 @@ if (mesh.changing())
|
||||
divrhoU()
|
||||
);
|
||||
|
||||
//pcorrEqn.solve(pcorr.select(pimple.finalInnerIter()));
|
||||
//pcorrEqn.solve(mesh.solver(pcorr.select(pimple.finalInnerIter())));
|
||||
//Bypass virtual layer
|
||||
const dictionary& d = mesh.solver
|
||||
(
|
||||
|
||||
@ -71,7 +71,7 @@ volScalarField p_rgh
|
||||
// Force p_rgh to be consistent with p
|
||||
p_rgh = p - rho*gh;
|
||||
|
||||
mesh.schemes().setFluxRequired(p_rgh.name());
|
||||
mesh.setFluxRequired(p_rgh.name());
|
||||
|
||||
label pRefCell = 0;
|
||||
scalar pRefValue = 0.0;
|
||||
|
||||
@ -50,7 +50,7 @@ while (pimple.correctNonOrthogonal())
|
||||
- fvm::laplacian(rhorAUf, p_rgh)
|
||||
);
|
||||
|
||||
p_rghEqn.solve(p_rgh.select(pimple.finalInnerIter()));
|
||||
p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -52,7 +52,7 @@ while (pimple.correctNonOrthogonal())
|
||||
compressible ? getRefCellValue(p_rgh, pRefCell) : pRefValue
|
||||
);
|
||||
|
||||
p_rghEqn.solve(p_rgh.select(pimple.finalInnerIter()));
|
||||
p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter())));
|
||||
|
||||
if (pimple.finalNonOrthogonalIter())
|
||||
{
|
||||
|
||||
@ -81,7 +81,7 @@ setRefCell
|
||||
pRefValue
|
||||
);
|
||||
|
||||
mesh.schemes().setFluxRequired(p_rgh.name());
|
||||
mesh.setFluxRequired(p_rgh.name());
|
||||
|
||||
dimensionedScalar initialMass = fvc::domainIntegrate(rho);
|
||||
dimensionedScalar totalVolume = sum(mesh.V());
|
||||
|
||||
@ -108,7 +108,7 @@ forAll(fluidRegions, i)
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
dimensionedScalar(word::null, dimLength, Zero)
|
||||
dimensionedScalar("hRef", dimLength, Zero) // uses name
|
||||
)
|
||||
);
|
||||
|
||||
@ -174,7 +174,7 @@ forAll(fluidRegions, i)
|
||||
// Force p_rgh to be consistent with p
|
||||
p_rghFluid[i] = thermoFluid[i].p() - rhoFluid[i]*ghFluid[i];
|
||||
|
||||
fluidRegions[i].schemes().setFluxRequired(p_rghFluid[i].name());
|
||||
fluidRegions[i].setFluxRequired(p_rghFluid[i].name());
|
||||
|
||||
radiation.set
|
||||
(
|
||||
@ -185,7 +185,7 @@ forAll(fluidRegions, i)
|
||||
initialMassFluid[i] = fvc::domainIntegrate(rhoFluid[i]).value();
|
||||
|
||||
const dictionary& simpleDict =
|
||||
fluidRegions[i].solution().solutionDict("SIMPLE");
|
||||
fluidRegions[i].solutionDict().subDict("SIMPLE");
|
||||
|
||||
setRefCell
|
||||
(
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
const dictionary& simple =
|
||||
fluidRegions[i].solution().solutionDict("SIMPLE");
|
||||
const dictionary& simple = fluidRegions[i].solutionDict().subDict("SIMPLE");
|
||||
|
||||
const int nNonOrthCorr =
|
||||
simple.getOrDefault<int>("nNonOrthogonalCorrectors", 0);
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
const dictionary& simple =
|
||||
mesh.solution().solutionDict("SIMPLE");
|
||||
const dictionary& simple = mesh.solutionDict().subDict("SIMPLE");
|
||||
|
||||
const int nNonOrthCorr =
|
||||
simple.getOrDefault<int>("nNonOrthogonalCorrectors", 0);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
derivedFvPatchFields/turbulentTemperatureTwoPhaseRadCoupledMixed/turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField.C
|
||||
solid/solidRegionDiffNo.C
|
||||
../solid/solidRegionDiffNo.C
|
||||
chtMultiRegionTwoPhaseEulerFoam.C
|
||||
|
||||
EXE = $(FOAM_APPBIN)/chtMultiRegionTwoPhaseEulerFoam
|
||||
|
||||
@ -243,12 +243,14 @@ turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
|
||||
|
||||
this->readValueEntry(dict, IOobjectOption::MUST_READ);
|
||||
|
||||
if (this->readMixedEntries(dict))
|
||||
if (dict.found("refValue"))
|
||||
{
|
||||
// Full restart
|
||||
refValue() = scalarField("refValue", dict, p.size());
|
||||
refGrad() = scalarField("refGradient", dict, p.size());
|
||||
valueFraction() = scalarField("valueFraction", dict, p.size());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -292,7 +294,8 @@ updateCoeffs()
|
||||
|
||||
// Since we're inside initEvaluate/evaluate there might be processor
|
||||
// comms underway. Change the tag we use.
|
||||
const int oldTag = UPstream::incrMsgType();
|
||||
int oldTag = UPstream::msgType();
|
||||
UPstream::msgType() = oldTag+1;
|
||||
|
||||
// Get the coupling information from the mappedPatchBase
|
||||
const label patchi = patch().index();
|
||||
@ -470,9 +473,10 @@ updateCoeffs()
|
||||
<< regionTypeNames_ << nl << exit(FatalError);
|
||||
}
|
||||
|
||||
UPstream::msgType(oldTag); // Restore tag
|
||||
|
||||
mixedFvPatchScalarField::updateCoeffs();
|
||||
|
||||
// Restore tag
|
||||
UPstream::msgType() = oldTag;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -221,7 +221,7 @@ forAll(fluidRegions, i)
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
dimensionedScalar(word::null, dimLength, Zero)
|
||||
dimensionedScalar("hRef", dimLength, Zero)
|
||||
)
|
||||
);
|
||||
|
||||
@ -278,14 +278,14 @@ forAll(fluidRegions, i)
|
||||
phaseSystemFluid[i].phase1().thermo().p()
|
||||
- phaseSystemFluid[i].phase1().thermo().rho()*ghFluid[i];
|
||||
|
||||
fluidRegions[i].schemes().setFluxRequired(p_rghFluid[i].name());
|
||||
fluidRegions[i].setFluxRequired(p_rghFluid[i].name());
|
||||
|
||||
Info<< " Correcting initialMassFluid\n" << endl;
|
||||
initialMassFluid[i] =
|
||||
fvc::domainIntegrate(phaseSystemFluid[i].rho()).value();
|
||||
|
||||
const dictionary& pimpleDict =
|
||||
fluidRegions[i].solution().solutionDict("PIMPLE");
|
||||
fluidRegions[i].solutionDict().subDict("PIMPLE");
|
||||
|
||||
pimpleDict.readIfPresent("frozenFlow", frozenFlowFluid[i]);
|
||||
|
||||
|
||||
@ -13,11 +13,11 @@ forAll(cumulativeContErrIO, i)
|
||||
"cumulativeContErr",
|
||||
runTime.timeName(),
|
||||
"uniform",
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
dimensionedScalar(word::null, dimless, Zero)
|
||||
dimensionedScalar(dimless, Zero)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
const dictionary& pimpleDict =
|
||||
mesh.solution().solutionDict("PIMPLE");
|
||||
const dictionary& pimpleDict = mesh.solutionDict().subDict("PIMPLE");
|
||||
|
||||
Switch faceMomentum
|
||||
(
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
if (finalIter)
|
||||
{
|
||||
mesh.data().setFinalIteration(true);
|
||||
mesh.data::add("finalIteration", true);
|
||||
}
|
||||
|
||||
if (frozenFlow)
|
||||
@ -35,5 +35,5 @@ else
|
||||
|
||||
if (finalIter)
|
||||
{
|
||||
mesh.data().setFinalIteration(false);
|
||||
mesh.data::remove("finalIteration");
|
||||
}
|
||||
|
||||
@ -1 +0,0 @@
|
||||
../../solid/solidRegionDiffNo.C
|
||||
@ -1,6 +1,6 @@
|
||||
if (finalIter)
|
||||
{
|
||||
mesh.data().setFinalIteration(true);
|
||||
mesh.data::add("finalIteration", true);
|
||||
}
|
||||
|
||||
{
|
||||
@ -22,7 +22,7 @@ if (finalIter)
|
||||
|
||||
fvOptions.constrain(hEqn);
|
||||
|
||||
hEqn.solve(h.select(finalIter));
|
||||
hEqn.solve(mesh.solver(h.select(finalIter)));
|
||||
|
||||
fvOptions.correct(h);
|
||||
}
|
||||
@ -35,5 +35,5 @@ if (finalIter)
|
||||
|
||||
if (finalIter)
|
||||
{
|
||||
mesh.data().setFinalIteration(false);
|
||||
mesh.data::remove("finalIteration");
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
EEqn.solve(he.select(finalIter));
|
||||
EEqn.solve(mesh.solver(he.select(finalIter)));
|
||||
fvOptions.correct(he);
|
||||
|
||||
thermo.correct();
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
- fvc::snGrad(p_rgh)
|
||||
)*mesh.magSf()
|
||||
),
|
||||
U.select(finalIter)
|
||||
mesh.solver(U.select(finalIter))
|
||||
);
|
||||
|
||||
fvOptions.correct(U);
|
||||
|
||||
@ -9,7 +9,7 @@ if (Y.size())
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.schemes().div("div(phi,Yi_h)")
|
||||
mesh.divScheme("div(phi,Yi_h)")
|
||||
)
|
||||
);
|
||||
}
|
||||
@ -44,7 +44,7 @@ if (Y.size())
|
||||
|
||||
fvOptions.constrain(YiEqn);
|
||||
|
||||
YiEqn.solve("Yi");
|
||||
YiEqn.solve(mesh.solver("Yi"));
|
||||
|
||||
fvOptions.correct(Yi);
|
||||
|
||||
|
||||
@ -112,7 +112,7 @@ forAll(fluidRegions, i)
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
dimensionedScalar(word::null, dimLength, Zero)
|
||||
dimensionedScalar("hRef", dimLength, Zero) // uses name
|
||||
)
|
||||
);
|
||||
|
||||
@ -189,7 +189,7 @@ forAll(fluidRegions, i)
|
||||
// Force p_rgh to be consistent with p
|
||||
p_rghFluid[i] = thermoFluid[i].p() - rhoFluid[i]*ghFluid[i];
|
||||
|
||||
fluidRegions[i].schemes().setFluxRequired(p_rghFluid[i].name());
|
||||
fluidRegions[i].setFluxRequired(p_rghFluid[i].name());
|
||||
|
||||
Info<< " Adding to radiationFluid\n" << endl;
|
||||
radiation.set
|
||||
@ -260,8 +260,7 @@ forAll(fluidRegions, i)
|
||||
);
|
||||
|
||||
const dictionary& pimpleDict =
|
||||
fluidRegions[i].solution().solutionDict("PIMPLE");
|
||||
|
||||
fluidRegions[i].solutionDict().subDict("PIMPLE");
|
||||
pimpleDict.readIfPresent("frozenFlow", frozenFlowFluid[i]);
|
||||
|
||||
rhoMaxFluid.set
|
||||
|
||||
@ -13,11 +13,11 @@ forAll(cumulativeContErrIO, i)
|
||||
"cumulativeContErr",
|
||||
runTime.timeName(),
|
||||
"uniform",
|
||||
mesh.thisDb(),
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
dimensionedScalar(word::null, dimless, Zero)
|
||||
dimensionedScalar(dimless, Zero)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@ -52,12 +52,15 @@ constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF);
|
||||
|
||||
p_rghEqn.solve
|
||||
(
|
||||
p_rgh.select
|
||||
mesh.solver
|
||||
(
|
||||
p_rgh.select
|
||||
(
|
||||
oCorr == nOuterCorr-1
|
||||
&& corr == nCorr-1
|
||||
&& nonOrth == nNonOrthCorr
|
||||
(
|
||||
oCorr == nOuterCorr-1
|
||||
&& corr == nCorr-1
|
||||
&& nonOrth == nNonOrthCorr
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
const dictionary& pimple =
|
||||
mesh.solution().solutionDict("PIMPLE");
|
||||
const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE");
|
||||
|
||||
const int nCorr =
|
||||
pimple.getOrDefault<int>("nCorrectors", 1);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
if (finalIter)
|
||||
{
|
||||
mesh.data().setFinalIteration(true);
|
||||
mesh.data::add("finalIteration", true);
|
||||
}
|
||||
|
||||
if (frozenFlow)
|
||||
@ -36,5 +36,5 @@ else
|
||||
|
||||
if (finalIter)
|
||||
{
|
||||
mesh.data().setFinalIteration(false);
|
||||
mesh.data::remove("finalIteration");
|
||||
}
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
bool coupled = false;
|
||||
{
|
||||
fvSolution solutionDict(runTime);
|
||||
solutionDict.readIfPresent("coupledEnergyField", coupled);
|
||||
}
|
||||
fvSolution solutionDict(runTime);
|
||||
|
||||
bool coupled(solutionDict.getOrDefault("coupledEnergyField", false));
|
||||
|
||||
autoPtr<fvMatrix<scalar>> fvMatrixAssemblyPtr;
|
||||
|
||||
|
||||
@ -49,11 +49,11 @@ if (adjustTimeStep)
|
||||
(
|
||||
min
|
||||
(
|
||||
min(maxCo/CoNum, maxDi/DiNum)*runTime.deltaTValue(),
|
||||
min(maxCo/CoNum, maxDi/DiNum)*runTime.deltaT().value(),
|
||||
min(runTime.deltaTValue(), maxDeltaT)
|
||||
)
|
||||
);
|
||||
Info<< "deltaT = " << runTime.deltaTValue() << endl;
|
||||
Info<< "deltaT = " << runTime.deltaT().value() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -59,12 +59,12 @@ if (adjustTimeStep)
|
||||
(
|
||||
min
|
||||
(
|
||||
min(deltaTFluid, maxDeltaTSolid)*runTime.deltaTValue(),
|
||||
min(deltaTFluid, maxDeltaTSolid)*runTime.deltaT().value(),
|
||||
maxDeltaT
|
||||
)
|
||||
);
|
||||
|
||||
Info<< "deltaT = " << runTime.deltaTValue() << endl;
|
||||
Info<< "deltaT = " << runTime.deltaT().value() << endl;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -57,7 +57,7 @@
|
||||
),
|
||||
solidRegions[i],
|
||||
dimensionedSymmTensor(tkappaByCp().dimensions(), Zero),
|
||||
fvPatchFieldBase::zeroGradientType()
|
||||
zeroGradientFvPatchSymmTensorField::typeName
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user