From 9161009a77b36c668b2701752415da1a6b129e1f Mon Sep 17 00:00:00 2001 From: Hrvoje Jasak Date: Mon, 8 May 2017 16:06:42 +0100 Subject: [PATCH] First version of block matrix selection and interfaces --- .../blockLduMatrix/BlockAMG/BlockAMGCycle.C | 2 +- .../newBlockAMGInterfaceField.C | 8 +- .../BlockMatrixAgglomeration.C | 11 +-- .../BlockMatrixClustering.C | 4 +- .../BlockMatrixSelection.C | 88 ++++++++++++++++++- .../BlockMatrixSelection.H | 10 +-- .../BlockAMG/coarseBlockAMGLevel.C | 12 +-- .../BlockIterativeSolver.C | 2 +- .../Segregated/SegregatedSolver.C | 2 +- .../ggiLduInterface/ggiLduInterface.H | 1 + .../AMGInterfaceField/AMGInterfaceField.C | 0 .../AMGInterfaceField/AMGInterfaceField.H | 0 .../AMGInterfaceField/newAMGInterfaceField.C | 8 +- .../cyclicAMGInterfaceField.C | 0 .../cyclicAMGInterfaceField.H | 0 .../cyclicGgiAMGInterfaceField.C | 0 .../cyclicGgiAMGInterfaceField.H | 0 .../ggiAMGInterfaceField.C | 0 .../ggiAMGInterfaceField.H | 0 .../mixingPlaneAMGInterfaceField.C | 0 .../mixingPlaneAMGInterfaceField.H | 0 .../processorAMGInterfaceField.C | 0 .../processorAMGInterfaceField.H | 0 .../regionCoupleAMGInterfaceField.C | 0 .../regionCoupleAMGInterfaceField.H | 0 .../AMGInterface/AMGInterface.C | 0 .../AMGInterface/AMGInterface.H | 7 +- .../AMGInterface/AMGInterfaceTemplates.C | 0 .../AMGInterface/newAMGInterface.C | 0 .../cyclicAMGInterface/cyclicAMGInterface.C | 0 .../cyclicAMGInterface/cyclicAMGInterface.H | 0 .../cyclicGGIAMGInterface.C | 0 .../cyclicGGIAMGInterface.H | 0 .../ggiAMGInterface/ggiAMGInterface.C | 0 .../ggiAMGInterface/ggiAMGInterface.H | 0 .../ggiAMGInterfaceTemplates.C | 0 .../mixingPlaneAMGInterface.C | 0 .../mixingPlaneAMGInterface.H | 0 .../processorAMGInterface.C | 0 .../processorAMGInterface.H | 0 .../regionCoupleAMGInterface.C | 0 .../regionCoupleAMGInterface.H | 0 42 files changed, 117 insertions(+), 38 deletions(-) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/AMGInterfaceField/AMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/AMGInterfaceField/AMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/AMGInterfaceField/newAMGInterfaceField.C (92%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/cyclicAMGInterfaceField/cyclicAMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/cyclicAMGInterfaceField/cyclicAMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/ggiAMGInterfaceField/ggiAMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/ggiAMGInterfaceField/ggiAMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/processorAMGInterfaceField/processorAMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/processorAMGInterfaceField/processorAMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/{ => AMGInterfaceFields}/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/AMGInterface/AMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/AMGInterface/AMGInterface.H (98%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/AMGInterface/AMGInterfaceTemplates.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/AMGInterface/newAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/cyclicAMGInterface/cyclicAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/cyclicAMGInterface/cyclicAMGInterface.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/cyclicGGIAMGInterface/cyclicGGIAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/cyclicGGIAMGInterface/cyclicGGIAMGInterface.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/ggiAMGInterface/ggiAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/ggiAMGInterface/ggiAMGInterface.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/ggiAMGInterface/ggiAMGInterfaceTemplates.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/mixingPlaneAMGInterface/mixingPlaneAMGInterface.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/processorAMGInterface/processorAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/processorAMGInterface/processorAMGInterface.H (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/regionCoupleAMGInterface/regionCoupleAMGInterface.C (100%) rename src/foam/matrices/lduMatrix/solvers/AMG/interfaces/{ => AMGInterfaces}/regionCoupleAMGInterface/regionCoupleAMGInterface.H (100%) diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGCycle.C b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGCycle.C index be3a212ef..101d1b9e6 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGCycle.C +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGCycle.C @@ -99,7 +99,7 @@ void Foam::BlockAMGCycle::makeCoarseLevels(const label nMaxLevels) } } - if (BlockLduMatrix::debug >= 2) + if (blockLduMatrix::debug >= 2) { Info<< "Created " << nLevels_ << " AMG levels" << endl; } diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGInterfaceFields/BlockAMGInterfaceField/newBlockAMGInterfaceField.C b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGInterfaceFields/BlockAMGInterfaceField/newBlockAMGInterfaceField.C index 1abb1744d..938659fd1 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGInterfaceFields/BlockAMGInterfaceField/newBlockAMGInterfaceField.C +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockAMGInterfaceFields/BlockAMGInterfaceField/newBlockAMGInterfaceField.C @@ -45,9 +45,11 @@ Foam::BlockAMGInterfaceField::New { FatalErrorIn ( - "BlockAMGInterfaceField::New" - "(const AMGInterface& AMGCp, " - "const BlockLduInterfaceField& fineInterface)" + "BlockAMGInterfaceField::New\n" + "(\n" + " const AMGInterface& AMGCp,\n" + " const BlockLduInterfaceField& fineInterface\n" + ")" ) << "Unknown BlockAMGInterfaceField type " << coupleType << ".\n" << "Valid BlockAMGInterfaceField types are :" << lduInterfaceConstructorTablePtr_->sortedToc() diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixAgglomeration/BlockMatrixAgglomeration.C b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixAgglomeration/BlockMatrixAgglomeration.C index ba897f61d..13c0d280e 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixAgglomeration/BlockMatrixAgglomeration.C +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixAgglomeration/BlockMatrixAgglomeration.C @@ -366,7 +366,7 @@ void Foam::BlockMatrixAgglomeration::calcAgglomeration() reduce(coarsen_, andOp()); - if (BlockLduMatrix::debug >= 3) + if (blockLduMatrix::debug >= 3) { // Count singleton clusters label nSingleClusters = 0; @@ -893,17 +893,14 @@ Foam::BlockMatrixAgglomeration::restrictMatrix() const // Create coarse-level coupled interfaces // Create coarse interfaces, addressing and coefficients - const label interfaceSize = - const_cast& >(matrix_).interfaces().size(); - const typename BlockLduInterfaceFieldPtrsList::Type& interfaceFields = const_cast&>(matrix_).interfaces(); // Set the coarse interfaces and coefficients - lduInterfacePtrsList coarseInterfaces(interfaceSize); + lduInterfacePtrsList coarseInterfaces(interfaceFields.size()); - labelListList coarseInterfaceAddr(interfaceSize); + labelListList coarseInterfaceAddr(interfaceFields.size()); // Add the coarse level @@ -921,7 +918,7 @@ Foam::BlockMatrixAgglomeration::restrictMatrix() const ); // Initialise transfer of restrict addressing on the interface - // HJ, consider blocking comms. HJ, 9/Jun/2016 + // HJ, must use blocking comms. HJ, 9/Jun/2016 forAll (interfaceFields, intI) { if (interfaceFields.set(intI)) diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixClustering/BlockMatrixClustering.C b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixClustering/BlockMatrixClustering.C index c07cf753c..d7f02cf6c 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixClustering/BlockMatrixClustering.C +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixClustering/BlockMatrixClustering.C @@ -495,7 +495,7 @@ void Foam::BlockMatrixClustering::calcClustering() reduce(coarsen_, andOp()); - if (BlockLduMatrix::debug >= 3) + if (blockLduMatrix::debug >= 3) { // Count singleton clusters label nSingleClusters = 0; @@ -1052,7 +1052,7 @@ Foam::BlockMatrixClustering::restrictMatrix() const ); // Initialise transfer of restrict addressing on the interface - // HJ, consider blocking comms. HJ, 9/Jun/2016 + // HJ, must use blocking comms. HJ, 9/Jun/2016 forAll (interfaceFields, intI) { if (interfaceFields.set(intI)) diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.C b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.C index 5f70c7ce2..fb2c84d1b 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.C +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.C @@ -60,7 +60,7 @@ void Foam::BlockMatrixSelection::calcCoarsening() //------------------------------------------------------------------------------ // MATRIX DATA: ADDRESSING, COEFFICIENTS, COEFF NORMS //------------------------------------------------------------------------------ - + Info<< "Start equation selection" << endl; // Get addressing const unallocLabelList& rowStart = matrix_.lduAddr().ownerStartAddr(); const unallocLabelList& losortAddr = matrix_.lduAddr().losortAddr(); @@ -632,6 +632,8 @@ void Foam::BlockMatrixSelection::calcCoarsening() // Coarsening did not succeed. Delete Pptr deleteDemandDrivenData(Pptr_); } + + Info<< "End equation selection" << endl; } @@ -675,6 +677,7 @@ template Foam::autoPtr > Foam::BlockMatrixSelection::restrictMatrix() const { + Info<< "Start matrix restriction" << endl; if (!coarsen_) { FatalErrorIn("autoPtr samgPolicy::restrictMatrix() const") @@ -702,8 +705,11 @@ Foam::BlockMatrixSelection::restrictMatrix() const || crR.nRows() != nCoarseEqns_ ) { - FatalErrorIn("") - << "Incompatible matrices for triple product: " + FatalErrorIn + ( + "autoPtr >" + "BlockMatrixSelection::restrictMatrix() const" + ) << "Incompatible matrices for triple product: " << "R( " << crR.nRows() << " ," << crR.nCols() << ") " << "A( " << nEqns << " ," << nEqns << ") " << "P( " << crP.nRows() << " ," << crP.nCols() << ") " @@ -989,6 +995,79 @@ Foam::BlockMatrixSelection::restrictMatrix() const ) ); + const typename BlockLduInterfaceFieldPtrsList::Type& + interfaceFields = + const_cast&>(matrix_).interfaces(); + + // Set the coarse interfaces and coefficients + lduInterfacePtrsList coarseInterfaces(interfaceFields.size()); + + labelListList coarseInterfaceAddr(interfaceFields.size()); + + // Initialise transfer of restrict addressing on the interface + // HJ, reconsider blocking comms. HJ, 9/Jun/2016 + forAll (interfaceFields, intI) + { + if (interfaceFields.set(intI)) + { + interfaceFields[intI].coupledInterface().initInternalFieldTransfer + ( + Pstream::blocking, + rowLabel_ + ); + } + } + + // Store coefficients to avoid tangled communications + // HJ, 1/Apr/2009 + FieldField fineInterfaceAddr(interfaceFields.size()); + + forAll (interfaceFields, intI) + { + if (interfaceFields.set(intI)) + { + const lduInterface& fineInterface = + interfaceFields[intI].coupledInterface(); + + fineInterfaceAddr.set + ( + intI, + new labelField + ( + fineInterface.internalFieldTransfer + ( + Pstream::blocking, + rowLabel_ + ) + ) + ); + } + } + + // Create AMG interfaces + forAll (interfaceFields, intI) + { + if (interfaceFields.set(intI)) + { + const lduInterface& fineInterface = + interfaceFields[intI].coupledInterface(); + + coarseInterfaces.set + ( + intI, + AMGInterface::New + ( + coarseAddrPtr(), + coarseInterfaces, + fineInterface, + fineInterface.interfaceInternalField(rowLabel_), + fineInterfaceAddr[intI] + ).ptr() + ); + } + } + + //HJ: Add interface fields //------------------------------------------------------------------------------ // CREATE COARSE MATRIX //------------------------------------------------------------------------------ @@ -1274,7 +1353,8 @@ Foam::BlockMatrixSelection::restrictMatrix() const ) << "Matrix diagonal of scalar or linear type not implemented" << abort(FatalError); } - + Info<< "End matrix restriction. Level size: " << nCoarseEqns_ + << endl; // Create and return BlockAMGLevel return autoPtr > ( diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.H b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.H index 6608ac749..e3c5a0c69 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.H +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/BlockMatrixCoarsening/BlockMatrixSelection/BlockMatrixSelection.H @@ -81,6 +81,7 @@ class BlockMatrixSelection crMatrix* Rptr_; //- Coarsening array - array with labels of coarse/fine equations + // (coarse = coarseID / fine = -1) labelList rowLabel_; @@ -101,9 +102,9 @@ class BlockMatrixSelection // Equation type enum equationType { - UNDECIDED = -1, - COARSE = 0, - FINE = 1 + UNDECIDED = -2, + FINE = -1, + COARSE = 0 // Later replaced with coarse matrix equation index }; @@ -136,8 +137,7 @@ public: // Member Functions - //- Return array with labels of equations (coarse = 0 / fine = 1) - //- (used only for postprocessing) + //- Return array with labels of equations const labelList& coarseningLabels() const { return rowLabel_; diff --git a/src/foam/matrices/blockLduMatrix/BlockAMG/coarseBlockAMGLevel.C b/src/foam/matrices/blockLduMatrix/BlockAMG/coarseBlockAMGLevel.C index 37b6ea77d..68a5e9d3c 100644 --- a/src/foam/matrices/blockLduMatrix/BlockAMG/coarseBlockAMGLevel.C +++ b/src/foam/matrices/blockLduMatrix/BlockAMG/coarseBlockAMGLevel.C @@ -235,15 +235,15 @@ void Foam::coarseBlockAMGLevel::solve } // Switch of debug in top-level direct solve - label oldDebug = BlockLduMatrix::debug(); + label oldDebug = blockLduMatrix::debug(); - if (BlockLduMatrix::debug >= 4) + if (blockLduMatrix::debug >= 4) { - BlockLduMatrix::debug = 1; + blockLduMatrix::debug = 1; } else { - BlockLduMatrix::debug = 0; + blockLduMatrix::debug = 0; } if (matrixPtr_->symmetric()) @@ -274,7 +274,7 @@ void Foam::coarseBlockAMGLevel::solve } // Restore debug - BlockLduMatrix::debug = oldDebug; + blockLduMatrix::debug = oldDebug; // Escape cases of top-level solver divergence if @@ -294,7 +294,7 @@ void Foam::coarseBlockAMGLevel::solve coarseSolverPerf.print(); } - if (BlockLduMatrix::debug >= 3) + if (blockLduMatrix::debug >= 3) { coarseSolverPerf.print(); } diff --git a/src/foam/matrices/blockLduMatrix/BlockLduSolvers/BlockIterativeSolver/BlockIterativeSolver.C b/src/foam/matrices/blockLduMatrix/BlockLduSolvers/BlockIterativeSolver/BlockIterativeSolver.C index 2ef41a2cf..14cb5454b 100644 --- a/src/foam/matrices/blockLduMatrix/BlockLduSolvers/BlockIterativeSolver/BlockIterativeSolver.C +++ b/src/foam/matrices/blockLduMatrix/BlockLduSolvers/BlockIterativeSolver/BlockIterativeSolver.C @@ -79,7 +79,7 @@ Foam::scalar Foam::BlockIterativeSolver::normFactor scalar normFactor = gSum(mag(wA - pA) + mag(b - pA)) + this->small_; - if (BlockLduMatrix::debug >= 2) + if (blockLduMatrix::debug >= 2) { Info<< "Iterative solver normalisation factor = " << normFactor << endl; diff --git a/src/foam/matrices/blockLduMatrix/BlockLduSolvers/Segregated/SegregatedSolver.C b/src/foam/matrices/blockLduMatrix/BlockLduSolvers/Segregated/SegregatedSolver.C index 6f76b6e2b..e4e40f353 100644 --- a/src/foam/matrices/blockLduMatrix/BlockLduSolvers/Segregated/SegregatedSolver.C +++ b/src/foam/matrices/blockLduMatrix/BlockLduSolvers/Segregated/SegregatedSolver.C @@ -109,7 +109,7 @@ Foam::BlockSolverPerformance Foam::SegregatedSolver::solve if (blockMatrix.componentCoupled()) { - if (BlockLduMatrix::debug >= 2) + if (blockLduMatrix::debug >= 2) { Info << " Component coupled segregation" << endl; } diff --git a/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/ggiLduInterface/ggiLduInterface.H b/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/ggiLduInterface/ggiLduInterface.H index 3d6bf2261..c70bb992b 100644 --- a/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/ggiLduInterface/ggiLduInterface.H +++ b/src/foam/matrices/lduMatrix/lduAddressing/lduInterfaces/ggiLduInterface/ggiLduInterface.H @@ -72,6 +72,7 @@ public: //- Runtime type information TypeName("ggiLduInterface"); + // Constructors //- Construct null diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/AMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/AMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/AMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/AMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/AMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/AMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/AMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/AMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/newAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/newAMGInterfaceField.C similarity index 92% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/newAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/newAMGInterfaceField.C index 3a35e76bd..90ecbf201 100644 --- a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceField/newAMGInterfaceField.C +++ b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/AMGInterfaceField/newAMGInterfaceField.C @@ -42,9 +42,11 @@ Foam::autoPtr Foam::AMGInterfaceField::New { FatalErrorIn ( - "AMGInterfaceField::New" - "(const AMGInterface& AMGCp, " - "const lduInterfaceField& fineInterface)" + "AMGInterfaceField::New\n" + "(\n" + " const AMGInterface& AMGCp,\n" + " const lduInterfaceField& fineInterface\n" + ")" ) << "Unknown AMGInterfaceField type " << coupleType << ".\n" << "Valid AMGInterfaceField types are :" << lduInterfaceConstructorTablePtr_->sortedToc() diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicAMGInterfaceField/cyclicAMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/cyclicGgiAMGInterfaceField/cyclicGgiAMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/ggiAMGInterfaceField/ggiAMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/processorAMGInterfaceField/processorAMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaceFields/AMGInterfaceFields/regionCoupleAMGInterfaceField/regionCoupleAMGInterfaceField.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterface.H similarity index 98% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterface.H index 090cca366..0fd0db9b8 100644 --- a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterface.H +++ b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterface.H @@ -61,7 +61,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class AMGInterface Declaration + Class AMGInterface Declaration \*---------------------------------------------------------------------------*/ class AMGInterface @@ -162,10 +162,7 @@ public: //- Construct from fine-level interface, // local and neighbour restrict addressing - AMGInterface - ( - const lduPrimitiveMesh& lduMesh - ) + AMGInterface(const lduPrimitiveMesh& lduMesh) : lduMesh_(lduMesh) {} diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterfaceTemplates.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterfaceTemplates.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/AMGInterfaceTemplates.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/AMGInterfaceTemplates.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/newAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/newAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterface/newAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/AMGInterface/newAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicAMGInterface/cyclicAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicAMGInterface/cyclicAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicAMGInterface/cyclicAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicAMGInterface/cyclicAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicAMGInterface/cyclicAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicAMGInterface/cyclicAMGInterface.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicAMGInterface/cyclicAMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicAMGInterface/cyclicAMGInterface.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/cyclicGGIAMGInterface/cyclicGGIAMGInterface.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/ggiAMGInterface/ggiAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/ggiAMGInterface/ggiAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/ggiAMGInterface/ggiAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/ggiAMGInterface/ggiAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/ggiAMGInterface/ggiAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/ggiAMGInterface/ggiAMGInterface.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/ggiAMGInterface/ggiAMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/ggiAMGInterface/ggiAMGInterface.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/ggiAMGInterface/ggiAMGInterfaceTemplates.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/ggiAMGInterface/ggiAMGInterfaceTemplates.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/ggiAMGInterface/ggiAMGInterfaceTemplates.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/ggiAMGInterface/ggiAMGInterfaceTemplates.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/mixingPlaneAMGInterface/mixingPlaneAMGInterface.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/processorAMGInterface/processorAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/processorAMGInterface/processorAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/processorAMGInterface/processorAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/processorAMGInterface/processorAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/processorAMGInterface/processorAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/processorAMGInterface/processorAMGInterface.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/processorAMGInterface/processorAMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/processorAMGInterface/processorAMGInterface.H diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.C b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.C similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.C rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.C diff --git a/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.H b/src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.H similarity index 100% rename from src/foam/matrices/lduMatrix/solvers/AMG/interfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.H rename to src/foam/matrices/lduMatrix/solvers/AMG/interfaces/AMGInterfaces/regionCoupleAMGInterface/regionCoupleAMGInterface.H