diff --git a/etc/caseDicts/setConstraintTypes b/etc/caseDicts/setConstraintTypes index aa9cb01593..dc0483c001 100644 --- a/etc/caseDicts/setConstraintTypes +++ b/etc/caseDicts/setConstraintTypes @@ -16,12 +16,6 @@ cyclicAMI type cyclicAMI; } -cyclicACMI -{ - type cyclicACMI; - value $internalField; -} - cyclicSlip { type cyclicSlip; @@ -49,11 +43,6 @@ empty type empty; } -cyclicRepeatAMI -{ - type cyclicRepeatAMI; -} - processor { type processor; diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files index 6a412ef5f4..35d4c331e8 100644 --- a/src/finiteVolume/Make/files +++ b/src/finiteVolume/Make/files @@ -21,10 +21,8 @@ $(basicFvPatches)/generic/genericFvPatch.C constraintFvPatches = $(fvPatches)/constraint $(constraintFvPatches)/cyclic/cyclicFvPatch.C $(constraintFvPatches)/cyclicAMI/cyclicAMIFvPatch.C -$(constraintFvPatches)/cyclicACMI/cyclicACMIFvPatch.C $(constraintFvPatches)/cyclicSlip/cyclicSlipFvPatch.C $(constraintFvPatches)/empty/emptyFvPatch.C -$(constraintFvPatches)/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.C $(constraintFvPatches)/processor/processorFvPatch.C $(constraintFvPatches)/processorCyclic/processorCyclicFvPatch.C $(constraintFvPatches)/symmetryPlane/symmetryPlaneFvPatch.C @@ -149,12 +147,10 @@ $(basicFvPatchFields)/zeroGradient/zeroGradientFvPatchFields.C constraintFvPatchFields = $(fvPatchFields)/constraint $(constraintFvPatchFields)/cyclic/cyclicFvPatchFields.C $(constraintFvPatchFields)/cyclicAMI/cyclicAMIFvPatchFields.C -$(constraintFvPatchFields)/cyclicACMI/cyclicACMIFvPatchFields.C $(constraintFvPatchFields)/cyclicSlip/cyclicSlipFvPatchFields.C $(constraintFvPatchFields)/empty/emptyFvPatchFields.C $(constraintFvPatchFields)/jumpCyclic/jumpCyclicFvPatchFields.C $(constraintFvPatchFields)/jumpCyclicAMI/jumpCyclicAMIFvPatchFields.C -$(constraintFvPatchFields)/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.C $(constraintFvPatchFields)/processor/processorFvPatchFields.C $(constraintFvPatchFields)/processor/processorFvPatchScalarField.C $(constraintFvPatchFields)/processorCyclic/processorCyclicFvPatchFields.C @@ -272,10 +268,8 @@ $(basicFvsPatchFields)/sliced/slicedFvsPatchFields.C constraintFvsPatchFields = $(fvsPatchFields)/constraint $(constraintFvsPatchFields)/cyclic/cyclicFvsPatchFields.C $(constraintFvsPatchFields)/cyclicAMI/cyclicAMIFvsPatchFields.C -$(constraintFvsPatchFields)/cyclicACMI/cyclicACMIFvsPatchFields.C $(constraintFvsPatchFields)/cyclicSlip/cyclicSlipFvsPatchFields.C $(constraintFvsPatchFields)/empty/emptyFvsPatchFields.C -$(constraintFvsPatchFields)/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.C $(constraintFvsPatchFields)/processor/processorFvsPatchFields.C $(constraintFvsPatchFields)/processorCyclic/processorCyclicFvsPatchFields.C $(constraintFvsPatchFields)/symmetryPlane/symmetryPlaneFvsPatchFields.C diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C deleted file mode 100644 index fa8c4d1909..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C +++ /dev/null @@ -1,48 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIFvPatchField.H" -#include "transformField.H" - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -const Foam::fvPatchField& -Foam::cyclicACMIFvPatchField::nonOverlapPatchField() const -{ - const GeometricField& fld = - static_cast&> - ( - this->primitiveField() - ); - - return fld.boundaryField() - [ - cyclicACMIPatch().cyclicACMIPatch().nonOverlapPatchID() - ]; -} - - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H deleted file mode 100644 index 5bb8ab3e0b..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.H +++ /dev/null @@ -1,145 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 . - -Class - Foam::cyclicACMIFvPatchField - -Description - This boundary condition enforces a cyclic condition between a pair of - boundaries, whereby communication between the patches is performed using - an arbitrarily coupled mesh interface (ACMI) interpolation. - -Usage - Example of the boundary condition specification: - \verbatim - - { - type cyclicACMI; - } - \endverbatim - -See also - Foam::AMIInterpolation - -SourceFiles - cyclicACMIFvPatchField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvPatchField_H -#define cyclicACMIFvPatchField_H - -#include "cyclicAMIFvPatchField.H" -#include "cyclicACMIFvPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIFvPatchField Declaration -\*---------------------------------------------------------------------------*/ - -template -class cyclicACMIFvPatchField -: - public cyclicAMIFvPatchField -{ -public: - - //- Runtime type information - TypeName(cyclicACMIFvPatch::typeName_()); - - - // Constructors - - //- Inherit parent constructors - using cyclicAMIFvPatchField::cyclicAMIFvPatchField; - - //- Construct and return a clone setting internal field reference - virtual tmp> clone - ( - const DimensionedField& iF - ) const - { - return tmp> - ( - new cyclicACMIFvPatchField(*this, iF) - ); - } - - - // Member Functions - - // Access - - //- Return the fv patch - const cyclicACMIFvPatch& cyclicACMIPatch() const - { - return refCast(this->patch()); - } - - - // Evaluation functions - - //- Return true if this patch field fixes a value - // Needed to check if a level has to be specified while solving - // Poissons equations - virtual bool fixesValue() const - { - const scalarField& mask = - cyclicACMIPatch().cyclicACMIPatch().mask(); - - if (gMax(mask) > 1e-5) - { - // regions connected - return false; - } - else - { - // fully separated - return nonOverlapPatchField().fixesValue(); - } - } - - //- Return reference to non-overlapping patchField - const fvPatchField& nonOverlapPatchField() const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "cyclicACMIFvPatchField.C" -#endif - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.C deleted file mode 100644 index b0e2e8b16d..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIFvPatchFields.H" -#include "addToRunTimeSelectionTable.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makePatchFields(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.H deleted file mode 100644 index 58693eb642..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFields.H +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvPatchFields_H -#define cyclicACMIFvPatchFields_H - -#include "cyclicACMIFvPatchField.H" -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeFieldTypedefs(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFieldsFwd.H deleted file mode 100644 index b73ddfbe57..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchFieldsFwd.H +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvPatchFieldsFwd_H -#define cyclicACMIFvPatchFieldsFwd_H - -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -template class cyclicACMIFvPatchField; - -makePatchTypeFieldTypedefs(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchField.H deleted file mode 100644 index 8608114165..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchField.H +++ /dev/null @@ -1,107 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-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 . - -Class - Foam::cyclicRepeatAMIFvPatchField - -Description - This boundary condition enforces an repeating condition between a pair of - boundaries, whereby communication between the patches is performed using - an arbitrary mesh interface (AMI) interpolation. - -Usage - Example of the boundary condition specification: - \verbatim - - { - type cyclicRepeatAMI; - } - \endverbatim - - Note: - The outer boundary of the patch pairs must be similar, i.e. if the owner - patch is transformed to the neighbour patch, the outer perimeter of each - patch should be identical (or very similar). - -See also - Foam::AMIInterpolation - -SourceFiles - cyclicRepeatAMIFvPatchField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvPatchField_H -#define cyclicRepeatAMIFvPatchField_H - -#include "cyclicAMIFvPatchField.H" -#include "cyclicRepeatAMIFvPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIFvPatchField Declaration -\*---------------------------------------------------------------------------*/ - -template -class cyclicRepeatAMIFvPatchField -: - public cyclicAMIFvPatchField -{ -public: - - //- Runtime type information - TypeName(cyclicRepeatAMIFvPatch::typeName_()); - - - // Constructors - - //- Inherit parent constructors - using cyclicAMIFvPatchField::cyclicAMIFvPatchField; - - //- Construct and return a clone setting internal field reference - virtual tmp> clone - ( - const DimensionedField& iF - ) const - { - return tmp> - ( - new cyclicRepeatAMIFvPatchField(*this, iF) - ); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.C deleted file mode 100644 index d432e8be2a..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIFvPatchFields.H" -#include "addToRunTimeSelectionTable.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makePatchFields(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.H deleted file mode 100644 index aa137e8820..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFields.H +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvPatchFields_H -#define cyclicRepeatAMIFvPatchFields_H - -#include "cyclicRepeatAMIFvPatchField.H" -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeFieldTypedefs(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFieldsFwd.H b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFieldsFwd.H deleted file mode 100644 index f5f7b93937..0000000000 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatchFieldsFwd.H +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvPatchFieldsFwd_H -#define cyclicRepeatAMIFvPatchFieldsFwd_H - -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -template class cyclicRepeatAMIFvPatchField; - -makePatchTypeFieldTypedefs(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H deleted file mode 100644 index 3bb6fddad5..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchField.H +++ /dev/null @@ -1,88 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -Class - Foam::cyclicACMIFvsPatchField - -Description - Foam::cyclicACMIFvsPatchField - -SourceFiles - cyclicACMIFvsPatchField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvsPatchField_H -#define cyclicACMIFvsPatchField_H - -#include "cyclicAMIFvsPatchField.H" -#include "cyclicACMIFvPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIFvsPatchField Declaration -\*---------------------------------------------------------------------------*/ - -template -class cyclicACMIFvsPatchField -: - public cyclicAMIFvsPatchField -{ -public: - - //- Runtime type information - TypeName(cyclicACMIFvPatch::typeName_()); - - - // Constructors - - //- Inherit parent constructors - using cyclicAMIFvsPatchField::cyclicAMIFvsPatchField; - - //- Construct and return a clone setting internal field reference - virtual tmp> clone - ( - const DimensionedField& iF - ) const - { - return tmp> - ( - new cyclicACMIFvsPatchField(*this, iF) - ); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.C deleted file mode 100644 index d33adb9220..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.C +++ /dev/null @@ -1,44 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIFvsPatchFields.H" -#include "fvsPatchFields.H" -#include "surfaceMesh.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFvsPatchFields(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.H deleted file mode 100644 index 9fd5d52579..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFields.H +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvsPatchFields_H -#define cyclicACMIFvsPatchFields_H - -#include "cyclicACMIFvsPatchField.H" -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makeFvsPatchTypeFieldTypedefs(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFieldsFwd.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFieldsFwd.H deleted file mode 100644 index 5718765734..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicACMI/cyclicACMIFvsPatchFieldsFwd.H +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvsPatchFieldsFwd_H -#define cyclicACMIFvsPatchFieldsFwd_H - -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -template class cyclicACMIFvsPatchField; - -makeFvsPatchTypeFieldTypedefs(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchField.H deleted file mode 100644 index 39a9d4face..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchField.H +++ /dev/null @@ -1,88 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMIFvsPatchField - -Description - Foam::cyclicRepeatAMIFvsPatchField - -SourceFiles - cyclicRepeatAMIFvsPatchField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvsPatchField_H -#define cyclicRepeatAMIFvsPatchField_H - -#include "cyclicAMIFvsPatchField.H" -#include "cyclicRepeatAMIFvPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIFvsPatchField Declaration -\*---------------------------------------------------------------------------*/ - -template -class cyclicRepeatAMIFvsPatchField -: - public cyclicAMIFvsPatchField -{ -public: - - //- Runtime type information - TypeName(cyclicRepeatAMIFvPatch::typeName_()); - - - // Constructors - - //- Inherit parent constructors - using cyclicAMIFvsPatchField::cyclicAMIFvsPatchField; - - //- Construct and return a clone setting internal field reference - virtual tmp> clone - ( - const DimensionedField& iF - ) const - { - return tmp> - ( - new cyclicRepeatAMIFvsPatchField(*this, iF) - ); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.C deleted file mode 100644 index 051cab290c..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.C +++ /dev/null @@ -1,44 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIFvsPatchFields.H" -#include "fvsPatchFields.H" -#include "surfaceMesh.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makeFvsPatchFields(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.H deleted file mode 100644 index dbc6a030f6..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFields.H +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvsPatchFields_H -#define cyclicRepeatAMIFvsPatchFields_H - -#include "cyclicRepeatAMIFvsPatchField.H" -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makeFvsPatchTypeFieldTypedefs(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFieldsFwd.H b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFieldsFwd.H deleted file mode 100644 index fe4279fdaf..0000000000 --- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvsPatchFieldsFwd.H +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvsPatchFieldsFwd_H -#define cyclicRepeatAMIFvsPatchFieldsFwd_H - -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -template class cyclicRepeatAMIFvsPatchField; - -makeFvsPatchTypeFieldTypedefs(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C deleted file mode 100644 index f02ce291c1..0000000000 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C +++ /dev/null @@ -1,121 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIFvPatch.H" -#include "addToRunTimeSelectionTable.H" -#include "fvMesh.H" -#include "transform.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicACMIFvPatch, 0); - addToRunTimeSelectionTable(fvPatch, cyclicACMIFvPatch, polyPatch); -} - - -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -void Foam::cyclicACMIFvPatch::updateAreas() const -{ - if (cyclicACMIPatch().updated()) - { - if (debug) - { - Pout<< "cyclicACMIFvPatch::updateAreas() : updating fv areas for " - << name() << " and " << nonOverlapFvPatch().name() - << endl; - } - - // owner couple - const_cast(Sf()) = patch().faceAreas(); - const_cast(magSf()) = patch().magFaceAreas(); - - // owner non-overlapping - const fvPatch& nonOverlapPatch = nonOverlapFvPatch(); - const_cast(nonOverlapPatch.Sf()) = - nonOverlapPatch.patch().faceAreas(); - const_cast(nonOverlapPatch.magSf()) = - nonOverlapPatch.patch().magFaceAreas(); - - // neighbour couple - const cyclicACMIFvPatch& nbrACMI = neighbFvPatch(); - const_cast(nbrACMI.Sf()) = - nbrACMI.patch().faceAreas(); - const_cast(nbrACMI.magSf()) = - nbrACMI.patch().magFaceAreas(); - - // neighbour non-overlapping - const fvPatch& nbrNonOverlapPatch = nbrACMI.nonOverlapFvPatch(); - const_cast(nbrNonOverlapPatch.Sf()) = - nbrNonOverlapPatch.patch().faceAreas(); - const_cast(nbrNonOverlapPatch.magSf()) = - nbrNonOverlapPatch.patch().magFaceAreas(); - - // set the updated flag - cyclicACMIPatch().setUpdated(false); - } -} - - -// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // - -void Foam::cyclicACMIFvPatch::makeWeights(scalarField& w) const -{ - if (coupled()) - { - // These deltas are of the cyclic part alone - they are - // not affected by the amount of overlap with the nonOverlapPatch - const scalarField deltan(this->deltan()); - const scalarField nbrDeltan(this->nbrDeltan()); - - forAll(deltan, facei) - { - scalar di = deltan[facei]; - scalar dni = nbrDeltan[facei]; - - if (dni < cyclicACMIPolyPatch::tolerance()) - { - // Avoid zero weights on disconnected faces. This value - // will be weighted with the (zero) face area so will not - // influence calculations. - w[facei] = 1.0; - } - else - { - w[facei] = dni/(di + dni); - } - } - } - else - { - // Behave as uncoupled patch - fvPatch::makeWeights(w); - } -} - - -// ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.H b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.H deleted file mode 100644 index 093d3b3b11..0000000000 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.H +++ /dev/null @@ -1,143 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -Class - Foam::cyclicACMIFvPatch - -Description - Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI) - -SourceFiles - cyclicACMIFvPatch.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIFvPatch_H -#define cyclicACMIFvPatch_H - -#include "cyclicAMIFvPatch.H" -#include "cyclicACMIPolyPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMIFvPatch -: - public cyclicAMIFvPatch -{ - // Private Member Functions - - //- Update the patch areas after AMI update - void updateAreas() const; - - -protected: - - // Protected Member functions - - //- Make patch weighting factors - virtual void makeWeights(scalarField&) const; - - -public: - - //- Runtime type information - TypeName(cyclicACMIPolyPatch::typeName_()); - - - // Constructors - - //- Construct from polyPatch - cyclicACMIFvPatch(const polyPatch& patch, const fvBoundaryMesh& bm) - : - cyclicAMIFvPatch(patch, bm) - {} - - - // Member Functions - - // Access - - //- Return a reference to the AMI interpolators - virtual const PtrList& AMIs() const - { - const PtrList& AMIs = - cyclicAMIFvPatch::AMIs(); - - updateAreas(); - - return AMIs; - } - - //- Return a reference to the AMI transformations - virtual const List& AMITransforms() const - { - const List& AMITransforms = - cyclicAMIFvPatch::AMITransforms(); - - updateAreas(); - - return AMITransforms; - } - - //- Return the poly patch - const cyclicACMIPolyPatch& cyclicACMIPatch() const - { - return refCast(this->patch()); - } - - //- Return the neighbour patch - const cyclicACMIFvPatch& neighbFvPatch() const - { - return refCast - ( - this->boundaryMesh()[this->cyclicAMIPatch().nbrPatchID()] - ); - } - - //- Return the non-overlap patch - const fvPatch& nonOverlapFvPatch() const - { - return this->boundaryMesh() - [ - cyclicACMIPatch().nonOverlapPatchID() - ]; - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.C deleted file mode 100644 index 1223f2411a..0000000000 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.C +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIFvPatch.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicRepeatAMIFvPatch, 0); - addToRunTimeSelectionTable(fvPatch, cyclicRepeatAMIFvPatch, polyPatch); -} - - -// ************************************************************************* // diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.H b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.H deleted file mode 100644 index 8a005378af..0000000000 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicRepeatAMI/cyclicRepeatAMIFvPatch.H +++ /dev/null @@ -1,78 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMIFvPatch - -Description - Repeating patch for Arbitrary Mesh Interface (AMI) - -SourceFiles - cyclicRepeatAMIFvPatch.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIFvPatch_H -#define cyclicRepeatAMIFvPatch_H - -#include "cyclicAMIFvPatch.H" -#include "cyclicRepeatAMIPolyPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicRepeatAMIFvPatch -: - public cyclicAMIFvPatch -{ -public: - - //- Runtime type information - TypeName(cyclicRepeatAMIPolyPatch::typeName_()); - - - // Constructors - - //- Construct from polyPatch - cyclicRepeatAMIFvPatch(const polyPatch& patch, const fvBoundaryMesh& bm) - : - cyclicAMIFvPatch(patch, bm) - {} -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/functionObjects/field/nearWallFields/findCellParticle.C b/src/functionObjects/field/nearWallFields/findCellParticle.C index 2c73389bab..89f9e7965c 100644 --- a/src/functionObjects/field/nearWallFields/findCellParticle.C +++ b/src/functionObjects/field/nearWallFields/findCellParticle.C @@ -181,32 +181,6 @@ void Foam::findCellParticle::hitCyclicAMIPatch } -void Foam::findCellParticle::hitCyclicACMIPatch -( - const vector&, - const scalar, - Cloud&, - trackingData& td -) -{ - // Remove particle - td.keepParticle = false; -} - - -void Foam::findCellParticle::hitCyclicRepeatAMIPatch -( - const vector&, - const scalar, - Cloud&, - trackingData& td -) -{ - // Remove particle - td.keepParticle = false; -} - - void Foam::findCellParticle::hitProcessorPatch ( Cloud& cloud, diff --git a/src/functionObjects/field/nearWallFields/findCellParticle.H b/src/functionObjects/field/nearWallFields/findCellParticle.H index 0222b76498..c13dfbb525 100644 --- a/src/functionObjects/field/nearWallFields/findCellParticle.H +++ b/src/functionObjects/field/nearWallFields/findCellParticle.H @@ -231,25 +231,6 @@ public: trackingData& ); - //- Overridable function to handle the particle hitting a cyclicACMI - void hitCyclicACMIPatch - ( - const vector&, - const scalar, - Cloud&, - trackingData& - ); - - //- Overridable function to handle the particle hitting a - //cyclicRepeatAMI - void hitCyclicRepeatAMIPatch - ( - const vector&, - const scalar, - Cloud&, - trackingData& - ); - //- Overridable function to handle the particle hitting a //- processorPatch void hitProcessorPatch(Cloud&, trackingData&); diff --git a/src/functionObjects/field/streamlines/streamlinesParticle.C b/src/functionObjects/field/streamlines/streamlinesParticle.C index aaf77f648b..3ce20468c6 100644 --- a/src/functionObjects/field/streamlines/streamlinesParticle.C +++ b/src/functionObjects/field/streamlines/streamlinesParticle.C @@ -391,38 +391,6 @@ void Foam::streamlinesParticle::hitCyclicAMIPatch } -void Foam::streamlinesParticle::hitCyclicACMIPatch -( - const vector& displacement, - const scalar fraction, - streamlinesCloud& cloud, - trackingData& td -) -{ - // End this track - endTrack(td); - - // Move across the cyclic - particle::hitCyclicACMIPatch(displacement, fraction, cloud, td); -} - - -void Foam::streamlinesParticle::hitCyclicRepeatAMIPatch -( - const vector& displacement, - const scalar fraction, - streamlinesCloud& cloud, - trackingData& td -) -{ - // End this track - endTrack(td); - - // Move across the cyclic - particle::hitCyclicRepeatAMIPatch(displacement, fraction, cloud, td); -} - - bool Foam::streamlinesParticle::hitNonConformalCyclicPatch ( const vector& displacement, diff --git a/src/functionObjects/field/streamlines/streamlinesParticle.H b/src/functionObjects/field/streamlines/streamlinesParticle.H index 6462be8715..7b58cbbc96 100644 --- a/src/functionObjects/field/streamlines/streamlinesParticle.H +++ b/src/functionObjects/field/streamlines/streamlinesParticle.H @@ -282,26 +282,6 @@ public: trackingData& ); - //- Overridable function to handle the particle hitting a - // cyclicACMIPatch - void hitCyclicACMIPatch - ( - const vector&, - const scalar, - streamlinesCloud&, - trackingData& - ); - - //- Overridable function to handle the particle hitting a - // cyclicRepeatAMIPatch - void hitCyclicRepeatAMIPatch - ( - const vector&, - const scalar, - streamlinesCloud&, - trackingData& - ); - //- Overridable function to handle the particle hitting an // nonConformalCyclicPolyPatch bool hitNonConformalCyclicPatch diff --git a/src/lagrangian/basic/particle/particle.C b/src/lagrangian/basic/particle/particle.C index 37ce942771..a74fddd598 100644 --- a/src/lagrangian/basic/particle/particle.C +++ b/src/lagrangian/basic/particle/particle.C @@ -280,9 +280,7 @@ void Foam::particle::changeFace(const label tetTriI) continue; } - // Loop over the edges, looking for the shared one. Note that we have to - // match the direction of the edge as well as the end points in order to - // avoid false positives when dealing with coincident ACMI faces. + // Loop over the edges, looking for the shared one const label edgeComp = newOwner == celli_ ? -1 : +1; label edgeI = 0; for @@ -368,45 +366,6 @@ void Foam::particle::changeCell() } -void Foam::particle::changeToMasterPatch() -{ - if (debug) - { - Info << "Particle " << origId() << nl << FUNCTION_NAME << nl << endl; - } - - label thisPatch = patch(); - - forAll(mesh_.cells()[celli_], cellFaceI) - { - // Skip the current face and any internal faces - const label otherFaceI = mesh_.cells()[celli_][cellFaceI]; - if (facei_ == otherFaceI || mesh_.isInternalFace(otherFaceI)) - { - continue; - } - - // Compare the two faces. If they are the same, chose the one with the - // lower patch index. In the case of an ACMI-wall pair, this will be - // the ACMI, which is what we want. - const class face& thisFace = mesh_.faces()[facei_]; - const class face& otherFace = mesh_.faces()[otherFaceI]; - if (face::compare(thisFace, otherFace) != 0) - { - const label otherPatch = - mesh_.boundaryMesh().whichPatch(otherFaceI); - if (thisPatch > otherPatch) - { - facei_ = otherFaceI; - thisPatch = otherPatch; - } - } - } - - tetFacei_ = facei_; -} - - void Foam::particle::locate ( const vector& position, diff --git a/src/lagrangian/basic/particle/particle.H b/src/lagrangian/basic/particle/particle.H index 4f88c3ceb2..f939d62994 100644 --- a/src/lagrangian/basic/particle/particle.H +++ b/src/lagrangian/basic/particle/particle.H @@ -57,8 +57,6 @@ class polyPatch; class cyclicPolyPatch; class cyclicAMIPolyPatch; -class cyclicACMIPolyPatch; -class cyclicRepeatAMIPolyPatch; class processorPolyPatch; class symmetryPlanePolyPatch; class symmetryPolyPatch; @@ -291,13 +289,6 @@ private: //- Change cell. Called when the particle hits an internal face. void changeCell(); - //- Put the particle on the lowest indexed patch for the current set - // of coincident faces. In the case of an ACMI-wall pair, this will - // move the particle from the wall face to the ACMI face, because - // ACMI patches are always listed before their associated non- - // overlapping patch. - void changeToMasterPatch(); - // Geometry changes @@ -347,28 +338,6 @@ protected: trackingData& td ); - //- Overridable function to handle the particle hitting a - // cyclicACMIPatch - template - void hitCyclicACMIPatch - ( - const vector& displacement, - const scalar fraction, - TrackCloudType& cloud, - trackingData& td - ); - - //- Overridable function to handle the particle hitting an - // cyclicRepeatAMIPolyPatch - template - void hitCyclicRepeatAMIPatch - ( - const vector& displacement, - const scalar fraction, - TrackCloudType& cloud, - trackingData& td - ); - //- Overridable function to handle the particle hitting an // nonConformalCyclicPolyPatch template @@ -625,17 +594,6 @@ public: trackingData& td ); - //- As above, but does not change the master patch. Needed in order for - // ACMI to be able to delegate a hit to the non-overlap patch. - template - void hitFaceNoChangeToMasterPatch - ( - const vector& displacement, - const scalar fraction, - TrackCloudType& cloud, - trackingData& td - ); - //- Convenience function. Combines trackToFace and hitFace template scalar trackToAndHitFace diff --git a/src/lagrangian/basic/particle/particleTemplates.C b/src/lagrangian/basic/particle/particleTemplates.C index 3ad79ace70..7446ad573e 100644 --- a/src/lagrangian/basic/particle/particleTemplates.C +++ b/src/lagrangian/basic/particle/particleTemplates.C @@ -28,8 +28,6 @@ License #include "cyclicPolyPatch.H" #include "cyclicAMIPolyPatch.H" -#include "cyclicACMIPolyPatch.H" -#include "cyclicRepeatAMIPolyPatch.H" #include "nonConformalCyclicPolyPatch.H" #include "processorPolyPatch.H" #include "symmetryPlanePolyPatch.H" @@ -119,29 +117,6 @@ void Foam::particle::hitFace Info << "Particle " << origId() << nl << FUNCTION_NAME << nl << endl; } - if (onBoundaryFace()) - { - changeToMasterPatch(); - } - - hitFaceNoChangeToMasterPatch(displacement, fraction, cloud, td); -} - - -template -void Foam::particle::hitFaceNoChangeToMasterPatch -( - const vector& displacement, - const scalar fraction, - TrackCloudType& cloud, - trackingData& td -) -{ - if (debug) - { - Info << "Particle " << origId() << nl << FUNCTION_NAME << nl << endl; - } - typename TrackCloudType::particleType& p = static_cast(*this); typename TrackCloudType::particleType::trackingData& ttd = @@ -195,18 +170,10 @@ void Foam::particle::hitFaceNoChangeToMasterPatch { p.hitCyclicPatch(cloud, ttd); } - else if (isA(patch)) - { - p.hitCyclicACMIPatch(displacement, fraction, cloud, ttd); - } else if (isA(patch)) { p.hitCyclicAMIPatch(displacement, fraction, cloud, ttd); } - else if (isA(patch)) - { - p.hitCyclicRepeatAMIPatch(displacement, fraction, cloud, ttd); - } else if (isA(patch)) { p.hitProcessorPatch(cloud, ttd); @@ -420,82 +387,6 @@ void Foam::particle::hitCyclicAMIPatch } -template -void Foam::particle::hitCyclicACMIPatch -( - const vector& displacement, - const scalar fraction, - TrackCloudType& cloud, - trackingData& td -) -{ - typename TrackCloudType::particleType& p = - static_cast(*this); - typename TrackCloudType::particleType::trackingData& ttd = - static_cast(td); - - const cyclicACMIPolyPatch& cpp = - static_cast(mesh_.boundaryMesh()[patch()]); - - vector patchNormal, patchDisplacement; - patchData(patchNormal, patchDisplacement); - - const label localFacei = cpp.whichFace(facei_); - - // If the mask is within the patch tolerance at either end, then we can - // assume an interaction with the appropriate part of the ACMI pair. - const scalar mask = cpp.mask()[localFacei]; - bool couple = mask >= 1 - cpp.tolerance(); - bool nonOverlap = mask <= cpp.tolerance(); - - // If the mask is an intermediate value, then we search for a location on - // the other side of the AMI. If we can't find a location, then we assume - // that we have hit the non-overlap patch. - if (!couple && !nonOverlap) - { - vector pos = position(); - couple = - cpp.pointAMIAndFace - ( - localFacei, - displacement - fraction*patchDisplacement, - pos - ).first() >= 0; - nonOverlap = !couple; - } - - if (couple) - { - p.hitCyclicAMIPatch(displacement, fraction, cloud, ttd); - } - else - { - // Move to the face associated with the non-overlap patch and redo the - // face interaction. - tetFacei_ = facei_ = cpp.nonOverlapPatch().start() + localFacei; - p.hitFaceNoChangeToMasterPatch(displacement, fraction, cloud, td); - } -} - - -template -void Foam::particle::hitCyclicRepeatAMIPatch -( - const vector& displacement, - const scalar fraction, - TrackCloudType& cloud, - trackingData& td -) -{ - typename TrackCloudType::particleType& p = - static_cast(*this); - typename TrackCloudType::particleType::trackingData& ttd = - static_cast(td); - - p.hitCyclicAMIPatch(displacement, fraction, cloud, ttd); -} - - template bool Foam::particle::hitNonConformalCyclicPatch ( diff --git a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.C b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.C index b86397f0ac..ed34155964 100644 --- a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.C +++ b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.C @@ -209,32 +209,6 @@ void Foam::trackedParticle::hitCyclicAMIPatch } -void Foam::trackedParticle::hitCyclicACMIPatch -( - const vector&, - const scalar, - Cloud&, - trackingData& td -) -{ - // Remove particle - td.keepParticle = false; -} - - -void Foam::trackedParticle::hitCyclicRepeatAMIPatch -( - const vector&, - const scalar, - Cloud&, - trackingData& td -) -{ - // Remove particle - td.keepParticle = false; -} - - void Foam::trackedParticle::hitWallPatch ( Cloud&, diff --git a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H index 5a2f893e8c..114c94cc1b 100644 --- a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H +++ b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H @@ -263,25 +263,6 @@ public: trackingData& ); - //- Overridable function to handle the particle hitting a cyclicACMI - void hitCyclicACMIPatch - ( - const vector&, - const scalar, - Cloud&, - trackingData& - ); - - //- Overridable function to handle the particle hitting a - // cyclicRepeatAMI - void hitCyclicRepeatAMIPatch - ( - const vector&, - const scalar, - Cloud&, - trackingData& - ); - //- Overridable function to handle the particle hitting a wallPatch void hitWallPatch(Cloud&, trackingData&); diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C deleted file mode 100644 index 03330bfd5c..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C +++ /dev/null @@ -1,78 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIGAMGInterfaceField.H" -#include "addToRunTimeSelectionTable.H" -#include "lduMatrix.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicACMIGAMGInterfaceField, 0); - addToRunTimeSelectionTable - ( - GAMGInterfaceField, - cyclicACMIGAMGInterfaceField, - lduInterface - ); - addToRunTimeSelectionTable - ( - GAMGInterfaceField, - cyclicACMIGAMGInterfaceField, - lduInterfaceField - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::cyclicACMIGAMGInterfaceField::cyclicACMIGAMGInterfaceField -( - const GAMGInterface& GAMGCp, - const lduInterfaceField& fineInterface -) -: - cyclicAMIGAMGInterfaceField(GAMGCp, fineInterface) -{} - - -Foam::cyclicACMIGAMGInterfaceField::cyclicACMIGAMGInterfaceField -( - const GAMGInterface& GAMGCp, - const int rank -) -: - cyclicAMIGAMGInterfaceField(GAMGCp, rank) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicACMIGAMGInterfaceField::~cyclicACMIGAMGInterfaceField() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.H b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.H deleted file mode 100644 index c5f85c45d1..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.H +++ /dev/null @@ -1,90 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -Class - Foam::cyclicACMIGAMGInterfaceField - -Description - GAMG agglomerated cyclic interface for Arbitrarily Coupled Mesh Interface - (ACMI) fields. - -SourceFiles - cyclicACMIGAMGInterfaceField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIGAMGInterfaceField_H -#define cyclicACMIGAMGInterfaceField_H - -#include "cyclicAMIGAMGInterfaceField.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIGAMGInterfaceField Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMIGAMGInterfaceField -: - public cyclicAMIGAMGInterfaceField -{ -public: - - //- Runtime type information - TypeName("cyclicACMI"); - - - // Constructors - - //- Construct from GAMG interface and fine level interface field - cyclicACMIGAMGInterfaceField - ( - const GAMGInterface& GAMGCp, - const lduInterfaceField& fineInterfaceField - ); - - //- Construct from GAMG interface and fine level interface field - cyclicACMIGAMGInterfaceField - ( - const GAMGInterface& GAMGCp, - const int rank - ); - - - //- Destructor - virtual ~cyclicACMIGAMGInterfaceField(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicRepeatAMIGAMGInterfaceField/cyclicRepeatAMIGAMGInterfaceField.C b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicRepeatAMIGAMGInterfaceField/cyclicRepeatAMIGAMGInterfaceField.C deleted file mode 100644 index 549225e706..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicRepeatAMIGAMGInterfaceField/cyclicRepeatAMIGAMGInterfaceField.C +++ /dev/null @@ -1,78 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIGAMGInterfaceField.H" -#include "addToRunTimeSelectionTable.H" -#include "lduMatrix.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicRepeatAMIGAMGInterfaceField, 0); - addToRunTimeSelectionTable - ( - GAMGInterfaceField, - cyclicRepeatAMIGAMGInterfaceField, - lduInterface - ); - addToRunTimeSelectionTable - ( - GAMGInterfaceField, - cyclicRepeatAMIGAMGInterfaceField, - lduInterfaceField - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMIGAMGInterfaceField::cyclicRepeatAMIGAMGInterfaceField -( - const GAMGInterface& GAMGCp, - const lduInterfaceField& fineInterface -) -: - cyclicAMIGAMGInterfaceField(GAMGCp, fineInterface) -{} - - -Foam::cyclicRepeatAMIGAMGInterfaceField::cyclicRepeatAMIGAMGInterfaceField -( - const GAMGInterface& GAMGCp, - const int rank -) -: - cyclicAMIGAMGInterfaceField(GAMGCp, rank) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMIGAMGInterfaceField::~cyclicRepeatAMIGAMGInterfaceField() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicRepeatAMIGAMGInterfaceField/cyclicRepeatAMIGAMGInterfaceField.H b/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicRepeatAMIGAMGInterfaceField/cyclicRepeatAMIGAMGInterfaceField.H deleted file mode 100644 index c40530808b..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicRepeatAMIGAMGInterfaceField/cyclicRepeatAMIGAMGInterfaceField.H +++ /dev/null @@ -1,89 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMIGAMGInterfaceField - -Description - GAMG agglomerated repeat AMI interface field. - -SourceFiles - cyclicRepeatAMIGAMGInterfaceField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIGAMGInterfaceField_H -#define cyclicRepeatAMIGAMGInterfaceField_H - -#include "cyclicAMIGAMGInterfaceField.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIGAMGInterfaceField Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicRepeatAMIGAMGInterfaceField -: - public cyclicAMIGAMGInterfaceField -{ -public: - - //- Runtime type information - TypeName("cyclicRepeatAMI"); - - - // Constructors - - //- Construct from GAMG interface and fine level interface field - cyclicRepeatAMIGAMGInterfaceField - ( - const GAMGInterface& GAMGCp, - const lduInterfaceField& fineInterfaceField - ); - - //- Construct from GAMG interface and fine level interface field - cyclicRepeatAMIGAMGInterfaceField - ( - const GAMGInterface& GAMGCp, - const int rank - ); - - - //- Destructor - virtual ~cyclicRepeatAMIGAMGInterfaceField(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C deleted file mode 100644 index caa70d615a..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.C +++ /dev/null @@ -1,77 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "AMIInterpolation.H" -#include "cyclicACMIGAMGInterface.H" -#include "addToRunTimeSelectionTable.H" -#include "Map.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicACMIGAMGInterface, 0); - addToRunTimeSelectionTable - ( - GAMGInterface, - cyclicACMIGAMGInterface, - lduInterface - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::cyclicACMIGAMGInterface::cyclicACMIGAMGInterface -( - const label index, - const lduInterfacePtrsList& coarseInterfaces, - const lduInterface& fineInterface, - const labelField& localRestrictAddressing, - const labelField& neighbourRestrictAddressing, - const label fineLevelIndex, - const label coarseComm -) -: - cyclicAMIGAMGInterface - ( - index, - coarseInterfaces, - fineInterface, - localRestrictAddressing, - neighbourRestrictAddressing, - fineLevelIndex, - coarseComm - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicACMIGAMGInterface::~cyclicACMIGAMGInterface() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H deleted file mode 100644 index 9139d213d8..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicACMIGAMGInterface/cyclicACMIGAMGInterface.H +++ /dev/null @@ -1,88 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -Class - Foam::cyclicACMIGAMGInterface - -Description - GAMG agglomerated cyclic ACMI interface. - -SourceFiles - cyclicACMIGAMGInterface.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIGAMGInterface_H -#define cyclicACMIGAMGInterface_H - -#include "cyclicAMIGAMGInterface.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIGAMGInterface Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMIGAMGInterface -: - public cyclicAMIGAMGInterface -{ -public: - - //- Runtime type information - TypeName("cyclicACMI"); - - - // Constructors - - //- Construct from fine level interface, - // local and neighbour restrict addressing - cyclicACMIGAMGInterface - ( - const label index, - const lduInterfacePtrsList& coarseInterfaces, - const lduInterface& fineInterface, - const labelField& restrictAddressing, - const labelField& neighbourRestrictAddressing, - const label fineLevelIndex, - const label coarseComm - ); - - - //- Destructor - virtual ~cyclicACMIGAMGInterface(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicRepeatAMIGAMGInterface/cyclicRepeatAMIGAMGInterface.C b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicRepeatAMIGAMGInterface/cyclicRepeatAMIGAMGInterface.C deleted file mode 100644 index 8611f894a5..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicRepeatAMIGAMGInterface/cyclicRepeatAMIGAMGInterface.C +++ /dev/null @@ -1,77 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "AMIInterpolation.H" -#include "cyclicRepeatAMIGAMGInterface.H" -#include "addToRunTimeSelectionTable.H" -#include "Map.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicRepeatAMIGAMGInterface, 0); - addToRunTimeSelectionTable - ( - GAMGInterface, - cyclicRepeatAMIGAMGInterface, - lduInterface - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMIGAMGInterface::cyclicRepeatAMIGAMGInterface -( - const label index, - const lduInterfacePtrsList& coarseInterfaces, - const lduInterface& fineInterface, - const labelField& localRestrictAddressing, - const labelField& neighbourRestrictAddressing, - const label fineLevelIndex, - const label coarseComm -) -: - cyclicAMIGAMGInterface - ( - index, - coarseInterfaces, - fineInterface, - localRestrictAddressing, - neighbourRestrictAddressing, - fineLevelIndex, - coarseComm - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMIGAMGInterface::~cyclicRepeatAMIGAMGInterface() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicRepeatAMIGAMGInterface/cyclicRepeatAMIGAMGInterface.H b/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicRepeatAMIGAMGInterface/cyclicRepeatAMIGAMGInterface.H deleted file mode 100644 index df5b85db0e..0000000000 --- a/src/meshTools/AMIInterpolation/GAMG/interfaces/cyclicRepeatAMIGAMGInterface/cyclicRepeatAMIGAMGInterface.H +++ /dev/null @@ -1,88 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMIGAMGInterface - -Description - GAMG agglomerated repeat AMI interface. - -SourceFiles - cyclicRepeatAMIGAMGInterface.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIGAMGInterface_H -#define cyclicRepeatAMIGAMGInterface_H - -#include "cyclicAMIGAMGInterface.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIGAMGInterface Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicRepeatAMIGAMGInterface -: - public cyclicAMIGAMGInterface -{ -public: - - //- Runtime type information - TypeName("cyclicRepeatAMI"); - - - // Constructors - - //- Construct from fine level interface, - // local and neighbour restrict addressing - cyclicRepeatAMIGAMGInterface - ( - const label index, - const lduInterfacePtrsList& coarseInterfaces, - const lduInterface& fineInterface, - const labelField& restrictAddressing, - const labelField& neighbourRestrictAddressing, - const label fineLevelIndex, - const label coarseComm - ); - - - //- Destructor - virtual ~cyclicRepeatAMIGAMGInterface(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.C deleted file mode 100644 index 4e85deea25..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.C +++ /dev/null @@ -1,42 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMILduInterface.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -defineTypeNameAndDebug(cyclicACMILduInterface, 0); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicACMILduInterface::~cyclicACMILduInterface() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.H deleted file mode 100644 index bd488c3b2b..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterface.H +++ /dev/null @@ -1,80 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -Class - Foam::cyclicACMILduInterface - -Description - An abstract base class for cyclic ACMI coupled interfaces - -SourceFiles - cyclicACMILduInterface.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMILduInterface_H -#define cyclicACMILduInterface_H - -#include "cyclicAMILduInterface.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMILduInterface Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMILduInterface -: - public cyclicAMILduInterface -{ - -public: - - //- Runtime type information - TypeName("cyclicACMILduInterface"); - - - // Constructors - - //- Construct null - cyclicACMILduInterface() - {} - - - //- Destructor - virtual ~cyclicACMILduInterface(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.C deleted file mode 100644 index f9569013bd..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMILduInterfaceField.H" -#include "diagTensorField.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicACMILduInterfaceField, 0); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicACMILduInterfaceField::~cyclicACMILduInterfaceField() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.H deleted file mode 100644 index 01c0878e4b..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField/cyclicACMILduInterfaceField.H +++ /dev/null @@ -1,80 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -Class - Foam::cyclicACMILduInterfaceField - -Description - Abstract base class for cyclic ACMI coupled interfaces - -SourceFiles - cyclicACMILduInterfaceField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMILduInterfaceField_H -#define cyclicACMILduInterfaceField_H - -#include "cyclicAMILduInterfaceField.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMILduInterfaceField Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMILduInterfaceField -: - public cyclicAMILduInterfaceField -{ - -public: - - //- Runtime type information - TypeName("cyclicACMILduInterfaceField"); - - - // Constructors - - //- Construct null - cyclicACMILduInterfaceField() - {} - - - //- Destructor - virtual ~cyclicACMILduInterfaceField(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.C deleted file mode 100644 index 79bdc769a7..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.C +++ /dev/null @@ -1,61 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIPointPatch.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicACMIPointPatch, 0); - addToRunTimeSelectionTable - ( - facePointPatch, - cyclicACMIPointPatch, - polyPatch - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::cyclicACMIPointPatch::cyclicACMIPointPatch -( - const polyPatch& patch, - const pointBoundaryMesh& bm -) -: - cyclicAMIPointPatch(patch, bm) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicACMIPointPatch::~cyclicACMIPointPatch() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.H deleted file mode 100644 index 6e5b382257..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatch/cyclicACMIPointPatch.H +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -Class - Foam::cyclicACMIPointPatch - -Description - Cyclic AMI point patch - place holder only - -SourceFiles - cyclicACMIPointPatch.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIPointPatch_H -#define cyclicACMIPointPatch_H - -#include "cyclicAMIPointPatch.H" -#include "cyclicACMIPolyPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIPointPatch Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMIPointPatch -: - public cyclicAMIPointPatch -{ -public: - - //- Runtime type information - TypeName(cyclicACMIPolyPatch::typeName_()); - - - // Constructors - - //- Construct from components - cyclicACMIPointPatch - ( - const polyPatch& patch, - const pointBoundaryMesh& bm - ); - - - //- Destructor - virtual ~cyclicACMIPointPatch(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H deleted file mode 100644 index 7f6ea4fb03..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchField.H +++ /dev/null @@ -1,91 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -Class - Foam::cyclicACMIPointPatchField - -Description - Cyclic ACMI front and back plane patch field - -SourceFiles - cyclicACMIPointPatchField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIPointPatchField_H -#define cyclicACMIPointPatchField_H - -#include "cyclicAMIPointPatchField.H" -#include "cyclicACMIPointPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIPointPatchField Declaration -\*---------------------------------------------------------------------------*/ - -template -class cyclicACMIPointPatchField -: - public cyclicAMIPointPatchField -{ -public: - - //- Runtime type information - TypeName(cyclicACMIPointPatch::typeName_()); - - - // Constructors - - //- Inherit parent constructors - using cyclicAMIPointPatchField::cyclicAMIPointPatchField; - - //- Construct and return a clone setting internal field reference - virtual autoPtr> clone - ( - const DimensionedField& iF - ) const - { - return autoPtr> - ( - new cyclicACMIPointPatchField - ( - *this, iF - ) - ); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.C deleted file mode 100644 index 96bd24b155..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIPointPatchFields.H" -#include "pointPatchFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makePointPatchFields(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.H deleted file mode 100644 index a7877d096d..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPointPatchField/cyclicACMIPointPatchFields.H +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIPointPatchFields_H -#define cyclicACMIPointPatchFields_H - -#include "cyclicACMIPointPatchField.H" -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePointPatchFieldTypedefs(cyclicACMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C deleted file mode 100644 index 6a5f11348f..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.C +++ /dev/null @@ -1,477 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2021 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicACMIPolyPatch.H" -#include "partialFaceAreaWeightAMI.H" -#include "SubField.H" -#include "Time.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicACMIPolyPatch, 0); - - addToRunTimeSelectionTable(polyPatch, cyclicACMIPolyPatch, word); - addToRunTimeSelectionTable(polyPatch, cyclicACMIPolyPatch, dictionary); -} - -const Foam::scalar Foam::cyclicACMIPolyPatch::tolerance_ = 1e-10; - -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - -void Foam::cyclicACMIPolyPatch::resetAMI() const -{ - if (owner()) - { - const polyPatch& nonOverlapPatch = this->nonOverlapPatch(); - - if (debug) - { - Pout<< "cyclicACMIPolyPatch::resetAMI : recalculating weights" - << " for " << name() << " and " << nonOverlapPatch.name() - << endl; - } - - if (boundaryMesh().mesh().hasCellCentres()) - { - if (debug) - { - Pout<< "cyclicACMIPolyPatch::resetAMI : clearing cellCentres" - << " for " << name() << " and " << nonOverlapPatch.name() - << endl; - } - - const_cast - ( - boundaryMesh().mesh() - ).primitiveMesh::clearGeom(); - } - - // Trigger re-building of faceAreas - (void)boundaryMesh().mesh().faceAreas(); - - - // Calculate the AMI using partial face-area-weighted. This leaves - // the weights as fractions of local areas (sum(weights) = 1 means - // face is fully covered) - cyclicAMIPolyPatch::resetAMI(); - - AMIInterpolation& AMI = this->AMIs_[0]; - - srcMask_ = - min(scalar(1) - tolerance_, max(tolerance_, AMI.srcWeightsSum())); - - tgtMask_ = - min(scalar(1) - tolerance_, max(tolerance_, AMI.tgtWeightsSum())); - - - // Adapt owner side areas. Note that in uncoupled situations (e.g. - // decomposePar) srcMask, tgtMask can be zero size. - if (srcMask_.size()) - { - vectorField::subField Sf = faceAreas(); - scalarField::subField magSf = magFaceAreas(); - vectorField::subField noSf = nonOverlapPatch.faceAreas(); - scalarField::subField noMagSf = nonOverlapPatch.magFaceAreas(); - - forAll(Sf, facei) - { - Sf[facei] *= srcMask_[facei]; - magSf[facei] = mag(Sf[facei]); - noSf[facei] *= 1.0 - srcMask_[facei]; - noMagSf[facei] = mag(noSf[facei]); - } - } - // Adapt slave side areas - if (tgtMask_.size()) - { - const cyclicACMIPolyPatch& cp = - refCast(this->nbrPatch()); - const polyPatch& pp = cp.nonOverlapPatch(); - - vectorField::subField Sf = cp.faceAreas(); - scalarField::subField magSf = cp.magFaceAreas(); - vectorField::subField noSf = pp.faceAreas(); - scalarField::subField noMagSf = pp.magFaceAreas(); - - forAll(Sf, facei) - { - Sf[facei] *= tgtMask_[facei]; - magSf[facei] = mag(Sf[facei]); - noSf[facei] *= 1.0 - tgtMask_[facei]; - noMagSf[facei] = mag(noSf[facei]); - } - } - - // Re-normalise the weights since the effect of overlap is already - // accounted for in the area. - { - scalarListList& srcWeights = AMI.srcWeights(); - scalarField& srcWeightsSum = AMI.srcWeightsSum(); - forAll(srcWeights, i) - { - scalarList& wghts = srcWeights[i]; - if (wghts.size()) - { - scalar& sum = srcWeightsSum[i]; - - forAll(wghts, j) - { - wghts[j] /= sum; - } - sum = 1.0; - } - } - } - { - scalarListList& tgtWeights = AMI.tgtWeights(); - scalarField& tgtWeightsSum = AMI.tgtWeightsSum(); - forAll(tgtWeights, i) - { - scalarList& wghts = tgtWeights[i]; - if (wghts.size()) - { - scalar& sum = tgtWeightsSum[i]; - forAll(wghts, j) - { - wghts[j] /= sum; - } - sum = 1.0; - } - } - } - - // Set the updated flag - updated_ = true; - } -} - - -void Foam::cyclicACMIPolyPatch::initCalcGeometry(PstreamBuffers& pBufs) -{ - cyclicAMIPolyPatch::initCalcGeometry(pBufs); - - // Initialise the AMI - resetAMI(); -} - - -void Foam::cyclicACMIPolyPatch::calcGeometry(PstreamBuffers& pBufs) -{ - static_cast(*this) = - cyclicTransform - ( - name(), - faceAreas(), - *this, - nbrPatchName(), - nbrPatch(), - matchTolerance() - ); -} - - -void Foam::cyclicACMIPolyPatch::initMovePoints -( - PstreamBuffers& pBufs, - const pointField& p -) -{ - cyclicAMIPolyPatch::initMovePoints(pBufs, p); - - // Initialise the AMI - resetAMI(); -} - - -const Foam::scalarField& Foam::cyclicACMIPolyPatch::srcMask() const -{ - return srcMask_; -} - - -const Foam::scalarField& Foam::cyclicACMIPolyPatch::tgtMask() const -{ - return tgtMask_; -} - - -// * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * * // - -Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch -( - const word& name, - const label size, - const label start, - const label index, - const polyBoundaryMesh& bm, - const word& patchType -) -: - cyclicAMIPolyPatch - ( - name, - size, - start, - index, - bm, - patchType, - false, - partialFaceAreaWeightAMI::typeName - ), - nonOverlapPatchName_(word::null), - nonOverlapPatchID_(-1), - srcMask_(), - tgtMask_(), - updated_(false) -{ - // Non-overlapping patch might not be valid yet so cannot determine - // associated patchID -} - - -Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch -( - const word& name, - const dictionary& dict, - const label index, - const polyBoundaryMesh& bm, - const word& patchType -) -: - cyclicAMIPolyPatch - ( - name, - dict, - index, - bm, - patchType, - false, - partialFaceAreaWeightAMI::typeName - ), - nonOverlapPatchName_(dict.lookup("nonOverlapPatch")), - nonOverlapPatchID_(-1), - srcMask_(), - tgtMask_(), - updated_(false) -{ - if (nonOverlapPatchName_ == name) - { - FatalIOErrorInFunction - ( - dict - ) << "Non-overlapping patch name " << nonOverlapPatchName_ - << " cannot be the same as this patch " << name - << exit(FatalIOError); - } - - // Non-overlapping patch might not be valid yet so cannot determine - // associated patchID -} - - -Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch -( - const cyclicACMIPolyPatch& pp, - const polyBoundaryMesh& bm -) -: - cyclicAMIPolyPatch(pp, bm), - nonOverlapPatchName_(pp.nonOverlapPatchName_), - nonOverlapPatchID_(-1), - srcMask_(), - tgtMask_(), - updated_(false) -{ - // Non-overlapping patch might not be valid yet so cannot determine - // associated patchID -} - - -Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch -( - const cyclicACMIPolyPatch& pp, - const polyBoundaryMesh& bm, - const label index, - const label newSize, - const label newStart, - const word& nbrPatchName, - const word& nonOverlapPatchName -) -: - cyclicAMIPolyPatch(pp, bm, index, newSize, newStart, nbrPatchName), - nonOverlapPatchName_(nonOverlapPatchName), - nonOverlapPatchID_(-1), - srcMask_(), - tgtMask_(), - updated_(false) -{ - if (nonOverlapPatchName_ == name()) - { - FatalErrorInFunction - << "Non-overlapping patch name " << nonOverlapPatchName_ - << " cannot be the same as this patch " << name() - << exit(FatalError); - } - - // Non-overlapping patch might not be valid yet so cannot determine - // associated patchID -} - - -Foam::cyclicACMIPolyPatch::cyclicACMIPolyPatch -( - const cyclicACMIPolyPatch& pp, - const polyBoundaryMesh& bm, - const label index, - const labelUList& mapAddressing, - const label newStart -) -: - cyclicAMIPolyPatch(pp, bm, index, mapAddressing, newStart), - nonOverlapPatchName_(pp.nonOverlapPatchName_), - nonOverlapPatchID_(-1), - srcMask_(), - tgtMask_(), - updated_(false) -{ - // Non-overlapping patch might not be valid yet so cannot determine - // associated patchID -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicACMIPolyPatch::~cyclicACMIPolyPatch() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -const Foam::cyclicACMIPolyPatch& Foam::cyclicACMIPolyPatch::nbrPatch() const -{ - const polyPatch& pp = this->boundaryMesh()[nbrPatchID()]; - return refCast(pp); -} - - -Foam::label Foam::cyclicACMIPolyPatch::nonOverlapPatchID() const -{ - if (nonOverlapPatchID_ == -1) - { - nonOverlapPatchID_ = - this->boundaryMesh().findPatchID(nonOverlapPatchName_); - - if (nonOverlapPatchID_ == -1) - { - FatalErrorInFunction - << "Illegal non-overlapping patch name " << nonOverlapPatchName_ - << nl << "Valid patch names are " - << this->boundaryMesh().names() - << exit(FatalError); - } - - if (nonOverlapPatchID_ < index()) - { - FatalErrorInFunction - << "Boundary ordering error: " << type() - << " patch must be defined prior to its non-overlapping patch" - << nl - << type() << " patch: " << name() << ", ID:" << index() << nl - << "Non-overlap patch: " << nonOverlapPatchName_ - << ", ID:" << nonOverlapPatchID_ << nl - << exit(FatalError); - } - - const polyPatch& noPp = this->boundaryMesh()[nonOverlapPatchID_]; - - bool ok = true; - - if (size() == noPp.size()) - { - const scalarField magSf(magFaceAreas()); - const scalarField noMagSf(noPp.magFaceAreas()); - - forAll(magSf, facei) - { - scalar ratio = mag(magSf[facei]/(noMagSf[facei] + rootVSmall)); - - if (ratio - 1 > tolerance_) - { - ok = false; - break; - } - } - } - else - { - ok = false; - } - - if (!ok) - { - FatalErrorInFunction - << "Inconsistent ACMI patches " << name() << " and " - << noPp.name() << ". Patches should have identical topology" - << exit(FatalError); - } - } - - return nonOverlapPatchID_; -} - - -void Foam::cyclicACMIPolyPatch::initOrder -( - PstreamBuffers& pBufs, - const primitivePatch& pp -) const -{ - cyclicAMIPolyPatch::initOrder(pBufs, pp); -} - - -bool Foam::cyclicACMIPolyPatch::order -( - PstreamBuffers& pBufs, - const primitivePatch& pp, - labelList& faceMap, - labelList& rotation -) const -{ - return cyclicAMIPolyPatch::order(pBufs, pp, faceMap, rotation); -} - - -void Foam::cyclicACMIPolyPatch::write(Ostream& os) const -{ - cyclicAMIPolyPatch::write(os); - writeEntry(os, "nonOverlapPatch", nonOverlapPatchName_); -} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.H deleted file mode 100644 index 4bae1025a6..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatch.H +++ /dev/null @@ -1,288 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2021 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 . - -Class - Foam::cyclicACMIPolyPatch - -Description - Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI) - -SourceFiles - cyclicACMIPolyPatch.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicACMIPolyPatch_H -#define cyclicACMIPolyPatch_H - -#include "cyclicAMIPolyPatch.H" -#include "AMIInterpolation.H" -#include "polyBoundaryMesh.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicACMIPolyPatch Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicACMIPolyPatch -: - public cyclicAMIPolyPatch -{ - // Private Data - - //- Fraction of face area below which face is considered disconnected - static const scalar tolerance_; - - //- Name of non-overlapping patch - const word nonOverlapPatchName_; - - //- Index of non-overlapping patch - mutable label nonOverlapPatchID_; - - //- Mask/weighting for source patch - mutable scalarField srcMask_; - - //- Mask/weighting for target patch - mutable scalarField tgtMask_; - - //- Flag to indicate that AMI has been updated - mutable bool updated_; - - -protected: - - // Protected Member Functions - - //- Reset the AMI interpolator - virtual void resetAMI() const; - - //- Initialise the calculation of the patch geometry - virtual void initCalcGeometry(PstreamBuffers&); - - //- Calculate the patch geometry - virtual void calcGeometry(PstreamBuffers&); - - //- Initialise the patches for moving points - virtual void initMovePoints(PstreamBuffers& pBufs, const pointField&); - - //- Return the mask/weighting for the source patch - virtual const scalarField& srcMask() const; - - //- Return the mask/weighting for the target patch - virtual const scalarField& tgtMask() const; - - -public: - - //- Runtime type information - TypeName("cyclicACMI"); - - - // Constructors - - //- Construct from (base couped patch) components - cyclicACMIPolyPatch - ( - const word& name, - const label size, - const label start, - const label index, - const polyBoundaryMesh& bm, - const word& patchType - ); - - //- Construct from dictionary - cyclicACMIPolyPatch - ( - const word& name, - const dictionary& dict, - const label index, - const polyBoundaryMesh& bm, - const word& patchType - ); - - //- Construct as copy, resetting the boundary mesh - cyclicACMIPolyPatch - ( - const cyclicACMIPolyPatch&, - const polyBoundaryMesh& - ); - - //- Construct given the original patch and resetting the - // face list and boundary mesh information - cyclicACMIPolyPatch - ( - const cyclicACMIPolyPatch& pp, - const polyBoundaryMesh& bm, - const label index, - const label newSize, - const label newStart, - const word& nbrPatchName, - const word& nonOverlapPatchName - ); - - //- Construct given the original patch and a map - cyclicACMIPolyPatch - ( - const cyclicACMIPolyPatch& pp, - const polyBoundaryMesh& bm, - const label index, - const labelUList& mapAddressing, - const label newStart - ); - - - //- Construct and return a clone, resetting the boundary mesh - virtual autoPtr clone(const polyBoundaryMesh& bm) const - { - return autoPtr(new cyclicACMIPolyPatch(*this, bm)); - } - - //- Construct and return a clone, resetting the face list - // and boundary mesh - virtual autoPtr clone - ( - const polyBoundaryMesh& bm, - const label index, - const label newSize, - const label newStart - ) const - { - return autoPtr - ( - new cyclicACMIPolyPatch - ( - *this, - bm, - index, - newSize, - newStart, - nbrPatchName(), - nonOverlapPatchName_ - ) - ); - } - - //- Construct and return a clone, resetting the face list - // and boundary mesh - virtual autoPtr clone - ( - const polyBoundaryMesh& bm, - const label index, - const labelUList& mapAddressing, - const label newStart - ) const - { - return autoPtr - ( - new cyclicACMIPolyPatch - ( - *this, - bm, - index, - mapAddressing, - newStart - ) - ); - } - - - //- Destructor - virtual ~cyclicACMIPolyPatch(); - - - // Member Functions - - // Access - - //- Reset the updated flag - inline void setUpdated(bool flag) const; - - //- Return access to the updated flag - inline bool updated() const; - - //- Return a reference to the neighbour patch - virtual const cyclicACMIPolyPatch& nbrPatch() const; - - //- Non-overlapping patch name - inline const word& nonOverlapPatchName() const; - - //- Non-overlapping patch ID - virtual label nonOverlapPatchID() const; - - //- Return a const reference to the non-overlapping patch - inline const polyPatch& nonOverlapPatch() const; - - //- Return a reference to the non-overlapping patch - inline polyPatch& nonOverlapPatch(); - - //- Mask field where 1 = overlap, 0 = no-overlap - inline const scalarField& mask() const; - - //- Overlap tolerance - inline static scalar tolerance(); - - - //- Initialise ordering for primitivePatch. Does not - // refer to *this (except for name() and type() etc.) - virtual void initOrder - ( - PstreamBuffers&, - const primitivePatch& - ) const; - - //- Return new ordering for primitivePatch. - // Ordering is -faceMap: for every face - // index of the new face -rotation:for every new face the clockwise - // shift of the original face. Return false if nothing changes - // (faceMap is identity, rotation is 0), true otherwise. - virtual bool order - ( - PstreamBuffers&, - const primitivePatch&, - labelList& faceMap, - labelList& rotation - ) const; - - //- Write the polyPatch data as a dictionary - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "cyclicACMIPolyPatchI.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchI.H b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchI.H deleted file mode 100644 index 8196d70864..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchI.H +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 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 . - -\*---------------------------------------------------------------------------*/ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -inline void Foam::cyclicACMIPolyPatch::setUpdated(const bool flag) const -{ - updated_ = flag; -} - - -inline bool Foam::cyclicACMIPolyPatch::updated() const -{ - return updated_; -} - - -inline const Foam::word& Foam::cyclicACMIPolyPatch::nonOverlapPatchName() const -{ - return nonOverlapPatchName_; -} - - -inline const Foam::polyPatch& Foam::cyclicACMIPolyPatch::nonOverlapPatch() const -{ - // note: use nonOverlapPatchID() as opposed to patch name to initialise - // demand-driven data - - return this->boundaryMesh()[nonOverlapPatchID()]; -} - - -inline Foam::polyPatch& Foam::cyclicACMIPolyPatch::nonOverlapPatch() -{ - // note: use nonOverlapPatchID() as opposed to patch name to initialise - // demand-driven data - - return const_cast(this->boundaryMesh()[nonOverlapPatchID()]); -} - - -inline const Foam::scalarField& Foam::cyclicACMIPolyPatch::mask() const -{ - if (owner()) - { - return srcMask_; - } - else - { - return nbrPatch().tgtMask(); - } -} - - -inline Foam::scalar Foam::cyclicACMIPolyPatch::tolerance() -{ - return tolerance_; -} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterface.C b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterface.C deleted file mode 100644 index 4e4d60428d..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterface.C +++ /dev/null @@ -1,42 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMILduInterface.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -defineTypeNameAndDebug(cyclicRepeatAMILduInterface, 0); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMILduInterface::~cyclicRepeatAMILduInterface() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterface.H b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterface.H deleted file mode 100644 index e4da2e692c..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterface.H +++ /dev/null @@ -1,80 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMILduInterface - -Description - An abstract base class for overlapping AMI coupled interfaces - -SourceFiles - cyclicRepeatAMILduInterface.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMILduInterface_H -#define cyclicRepeatAMILduInterface_H - -#include "cyclicAMILduInterface.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMILduInterface Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicRepeatAMILduInterface -: - public cyclicAMILduInterface -{ - -public: - - //- Runtime type information - TypeName("cyclicRepeatAMILduInterface"); - - - // Constructors - - //- Construct null - cyclicRepeatAMILduInterface() - {} - - - //- Destructor - virtual ~cyclicRepeatAMILduInterface(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterfaceField.C b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterfaceField.C deleted file mode 100644 index 2df59860e4..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterfaceField.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMILduInterfaceField.H" -#include "diagTensorField.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicRepeatAMILduInterfaceField, 0); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMILduInterfaceField::~cyclicRepeatAMILduInterfaceField() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterfaceField.H b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterfaceField.H deleted file mode 100644 index 4f3b2e59b3..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMILduInterfaceField/cyclicRepeatAMILduInterfaceField.H +++ /dev/null @@ -1,80 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMILduInterfaceField - -Description - Abstract base class for overlapping AMI coupled interfaces - -SourceFiles - cyclicRepeatAMILduInterfaceField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMILduInterfaceField_H -#define cyclicRepeatAMILduInterfaceField_H - -#include "cyclicAMILduInterfaceField.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMILduInterfaceField Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicRepeatAMILduInterfaceField -: - public cyclicAMILduInterfaceField -{ - -public: - - //- Runtime type information - TypeName("cyclicRepeatAMILduInterfaceField"); - - - // Constructors - - //- Construct null - cyclicRepeatAMILduInterfaceField() - {} - - - //- Destructor - virtual ~cyclicRepeatAMILduInterfaceField(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatch/cyclicRepeatAMIPointPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatch/cyclicRepeatAMIPointPatch.C deleted file mode 100644 index a7fcb77ac4..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatch/cyclicRepeatAMIPointPatch.C +++ /dev/null @@ -1,61 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIPointPatch.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicRepeatAMIPointPatch, 0); - addToRunTimeSelectionTable - ( - facePointPatch, - cyclicRepeatAMIPointPatch, - polyPatch - ); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMIPointPatch::cyclicRepeatAMIPointPatch -( - const polyPatch& patch, - const pointBoundaryMesh& bm -) -: - cyclicAMIPointPatch(patch, bm) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::cyclicRepeatAMIPointPatch::~cyclicRepeatAMIPointPatch() -{} - - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatch/cyclicRepeatAMIPointPatch.H b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatch/cyclicRepeatAMIPointPatch.H deleted file mode 100644 index d99faaf335..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatch/cyclicRepeatAMIPointPatch.H +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMIPointPatch - -Description - Repeat AMI point patch - place holder only - -SourceFiles - cyclicRepeatAMIPointPatch.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIPointPatch_H -#define cyclicRepeatAMIPointPatch_H - -#include "cyclicAMIPointPatch.H" -#include "cyclicRepeatAMIPolyPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIPointPatch Declaration -\*---------------------------------------------------------------------------*/ - -class cyclicRepeatAMIPointPatch -: - public cyclicAMIPointPatch -{ -public: - - //- Runtime type information - TypeName(cyclicRepeatAMIPolyPatch::typeName_()); - - - // Constructors - - //- Construct from components - cyclicRepeatAMIPointPatch - ( - const polyPatch& patch, - const pointBoundaryMesh& bm - ); - - - //- Destructor - virtual ~cyclicRepeatAMIPointPatch(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchField.H b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchField.H deleted file mode 100644 index f999e0a502..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchField.H +++ /dev/null @@ -1,91 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 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 . - -Class - Foam::cyclicRepeatAMIPointPatchField - -Description - Repeat AMI front and back plane patch field - -SourceFiles - cyclicRepeatAMIPointPatchField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIPointPatchField_H -#define cyclicRepeatAMIPointPatchField_H - -#include "cyclicAMIPointPatchField.H" -#include "cyclicRepeatAMIPointPatch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class cyclicRepeatAMIPointPatchField Declaration -\*---------------------------------------------------------------------------*/ - -template -class cyclicRepeatAMIPointPatchField -: - public cyclicAMIPointPatchField -{ -public: - - //- Runtime type information - TypeName(cyclicRepeatAMIPointPatch::typeName_()); - - - // Constructors - - //- Inherit parent constructors - using cyclicAMIPointPatchField::cyclicAMIPointPatchField; - - //- Construct and return a clone setting internal field reference - virtual autoPtr> clone - ( - const DimensionedField& iF - ) const - { - return autoPtr> - ( - new cyclicRepeatAMIPointPatchField - ( - *this, iF - ) - ); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchFields.C b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchFields.C deleted file mode 100644 index 6ee4346ce2..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchFields.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIPointPatchFields.H" -#include "pointPatchFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -makePointPatchFields(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchFields.H b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchFields.H deleted file mode 100644 index d32c113e6f..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPointPatchField/cyclicRepeatAMIPointPatchFields.H +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018 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 . - -\*---------------------------------------------------------------------------*/ - -#ifndef cyclicRepeatAMIPointPatchFields_H -#define cyclicRepeatAMIPointPatchFields_H - -#include "cyclicRepeatAMIPointPatchField.H" -#include "fieldTypes.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePointPatchFieldTypedefs(cyclicRepeatAMI); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPolyPatch/cyclicRepeatAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPolyPatch/cyclicRepeatAMIPolyPatch.C deleted file mode 100644 index 0317c0661d..0000000000 --- a/src/meshTools/AMIInterpolation/patches/cyclicRepeatAMI/cyclicRepeatAMIPolyPatch/cyclicRepeatAMIPolyPatch.C +++ /dev/null @@ -1,487 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-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 . - -\*---------------------------------------------------------------------------*/ - -#include "cyclicRepeatAMIPolyPatch.H" -#include "partialFaceAreaWeightAMI.H" -#include "SubField.H" -#include "Time.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(cyclicRepeatAMIPolyPatch, 0); - - addToRunTimeSelectionTable(polyPatch, cyclicRepeatAMIPolyPatch, word); - addToRunTimeSelectionTable(polyPatch, cyclicRepeatAMIPolyPatch, dictionary); -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -template -class keepIfTrueOp -{ - public: - - Tuple2 operator() - ( - const Tuple2& x, - const Tuple2& y - ) const - { - if (x.first()) - { - return x; - } - else if (y.first()) - { - return y; - } - else - { - return Tuple2(false, Type()); - } - } -}; - -} - - -// * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * // - -void Foam::cyclicRepeatAMIPolyPatch::resetAMI() const -{ - if (!owner()) - { - return; - } - - Info<< indent << typeName <<" : Creating addressing and weights between " - << returnReduce(this->size(), sumOp