Files
OpenFOAM-12/applications/test/patchToPatch/Test-patchToPatch.C
Will Bainbridge f4ac5f8748 AMIInterpolation, cyclicAMI: Removed
AMIInterpolation and cyclicAMI have been superseded by patchToPatch and
nonConformalCoupled, respectively.

The motivation behind this change is explained in the following article:

    https://cfd.direct/openfoam/free-software/non-conformal-coupling/

Information about how to convert a case which uses cyclicAMI to
nonConformalCoupled can be found here:

    https://cfd.direct/openfoam/free-software/using-non-conformal-coupling/
2022-09-22 10:05:41 +01:00

70 lines
2.2 KiB
C++

/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2021-2022 OpenFOAM Foundation
\\/ 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/>.
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "cpuTime.H"
#include "patchToPatch.H"
#include "polyMesh.H"
#include "Time.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
using namespace Foam;
int main(int argc, char *argv[])
{
argList::validArgs.append("source");
argList::validArgs.append("target");
argList::validArgs.append("method");
#include "setRootCase.H"
#include "createTime.H"
#include "createPolyMesh.H"
const polyPatch& srcPatch = mesh.boundaryMesh()[args[1]];
const polyPatch& tgtPatch = mesh.boundaryMesh()[args[2]];
const word& method = args[3];
cpuTime time;
patchToPatch::New(method, false)->update
(
srcPatch,
srcPatch.pointNormals(),
tgtPatch
);
Info<< nl << patchToPatch::typeName << ": Completed in "
<< time.cpuTimeIncrement() << " s" << nl << endl;
Info<< "End" << nl << endl;
return 0;
}
// ************************************************************************* //