diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C index 350a0b259..a0041ed22 100644 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C @@ -26,6 +26,7 @@ License #include "processorFvPatch.H" #include "addToRunTimeSelectionTable.H" #include "transformField.H" +#include "crMatrix.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -174,6 +175,35 @@ tmp processorFvPatch::internalFieldTransfer } +void processorFvPatch::initProlongationTransfer +( + const Pstream::commsTypes commsType, + const crMatrix& P +) const +{ + // Select the part of the prolongation matrix to send + + // Send prolongation matrix + Pout<< "HJ, in send for processorFvPatch" << endl; +} + + +tmp processorFvPatch::prolongationTransfer +( + const Pstream::commsTypes commsType, + const crMatrix& P +) const +{ + // Receive and return prolongation matrix + Pout<< "HJ, in receive for processorFvPatch" << endl; + + // Dummy + tmp tcr(new crMatrix(5, 5, labelList(5))); + + return tcr; +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.H b/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.H index 76ecf7449..f3b724550 100644 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.H +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.H @@ -185,6 +185,22 @@ public: const Pstream::commsTypes commsType, const unallocLabelList& internalData ) const; + + //- Initialise transfer of prolongation matrix to the interface + virtual void initProlongationTransfer + ( + const Pstream::commsTypes commsType, + const crMatrix& iF + ) const; + + //- Transfer and return prolongation matrix adjacent to + // the interface + virtual tmp prolongationTransfer + ( + const Pstream::commsTypes commsType, + const crMatrix& iF + ) const; + }; diff --git a/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/lduInterface/lduInterface.C b/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/lduInterface/lduInterface.C index b31f82cc3..3a78b9eeb 100644 --- a/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/lduInterface/lduInterface.C +++ b/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/lduInterface/lduInterface.C @@ -46,7 +46,7 @@ Foam::lduInterface::~lduInterface() Foam::tmp Foam::lduInterface::prolongationTransfer ( const Pstream::commsTypes commsType, - const crMatrix& iF + const crMatrix& P ) const { notImplemented @@ -54,9 +54,13 @@ Foam::tmp Foam::lduInterface::prolongationTransfer "tmp lduInterface::prolongationTransfer\n" "(\n" " const Pstream::commsTypes commsType,\n" - " const crMatrix& iF\n" - ") const" + " const crMatrix& P\n" + ") const for type " + + this->type() ); + + // Dummy return to make the compiler happy + return P; } diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/SAMGInterface/SAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/SAMGInterface/SAMGInterface.H index c5b45ba0b..0389759d4 100644 --- a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/SAMGInterface/SAMGInterface.H +++ b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/SAMGInterface/SAMGInterface.H @@ -66,7 +66,7 @@ class SAMGInterface const crMatrix& prolongation_; //- Reference to prolongation matrix - const crMatrix& nbrInterfaceProlongation_; + const crMatrix nbrInterfaceProlongation_; protected: diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/processorSAMGInterface/processorSAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/processorSAMGInterface/processorSAMGInterface.C index 92178d37e..bbf004450 100644 --- a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/processorSAMGInterface/processorSAMGInterface.C +++ b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/SAMGInterfaces/processorSAMGInterface/processorSAMGInterface.C @@ -305,7 +305,7 @@ Foam::tmp Foam::processorSAMGInterface::internalFieldTransfer void Foam::processorSAMGInterface::initProlongationTransfer ( const Pstream::commsTypes commsType, - const crMatrix& iF + const crMatrix& P ) const { // Select the part of the prolongation matrix to send @@ -317,7 +317,7 @@ void Foam::processorSAMGInterface::initProlongationTransfer Foam::tmp Foam::processorSAMGInterface::prolongationTransfer ( const Pstream::commsTypes commsType, - const crMatrix& iF + const crMatrix& P ) const { // Receive and return prolongation matrix