diff --git a/src/Allwmake b/src/Allwmake
index 128d4a9845..e9a922ab36 100755
--- a/src/Allwmake
+++ b/src/Allwmake
@@ -65,8 +65,6 @@ lagrangian/Allwmake $*
postProcessing/Allwmake $*
mesh/Allwmake $*
-wmake $makeOption errorEstimation
-
fvAgglomerationMethods/Allwmake $*
wmake $makeOption fvMotionSolver
diff --git a/src/errorEstimation/Make/files b/src/errorEstimation/Make/files
deleted file mode 100644
index ccfc723de0..0000000000
--- a/src/errorEstimation/Make/files
+++ /dev/null
@@ -1,9 +0,0 @@
-errorDrivenRefinement = errorDrivenRefinement
-errorEstimate = errorEstimate
-evaluateError = evaluateError
-
-$(evaluateError)/evaluateError.C
-$(errorDrivenRefinement)/errorDrivenRefinement.C
-
-LIB = $(FOAM_LIBBIN)/liberrorEstimation
-
diff --git a/src/errorEstimation/Make/options b/src/errorEstimation/Make/options
deleted file mode 100644
index a3458eaa3d..0000000000
--- a/src/errorEstimation/Make/options
+++ /dev/null
@@ -1,9 +0,0 @@
-EXE_INC = \
- -I$(LIB_SRC)/finiteVolume/lnInclude \
- -I$(LIB_SRC)/meshTools/lnInclude \
- -I$(LIB_SRC)/dynamicMesh/lnInclude
-
-LIB_LIBS = \
- -lfiniteVolume \
- -lmeshTools \
- -ldynamicMesh
diff --git a/src/errorEstimation/errorDrivenRefinement/errorDrivenRefinement.C b/src/errorEstimation/errorDrivenRefinement/errorDrivenRefinement.C
deleted file mode 100644
index fdc72e509e..0000000000
--- a/src/errorEstimation/errorDrivenRefinement/errorDrivenRefinement.C
+++ /dev/null
@@ -1,277 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | Copyright (C) 2004-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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "errorDrivenRefinement.H"
-#include "polyTopoChanger.H"
-#include "polyMesh.H"
-#include "primitiveMesh.H"
-#include "polyTopoChange.H"
-#include "addToRunTimeSelectionTable.H"
-#include "volFields.H"
-#include "surfaceFields.H"
-#include "evaluateError.H"
-#include "fvc.H"
-#include "mapPolyMesh.H"
-#include "topoCellLooper.H"
-#include "cellCuts.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
- defineTypeNameAndDebug(errorDrivenRefinement, 0);
- addToRunTimeSelectionTable
- (
- polyMeshModifier,
- errorDrivenRefinement,
- dictionary
- );
-}
-
-
-// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-// Construct from dictionary
-Foam::errorDrivenRefinement::errorDrivenRefinement
-(
- const word& name,
- const dictionary& dict,
- const label index,
- const polyTopoChanger& mme
-)
-:
- polyMeshModifier(name, index, mme, false),
- refinementEngine_(topoChanger().mesh(), true),
- errorField_(dict.lookup("errorField"))
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-Foam::errorDrivenRefinement::~errorDrivenRefinement()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-
-bool Foam::errorDrivenRefinement::changeTopology() const
-{
- const Time& runTime = topoChanger().mesh().time();
-
- if (runTime.foundObject(errorField_))
- {
- if (debug)
- {
- Info<< "errorDrivenRefinement::changeTopology() : triggering topo"
- << " change since found errorField "
- << errorField_ << endl;
- }
-
- return true;
- }
- else
- {
- if (debug)
- {
- Info<< "errorDrivenRefinement::changeTopology() : no topo"
- << " change request from me since no errorField "
- << errorField_ << endl;
- }
-
- return false;
- }
-}
-
-
-void Foam::errorDrivenRefinement::setRefinement(polyTopoChange& ref) const
-{
- // Insert the coarsen/refinement instructions into the topological change
-
- if (debug)
- {
- Info<< "errorDrivenRefinement::setRefinement(polyTopoChange& ref)"
- << endl;
- }
-
- const polyMesh& mesh = topoChanger().mesh();
-
- const Time& runTime = mesh.time();
-
- if (debug)
- {
- Info<< "Looking up vector field with name " << errorField_ << endl;
- }
- const volVectorField& resError =
- runTime.lookupObject(errorField_);
-
- const volScalarField magResError(Foam::mag(resError));
-
- scalar min = Foam::min(magResError).value();
- scalar max = Foam::max(magResError).value();
- scalar avg = Foam::average(magResError).value();
-
- if (debug)
- {
- Info<< "Writing magResError" << endl;
- magResError.write();
-
- Info<< "min:" << min << " max:" << max << " avg:" << avg << endl;
- }
-
- // Get faces to remove and cells to refine based on error
- evaluateError refPattern
- (
- magResError, // Error on cells
- resError, // Error vector on cells
- fvc::interpolate(magResError), // Error on faces
- refinementEngine_.getSplitFaces() // Current live split faces
- );
-
-
- // Insert mesh refinement into polyTopoChange:
- // - remove split faces
- // - refine cells
-
- // Give 'hint' of faces to remove to cell splitter.
- const labelList& candidates = refPattern.unsplitFaces();
- ////Hack:no unsplitting
- //labelList candidates;
-
- labelList removedFaces(refinementEngine_.removeSplitFaces(candidates, ref));
-
- // Now success will be for every candidates whether face has been removed.
- // Protect cells using face from refinement.
-
- // List of protected cells
- boolList markedCell(mesh.nCells(), false);
-
- forAll(removedFaces, i)
- {
- label faceI = removedFaces[i];
-
- markedCell[mesh.faceOwner()[faceI]] = true;
-
- if (mesh.isInternalFace(faceI))
- {
- markedCell[mesh.faceNeighbour()[faceI]] = true;
- }
- }
-
- // Repack list of cells to refine.
- List refCells = refPattern.refCells();
-
- label newRefCellI = 0;
-
- forAll(refCells, refCellI)
- {
- label cellI = refCells[refCellI].cellNo();
-
- if (!markedCell[cellI] && (newRefCellI != refCellI))
- {
- refCells[newRefCellI++] = refCells[refCellI];
- }
- }
-
- if (debug)
- {
- Info<< "errorDrivenRefinement : shrinking refCells from "
- << refCells.size()
- << " to " << newRefCellI << endl;
- }
-
- refCells.setSize(newRefCellI);
-
- // Determine cut pattern using topological cell walker
- topoCellLooper cellWalker(mesh);
-
- cellCuts cuts(mesh, cellWalker, refCells);
-
- // Do actual splitting
- refinementEngine_.setRefinement(cuts, ref);
-}
-
-
-// Has the responsability of moving my newly introduced points onto the right
-// place. This is since the whole mesh might e.g. have been moved by another
-// meshmodifier. So using preMotionPoints is hack for if I am only meshModifier.
-// Good solution:
-// - remember new point label of introduced point and vertices
-// of edge it is created from (in setRefinement)
-// - in here reposition point at correct position between current vertex
-// position of edge endpoints.
-void Foam::errorDrivenRefinement::modifyMotionPoints
-(
- pointField& motionPoints
-) const
-{
- if (debug)
- {
- Info<< "errorDrivenRefinement::modifyMotionPoints(*pointField&)"
- << endl;
- }
-}
-
-
-void Foam::errorDrivenRefinement::updateMesh(const mapPolyMesh& morphMap)
-{
- // Mesh has changed topologically. Update local topological data
- if (debug)
- {
- Info<< "errorDrivenRefinement::updateMesh"
- << "(const mapPolyMesh& morphMap)" << endl;
- }
- refinementEngine_.updateMesh(morphMap);
-}
-
-
-void Foam::errorDrivenRefinement::write(Ostream& os) const
-{
- os << nl << type() << nl;
-}
-
-
-void Foam::errorDrivenRefinement::writeDict(Ostream& os) const
-{
- os << nl << name() << nl << token::BEGIN_BLOCK << nl
- << " type " << type()
- << token::END_STATEMENT << nl
- << token::END_BLOCK << endl;
-}
-
-
-// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
-
-
-// ************************************************************************* //
diff --git a/src/errorEstimation/errorDrivenRefinement/errorDrivenRefinement.H b/src/errorEstimation/errorDrivenRefinement/errorDrivenRefinement.H
deleted file mode 100644
index cdc8f53943..0000000000
--- a/src/errorEstimation/errorDrivenRefinement/errorDrivenRefinement.H
+++ /dev/null
@@ -1,136 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | Copyright (C) 2004-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 .
-
-Class
- Foam::errorDrivenRefinement
-
-Description
- Refines and coarsens based on error estimate.
-
-SourceFiles
- errorDrivenRefinement.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef errorDrivenRefinement_H
-#define errorDrivenRefinement_H
-
-#include "polyMeshModifier.H"
-#include "undoableMeshCutter.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// Forward declaration of classes
-
-/*---------------------------------------------------------------------------*\
- Class errorDrivenRefinement Declaration
-\*---------------------------------------------------------------------------*/
-
-class errorDrivenRefinement
-:
- public polyMeshModifier
-{
- // Private data
-
- //- Refinement/coarsening engine
- mutable undoableMeshCutter refinementEngine_;
-
- //- Name of volVectorField which contains error.
- word errorField_;
-
-
- // Private Member Functions
-
- //- Disallow default bitwise copy construct
- errorDrivenRefinement(const errorDrivenRefinement&);
-
- //- Disallow default bitwise assignment
- void operator=(const errorDrivenRefinement&);
-
-
-public:
-
- //- Runtime type information
- TypeName("errorDrivenRefinement");
-
-
- // Constructors
-
- //- Construct from dictionary
- errorDrivenRefinement
- (
- const word& name,
- const dictionary& dict,
- const label index,
- const polyTopoChanger& mme
- );
-
-
- //- Destructor
- virtual ~errorDrivenRefinement();
-
-
- // Member Functions
-
- //- Check for topology change
- virtual bool changeTopology() const;
-
- //- Insert the layer addition/removal instructions
- // into the topological change
- virtual void setRefinement(polyTopoChange&) const;
-
- //- Modify motion points to comply with the topological change
- virtual void modifyMotionPoints(pointField& motionPoints) const;
-
- //- Force recalculation of locally stored data on topological change
- virtual void updateMesh(const mapPolyMesh&);
-
- //- Write
- virtual void write(Ostream&) const;
-
- //- Write dictionary
- virtual void writeDict(Ostream&) const;
-
-
- // Access
-
- //- Underlying mesh modifier
- const undoableMeshCutter& refinementEngine() const
- {
- return refinementEngine_;
- }
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/errorEstimation/errorEstimate/errorEstimate.C b/src/errorEstimation/errorEstimate/errorEstimate.C
deleted file mode 100644
index d233c5d526..0000000000
--- a/src/errorEstimation/errorEstimate/errorEstimate.C
+++ /dev/null
@@ -1,1163 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | Copyright (C) 2004-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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "errorEstimate.H"
-#include "zeroGradientFvPatchField.H"
-#include "fixedValueFvPatchField.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
-
-template
-Foam::wordList Foam::errorEstimate::errorBCTypes() const
-{
- // Make the boundary condition type list
- // Default types get over-ridden anyway
- wordList ebct
- (
- psi_.boundaryField().size(),
- zeroGradientFvPatchField::typeName
- );
-
- forAll(psi_.boundaryField(), patchI)
- {
- if (psi_.boundaryField()[patchI].fixesValue())
- {
- ebct[patchI] = fixedValueFvPatchField::typeName;
- }
- }
-
- return ebct;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-// Construct from components
-template
-Foam::errorEstimate::errorEstimate
-(
- const GeometricField& psi,
- const dimensionSet& ds,
- const Field& res,
- const scalarField& norm
-)
-:
- psi_(psi),
- dimensions_(ds),
- residual_(res),
- normFactor_(norm)
-{}
-
-
-// Construct as copy
-template
-Foam::errorEstimate::errorEstimate(const Foam::errorEstimate& ee)
-:
- refCount(),
- psi_(ee.psi_),
- dimensions_(ee.dimensions_),
- residual_(ee.residual_),
- normFactor_(ee.normFactor_)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
-
-template
-Foam::errorEstimate::~errorEstimate()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
-
-template
-Foam::tmp >
-Foam::errorEstimate::residual() const
-{
- tmp > tres
- (
- new GeometricField
- (
- IOobject
- (
- "residual" + psi_.name(),
- psi_.mesh().time().timeName(),
- psi_.db(),
- IOobject::NO_READ,
- IOobject::NO_WRITE
- ),
- psi_.mesh(),
- psi_.dimensions()/dimTime,
- errorBCTypes()
- )
- );
-
- GeometricField& res = tres();
-
- res.internalField() = residual_;
- res.boundaryField() == pTraits::zero;
-
- res.correctBoundaryConditions();
-
- return tres;
-}
-
-
-template
-Foam::tmp Foam::errorEstimate::normFactor() const
-{
- tmp tnormFactor
- (
- new volScalarField
- (
- IOobject
- (
- "normFactor" + psi_.name(),
- psi_.mesh().time().timeName(),
- psi_.db(),
- IOobject::NO_READ,
- IOobject::NO_WRITE
- ),
- psi_.mesh(),
- dimless/dimTime,
- errorBCTypes()
- )
- );
-
- volScalarField& normFactor = tnormFactor();
-
- normFactor.internalField() = normFactor_;
- normFactor.boundaryField() == pTraits::zero;
-
- normFactor.correctBoundaryConditions();
-
- return tnormFactor;
-}
-
-template
-Foam::tmp >
-Foam::errorEstimate::error() const
-{
- tmp > tresError
- (
- new GeometricField
- (
- IOobject
- (
- "resError" + psi_.name(),
- psi_.mesh().time().timeName(),
- psi_.db(),
- IOobject::NO_READ,
- IOobject::NO_WRITE
- ),
- psi_.mesh(),
- psi_.dimensions(),
- errorBCTypes()
- )
- );
-
- GeometricField& resError = tresError();
-
- resError.internalField() = residual_/normFactor_;
- resError.boundaryField() == pTraits::zero;
-
- resError.correctBoundaryConditions();
-
- return tresError;
-}
-
-// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
-
-template
-void Foam::errorEstimate::operator=(const Foam::errorEstimate& rhs)
-{
- // Check for assignment to self
- if (this == &rhs)
- {
- FatalErrorIn
- (
- "errorEstimate::operator=(const Foam::errorEstimate&)"
- ) << "Attempted assignment to self"
- << abort(FatalError);
- }
-
- if (&psi_ != &(rhs.psi_))
- {
- FatalErrorIn
- (
- "errorEstimate::operator=(const errorEstimate&)"
- ) << "different fields"
- << abort(FatalError);
- }
-
- residual_ = rhs.residual_;
- normFactor_ = rhs.normFactor_;
-}
-
-
-template
-void Foam::errorEstimate::operator=(const tmp >& teev)
-{
- operator=(teev());
- teev.clear();
-}
-
-
-template
-void Foam::errorEstimate::negate()
-{
- residual_.negate();
-}
-
-
-template
-void Foam::errorEstimate::operator+=(const errorEstimate& eev)
-{
- checkMethod(*this, eev, "+=");
-
- dimensions_ += eev.dimensions_;
-
- residual_ += eev.residual_;
- normFactor_ += eev.normFactor_;
-}
-
-
-template
-void Foam::errorEstimate::operator+=
-(
- const tmp >& teev
-)
-{
- operator+=(teev());
- teev.clear();
-}
-
-
-template
-void Foam::errorEstimate::operator-=(const errorEstimate& eev)
-{
- checkMethod(*this, eev, "+=");
-
- dimensions_ -= eev.dimensions_;
- residual_ -= eev.residual_;
- normFactor_ += eev.normFactor_;
-}
-
-
-template
-void Foam::errorEstimate::operator-=
-(
- const tmp >& teev
-)
-{
- operator-=(teev());
- teev.clear();
-}
-
-
-template
-void Foam::errorEstimate::operator+=
-(
- const GeometricField& su
-)
-{
- checkMethod(*this, su, "+=");
- residual_ -= su.internalField();
-}
-
-
-template
-void Foam::errorEstimate::operator+=
-(
- const tmp >& tsu
-)
-{
- operator+=(tsu());
- tsu.clear();
-}
-
-
-template
-void Foam::errorEstimate::operator-=
-(
- const GeometricField& su
-)
-{
- checkMethod(*this, su, "-=");
- residual_ += su.internalField();
-}
-
-
-template
-void Foam::errorEstimate::operator-=
-(
- const tmp >& tsu
-)
-{
- operator-=(tsu());
- tsu.clear();
-}
-
-
-template
-void Foam::errorEstimate::operator+=
-(
- const dimensioned& su
-)
-{
- residual_ -= su;
-}
-
-
-template
-void Foam::errorEstimate::operator-=
-(
- const dimensioned& su
-)
-{
- residual_ += su;
-}
-
-
-template
-void Foam::errorEstimate::operator*=
-(
- const volScalarField& vsf
-)
-{
- dimensions_ *= vsf.dimensions();
- residual_ *= vsf.internalField();
- normFactor_ *= vsf.internalField();
-}
-
-
-template
-void Foam::errorEstimate::operator*=
-(
- const tmp& tvsf
-)
-{
- operator*=(tvsf());
- tvsf.clear();
-}
-
-
-template
-void Foam::errorEstimate::operator*=
-(
- const dimensioned& ds
-)
-{
- dimensions_ *= ds.dimensions();
- residual_ *= ds.value();
- normFactor_ *= ds.value();
-}
-
-
-// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
-
-template
-void Foam::checkMethod
-(
- const errorEstimate& ee1,
- const errorEstimate& ee2,
- const char* op
-)
-{
- if (&ee1.psi() != &ee2.psi())
- {
- FatalErrorIn
- (
- "checkMethod(const errorEstimate&, "
- "const errorEstimate&)"
- ) << "incompatible fields for operation "
- << endl << " "
- << "[" << ee1.psi().name() << "] "
- << op
- << " [" << ee2.psi().name() << "]"
- << abort(FatalError);
- }
-
- if (dimensionSet::debug && ee1.dimensions() != ee2.dimensions())
- {
- FatalErrorIn
- (
- "checkMethod(const errorEstimate&, "
- "const errorEstimate&)"
- ) << "incompatible dimensions for operation "
- << endl << " "
- << "[" << ee1.psi().name() << ee1.dimensions()/dimVolume << " ] "
- << op
- << " [" << ee2.psi().name() << ee2.dimensions()/dimVolume << " ]"
- << abort(FatalError);
- }
-}
-
-
-template
-void Foam::checkMethod
-(
- const errorEstimate& ee,
- const GeometricField& vf,
- const char* op
-)
-{
- if (dimensionSet::debug && ee.dimensions()/dimVolume != vf.dimensions())
- {
- FatalErrorIn
- (
- "checkMethod(const errorEstimate&, "
- "const GeometricField&)"
- ) << "incompatible dimensions for operation "
- << endl << " "
- << "[" << ee.psi().name() << ee.dimensions()/dimVolume << " ] "
- << op
- << " [" << vf.name() << vf.dimensions() << " ]"
- << abort(FatalError);
- }
-}
-
-
-template
-void Foam::checkMethod
-(
- const errorEstimate& ee,
- const dimensioned& dt,
- const char* op
-)
-{
- if (dimensionSet::debug && ee.dimensions()/dimVolume != dt.dimensions())
- {
- FatalErrorIn
- (
- "checkMethod(const errorEstimate&, const dimensioned&)"
- ) << "incompatible dimensions for operation "
- << endl << " "
- << "[" << ee.psi().name() << ee.dimensions()/dimVolume << " ] "
- << op
- << " [" << dt.name() << dt.dimensions() << " ]"
- << abort(FatalError);
- }
-}
-
-
-// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-template
-tmp > operator+
-(
- const errorEstimate& A,
- const errorEstimate& B
-)
-{
- checkMethod(A, B, "+");
- tmp > tC(new errorEstimate(A));
- tC() += B;
- return tC;
-}
-
-
-template
-tmp > operator+
-(
- const tmp >& tA,
- const errorEstimate& B
-)
-{
- checkMethod(tA(), B, "+");
- tmp > tC(tA.ptr());
- tC() += B;
- return tC;
-}
-
-
-template
-tmp > operator+
-(
- const errorEstimate& A,
- const tmp >& tB
-)
-{
- checkMethod(A, tB(), "+");
- tmp > tC(tB.ptr());
- tC() += A;
- return tC;
-}
-
-
-template
-tmp > operator+
-(
- const tmp >& tA,
- const tmp >& tB
-)
-{
- checkMethod(tA(), tB(), "+");
- tmp > tC(tA.ptr());
- tC() += tB();
- tB.clear();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const errorEstimate& A
-)
-{
- tmp > tC(new errorEstimate(A));
- tC().negate();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const tmp >& tA
-)
-{
- tmp > tC(tA.ptr());
- tC().negate();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const errorEstimate& A,
- const errorEstimate& B
-)
-{
- checkMethod(A, B, "-");
- tmp > tC(new errorEstimate(A));
- tC() -= B;
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const tmp >& tA,
- const errorEstimate& B
-)
-{
- checkMethod(tA(), B, "-");
- tmp > tC(tA.ptr());
- tC() -= B;
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const errorEstimate& A,
- const tmp >& tB
-)
-{
- checkMethod(A, tB(), "-");
- tmp > tC(tB.ptr());
- tC() -= A;
- tC().negate();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const tmp >& tA,
- const tmp >& tB
-)
-{
- checkMethod(tA(), tB(), "-");
- tmp > tC(tA.ptr());
- tC() -= tB();
- tB.clear();
- return tC;
-}
-
-
-template
-tmp > operator==
-(
- const errorEstimate& A,
- const errorEstimate& B
-)
-{
- checkMethod(A, B, "==");
- return (A - B);
-}
-
-
-template
-tmp > operator==
-(
- const tmp >& tA,
- const errorEstimate& B
-)
-{
- checkMethod(tA(), B, "==");
- return (tA - B);
-}
-
-
-template
-tmp > operator==
-(
- const errorEstimate& A,
- const tmp >& tB
-)
-{
- checkMethod(A, tB(), "==");
- return (A - tB);
-}
-
-
-template
-tmp > operator==
-(
- const tmp >& tA,
- const tmp >& tB
-)
-{
- checkMethod(tA(), tB(), "==");
- return (tA - tB);
-}
-
-
-template
-tmp > operator+
-(
- const errorEstimate& A,
- const GeometricField& su
-)
-{
- checkMethod(A, su, "+");
- tmp > tC(new errorEstimate(A));
- tC().res() -= su.internalField();
- return tC;
-}
-
-template
-tmp > operator+
-(
- const tmp >& tA,
- const GeometricField& su
-)
-{
- checkMethod(tA(), su, "+");
- tmp > tC(tA.ptr());
- tC().res() -= su.internalField();
- return tC;
-}
-
-template
-tmp > operator+
-(
- const errorEstimate& A,
- const tmp >& tsu
-)
-{
- checkMethod(A, tsu(), "+");
- tmp > tC(new errorEstimate(A));
- tC().res() -= tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-
-template
-tmp > operator+
-(
- const tmp >& tA,
- const tmp >& tsu
-)
-{
- checkMethod(tA(), tsu(), "+");
- tmp > tC(tA.ptr());
- tC().res() -= tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-template
-tmp > operator+
-(
- const GeometricField& su,
- const errorEstimate& A
-)
-{
- checkMethod(A, su, "+");
- tmp > tC(new errorEstimate(A));
- tC().res() -= su.internalField();
- return tC;
-}
-
-template
-tmp > operator+
-(
- const GeometricField& su,
- const tmp >& tA
-)
-{
- checkMethod(tA(), su, "+");
- tmp > tC(tA.ptr());
- tC().res() -= su.internalField();
- return tC;
-}
-
-template
-tmp > operator+
-(
- const tmp >& tsu,
- const errorEstimate& A
-)
-{
- checkMethod(A, tsu(), "+");
- tmp > tC(new errorEstimate(A));
- tC().res() -= tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-template
-tmp > operator+
-(
- const tmp >& tsu,
- const tmp >& tA
-)
-{
- checkMethod(tA(), tsu(), "+");
- tmp > tC(tA.ptr());
- tC().res() -= tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const errorEstimate& A,
- const GeometricField& su
-)
-{
- checkMethod(A, su, "-");
- tmp > tC(new errorEstimate(A));
- tC().res() += su.internalField();
- return tC;
-}
-
-template
-tmp > operator-
-(
- const tmp >& tA,
- const GeometricField& su
-)
-{
- checkMethod(tA(), su, "-");
- tmp > tC(tA.ptr());
- tC().res() += su.internalField();
- return tC;
-}
-
-template
-tmp > operator-
-(
- const errorEstimate& A,
- const tmp >& tsu
-)
-{
- checkMethod(A, tsu(), "-");
- tmp > tC(new errorEstimate(A));
- tC().res() += tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-template
-tmp > operator-
-(
- const tmp >& tA,
- const tmp >& tsu
-)
-{
- checkMethod(tA(), tsu(), "-");
- tmp > tC(tA.ptr());
- tC().res() += tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const GeometricField& su,
- const errorEstimate& A
-)
-{
- checkMethod(A, su, "-");
- tmp > tC(new errorEstimate(A));
- tC().negate();
- tC().res() -= su.internalField();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const GeometricField& su,
- const tmp >& tA
-)
-{
- checkMethod(tA(), su, "-");
- tmp > tC(tA.ptr());
- tC().negate();
- tC().res() -= su.internalField();
- return tC;
-}
-
-template
-tmp > operator-
-(
- const tmp >& tsu,
- const errorEstimate& A
-)
-{
- checkMethod(A, tsu(), "-");
- tmp > tC(new errorEstimate(A));
- tC().negate();
- tC().res() -= tsu().internalField();
- tsu.clear();
- return tC;
-}
-
-
-template
-tmp > operator-
-(
- const tmp