diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryConditionTemplates.C b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryConditionTemplates.C
deleted file mode 100644
index 6892333428..0000000000
--- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointBoundaryCondition/adjointBoundaryConditionTemplates.C
+++ /dev/null
@@ -1,167 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | www.openfoam.com
- \\/ M anipulation |
--------------------------------------------------------------------------------
- Copyright (C) 2007-2019 PCOpt/NTUA
- Copyright (C) 2013-2019 FOSS GP
- Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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 "emptyFvPatch.H"
-#include "adjointBoundaryCondition.H"
-#include "adjointSolverManager.H"
-#include "HashTable.H"
-#include "surfaceInterpolationScheme.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
-
-template
-tmp
-<
- Field::type>
->
-adjointBoundaryCondition::computePatchGrad(word name)
-{
- // Return field
- typedef typename outerProduct::type GradType;
- auto tresGrad = tmp>::New(patch_.size(), Zero);
- auto& resGrad = tresGrad.ref();
-
- const labelList& faceCells = patch_.faceCells();
- const fvMesh& mesh = patch_.boundaryMesh().mesh();
- const cellList& cells = mesh.cells();
-
- // Go through the surfaceInterpolation scheme defined in gradSchemes for
- // consistency
- const GeometricField& field =
- mesh.lookupObject(name);
-
- // Gives problems when grad(AdjointVar) is computed using a limited scheme,
- // since it is not possible to know a priori how many words to expect in the
- // stream.
- // Interpolation scheme is now read through interpolation schemes.
- /*
- word gradSchemeName ("grad(" + name + ')');
- Istream& is = mesh.gradScheme(gradSchemeName);
- word schemeData(is);
- */
-
- tmp> tinterpScheme
- (
- surfaceInterpolationScheme::New
- (
- mesh,
- mesh.interpolationScheme("interpolate(" + name + ")")
- )
- );
-
- GeometricField surfField
- (
- tinterpScheme().interpolate(field)
- );
-
- // Auxiliary fields
- const surfaceVectorField& Sf = mesh.Sf();
- tmp tnf = patch_.nf();
- const vectorField& nf = tnf();
- const scalarField& V = mesh.V();
- const labelUList& owner = mesh.owner();
-
- // Compute grad value of cell adjacent to the boundary
- forAll(faceCells, fI)
- {
- const label cI = faceCells[fI];
- const cell& cellI = cells[cI];
- for (const label faceI : cellI) // global face numbering
- {
- label patchID = mesh.boundaryMesh().whichPatch(faceI);
- if (patchID == -1) //face is internal
- {
- const label own = owner[faceI];
- tensor flux = Sf[faceI]*surfField[faceI];
- if (cI == own)
- {
- resGrad[fI] += flux;
- }
- else
- {
- resGrad[fI] -= flux;
- }
- }
- else // Face is boundary. Covers coupled patches as well
- {
- if (!isA(mesh.boundary()[patchID]))
- {
- const fvPatch& patchForFlux = mesh.boundary()[patchID];
- const label boundaryFaceI = faceI - patchForFlux.start();
- const vectorField& Sfb = Sf.boundaryField()[patchID];
- resGrad[fI] +=
- Sfb[boundaryFaceI]
- *surfField.boundaryField()[patchID][boundaryFaceI];
- }
- }
- }
- resGrad[fI] /= V[cI];
- }
-
- // This has concluded the computation of the grad at the cell next to the
- // boundary. We now need to compute the grad at the boundary face
- const fvPatchField& bField = field.boundaryField()[patch_.index()];
- resGrad = nf*bField.snGrad() + (resGrad - nf*(nf & resGrad));
-
- return tresGrad;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-template
-adjointBoundaryCondition::adjointBoundaryCondition
-(
- const fvPatch& p,
- const DimensionedField& iF,
- const word& solverName
-)
-:
- patch_(p),
- managerName_("objectiveManager" + solverName),
- adjointSolverName_(solverName),
- simulationType_("incompressible"),
- boundaryContrPtr_(nullptr),
- addATCUaGradUTerm_(nullptr)
-{
- // Set the boundaryContribution pointer
- setBoundaryContributionPtr();
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchFieldsFwd.C b/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchFieldsFwd.C
deleted file mode 100644
index e043abf8e3..0000000000
--- a/src/optimisation/adjointOptimisation/adjoint/adjointBoundaryConditions/adjointZeroInlet/adjointZeroInletFvPatchFieldsFwd.C
+++ /dev/null
@@ -1,54 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration |
- \\ / A nd | www.openfoam.com
- \\/ M anipulation |
--------------------------------------------------------------------------------
- Copyright (C) 2007-2019 PCOpt/NTUA
- Copyright (C) 2013-2019 FOSS GP
- Copyright (C) 2019 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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 .
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef adjointZeroInletFvPatchFieldsFwd_H
-#define adjointZeroInletFvPatchFieldsFwd_H
-
-#include "fieldTypes.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template class adjointZeroInletFvPatchField;
-
-makePatchTypeFieldTypedefs(adjointZeroInlet);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.C b/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.C
index c9670beb9d..5a379c1ed0 100644
--- a/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.C
+++ b/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.C
@@ -5,8 +5,8 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
- Copyright (C) 2007-2020 PCOpt/NTUA
- Copyright (C) 2013-2020 FOSS GP
+ Copyright (C) 2007-2021 PCOpt/NTUA
+ Copyright (C) 2013-2021 FOSS GP
Copyright (C) 2019 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
@@ -252,7 +252,7 @@ scalar objectiveManager::print()
}
-bool objectiveManager::write
+bool objectiveManager::writeObjectives
(
const scalar weightedObjective,
const bool valid
@@ -289,7 +289,7 @@ void objectiveManager::updateAndWrite()
updateNormalizationFactor();
update();
scalar weightedObjective = print();
- write(weightedObjective);
+ writeObjectives(weightedObjective);
}
diff --git a/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.H b/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.H
index 943b4d41fd..0aeacc6b48 100644
--- a/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.H
+++ b/src/optimisation/adjointOptimisation/adjoint/objectiveManager/objectiveManager/objectiveManager.H
@@ -5,8 +5,8 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
- Copyright (C) 2007-2020 PCOpt/NTUA
- Copyright (C) 2013-2020 FOSS GP
+ Copyright (C) 2007-2021 PCOpt/NTUA
+ Copyright (C) 2013-2021 FOSS GP
Copyright (C) 2019 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
@@ -146,7 +146,7 @@ public:
scalar print();
//- Write objective function history
- virtual bool write
+ virtual bool writeObjectives
(
const scalar weightedObjective,
const bool valid = true