Merge branch 'master' into particleInteractions

Conflicts:
	src/lagrangian/dieselSpray/spraySubModels/atomizationModel/atomizationModel/newAtomizationModel.C
	src/lagrangian/dieselSpray/spraySubModels/dispersionModel/dispersionModel/newDispersionModel.C
	src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
	src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H
This commit is contained in:
graham
2010-04-26 16:45:54 +01:00
533 changed files with 4215 additions and 2533 deletions

View File

@ -31,19 +31,17 @@ Description
#include "fvCFD.H" #include "fvCFD.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
#include "setRootCase.H" #include "setRootCase.H"
#include "createTime.H" #include "createTime.H"
#include "createMesh.H" #include "createMesh.H"
#include "createFields.H" #include "createFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nCalculating temperature distribution\n" << endl; Info<< "\nCalculating temperature distribution\n" << endl;

View File

@ -45,7 +45,7 @@ int main(int argc, char *argv[])
#include "createFields.H" #include "createFields.H"
#include "readSIMPLEControls.H" #include "readSIMPLEControls.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< nl << "Calculating potential flow" << endl; Info<< nl << "Calculating potential flow" << endl;

View File

@ -1,25 +1,25 @@
XiModels/XiModel/XiModel.C XiModels/XiModel/XiModel.C
XiModels/XiModel/newXiModel.C XiModels/XiModel/XiModelNew.C
XiModels/fixed/fixed.C XiModels/fixed/fixed.C
XiModels/algebraic/algebraic.C XiModels/algebraic/algebraic.C
XiModels/transport/transport.C XiModels/transport/transport.C
XiModels/XiEqModels/XiEqModel/XiEqModel.C XiModels/XiEqModels/XiEqModel/XiEqModel.C
XiModels/XiEqModels/XiEqModel/newXiEqModel.C XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
XiModels/XiEqModels/Gulder/Gulder.C XiModels/XiEqModels/Gulder/Gulder.C
XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C
XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
XiModels/XiGModels/XiGModel/XiGModel.C XiModels/XiGModels/XiGModel/XiGModel.C
XiModels/XiGModels/XiGModel/newXiGModel.C XiModels/XiGModels/XiGModel/XiGModelNew.C
XiModels/XiGModels/KTS/KTS.C XiModels/XiGModels/KTS/KTS.C
XiModels/XiGModels/instabilityG/instabilityG.C XiModels/XiGModels/instabilityG/instabilityG.C
PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
PDRModels/dragModels/PDRDragModel/PDRDragModel.C PDRModels/dragModels/PDRDragModel/PDRDragModel.C
PDRModels/dragModels/PDRDragModel/newPDRDragModel.C PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
PDRModels/dragModels/basic/basic.C PDRModels/dragModels/basic/basic.C
PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C

View File

@ -36,12 +36,12 @@ Foam::autoPtr<Foam::PDRDragModel> Foam::PDRDragModel::New
const surfaceScalarField& phi const surfaceScalarField& phi
) )
{ {
word PDRDragModelTypeName = PDRProperties.lookup("PDRDragModel"); const word modelType(PDRProperties.lookup("PDRDragModel"));
Info<< "Selecting flame-wrinkling model " << PDRDragModelTypeName << endl; Info<< "Selecting flame-wrinkling model " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(PDRDragModelTypeName); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
@ -49,7 +49,7 @@ Foam::autoPtr<Foam::PDRDragModel> Foam::PDRDragModel::New
( (
"PDRDragModel::New" "PDRDragModel::New"
) << "Unknown PDRDragModel type " ) << "Unknown PDRDragModel type "
<< PDRDragModelTypeName << endl << endl << modelType << nl << nl
<< "Valid PDRDragModels are : " << endl << "Valid PDRDragModels are : " << endl
<< dictionaryConstructorTablePtr_->sortedToc() << dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);

View File

@ -29,18 +29,18 @@ License
Foam::autoPtr<Foam::XiEqModel> Foam::XiEqModel::New Foam::autoPtr<Foam::XiEqModel> Foam::XiEqModel::New
( (
const dictionary& XiEqProperties, const dictionary& propDict,
const hhuCombustionThermo& thermo, const hhuCombustionThermo& thermo,
const compressible::RASModel& turbulence, const compressible::RASModel& turbulence,
const volScalarField& Su const volScalarField& Su
) )
{ {
word XiEqModelTypeName = XiEqProperties.lookup("XiEqModel"); const word modelType(propDict.lookup("XiEqModel"));
Info<< "Selecting flame-wrinkling model " << XiEqModelTypeName << endl; Info<< "Selecting flame-wrinkling model " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(XiEqModelTypeName); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
@ -53,14 +53,13 @@ Foam::autoPtr<Foam::XiEqModel> Foam::XiEqModel::New
" const volScalarField& Su" " const volScalarField& Su"
")" ")"
) << "Unknown XiEqModel type " ) << "Unknown XiEqModel type "
<< XiEqModelTypeName << endl << endl << modelType << nl << nl
<< "Valid XiEqModels are : " << endl << "Valid XiEqModels are : " << endl
<< dictionaryConstructorTablePtr_->sortedToc() << dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);
} }
return autoPtr<XiEqModel> return autoPtr<XiEqModel>(cstrIter()(propDict, thermo, turbulence, Su));
(cstrIter()(XiEqProperties, thermo, turbulence, Su));
} }

View File

@ -29,18 +29,18 @@ License
Foam::autoPtr<Foam::XiGModel> Foam::XiGModel::New Foam::autoPtr<Foam::XiGModel> Foam::XiGModel::New
( (
const dictionary& XiGProperties, const dictionary& propDict,
const hhuCombustionThermo& thermo, const hhuCombustionThermo& thermo,
const compressible::RASModel& turbulence, const compressible::RASModel& turbulence,
const volScalarField& Su const volScalarField& Su
) )
{ {
word XiGModelTypeName = XiGProperties.lookup("XiGModel"); const word modelType(propDict.lookup("XiGModel"));
Info<< "Selecting flame-wrinkling model " << XiGModelTypeName << endl; Info<< "Selecting flame-wrinkling model " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(XiGModelTypeName); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
@ -53,14 +53,13 @@ Foam::autoPtr<Foam::XiGModel> Foam::XiGModel::New
" const volScalarField& Su" " const volScalarField& Su"
")" ")"
) << "Unknown XiGModel type " ) << "Unknown XiGModel type "
<< XiGModelTypeName << endl << endl << modelType << nl << nl
<< "Valid XiGModels are : " << endl << "Valid XiGModels are : " << endl
<< dictionaryConstructorTablePtr_->sortedToc() << dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);
} }
return autoPtr<XiGModel> return autoPtr<XiGModel>(cstrIter()(propDict, thermo, turbulence, Su));
(cstrIter()(XiGProperties, thermo, turbulence, Su));
} }

View File

@ -29,7 +29,7 @@ License
Foam::autoPtr<Foam::XiModel> Foam::XiModel::New Foam::autoPtr<Foam::XiModel> Foam::XiModel::New
( (
const dictionary& XiProperties, const dictionary& propDict,
const hhuCombustionThermo& thermo, const hhuCombustionThermo& thermo,
const compressible::RASModel& turbulence, const compressible::RASModel& turbulence,
const volScalarField& Su, const volScalarField& Su,
@ -38,12 +38,12 @@ Foam::autoPtr<Foam::XiModel> Foam::XiModel::New
const surfaceScalarField& phi const surfaceScalarField& phi
) )
{ {
word XiModelTypeName = XiProperties.lookup("XiModel"); const word modelType(propDict.lookup("XiModel"));
Info<< "Selecting flame-wrinkling model " << XiModelTypeName << endl; Info<< "Selecting flame-wrinkling model " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(XiModelTypeName); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
@ -51,14 +51,14 @@ Foam::autoPtr<Foam::XiModel> Foam::XiModel::New
( (
"XiModel::New" "XiModel::New"
) << "Unknown XiModel type " ) << "Unknown XiModel type "
<< XiModelTypeName << endl << endl << modelType << nl << nl
<< "Valid XiModels are : " << endl << "Valid XiModels are : " << endl
<< dictionaryConstructorTablePtr_->sortedToc() << dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);
} }
return autoPtr<XiModel> return autoPtr<XiModel>
(cstrIter()(XiProperties, thermo, turbulence, Su, rho, b, phi)); (cstrIter()(propDict, thermo, turbulence, Su, rho, b, phi));
} }

View File

@ -1,5 +1,5 @@
combustionModel/combustionModel.C combustionModel/combustionModel.C
combustionModel/newCombustionModel.C combustionModel/combustionModelNew.C
infinitelyFastChemistry/infinitelyFastChemistry.C infinitelyFastChemistry/infinitelyFastChemistry.C

View File

@ -29,22 +29,19 @@ License
Foam::autoPtr<Foam::combustionModel> Foam::combustionModel::New Foam::autoPtr<Foam::combustionModel> Foam::combustionModel::New
( (
const dictionary& combustionProperties, const dictionary& propDict,
const hsCombustionThermo& thermo, const hsCombustionThermo& thermo,
const compressible::turbulenceModel& turbulence, const compressible::turbulenceModel& turbulence,
const surfaceScalarField& phi, const surfaceScalarField& phi,
const volScalarField& rho const volScalarField& rho
) )
{ {
word combustionModelTypeName = combustionProperties.lookup const word modelType(propDict.lookup("combustionModel"));
(
"combustionModel"
);
Info<< "Selecting combustion model " << combustionModelTypeName << endl; Info<< "Selecting combustion model " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(combustionModelTypeName); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
@ -52,14 +49,14 @@ Foam::autoPtr<Foam::combustionModel> Foam::combustionModel::New
( (
"combustionModel::New" "combustionModel::New"
) << "Unknown combustionModel type " ) << "Unknown combustionModel type "
<< combustionModelTypeName << endl << endl << modelType << nl << nl
<< "Valid combustionModels are : " << endl << "Valid combustionModels are : " << endl
<< dictionaryConstructorTablePtr_->toc() << dictionaryConstructorTablePtr_->toc()
<< exit(FatalError); << exit(FatalError);
} }
return autoPtr<combustionModel> return autoPtr<combustionModel>
(cstrIter()(combustionProperties, thermo, turbulence, phi, rho)); (cstrIter()(propDict, thermo, turbulence, phi, rho));
} }

View File

@ -71,9 +71,9 @@ IOdictionary combustionProperties
); );
Info<< "Creating combustion model\n" << endl; Info<< "Creating combustion model\n" << endl;
autoPtr<combustionModel::combustionModel> combustion autoPtr<combustionModel> combustion
( (
combustionModel::combustionModel::New combustionModel::New
( (
combustionProperties, combustionProperties,
thermo, thermo,

View File

@ -4,5 +4,6 @@ set -x
wclean libso BCs wclean libso BCs
wclean wclean
wclean rhoCentralDyMFoam
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View File

@ -4,5 +4,6 @@ set -x
wmake libso BCs wmake libso BCs
wmake wmake
wmake rhoCentralDyMFoam
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,3 @@
rhoCentralDyMFoam.C
EXE = $(FOAM_APPBIN)/rhoCentralDyMFoam

View File

@ -0,0 +1,17 @@
EXE_INC = \
-I.. \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-I../BCs/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lbasicThermophysicalModels \
-lspecie \
-lrhoCentralFoam \
-ldynamicMesh \
-lmeshTools

View File

@ -0,0 +1,245 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
rhoCentralFoam
Description
Density-based compressible flow solver based on central-upwind schemes of
Kurganov and Tadmor
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "basicPsiThermo.H"
#include "zeroGradientFvPatchFields.H"
#include "fixedRhoFvPatchScalarField.H"
#include "motionSolver.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
#include "createFields.H"
#include "readThermophysicalProperties.H"
#include "readTimeControls.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "readFluxScheme.H"
dimensionedScalar v_zero("v_zero", dimVolume/dimTime, 0.0);
Info<< "\nStarting time loop\n" << endl;
autoPtr<Foam::motionSolver> motionPtr = motionSolver::New(mesh);
while (runTime.run())
{
// --- upwind interpolation of primitive fields on faces
surfaceScalarField rho_pos =
fvc::interpolate(rho, pos, "reconstruct(rho)");
surfaceScalarField rho_neg =
fvc::interpolate(rho, neg, "reconstruct(rho)");
surfaceVectorField rhoU_pos =
fvc::interpolate(rhoU, pos, "reconstruct(U)");
surfaceVectorField rhoU_neg =
fvc::interpolate(rhoU, neg, "reconstruct(U)");
volScalarField rPsi = 1.0/psi;
surfaceScalarField rPsi_pos =
fvc::interpolate(rPsi, pos, "reconstruct(T)");
surfaceScalarField rPsi_neg =
fvc::interpolate(rPsi, neg, "reconstruct(T)");
surfaceScalarField e_pos =
fvc::interpolate(e, pos, "reconstruct(T)");
surfaceScalarField e_neg =
fvc::interpolate(e, neg, "reconstruct(T)");
surfaceVectorField U_pos = rhoU_pos/rho_pos;
surfaceVectorField U_neg = rhoU_neg/rho_neg;
surfaceScalarField p_pos = rho_pos*rPsi_pos;
surfaceScalarField p_neg = rho_neg*rPsi_neg;
surfaceScalarField phiv_pos = U_pos & mesh.Sf();
surfaceScalarField phiv_neg = U_neg & mesh.Sf();
volScalarField c = sqrt(thermo.Cp()/thermo.Cv()*rPsi);
surfaceScalarField cSf_pos =
fvc::interpolate(c, pos, "reconstruct(T)")*mesh.magSf();
surfaceScalarField cSf_neg =
fvc::interpolate(c, neg, "reconstruct(T)")*mesh.magSf();
surfaceScalarField ap =
max(max(phiv_pos + cSf_pos, phiv_neg + cSf_neg), v_zero);
surfaceScalarField am =
min(min(phiv_pos - cSf_pos, phiv_neg - cSf_neg), v_zero);
surfaceScalarField a_pos = ap/(ap - am);
surfaceScalarField amaxSf("amaxSf", max(mag(am), mag(ap)));
surfaceScalarField aSf = am*a_pos;
if (fluxScheme == "Tadmor")
{
aSf = -0.5*amaxSf;
a_pos = 0.5;
}
surfaceScalarField a_neg = (1.0 - a_pos);
phiv_pos *= a_pos;
phiv_neg *= a_neg;
surfaceScalarField aphiv_pos = phiv_pos - aSf;
surfaceScalarField aphiv_neg = phiv_neg + aSf;
// Reuse amaxSf for the maximum positive and negative fluxes
// estimated by the central scheme
amaxSf = max(mag(aphiv_pos), mag(aphiv_neg));
#include "compressibleCourantNo.H"
#include "readTimeControls.H"
#include "setDeltaT.H"
runTime++;
Info<< "Time = " << runTime.timeName() << nl << endl;
mesh.movePoints(motionPtr->newPoints());
phiv_pos = U_pos & mesh.Sf();
phiv_neg = U_neg & mesh.Sf();
fvc::makeRelative(phiv_pos, U);
fvc::makeRelative(phiv_neg, U);
phiv_neg -= mesh.phi();
phiv_pos *= a_pos;
phiv_neg *= a_neg;
aphiv_pos = phiv_pos - aSf;
aphiv_neg = phiv_neg + aSf;
surfaceScalarField phi("phi", aphiv_pos*rho_pos + aphiv_neg*rho_neg);
surfaceVectorField phiUp =
(aphiv_pos*rhoU_pos + aphiv_neg*rhoU_neg)
+ (a_pos*p_pos + a_neg*p_neg)*mesh.Sf();
surfaceScalarField phiEp =
aphiv_pos*(rho_pos*(e_pos + 0.5*magSqr(U_pos)) + p_pos)
+ aphiv_neg*(rho_neg*(e_neg + 0.5*magSqr(U_neg)) + p_neg)
+ aSf*p_pos - aSf*p_neg;
volTensorField tauMC("tauMC", mu*dev2(fvc::grad(U)().T()));
// --- Solve density
Info<< max(rho) << " " << min(rho) << endl;
solve(fvm::ddt(rho) + fvc::div(phi));
Info<< max(rho) << " " << min(rho) << endl;
// --- Solve momentum
solve(fvm::ddt(rhoU) + fvc::div(phiUp));
U.dimensionedInternalField() =
rhoU.dimensionedInternalField()
/rho.dimensionedInternalField();
U.correctBoundaryConditions();
rhoU.boundaryField() = rho.boundaryField()*U.boundaryField();
if (!inviscid)
{
solve
(
fvm::ddt(rho, U) - fvc::ddt(rho, U)
- fvm::laplacian(mu, U)
- fvc::div(tauMC)
);
rhoU = rho*U;
}
// --- Solve energy
surfaceScalarField sigmaDotU =
(
(
fvc::interpolate(mu)*mesh.magSf()*fvc::snGrad(U)
+ (mesh.Sf() & fvc::interpolate(tauMC))
)
& (a_pos*U_pos + a_neg*U_neg)
);
solve
(
fvm::ddt(rhoE)
+ fvc::div(phiEp)
- fvc::div(sigmaDotU)
);
e = rhoE/rho - 0.5*magSqr(U);
e.correctBoundaryConditions();
thermo.correct();
rhoE.boundaryField() =
rho.boundaryField()*
(
e.boundaryField() + 0.5*magSqr(U.boundaryField())
);
if (!inviscid)
{
volScalarField k("k", thermo.Cp()*mu/Pr);
solve
(
fvm::ddt(rho, e) - fvc::ddt(rho, e)
- fvm::laplacian(thermo.alpha(), e)
+ fvc::laplacian(thermo.alpha(), e)
- fvc::laplacian(k, T)
);
thermo.correct();
rhoE = rho*(e + 0.5*magSqr(U));
}
p.dimensionedInternalField() =
rho.dimensionedInternalField()
/psi.dimensionedInternalField();
p.correctBoundaryConditions();
rho.boundaryField() = psi.boundaryField()*p.boundaryField();
runTime.write();
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
}
Info<< "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -50,7 +50,7 @@ int main(int argc, char *argv[])
Info<< "\nStarting time loop\n" << endl; Info<< "\nStarting time loop\n" << endl;
for (runTime++; !runTime.end(); runTime++) while (runTime.loop())
{ {
Info<< "Time = " << runTime.timeName() << nl << endl; Info<< "Time = " << runTime.timeName() << nl << endl;

View File

@ -49,7 +49,7 @@ int main(int argc, char *argv[])
Info<< "\nStarting time loop\n" << endl; Info<< "\nStarting time loop\n" << endl;
autoPtr<Foam::motionSolver> motionPtr = motionSolver::New(mesh); autoPtr<motionSolver> motionPtr = motionSolver::New(mesh);
while (runTime.loop()) while (runTime.loop())
{ {

View File

@ -0,0 +1,3 @@
magneticFoam.C
EXE = $(FOAM_APPBIN)/magneticFoam

View File

@ -0,0 +1,4 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = -lfiniteVolume

View File

@ -0,0 +1,81 @@
Info<< "Reading field psi\n" << endl;
volScalarField psi
(
IOobject
(
"psi",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
Info<< "Reading transportProperties\n" << endl;
IOdictionary transportProperties
(
IOobject
(
"transportProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
)
);
List<magnet> magnets(transportProperties.lookup("magnets"));
surfaceScalarField murf
(
IOobject
(
"murf",
runTime.timeName(),
mesh
),
mesh,
1
);
surfaceScalarField Mrf
(
IOobject
(
"Mrf",
runTime.timeName(),
mesh
),
mesh,
dimensionedScalar("Mr", dimensionSet(0, 1, 0, 0, 0, 1, 0), 0)
);
forAll(magnets, i)
{
label magnetZonei = mesh.faceZones().findZoneID(magnets[i].name());
if (magnetZonei == -1)
{
FatalIOErrorIn(args.executable().c_str(), transportProperties)
<< "Cannot find faceZone for magnet " << magnets[i].name()
<< exit(FatalIOError);
}
const labelList& faces =
mesh.faceZones()[magnetZonei];
const scalar muri = magnets[i].mur();
const scalar Mri = magnets[i].Mr().value();
const vector& orientationi = magnets[i].orientation();
const surfaceVectorField& Sf = mesh.Sf();
forAll(faces, i)
{
label facei = faces[i];
murf[facei] = muri;
Mrf[facei] = Mri*(orientationi & Sf[facei]);
}
}

View File

@ -0,0 +1,169 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::magnet
Description
Class to hold the defining data for a permanent magnet, in particular
the name, relative permeability and remanence.
SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef magnet_H
#define magnet_H
#include "dimensionedVector.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// Forward declaration of classes
class Istream;
class Ostream;
// Forward declaration of friend functions and operators
class magnet;
Istream& operator>>(Istream&, magnet&);
Ostream& operator<<(Ostream&, const magnet&);
/*---------------------------------------------------------------------------*\
Class magnet Declaration
\*---------------------------------------------------------------------------*/
class magnet
{
// Private data
word name_;
scalar relativPermeability_;
dimensionedScalar remanence_;
vector orientation_;
public:
// Constructors
//- Null constructor for lists
inline magnet()
:
remanence_("Mr", dimensionSet(0, -1, 0, 0, 0, 1, 0), 0),
orientation_(vector::zero)
{}
//- Construct from components
inline magnet
(
const word& name,
const scalar mur,
const scalar Mr,
const vector& orientation
)
:
name_(name),
relativPermeability_(mur),
remanence_("Mr", dimensionSet(0, -1, 0, 0, 0, 1, 0), Mr),
orientation_(orientation)
{}
//- Construct from Istream
inline magnet(Istream& is)
:
remanence_("Mr", dimensionSet(0, -1, 0, 0, 0, 1, 0), 0),
orientation_(vector::zero)
{
is >> *this;
}
// Member Functions
//- Return name
inline const word& name() const
{
return name_;
}
//- Return relative permeability
inline scalar mur() const
{
return relativPermeability_;
}
//- Return remenance
inline const dimensionedScalar& Mr() const
{
return remanence_;
}
//- Return orientation
inline const vector& orientation() const
{
return orientation_;
}
// IOstream operators
inline friend Istream& operator>>(Istream& is, magnet& m)
{
is.readBegin("magnet");
is >> m.name_
>> m.relativPermeability_
>> m.remanence_.value()
>> m.orientation_;
is.readEnd("magnet");
// Check state of Istream
is.check("operator>>(Istream&, magnet&)");
return is;
}
inline friend Ostream& operator<<(Ostream& os, const magnet& m)
{
os << token::BEGIN_LIST
<< m.name_ << token::SPACE
<< m.relativPermeability_ << token::SPACE
<< m.remanence_.value()
<< m.orientation_
<< token::END_LIST;
return os;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,110 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
magneticFoam
Description
Solver for the magnetic field generated by permanent magnets.
A Poisson's equation for the magnetic scalar potential psi is solved
from which the magnetic field intensity H and magnetic flux density B
are obtained.
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "OSspecific.H"
#include "magnet.H"
#include "electromagneticConstants.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
argList::addBoolOption("noH", "do not write the magnetic field");
argList::addBoolOption("noB", "do not write the magnetic field");
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
#include "createFields.H"
#include "readSIMPLEControls.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "Calculating the magnetic field potential" << endl;
runTime++;
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{
solve(fvm::laplacian(murf, psi) + fvc::div(murf*Mrf));
}
psi.write();
if (!args.optionFound("noH"))
{
Info<< nl
<< "Creating field H for time " << runTime.timeName() << endl;
volVectorField H
(
IOobject
(
"H",
runTime.timeName(),
mesh
),
fvc::reconstruct(fvc::snGrad(psi)*mesh.magSf())
);
H.write();
}
if (!args.optionFound("noB"))
{
Info<< nl
<< "Creating field B for time " << runTime.timeName() << endl;
volVectorField B
(
IOobject
(
"B",
runTime.timeName(),
mesh
),
constant::electromagnetic::mu0
*fvc::reconstruct(murf*fvc::snGrad(psi)*mesh.magSf() + murf*Mrf)
);
B.write();
}
Info<< "\nEnd\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -124,6 +124,41 @@ void Foam::solidWallHeatFluxTemperatureFvPatchScalarField::rmap
} }
Foam::tmp<Foam::scalarField>
Foam::solidWallHeatFluxTemperatureFvPatchScalarField::K() const
{
const fvMesh& mesh = patch().boundaryMesh().mesh();
if (mesh.objectRegistry::foundObject<volScalarField>(KName_))
{
return patch().lookupPatchField<volScalarField, scalar>(KName_);
}
else if (mesh.objectRegistry::foundObject<volSymmTensorField>(KName_))
{
const symmTensorField& KWall =
patch().lookupPatchField<volSymmTensorField, scalar>(KName_);
vectorField n = patch().nf();
return n & KWall & n;
}
else
{
FatalErrorIn
(
"solidWallHeatFluxTemperatureFvPatchScalarField::K()"
" const"
) << "Did not find field " << KName_
<< " on mesh " << mesh.name() << " patch " << patch().name()
<< endl
<< "Please set 'K' to a valid volScalarField"
<< " or a valid volSymmTensorField." << exit(FatalError);
return scalarField(0);
}
}
void Foam::solidWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() void Foam::solidWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
{ {
if (updated()) if (updated())
@ -131,12 +166,7 @@ void Foam::solidWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
return; return;
} }
const scalarField& Kw = patch().lookupPatchField<volScalarField, scalar> gradient() = q_/K();
(
KName_
);
gradient() = q_/Kw;
fixedGradientFvPatchScalarField::updateCoeffs(); fixedGradientFvPatchScalarField::updateCoeffs();
} }

View File

@ -33,7 +33,8 @@ Description
type solidWallHeatFluxTemperature; type solidWallHeatFluxTemperature;
K K; // Name of K field K K; // Name of K field
q uniform 1000; // Heat flux / [W/m2] q uniform 1000; // Heat flux / [W/m2]
value 300.0; // Initial temperature / [K] value uniform 300.0; // Initial temperature / [K]
gradient uniform 0.0; // Initial gradient / [K/m]
} }
@ -140,6 +141,11 @@ public:
// Member functions // Member functions
// Helper
//- Get K field on this patch
tmp<scalarField> K() const;
// Evaluation functions // Evaluation functions
//- Update the coefficients associated with the patch field //- Update the coefficients associated with the patch field

View File

@ -78,7 +78,7 @@ int main(int argc, char *argv[])
Info<< "\nStarting time loop\n" << endl; Info<< "\nStarting time loop\n" << endl;
for (runTime++; !runTime.end(); runTime++) while (runTime.loop())
{ {
Info<< "Time = " << runTime.timeName() << nl << endl; Info<< "Time = " << runTime.timeName() << nl << endl;

View File

@ -11,7 +11,7 @@
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();
word inertSpecie(thermo.lookup("inertSpecie")); const word inertSpecie(thermo.lookup("inertSpecie"));
if (!composition.contains(inertSpecie)) if (!composition.contains(inertSpecie))
{ {

View File

@ -11,7 +11,7 @@
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();
word inertSpecie(thermo.lookup("inertSpecie")); const word inertSpecie(thermo.lookup("inertSpecie"));
if (!composition.contains(inertSpecie)) if (!composition.contains(inertSpecie))
{ {

View File

@ -11,7 +11,7 @@
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();
word inertSpecie(thermo.lookup("inertSpecie")); const word inertSpecie(thermo.lookup("inertSpecie"));
volScalarField& p = thermo.p(); volScalarField& p = thermo.p();
volScalarField& hs = thermo.hs(); volScalarField& hs = thermo.hs();

View File

@ -11,7 +11,7 @@
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();
word inertSpecie(thermo.lookup("inertSpecie")); const word inertSpecie(thermo.lookup("inertSpecie"));
if (!composition.contains(inertSpecie)) if (!composition.contains(inertSpecie))
{ {

View File

@ -1,6 +1,6 @@
interPhaseChangeFoam.C interPhaseChangeFoam.C
phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.C
phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/newPhaseChangeTwoPhaseMixture.C phaseChangeTwoPhaseMixtures/phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixtureNew.C
phaseChangeTwoPhaseMixtures/Kunz/Kunz.C phaseChangeTwoPhaseMixtures/Kunz/Kunz.C
phaseChangeTwoPhaseMixtures/Merkle/Merkle.C phaseChangeTwoPhaseMixtures/Merkle/Merkle.C
phaseChangeTwoPhaseMixtures/SchnerrSauer/SchnerrSauer.C phaseChangeTwoPhaseMixtures/SchnerrSauer/SchnerrSauer.C

View File

@ -28,7 +28,7 @@ Description
SourceFiles SourceFiles
phaseChangeTwoPhaseMixture.C phaseChangeTwoPhaseMixture.C
newPhaseChangeModel.C phaseChangeModelNew.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -36,7 +36,10 @@ Foam::phaseChangeTwoPhaseMixture::New
const word& alpha1Name const word& alpha1Name
) )
{ {
IOdictionary transportPropertiesDict // get model name, but do not register the dictionary
const word mixtureType
(
IOdictionary
( (
IOobject IOobject
( (
@ -47,19 +50,13 @@ Foam::phaseChangeTwoPhaseMixture::New
IOobject::NO_WRITE, IOobject::NO_WRITE,
false false
) )
).lookup("phaseChangeTwoPhaseMixture")
); );
word phaseChangeTwoPhaseMixtureTypeName Info<< "Selecting phaseChange model " << mixtureType << endl;
(
transportPropertiesDict.lookup("phaseChangeTwoPhaseMixture")
);
Info<< "Selecting phaseChange model "
<< phaseChangeTwoPhaseMixtureTypeName << endl;
componentsConstructorTable::iterator cstrIter = componentsConstructorTable::iterator cstrIter =
componentsConstructorTablePtr_ componentsConstructorTablePtr_->find(mixtureType);
->find(phaseChangeTwoPhaseMixtureTypeName);
if (cstrIter == componentsConstructorTablePtr_->end()) if (cstrIter == componentsConstructorTablePtr_->end())
{ {
@ -67,8 +64,8 @@ Foam::phaseChangeTwoPhaseMixture::New
( (
"phaseChangeTwoPhaseMixture::New" "phaseChangeTwoPhaseMixture::New"
) << "Unknown phaseChangeTwoPhaseMixture type " ) << "Unknown phaseChangeTwoPhaseMixture type "
<< phaseChangeTwoPhaseMixtureTypeName << endl << endl << mixtureType << nl << nl
<< "Valid phaseChangeTwoPhaseMixtures are : " << endl << "Valid phaseChangeTwoPhaseMixture types are : " << endl
<< componentsConstructorTablePtr_->sortedToc() << componentsConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);
} }

View File

@ -159,7 +159,7 @@
Info<< "Selecting Drift-Flux model " << endl; Info<< "Selecting Drift-Flux model " << endl;
word VdjModel(transportProperties.lookup("VdjModel")); const word VdjModel(transportProperties.lookup("VdjModel"));
Info<< tab << VdjModel << " selected\n" << endl; Info<< tab << VdjModel << " selected\n" << endl;

View File

@ -1,5 +1,5 @@
dragModels/dragModel/dragModel.C dragModels/dragModel/dragModel.C
dragModels/dragModel/newDragModel.C dragModels/dragModel/dragModelNew.C
dragModels/Ergun/Ergun.C dragModels/Ergun/Ergun.C
dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C

View File

@ -28,7 +28,7 @@ Description
SourceFiles SourceFiles
dragModel.C dragModel.C
newDragModel.C dragModelNew.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -35,28 +35,24 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New
const phaseModel& phaseb const phaseModel& phaseb
) )
{ {
word dragModelType const word modelType(interfaceDict.lookup("dragModel" + phasea.name()));
(
interfaceDict.lookup("dragModel" + phasea.name())
);
Info<< "Selecting dragModel for phase " Info<< "Selecting dragModel for phase " << phasea.name()
<< phasea.name() << ": " << modelType << endl;
<< ": "
<< dragModelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(dragModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalError FatalErrorIn
<< "dragModel::New : " << endl (
<< " unknown dragModelType type " "dragModel::New(...)"
<< dragModelType ) << "Unknown dragModel type "
<< ", constructor not in hash table" << endl << endl << modelType << nl << nl
<< " Valid dragModel types are : " << endl; << "Valid dragModel types are : " << endl
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); << dictionaryConstructorTablePtr_->sortedToc()
<< abort(FatalError);
} }
return cstrIter()(interfaceDict, alpha, phasea, phaseb); return cstrIter()(interfaceDict, alpha, phasea, phaseb);

View File

@ -1,32 +1,32 @@
kineticTheoryModel/kineticTheoryModel.C kineticTheoryModel/kineticTheoryModel.C
viscosityModel/viscosityModel/viscosityModel.C viscosityModel/viscosityModel/viscosityModel.C
viscosityModel/viscosityModel/newViscosityModel.C viscosityModel/viscosityModel/viscosityModelNew.C
viscosityModel/Gidaspow/GidaspowViscosity.C viscosityModel/Gidaspow/GidaspowViscosity.C
viscosityModel/Syamlal/SyamlalViscosity.C viscosityModel/Syamlal/SyamlalViscosity.C
viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C
viscosityModel/none/noneViscosity.C viscosityModel/none/noneViscosity.C
conductivityModel/conductivityModel/conductivityModel.C conductivityModel/conductivityModel/conductivityModel.C
conductivityModel/conductivityModel/newConductivityModel.C conductivityModel/conductivityModel/conductivityModelNew.C
conductivityModel/Gidaspow/GidaspowConductivity.C conductivityModel/Gidaspow/GidaspowConductivity.C
conductivityModel/Syamlal/SyamlalConductivity.C conductivityModel/Syamlal/SyamlalConductivity.C
conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C
radialModel/radialModel/radialModel.C radialModel/radialModel/radialModel.C
radialModel/radialModel/newRadialModel.C radialModel/radialModel/radialModelNew.C
radialModel/CarnahanStarling/CarnahanStarlingRadial.C radialModel/CarnahanStarling/CarnahanStarlingRadial.C
radialModel/Gidaspow/GidaspowRadial.C radialModel/Gidaspow/GidaspowRadial.C
radialModel/LunSavage/LunSavageRadial.C radialModel/LunSavage/LunSavageRadial.C
radialModel/SinclairJackson/SinclairJacksonRadial.C radialModel/SinclairJackson/SinclairJacksonRadial.C
granularPressureModel/granularPressureModel/granularPressureModel.C granularPressureModel/granularPressureModel/granularPressureModel.C
granularPressureModel/granularPressureModel/newGranularPressureModel.C granularPressureModel/granularPressureModel/granularPressureModelNew.C
granularPressureModel/Lun/LunPressure.C granularPressureModel/Lun/LunPressure.C
granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C
frictionalStressModel/frictionalStressModel/frictionalStressModel.C frictionalStressModel/frictionalStressModel/frictionalStressModel.C
frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C frictionalStressModel/frictionalStressModel/frictionalStressModelNew.C
frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C
frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C

View File

@ -32,23 +32,23 @@ Foam::autoPtr<Foam::conductivityModel> Foam::conductivityModel::New
const dictionary& dict const dictionary& dict
) )
{ {
word conductivityModelType(dict.lookup("conductivityModel")); const word modelType(dict.lookup("conductivityModel"));
Info<< "Selecting conductivityModel " Info<< "Selecting conductivityModel " << modelType << endl;
<< conductivityModelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(conductivityModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalError FatalErrorIn
<< "conductivityModel::New(const dictionary&) : " << endl (
<< " unknown conductivityModelType type " "conductivityModel::New(const dictionary&)"
<< conductivityModelType ) << "Unknown conductivityModel type "
<< ", constructor not in hash table" << endl << endl << modelType << nl << nl
<< " Valid conductivityModelType types are :" << endl; << "Valid conductivityModel types are :" << endl
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); << dictionaryConstructorTablePtr_->sortedToc()
<< abort(FatalError);
} }
return autoPtr<conductivityModel>(cstrIter()(dict)); return autoPtr<conductivityModel>(cstrIter()(dict));

View File

@ -32,23 +32,24 @@ Foam::autoPtr<Foam::frictionalStressModel> Foam::frictionalStressModel::New
const dictionary& dict const dictionary& dict
) )
{ {
word frictionalStressModelType(dict.lookup("frictionalStressModel")); const word modelType(dict.lookup("frictionalStressModel"));
Info<< "Selecting frictionalStressModel " Info<< "Selecting frictionalStressModel " << modelType << endl;
<< frictionalStressModelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(frictionalStressModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalError FatalErrorIn
<< "frictionalStressModel::New(const dictionary&) : " << endl (
<< " unknown frictionalStressModelType type " "frictionalStressModel::New(const dictionary&)"
<< frictionalStressModelType )
<< ", constructor not in hash table" << endl << endl << "Unknown frictionalStressModel type "
<< " Valid frictionalStressModelType types are :" << endl; << modelType << nl << nl
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); << "Valid frictionalStressModel types are :" << endl
<< dictionaryConstructorTablePtr_->sortedToc()
<< abort(FatalError);
} }
return autoPtr<frictionalStressModel>(cstrIter()(dict)); return autoPtr<frictionalStressModel>(cstrIter()(dict));

View File

@ -32,23 +32,23 @@ Foam::autoPtr<Foam::granularPressureModel> Foam::granularPressureModel::New
const dictionary& dict const dictionary& dict
) )
{ {
word granularPressureModelType(dict.lookup("granularPressureModel")); const word modelType(dict.lookup("granularPressureModel"));
Info<< "Selecting granularPressureModel " Info<< "Selecting granularPressureModel " << modelType << endl;
<< granularPressureModelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(granularPressureModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalError FatalErrorIn
<< "granularPressureModel::New(const dictionary&) : " << endl (
<< " unknown granularPressureModelType type " "granularPressureModel::New(const dictionary&)"
<< granularPressureModelType ) << "Unknown granularPressureModel type "
<< ", constructor not in hash table" << endl << endl << modelType << nl << nl
<< " Valid granularPressureModelType types are :" << endl; << "Valid granularPressureModel types are :" << endl
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); << dictionaryConstructorTablePtr_->sortedToc()
<< abort(FatalError);
} }
return autoPtr<granularPressureModel>(cstrIter()(dict)); return autoPtr<granularPressureModel>(cstrIter()(dict));

View File

@ -32,23 +32,24 @@ Foam::autoPtr<Foam::radialModel> Foam::radialModel::New
const dictionary& dict const dictionary& dict
) )
{ {
word radialModelType(dict.lookup("radialModel")); const word modelType(dict.lookup("radialModel"));
Info<< "Selecting radialModel " Info<< "Selecting radialModel " << modelType << endl;
<< radialModelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(radialModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalError FatalErrorIn
<< "radialModel::New(const dictionary&) : " << endl (
<< " unknown radialModelType type " "radialModel::New(const dictionary&)"
<< radialModelType )
<< ", constructor not in hash table" << endl << endl << "Unknown radialModel type "
<< " Valid radialModelType types are :" << endl; << modelType << nl << nl
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); << "Valid radialModel types are :" << endl
<< dictionaryConstructorTablePtr_->sortedToc()
<< abort(FatalError);
} }
return autoPtr<radialModel>(cstrIter()(dict)); return autoPtr<radialModel>(cstrIter()(dict));

View File

@ -33,23 +33,23 @@ Foam::kineticTheoryModels::viscosityModel::New
const dictionary& dict const dictionary& dict
) )
{ {
word viscosityModelType(dict.lookup("viscosityModel")); const word modelType(dict.lookup("viscosityModel"));
Info<< "Selecting viscosityModel " Info<< "Selecting viscosityModel " << modelType << endl;
<< viscosityModelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(viscosityModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalError FatalErrorIn
<< "viscosityModel::New(const dictionary&) : " << endl (
<< " unknown viscosityModelType type " "viscosityModel::New(const dictionary&)"
<< viscosityModelType ) << "Unknown viscosityModel type "
<< ", constructor not in hash table" << endl << endl << modelType << nl << nl
<< " Valid viscosityModelType types are :" << endl; << "Valid viscosityModel types are :" << endl
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); << dictionaryConstructorTablePtr_->sortedToc()
<< abort(FatalError);
} }
return autoPtr<viscosityModel>(cstrIter()(dict)); return autoPtr<viscosityModel>(cstrIter()(dict));

View File

@ -177,8 +177,7 @@ int main(int argc, char *argv[])
forAll(patchField, patchFaceI) forAll(patchField, patchFaceI)
{ {
label meshFaceI = const label meshFaceI = patchField.patch().start() + patchFaceI;
patchField.patch().patch().start() + patchFaceI;
scalar dist = allFaceInfo[meshFaceI].distSqr(); scalar dist = allFaceInfo[meshFaceI].distSqr();
if (allFaceInfo[meshFaceI].valid()) if (allFaceInfo[meshFaceI].valid())

View File

@ -47,8 +47,7 @@ void writeObj(Ostream& os,const pointField& points)
{ {
const point& pt = points[pointI]; const point& pt = points[pointI];
os << "v " << pt.x() << ' ' << pt.y() os << "v " << pt.x() << ' ' << pt.y() << ' ' << pt.z() << endl;
<< ' ' << pt.z() << endl;
} }
} }

View File

@ -166,7 +166,9 @@ void starMesh::markBoundaryFaces()
} }
} }
FatalError << " $ bset,add,vset,all" << abort(FatalError); FatalError
<< " $ bset,add,vset,all"
<< abort(FatalError);
} }
} }
} }

View File

@ -1,5 +1,5 @@
extrudeModel/extrudeModel.C extrudeModel/extrudeModel.C
extrudeModel/newExtrudeModel.C extrudeModel/extrudeModelNew.C
linearNormal/linearNormal.C linearNormal/linearNormal.C
linearDirection/linearDirection.C linearDirection/linearDirection.C
linearRadial/linearRadial.C linearRadial/linearRadial.C

View File

@ -32,19 +32,20 @@ Foam::autoPtr<Foam::extrudeModel> Foam::extrudeModel::New
const dictionary& dict const dictionary& dict
) )
{ {
word extrudeModelType(dict.lookup("extrudeModel")); const word modelType(dict.lookup("extrudeModel"));
Info<< "Selecting extrudeModel " << extrudeModelType << endl; Info<< "Selecting extrudeModel " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(extrudeModelType); dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (cstrIter == dictionaryConstructorTablePtr_->end())
{ {
FatalErrorIn("extrudeModel::New(const dictionary&)") FatalErrorIn
<< "Unknown extrudeModelType type " (
<< extrudeModelType "extrudeModel::New(const dictionary&)"
<< ", constructor not in hash table" << nl << nl ) << "Unknown extrudeModel type "
<< modelType << nl << nl
<< "Valid extrudeModel types are :" << nl << "Valid extrudeModel types are :" << nl
<< dictionaryConstructorTablePtr_->sortedToc() << nl << dictionaryConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError); << exit(FatalError);
@ -55,4 +56,3 @@ Foam::autoPtr<Foam::extrudeModel> Foam::extrudeModel::New
// ************************************************************************* // // ************************************************************************* //

View File

@ -233,7 +233,7 @@ void Foam::patchPointEdgeCirculator::setCanonical()
//- Step to next edge. //- Step to next edge.
Foam::patchPointEdgeCirculator::patchPointEdgeCirculator& Foam::patchPointEdgeCirculator&
Foam::patchPointEdgeCirculator::operator++() Foam::patchPointEdgeCirculator::operator++()
{ {
if (index_ == -1) if (index_ == -1)

View File

@ -59,9 +59,8 @@ int main(int argc, char *argv[])
); );
word setName(cellSetDict.lookup("name")); const word setName(cellSetDict.lookup("name"));
const word actionName(cellSetDict.lookup("action"));
word actionName(cellSetDict.lookup("action"));
topoSetSource::setAction action = topoSetSource::toAction(actionName); topoSetSource::setAction action = topoSetSource::toAction(actionName);

View File

@ -59,9 +59,8 @@ int main(int argc, char *argv[])
); );
word setName(faceSetDict.lookup("name")); const word setName(faceSetDict.lookup("name"));
const word actionName(faceSetDict.lookup("action"));
word actionName(faceSetDict.lookup("action"));
topoSetSource::setAction action = topoSetSource::toAction(actionName); topoSetSource::setAction action = topoSetSource::toAction(actionName);

View File

@ -43,7 +43,7 @@ int main(int argc, char *argv[])
# include "createTime.H" # include "createTime.H"
# include "createMesh.H" # include "createMesh.H"
autoPtr<Foam::motionSolver> motionPtr = motionSolver::New(mesh); autoPtr<motionSolver> motionPtr = motionSolver::New(mesh);
while (runTime.loop()) while (runTime.loop())
{ {

View File

@ -113,7 +113,7 @@ int main(int argc, char *argv[])
argList::validArgs.clear(); argList::validArgs.clear();
argList::validArgs.append("OBJ file"); argList::validArgs.append("OBJ file");
argList::validArgs.append("output VTK file"); argList::validArgs.append("output VTK file");
argList::argList args(argc, argv); argList args(argc, argv);
const fileName objName = args[1]; const fileName objName = args[1];
const fileName outName = args[2]; const fileName outName = args[2];

View File

@ -59,9 +59,8 @@ int main(int argc, char *argv[])
); );
word setName(pointSetDict.lookup("name")); const word setName(pointSetDict.lookup("name"));
const word actionName(pointSetDict.lookup("action"));
word actionName(pointSetDict.lookup("action"));
topoSetSource::setAction action = topoSetSource::toAction(actionName); topoSetSource::setAction action = topoSetSource::toAction(actionName);

View File

@ -331,7 +331,7 @@ int main(int argc, char *argv[])
) )
); );
word setName(refineDict.lookup("set")); const word setName(refineDict.lookup("set"));
cellSet cells(mesh, setName); cellSet cells(mesh, setName);

View File

@ -154,9 +154,9 @@ int main(int argc, char *argv[])
} }
// get requested numberOfSubdomains // get requested numberOfSubdomains
label nDomains = 0; const label nDomains = readLabel
{ (
IOdictionary decompDict IOdictionary
( (
IOobject IOobject
( (
@ -168,11 +168,9 @@ int main(int argc, char *argv[])
IOobject::NO_WRITE, IOobject::NO_WRITE,
false false
) )
).lookup("numberOfSubdomains")
); );
decompDict.lookup("numberOfSubdomains") >> nDomains;
}
if (decomposeFieldsOnly) if (decomposeFieldsOnly)
{ {
// Sanity check on previously decomposed case // Sanity check on previously decomposed case

View File

@ -72,14 +72,17 @@ labelList calcFaceAddressing
<< " face labels:" << faces << endl << " face labels:" << faces << endl
<< " cellI:" << cellI << endl; << " cellI:" << cellI << endl;
FatalError << "Faces consist of vertices:" << endl; FatalError
<< "Faces consist of vertices:" << endl;
forAll(faces, faceI) forAll(faces, faceI)
{ {
FatalError FatalError
<< " face:" << faces[faceI] << " face:" << faces[faceI]
<< allFaces[faces[faceI]] << endl; << allFaces[faces[faceI]] << endl;
} }
FatalError << exit(FatalError); FatalError
<< exit(FatalError);
} }
} }
return shapeToMesh; return shapeToMesh;

View File

@ -88,7 +88,7 @@ void writeWallFlags(Ostream& os, label cellI, const labelList& wallFlags)
os << "cell " << cellI << " wallsFlags:"; os << "cell " << cellI << " wallsFlags:";
forAll(wallFlags, wallFaceI) forAll(wallFlags, wallFaceI)
{ {
os << wallFlags[wallFaceI] << " "; os << wallFlags[wallFaceI] << ' ';
} }
os << endl; os << endl;
} }

View File

@ -28,7 +28,8 @@ word format
if ((format != "ascii") && (format != "ieeei4r8")) if ((format != "ascii") && (format != "ieeei4r8"))
{ {
FatalError << "format type: " << format << " unknown." FatalError
<< "format type: " << format << " unknown."
<< " Valid options are: ascii ieeei4r8" << " Valid options are: ascii ieeei4r8"
<< abort(FatalError); << abort(FatalError);
@ -44,6 +45,7 @@ if
(cells != "hex") (cells != "hex")
) )
{ {
FatalError << "cells type: " << cells << " unknown." FatalError
<< "cells type: " << cells << " unknown."
<< abort(FatalError); << abort(FatalError);
} }

View File

@ -508,9 +508,8 @@ void vtkPV3FoamReader::PrintSelf(ostream& os, vtkIndent indent)
foamData_->PrintSelf(os, indent); foamData_->PrintSelf(os, indent);
os << indent << "Time step range: " os << indent << "Time step range: "
<< this->TimeStepRange[0] << " - " << this->TimeStepRange[1] << this->TimeStepRange[0] << " - " << this->TimeStepRange[1] << "\n"
<< "\n"; << indent << "Time step: " << this->GetTimeStep() << endl;
os<< indent << "Time step: " << this->GetTimeStep() << endl;
} }

View File

@ -1,5 +1,5 @@
tabulatedWallFunction/tabulatedWallFunction.C tabulatedWallFunction/tabulatedWallFunction.C
tabulatedWallFunction/newTabulatedWallFunction.C tabulatedWallFunction/tabulatedWallFunctionNew.C
SpaldingsLaw/SpaldingsLaw.C SpaldingsLaw/SpaldingsLaw.C
general/general.C general/general.C

View File

@ -51,7 +51,7 @@ int main(int argc, char *argv[])
argList::validArgs.append("surface file"); argList::validArgs.append("surface file");
argList::validArgs.append("min length"); argList::validArgs.append("min length");
argList::validArgs.append("output surface file"); argList::validArgs.append("output surface file");
argList::argList args(argc, argv); argList args(argc, argv);
const fileName inFileName = args[1]; const fileName inFileName = args[1];
const scalar minLen = args.argRead<scalar>(2); const scalar minLen = args.argRead<scalar>(2);

View File

@ -50,7 +50,7 @@ int main(int argc, char *argv[])
argList::validArgs.clear(); argList::validArgs.clear();
argList::validArgs.append("surface file"); argList::validArgs.append("surface file");
argList::validArgs.append("output surface file"); argList::validArgs.append("output surface file");
argList::argList args(argc, argv); argList args(argc, argv);
const fileName surfFileName = args[1]; const fileName surfFileName = args[1];
const fileName outFileName = args[2]; const fileName outFileName = args[2];

View File

@ -39,7 +39,7 @@ int main(int argc, char *argv[])
argList::noParallel(); argList::noParallel();
argList::validArgs.clear(); argList::validArgs.clear();
argList::validArgs.append("input file"); argList::validArgs.append("input file");
argList::argList args(argc, argv); argList args(argc, argv);
const fileName surfName = args[1]; const fileName surfName = args[1];

View File

@ -70,7 +70,7 @@ int main(int argc, char *argv[])
scalar T0(readScalar(control.lookup("T0"))); scalar T0(readScalar(control.lookup("T0")));
word fuelName(control.lookup("fuel")); const word fuelName(control.lookup("fuel"));
scalar n(readScalar(control.lookup("n"))); scalar n(readScalar(control.lookup("n")));
scalar m(readScalar(control.lookup("m"))); scalar m(readScalar(control.lookup("m")));

View File

@ -71,7 +71,7 @@ int main(int argc, char *argv[])
scalar P(readScalar(control.lookup("P"))); scalar P(readScalar(control.lookup("P")));
word fuel(control.lookup("fuel")); const word fuelName(control.lookup("fuel"));
scalar n(readScalar(control.lookup("n"))); scalar n(readScalar(control.lookup("n")));
scalar m(readScalar(control.lookup("m"))); scalar m(readScalar(control.lookup("m")));
@ -97,7 +97,7 @@ int main(int argc, char *argv[])
Info<< nl << "Reading Burcat data for relevant species" << nl << endl; Info<< nl << "Reading Burcat data for relevant species" << nl << endl;
// Reactants // Reactants
thermo FUEL(thermoData.lookup(fuel)); thermo FUEL(thermoData.lookup(fuelName));
thermo O2(thermoData.lookup("O2")); thermo O2(thermoData.lookup("O2"));
thermo N2(thermoData.lookup("N2")); thermo N2(thermoData.lookup("N2"));

View File

@ -2,9 +2,8 @@
cd ${0%/*} || exit 1 # run from this directory cd ${0%/*} || exit 1 # run from this directory
set -x set -x
chmod a+rX $WM_PROJECT_DIR # fix permissions (NB: '+X' and not '+x'!)
chmod a+rX $WM_PROJECT_DIR/doc chmod a+rX $WM_PROJECT_DIR $WM_PROJECT_DIR/doc Doxygen
chmod -R a+rX Doxygen
Doxygen/Allwmake Doxygen/Allwmake

View File

@ -2,11 +2,21 @@
cd ${0%/*} || exit 1 # run from this directory cd ${0%/*} || exit 1 # run from this directory
set -x set -x
rm -rf latex man
# remove html directory in background
mv html html-stagedRemove$$ 2> /dev/null
rm -rf html-stagedRemove$$ >/dev/null 2>&1 &
# ensure that created files are readable by everyone
umask 22 umask 22
rm -rf html latex man
doxygen doxygen
# fix permissions (NB: '+X' and not '+x'!) # fix permissions (NB: '+X' and not '+x'!)
chmod -R a+rX ./ chmod -R a+rX html latex man 2>/dev/null
echo
echo "Done doxygen"
echo
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View File

@ -14,7 +14,9 @@
<body> <body>
<a id="openfoam"> </a> <a id="openfoam"> </a>
<!-- Top banner --> <!-- Top banner -->
<table style="border-width: 0px; width: 800px; background: #ddddff;" cellspacing=0 cellpadding=0> <table
style="border-width: 0px; width: 800px; background: #ddddff;"
cellspacing="0" cellpadding="0">
<tr> <tr>
<td style="width: 9px; height:54px"></td> <td style="width: 9px; height:54px"></td>
<td style="width: 250px; height:54px; vertical-align:middle; <td style="width: 250px; height:54px; vertical-align:middle;
@ -38,23 +40,23 @@ horizontal-align: left; ">
<td valign="top"> <td valign="top">
<table width="801" border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff"> <table width="801" border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff">
<tr> <tr>
<td class=leftmenu>&nbsp; <td class="leftmenu">&nbsp;
<a href="http://foam.sourceforge.net/doc/Doxygen/html" <a href="http://foam.sourceforge.net/doc/Doxygen/html"
class="menuLefton">Source Guide</a> class="menuLefton">Source Guide</a>
</td> </td>
<td class=topmenu> <td class="topmenu">
<a href="http://www.openfoam.com/about/" <a href="http://www.openfoam.com/about/"
class="menuTopoff">OpenCFD</a> class="menuTopoff">OpenCFD</a>
</td> </td>
<td class=topmenu> <td class="topmenu">
<a href="http://www.openfoam.com/features/" <a href="http://www.openfoam.com/features/"
class="menuTopoff">Features</a> class="menuTopoff">Features</a>
</td> </td>
<td class=topmenu> <td class="topmenu">
<a href="http://www.openfoam.com/contact/" <a href="http://www.openfoam.com/contact/"
class="menuTopoff">Contact</a> class="menuTopoff">Contact</a>
</td> </td>
<td class=topmenu> <td class="topmenu">
<a href="http://www.openfoam.com/" <a href="http://www.openfoam.com/"
class="menuTopoff">OpenFOAM</a> class="menuTopoff">OpenFOAM</a>
</td> </td>
@ -64,6 +66,8 @@ horizontal-align: left; ">
</td> </td>
</tr> </tr>
</table> </table>
<table style="border-width: 0px; width: 800px; background: #ffffff;" cellspacing=5 cellpadding=0> <table
style="border-width: 0px; width: 800px; background: #ffffff;"
cellspacing="5" cellpadding="0">
<tr> <tr>
<td> <td>

View File

@ -1,6 +1,6 @@
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ /* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
DIV.tabs div.tabs
{ {
float : left; float : left;
width : 100%; width : 100%;
@ -8,7 +8,7 @@ DIV.tabs
padding-bottom : 6px; padding-bottom : 6px;
} }
DIV.tabs UL div.tabs ul
{ {
margin : 0px; margin : 0px;
padding-left : 0px; padding-left : 0px;
@ -16,20 +16,20 @@ DIV.tabs UL
list-style : none; list-style : none;
} }
DIV.tabs LI, DIV.tabs FORM div.tabs li, div.tabs form
{ {
display : inline; display : inline;
margin : 0px; margin : 0px;
padding : 0px; padding : 0px;
} }
DIV.tabs FORM div.tabs form
{ {
float : left; float : left;
padding : 0px 9px; padding : 0px 9px;
} }
DIV.tabs A div.tabs a
{ {
float : left; float : left;
font-size : 12px; font-size : 12px;
@ -38,18 +38,17 @@ DIV.tabs A
border-right : 1px solid #000000; border-right : 1px solid #000000;
} }
DIV.tabs A:hover div.tabs a:hover
{ {
background-position: 100% -150px; background-position: 100% -150px;
} }
DIV.tabs A:link, DIV.tabs A:visited, div.tabs a:link, div.tabs a:visited, div.tabs a:active, div.tabs a:hover
DIV.tabs A:active, DIV.tabs A:hover
{ {
color : #000000; color : #000000;
} }
DIV.tabs SPAN div.tabs span
{ {
float : left; float : left;
display : block; display : block;
@ -57,42 +56,42 @@ DIV.tabs SPAN
white-space : nowrap; white-space : nowrap;
} }
DIV.tabs INPUT div.tabs input
{ {
float : right; float : right;
display : inline; display : inline;
font-size : 12px; font-size : 12px;
} }
DIV.tabs TD div.tabs td
{ {
font-size : 12px; font-size : 12px;
font-weight : bold; font-weight : bold;
text-decoration : none; text-decoration : none;
} }
/* Commented Backslash Hack hides rule from IE5-Mac \*/ /* Commented backslash hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;} div.tabs span { float : none; }
/* End IE5-Mac hack */ /* End IE5-Mac hack */
DIV.tabs A:hover SPAN div.tabs a:hover span
{ {
background-position: 0% -150px; background-position: 0% -150px;
} }
DIV.tabs LI#current A div.tabs li#current a
{ {
border-width : 0px; border-width : 0px;
border-right : 1px solid #000000; border-right : 1px solid #000000;
color : #0000ff; color : #0000ff;
} }
DIV.tabs LI#current SPAN div.tabs li#current span
{ {
padding-bottom : 0px; padding-bottom : 0px;
} }
DIV.nav div.nav
{ {
background : none; background : none;
border : none; border : none;

View File

@ -1,48 +0,0 @@
#!/usr/bin/perl -w
use strict;
use File::Find ();
# -----------------------------------------------------------------------------
#
# Script
# find-its
#
# Description
# Search for *.[CH] files with "it's"
# This contraction (== "it is") looks too much like "its" (possesive)
# and confuses non-native (and some native) English speakers.
#
# - print filename and lineNumber
#
# -----------------------------------------------------------------------------
my $re_filespec = qr{^.+\.[CH]$};
# for the convenience of &wanted calls, including -eval statements:
## use vars qw( *name *dir *prune );
## *name = *File::Find::name;
## *dir = *File::Find::dir;
## *prune = *File::Find::prune;
sub wanted {
unless ( lstat($_) and -f _ and -r _ and not -l _ and /$re_filespec/ ) {
return;
}
local @ARGV = $_;
while (<>) {
if (m{it\'s}) {
print "$File::Find::name line=$.\n";
}
}
close ARGV;
}
## Traverse desired filesystems
for my $dir (@ARGV) {
no warnings 'File::Find';
warn "(**) checking '$dir' ...\n";
File::Find::find( { wanted => \&wanted }, $dir );
}

17
doc/tools/find-its Executable file
View File

@ -0,0 +1,17 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Script
# find-its
#
# Description
# Search for files with "it's"
# This contraction (== "it is") looks too much like "its" (possesive)
# and confuses non-native (and some native) English speakers.
#
# -----------------------------------------------------------------------------
set -x
cd $WM_PROJECT_DIR || exit 1
git grep -e "it's"
#------------------------------------------------------------------ end-of-file

View File

@ -64,7 +64,8 @@ Foam::CLASSNAME::CLASSNAME(const CLASSNAME&)
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::CLASSNAME> Foam::CLASSNAME::New() Foam::autoPtr<Foam::CLASSNAME>
Foam::CLASSNAME::New()
{ {
return autoPtr<CLASSNAME>(new CLASSNAME); return autoPtr<CLASSNAME>(new CLASSNAME);
} }

View File

@ -75,7 +75,7 @@ _foamAddLib ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN}:${FOAM_LIBBI
# Compiler settings # Compiler settings
# ~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~
unset gcc_version gmp_version mpfr_version unset gcc_version gmp_version mpfr_version mpc_version
unsetenv MPFR_ARCH_PATH unsetenv MPFR_ARCH_PATH
@ -92,25 +92,22 @@ case OpenFOAM:
set gmp_version=gmp-5.0.1 set gmp_version=gmp-5.0.1
set mpfr_version=mpfr-2.4.2 set mpfr_version=mpfr-2.4.2
breaksw breaksw
case Gcc45:
case Gcc442: set gcc_version=gcc-4.5.0
set gcc_version=gcc-4.4.2 set gmp_version=gmp-5.0.1
set gmp_version=gmp-4.2.4 set mpfr_version=mpfr-2.4.2
set mpfr_version=mpfr-2.4.1 set mpc_version=mpc-2.4.2
breaksw breaksw
case Gcc44: case Gcc44:
set gcc_version=gcc-4.4.2 set gcc_version=gcc-4.4.3
set gmp_version=gmp-4.2.4 set gmp_version=gmp-5.0.1
set mpfr_version=mpfr-2.4.1 set mpfr_version=mpfr-2.4.2
breaksw breaksw
case Gcc43: case Gcc43:
set gcc_version=gcc-4.3.3 set gcc_version=gcc-4.3.3
set gmp_version=gmp-4.2.4 set gmp_version=gmp-4.2.4
set mpfr_version=mpfr-2.4.1 set mpfr_version=mpfr-2.4.1
breaksw breaksw
default: default:
echo echo
echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:" echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:"
@ -118,13 +115,13 @@ case OpenFOAM:
echo " Please check your settings" echo " Please check your settings"
echo echo
breaksw breaksw
endsw endsw
if ( $?gcc_version ) then if ( $?gcc_version ) then
set gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version set gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version
set gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version set gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version
set mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version set mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version
set mpcDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpc_version
# Check that the compiler directory can be found # Check that the compiler directory can be found
if ( ! -d "$gccDir" ) then if ( ! -d "$gccDir" ) then
@ -138,17 +135,28 @@ case OpenFOAM:
_foamAddMan $gccDir/man _foamAddMan $gccDir/man
_foamAddPath $gccDir/bin _foamAddPath $gccDir/bin
_foamAddLib $gccDir/lib${WM_COMPILER_LIB_ARCH}:$gccDir/lib
# 64-bit needs lib64, but 32-bit needs lib (not lib32)
if ($WM_ARCH_OPTION == 64) then
_foamAddLib $gccDir/lib$WM_COMPILER_LIB_ARCH
else
_foamAddLib $gccDir/lib
endif
# add in gmp/mpfr libraries # add in gmp/mpfr libraries
_foamAddLib $gmpDir/lib _foamAddLib $gmpDir/lib
_foamAddLib $mpfrDir/lib _foamAddLib $mpfrDir/lib
# add in mpc libraries (not need for older gcc)
if ( $?mpc_version ) then
_foamAddLib $mpcDir/lib
endif
# used by boost/CGAL: # used by boost/CGAL:
setenv MPFR_ARCH_PATH $mpfrDir setenv MPFR_ARCH_PATH $mpfrDir
endif endif
unset gcc_version gccDir gmp_version gmpDir mpfr_version mpfrDir unset gcc_version gccDir
unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir
breaksw breaksw
endsw endsw
@ -199,18 +207,14 @@ case OPENMPI:
breaksw breaksw
case SYSTEMOPENMPI: case SYSTEMOPENMPI:
# This uses the installed openmpi. It needs mpicc installed! # use the system installed openmpi, get library directory via mpicc
set mpi_version=openmpi-system set mpi_version=openmpi-system
set libDir=`mpicc --showme:link | sed -e 's/.*-L\([^ ]*\).*/\1/'`
# Set compilation flags here instead of in wmake/rules/../mplibSYSTEMOPENMPI
setenv PINC `mpicc --showme:compile`
setenv PLIBS `mpicc --showme:link`
set libDir=`echo "$PLIBS" | sed -e 's/.*-L\([^ ]*\).*/\1/'`
if ($?FOAM_VERBOSE && $?prompt) then if ($?FOAM_VERBOSE && $?prompt) then
echo "Using system installed MPI:" echo "Using system installed OpenMPI:"
echo " compile flags : $PINC" echo " compile flags : `mpicc --showme:compile`"
echo " link flags : $PLIBS" echo " link flags : `mpicc --showme:link`"
echo " libmpi dir : $libDir" echo " libmpi dir : $libDir"
endif endif

View File

@ -99,7 +99,8 @@ _foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN:$FOAM_LIBBIN/dummy
# Compiler settings # Compiler settings
# ~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~
unset gcc_version gmp_version mpfr_version MPFR_ARCH_PATH unset gcc_version gmp_version mpfr_version mpc_version
unset MPFR_ARCH_PATH
# Select compiler installation # Select compiler installation
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -114,15 +115,16 @@ OpenFOAM)
gmp_version=gmp-5.0.1 gmp_version=gmp-5.0.1
mpfr_version=mpfr-2.4.2 mpfr_version=mpfr-2.4.2
;; ;;
Gcc442) Gcc45)
gcc_version=gcc-4.4.2 gcc_version=gcc-4.5.0
gmp_version=gmp-4.2.4 gmp_version=gmp-5.0.1
mpfr_version=mpfr-2.4.1 mpfr_version=mpfr-2.4.2
mpc_version=mpc-0.8.1
;; ;;
Gcc44) Gcc44)
gcc_version=gcc-4.4.2 gcc_version=gcc-4.4.3
gmp_version=gmp-4.2.4 gmp_version=gmp-5.0.1
mpfr_version=mpfr-2.4.1 mpfr_version=mpfr-2.4.2
;; ;;
Gcc43) Gcc43)
gcc_version=gcc-4.3.3 gcc_version=gcc-4.3.3
@ -143,6 +145,7 @@ OpenFOAM)
gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version
gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version
mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version
mpcDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpc_version
# Check that the compiler directory can be found # Check that the compiler directory can be found
[ -d "$gccDir" ] || { [ -d "$gccDir" ] || {
@ -156,22 +159,30 @@ OpenFOAM)
_foamAddMan $gccDir/man _foamAddMan $gccDir/man
_foamAddPath $gccDir/bin _foamAddPath $gccDir/bin
_foamAddLib $gccDir/lib
# 64-bit needs lib64, but 32-bit needs lib (not lib32) # 64-bit needs lib64, but 32-bit needs lib (not lib32)
if [ "$WM_ARCH_OPTION" = 64 ] if [ "$WM_ARCH_OPTION" = 64 ]
then then
_foamAddLib $gccDir/lib$WM_COMPILER_LIB_ARCH _foamAddLib $gccDir/lib$WM_COMPILER_LIB_ARCH
else
_foamAddLib $gccDir/lib
fi fi
# add in gmp/mpfr libraries # add in gmp/mpfr libraries
_foamAddLib $gmpDir/lib _foamAddLib $gmpDir/lib
_foamAddLib $mpfrDir/lib _foamAddLib $mpfrDir/lib
# add in mpc libraries (not need for older gcc)
if [ -n "$mpc_version" ]
then
_foamAddLib $mpcDir/lib
fi
# used by boost/CGAL: # used by boost/CGAL:
export MPFR_ARCH_PATH=$mpfrDir export MPFR_ARCH_PATH=$mpfrDir
fi fi
unset gcc_version gccDir gmp_version gmpDir mpfr_version mpfrDir unset gcc_version gccDir
unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir
;; ;;
esac esac
@ -224,19 +235,15 @@ OPENMPI)
;; ;;
SYSTEMOPENMPI) SYSTEMOPENMPI)
# This uses the installed openmpi. It needs mpicc installed! # use the system installed openmpi, get library directory via mpicc
mpi_version=openmpi-system mpi_version=openmpi-system
libDir=`mpicc --showme:link | sed -e 's/.*-L\([^ ]*\).*/\1/'`
# Set compilation flags here instead of in wmake/rules/../mplibSYSTEMOPENMPI
export PINC=`mpicc --showme:compile`
export PLIBS=`mpicc --showme:link`
libDir=`echo "$PLIBS" | sed -e 's/.*-L\([^ ]*\).*/\1/'`
if [ "$FOAM_VERBOSE" -a "$PS1" ] if [ "$FOAM_VERBOSE" -a "$PS1" ]
then then
echo "Using system installed MPI:" echo "Using system installed OpenMPI:"
echo " compile flags : $PINC" echo " compile flags : `mpicc --showme:compile`"
echo " link flags : $PLIBS" echo " link flags : `mpicc --showme:link`"
echo " libmpi dir : $libDir" echo " libmpi dir : $libDir"
fi fi

View File

@ -6,7 +6,7 @@ ODESolversRK = ODESolvers/RK
ODESolversSIBS = ODESolvers/SIBS ODESolversSIBS = ODESolvers/SIBS
$(ODESolversODESolver)/ODESolver.C $(ODESolversODESolver)/ODESolver.C
$(ODESolversODESolver)/newODESolver.C $(ODESolversODESolver)/ODESolverNew.C
$(ODESolversRK)/RK.C $(ODESolversRK)/RK.C

View File

@ -44,7 +44,7 @@ Foam::autoPtr<Foam::ODESolver> Foam::ODESolver::New
( (
"ODESolver::New(const word& ODESolverTypeName, const ODE& ode)" "ODESolver::New(const word& ODESolverTypeName, const ODE& ode)"
) << "Unknown ODESolver type " ) << "Unknown ODESolver type "
<< ODESolverTypeName << endl << endl << ODESolverTypeName << nl << nl
<< "Valid ODESolvers are : " << endl << "Valid ODESolvers are : " << endl
<< ODEConstructorTablePtr_->sortedToc() << ODEConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);

View File

@ -131,7 +131,6 @@ void printSourceFileAndLine
else else
{ {
string cwdLine(line.replaceAll(cwd() + '/', "")); string cwdLine(line.replaceAll(cwd() + '/', ""));
string homeLine(cwdLine.replaceAll(home(), '~')); string homeLine(cwdLine.replaceAll(home(), '~'));
os << " at " << homeLine.c_str(); os << " at " << homeLine.c_str();

View File

@ -258,13 +258,13 @@ $(GAMG)/GAMGSolverSolve.C
GAMGInterfaces = $(GAMG)/interfaces GAMGInterfaces = $(GAMG)/interfaces
$(GAMGInterfaces)/GAMGInterface/GAMGInterface.C $(GAMGInterfaces)/GAMGInterface/GAMGInterface.C
$(GAMGInterfaces)/GAMGInterface/newGAMGInterface.C $(GAMGInterfaces)/GAMGInterface/GAMGInterfaceNew.C
$(GAMGInterfaces)/processorGAMGInterface/processorGAMGInterface.C $(GAMGInterfaces)/processorGAMGInterface/processorGAMGInterface.C
$(GAMGInterfaces)/cyclicGAMGInterface/cyclicGAMGInterface.C $(GAMGInterfaces)/cyclicGAMGInterface/cyclicGAMGInterface.C
GAMGInterfaceFields = $(GAMG)/interfaceFields GAMGInterfaceFields = $(GAMG)/interfaceFields
$(GAMGInterfaceFields)/GAMGInterfaceField/GAMGInterfaceField.C $(GAMGInterfaceFields)/GAMGInterfaceField/GAMGInterfaceField.C
$(GAMGInterfaceFields)/GAMGInterfaceField/newGAMGInterfaceField.C $(GAMGInterfaceFields)/GAMGInterfaceField/GAMGInterfaceFieldNew.C
$(GAMGInterfaceFields)/processorGAMGInterfaceField/processorGAMGInterfaceField.C $(GAMGInterfaceFields)/processorGAMGInterfaceField/processorGAMGInterfaceField.C
$(GAMGInterfaceFields)/cyclicGAMGInterfaceField/cyclicGAMGInterfaceField.C $(GAMGInterfaceFields)/cyclicGAMGInterfaceField/cyclicGAMGInterfaceField.C
@ -328,7 +328,7 @@ polyMesh = meshes/polyMesh
polyPatches = $(polyMesh)/polyPatches polyPatches = $(polyMesh)/polyPatches
$(polyPatches)/polyPatch/polyPatch.C $(polyPatches)/polyPatch/polyPatch.C
$(polyPatches)/polyPatch/newPolyPatch.C $(polyPatches)/polyPatch/polyPatchNew.C
basicPolyPatches = $(polyPatches)/basic basicPolyPatches = $(polyPatches)/basic
$(basicPolyPatches)/coupled/coupledPolyPatch.C $(basicPolyPatches)/coupled/coupledPolyPatch.C
@ -362,15 +362,15 @@ $(zone)/zone.C
cellZone = $(polyMesh)/zones/cellZone cellZone = $(polyMesh)/zones/cellZone
$(cellZone)/cellZone.C $(cellZone)/cellZone.C
$(cellZone)/newCellZone.C $(cellZone)/cellZoneNew.C
faceZone = $(polyMesh)/zones/faceZone faceZone = $(polyMesh)/zones/faceZone
$(faceZone)/faceZone.C $(faceZone)/faceZone.C
$(faceZone)/newFaceZone.C $(faceZone)/faceZoneNew.C
pointZone = $(polyMesh)/zones/pointZone pointZone = $(polyMesh)/zones/pointZone
$(pointZone)/pointZone.C $(pointZone)/pointZone.C
$(pointZone)/newPointZone.C $(pointZone)/pointZoneNew.C
$(polyMesh)/polyMesh.C $(polyMesh)/polyMesh.C
$(polyMesh)/polyMeshFromShapeMesh.C $(polyMesh)/polyMeshFromShapeMesh.C
@ -438,7 +438,7 @@ $(pointMeshMapper)/pointPatchMapper.C
pointPatches = $(pointMesh)/pointPatches pointPatches = $(pointMesh)/pointPatches
$(pointPatches)/pointPatch/pointPatch.C $(pointPatches)/pointPatch/pointPatch.C
$(pointPatches)/facePointPatch/facePointPatch.C $(pointPatches)/facePointPatch/facePointPatch.C
$(pointPatches)/facePointPatch/newFacePointPatch.C $(pointPatches)/facePointPatch/facePointPatchNew.C
basicPointPatches = $(pointPatches)/basic basicPointPatches = $(pointPatches)/basic
$(basicPointPatches)/coupled/coupledPointPatch.C $(basicPointPatches)/coupled/coupledPointPatch.C

View File

@ -72,7 +72,7 @@ bool Foam::IOobject::readHeader(Istream& is)
is.format(headerDict.lookup("format")); is.format(headerDict.lookup("format"));
headerClassName_ = word(headerDict.lookup("class")); headerClassName_ = word(headerDict.lookup("class"));
word headerObject(headerDict.lookup("object")); const word headerObject(headerDict.lookup("object"));
if (IOobject::debug && headerObject != name()) if (IOobject::debug && headerObject != name())
{ {
IOWarningIn("IOobject::readHeader(Istream&)", is) IOWarningIn("IOobject::readHeader(Istream&)", is)

View File

@ -61,9 +61,9 @@ Foam::IOstream::compressionType
Foam::IOstream::compressionEnum(const word& compression) Foam::IOstream::compressionEnum(const word& compression)
{ {
// get Switch (bool) value, but allow it to fail // get Switch (bool) value, but allow it to fail
Switch::switchType sw = Switch::asEnum(compression, true); Switch sw(compression, true);
if (sw != Switch::INVALID) if (sw.valid())
{ {
return sw ? IOstream::COMPRESSED : IOstream::UNCOMPRESSED; return sw ? IOstream::COMPRESSED : IOstream::UNCOMPRESSED;
} }

View File

@ -95,7 +95,7 @@ void Foam::Time::adjustDeltaT()
void Foam::Time::setControls() void Foam::Time::setControls()
{ {
// default is to resume calculation from "latestTime" // default is to resume calculation from "latestTime"
word startFrom = controlDict_.lookupOrDefault<word> const word startFrom = controlDict_.lookupOrDefault<word>
( (
"startFrom", "startFrom",
"latestTime" "latestTime"
@ -508,19 +508,11 @@ bool Foam::Time::run() const
} }
} }
return running;
}
bool Foam::Time::loop()
{
bool running = run();
if (running) if (running)
{ {
if (!subCycling_) if (!subCycling_)
{ {
readModifiedObjects(); const_cast<Time&>(*this).readModifiedObjects();
if (timeIndex_ == startTimeIndex_) if (timeIndex_ == startTimeIndex_)
{ {
@ -532,15 +524,23 @@ bool Foam::Time::loop()
} }
} }
// Check update the "running" status following the "++" operation // Update the "running" status following the
// to take into account possible side-effects from functionObjects // possible side-effects from functionObjects
running = run(); running = value() < (endTime_ - 0.5*deltaT_);
}
return running;
}
bool Foam::Time::loop()
{
bool running = run();
if (running) if (running)
{ {
operator++(); operator++();
} }
}
return running; return running;
} }

View File

@ -94,7 +94,7 @@ void Foam::Time::readDict()
if (controlDict_.found("timeFormat")) if (controlDict_.found("timeFormat"))
{ {
word formatName(controlDict_.lookup("timeFormat")); const word formatName(controlDict_.lookup("timeFormat"));
if (formatName == "general") if (formatName == "general")
{ {

View File

@ -82,7 +82,7 @@ bool Foam::functionEntry::execute
"(const word& functionName, dictionary& parentDict, Istream&)" "(const word& functionName, dictionary& parentDict, Istream&)"
) << "Unknown functionEntry '" << functionName ) << "Unknown functionEntry '" << functionName
<< "' in " << is.name() << " near line " << is.lineNumber() << "' in " << is.name() << " near line " << is.lineNumber()
<< endl << endl << nl << nl
<< "Valid functionEntries are :" << endl << "Valid functionEntries are :" << endl
<< executedictionaryIstreamMemberFunctionTablePtr_->toc() << executedictionaryIstreamMemberFunctionTablePtr_->toc()
<< exit(FatalError); << exit(FatalError);
@ -128,7 +128,7 @@ bool Foam::functionEntry::execute
"(const word&, const dictionary&, primitiveEntry&, Istream&)" "(const word&, const dictionary&, primitiveEntry&, Istream&)"
) << "Unknown functionEntry '" << functionName ) << "Unknown functionEntry '" << functionName
<< "' in " << is.name() << " near line " << is.lineNumber() << "' in " << is.name() << " near line " << is.lineNumber()
<< endl << endl << nl << nl
<< "Valid functionEntries are :" << endl << "Valid functionEntries are :" << endl
<< executeprimitiveEntryIstreamMemberFunctionTablePtr_->toc() << executeprimitiveEntryIstreamMemberFunctionTablePtr_->toc()
<< exit(FatalError); << exit(FatalError);

View File

@ -50,7 +50,7 @@ Foam::autoPtr<Foam::functionObject> Foam::functionObject::New
const dictionary& functionDict const dictionary& functionDict
) )
{ {
word functionType(functionDict.lookup("type")); const word functionType(functionDict.lookup("type"));
if (debug) if (debug)
{ {

View File

@ -346,6 +346,6 @@ Ostream& operator<<
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "newPointPatchField.C" #include "pointPatchFieldNew.C"
// ************************************************************************* // // ************************************************************************* //

View File

@ -53,8 +53,7 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
"PointPatchField<Type>::New" "PointPatchField<Type>::New"
"(const word&, const word&, const pointPatch&, const Field<Type>&)" "(const word&, const word&, const pointPatch&, const Field<Type>&)"
) << "Unknown patchFieldType type " ) << "Unknown patchFieldType type "
<< patchFieldType << patchFieldType << nl << nl
<< endl << endl
<< "Valid patchField types are :" << endl << "Valid patchField types are :" << endl
<< pointPatchConstructorTablePtr_->sortedToc() << pointPatchConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);
@ -143,7 +142,7 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
"New(const pointPatch&, const Field<Type>&, const dictionary&)", "New(const pointPatch&, const Field<Type>&, const dictionary&)",
dict dict
) << "Unknown patchField type " << patchFieldType ) << "Unknown patchField type " << patchFieldType
<< " for patch type " << p.type() << endl << endl << " for patch type " << p.type() << nl << nl
<< "Valid patchField types are :" << endl << "Valid patchField types are :" << endl
<< dictionaryConstructorTablePtr_->sortedToc() << dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalIOError); << exit(FatalIOError);
@ -219,12 +218,15 @@ Foam::autoPtr<Foam::pointPatchField<Type> > Foam::pointPatchField<Type>::New
{ {
FatalErrorIn FatalErrorIn
( (
"PointPatchField<Type>::" "PointPatchField<Type>::New"
"New(const pointPatchField<Type>&, " "("
"const pointPatch&, const Field<Type>&, " "const pointPatchField<Type>&, "
"const pointPatchFieldMapper&)" "const pointPatch&, "
) << "unknown patchTypefield type " "const DimensionedField<Type, pointMesh>&, "
<< ptf.type() << endl << endl "const pointPatchFieldMapper&"
")"
) << "Unknown patchField type "
<< ptf.type() << nl << nl
<< "Valid patchField types are :" << endl << "Valid patchField types are :" << endl
<< patchMapperConstructorTablePtr_->sortedToc() << patchMapperConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);

View File

@ -44,7 +44,7 @@ const Foam::dimensionedScalar Foam::constant::electromagnetic::mu0
dimensionedScalar dimensionedScalar
( (
"mu0", "mu0",
dimless, dimensionSet(1, 2, -1, 0, 0, -2, 0),
4.0*constant::mathematical::pi*1e-07 4.0*constant::mathematical::pi*1e-07
) )
) )

View File

@ -41,7 +41,7 @@ License
OpenFOAM comes with full commercial support from OpenCFD, including OpenFOAM comes with full commercial support from OpenCFD, including
<a href="http://www.openfoam.com/support/software.php">software support</a>, <a href="http://www.openfoam.com/support/software.php">software support</a>,
<a href="http://www.openfoam.com/support/development.php">contracted developments</a> <a href="http://www.openfoam.com/support/development.php">contracted developments</a>
and a programme of <a href="http://www.openfoam.com/training">training courses</a>. and a programme of <a href="http://www.openfoam.com/training/">training courses</a>.
These activities fund the development, maintenance and release of These activities fund the development, maintenance and release of
OpenFOAM to make it an extremely viable commercial open source product. OpenFOAM to make it an extremely viable commercial open source product.

View File

@ -28,19 +28,18 @@ License
#include "IOmanip.H" #include "IOmanip.H"
#include "Pair.H" #include "Pair.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
defineTypeNameAndDebug(graph::writer, 0); defineTypeNameAndDebug(graph::writer, 0);
defineRunTimeSelectionTable(graph::writer, word); defineRunTimeSelectionTable(graph::writer, word);
}
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void graph::readCurves(Istream& is) void Foam::graph::readCurves(Istream& is)
{ {
List<xy> xyData(is); List<xy> xyData(is);
@ -59,7 +58,7 @@ void graph::readCurves(Istream& is)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
graph::graph Foam::graph::graph
( (
const string& title, const string& title,
const string& xName, const string& xName,
@ -74,7 +73,7 @@ graph::graph
{} {}
graph::graph Foam::graph::graph
( (
const string& title, const string& title,
const string& xName, const string& xName,
@ -92,7 +91,7 @@ graph::graph
} }
graph::graph Foam::graph::graph
( (
const string& title, const string& title,
const string& xName, const string& xName,
@ -108,7 +107,7 @@ graph::graph
} }
graph::graph(Istream& is) Foam::graph::graph(Istream& is)
: :
title_(is), title_(is),
xName_(is), xName_(is),
@ -118,7 +117,7 @@ graph::graph(Istream& is)
} }
const scalarField& graph::y() const const Foam::scalarField& Foam::graph::y() const
{ {
if (size() != 1) if (size() != 1)
{ {
@ -130,7 +129,8 @@ const scalarField& graph::y() const
return *begin()(); return *begin()();
} }
scalarField& graph::y()
Foam::scalarField& Foam::graph::y()
{ {
if (size() != 1) if (size() != 1)
{ {
@ -143,7 +143,10 @@ scalarField& graph::y()
} }
autoPtr<graph::writer> graph::writer::New(const word& graphFormat) Foam::autoPtr<Foam::graph::writer> Foam::graph::writer::New
(
const word& graphFormat
)
{ {
if (!wordConstructorTablePtr_) if (!wordConstructorTablePtr_)
{ {
@ -173,7 +176,7 @@ autoPtr<graph::writer> graph::writer::New(const word& graphFormat)
} }
void graph::writer::writeXY void Foam::graph::writer::writeXY
( (
const scalarField& x, const scalarField& x,
const scalarField& y, const scalarField& y,
@ -187,7 +190,7 @@ void graph::writer::writeXY
} }
void graph::writeTable(Ostream& os) const void Foam::graph::writeTable(Ostream& os) const
{ {
forAll(x_, xi) forAll(x_, xi)
{ {
@ -202,13 +205,13 @@ void graph::writeTable(Ostream& os) const
} }
void graph::write(Ostream& os, const word& format) const void Foam::graph::write(Ostream& os, const word& format) const
{ {
writer::New(format)().write(*this, os); writer::New(format)().write(*this, os);
} }
void graph::write(const fileName& fName, const word& format) const void Foam::graph::write(const fileName& fName, const word& format) const
{ {
autoPtr<writer> graphWriter(writer::New(format)); autoPtr<writer> graphWriter(writer::New(format));
@ -227,7 +230,7 @@ void graph::write(const fileName& fName, const word& format) const
} }
Ostream& operator<<(Ostream& os, const graph& g) Foam::Ostream& Foam::operator<<(Ostream& os, const graph& g)
{ {
g.writeTable(os); g.writeTable(os);
os.check("Ostream& operator<<(Ostream&, const graph&)"); os.check("Ostream& operator<<(Ostream&, const graph&)");
@ -235,8 +238,4 @@ Ostream& operator<<(Ostream& os, const graph& g)
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* // // ************************************************************************* //

View File

@ -58,7 +58,8 @@ Foam::procLduInterface::procLduInterface
( (
"procLduInterface::procLduInterface" "procLduInterface::procLduInterface"
"(const lduInterfaceField&, const scalarField&" "(const lduInterfaceField&, const scalarField&"
) << "unknown lduInterface type " << interface.interface().type() ) << "Unknown lduInterface type "
<< interface.interface().type()
<< exit(FatalError); << exit(FatalError);
} }
} }

Some files were not shown because too many files have changed in this diff Show More