Overset AMG support. Final serial version
This commit is contained in:
parent
550935482d
commit
a01fec1863
5 changed files with 27 additions and 2 deletions
|
@ -309,9 +309,11 @@ Foam::oversetAMGInterface::oversetAMGInterface
|
|||
|
||||
// Get mesh owner-neighbour addressing to visit cells around fringe
|
||||
// faces
|
||||
const unallocLabelList& own = lduMesh.lowerAddr();
|
||||
const unallocLabelList& own =
|
||||
fineOversetInterface_.ldu().lduAddr().lowerAddr();
|
||||
|
||||
const unallocLabelList& nei = lduMesh.upperAddr();
|
||||
const unallocLabelList& nei =
|
||||
fineOversetInterface_.ldu().lduAddr().upperAddr();
|
||||
|
||||
const labelList& fringeFaces =
|
||||
fineOversetInterface_.overset().fringeFaces();
|
||||
|
@ -798,6 +800,13 @@ Foam::label Foam::oversetAMGInterface::interfaceSize() const
|
|||
return interfaceSize_;
|
||||
}
|
||||
|
||||
|
||||
const Foam::lduMesh& Foam::oversetAMGInterface::ldu() const
|
||||
{
|
||||
return AMGInterface::ldu();
|
||||
}
|
||||
|
||||
|
||||
const Foam::oversetMesh& Foam::oversetAMGInterface::overset() const
|
||||
{
|
||||
// Overset should not be accessed from coarse levels
|
||||
|
|
|
@ -170,6 +170,9 @@ public:
|
|||
|
||||
// Interface transfer functions
|
||||
|
||||
//- Return lduMesh for owner-neighbour addressing
|
||||
virtual const lduMesh& ldu() const;
|
||||
|
||||
//- Return access to overset mesh.
|
||||
// Available only on the finest level
|
||||
virtual const oversetMesh& overset() const;
|
||||
|
|
|
@ -93,6 +93,12 @@ Foam::label Foam::oversetFvPatch::interfaceSize() const
|
|||
}
|
||||
|
||||
|
||||
const Foam::lduMesh& Foam::oversetFvPatch::ldu() const
|
||||
{
|
||||
return boundaryMesh().mesh();
|
||||
}
|
||||
|
||||
|
||||
const Foam::labelList& Foam::oversetFvPatch::acceptorCells() const
|
||||
{
|
||||
return overset().acceptorCells();
|
||||
|
|
|
@ -126,6 +126,9 @@ public:
|
|||
// of internal field
|
||||
virtual label interfaceSize() const;
|
||||
|
||||
//- Return lduMesh for owner-neighbour addressing
|
||||
virtual const lduMesh& ldu() const;
|
||||
|
||||
//- Return acceptor cells
|
||||
virtual const labelList& acceptorCells() const;
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ namespace Foam
|
|||
{
|
||||
|
||||
// Forward declaration of classes
|
||||
class lduMesh;
|
||||
class oversetMesh;
|
||||
class mapDistribute;
|
||||
|
||||
|
@ -86,6 +87,9 @@ public:
|
|||
// due to different comms pattern
|
||||
virtual label interfaceSize() const = 0;
|
||||
|
||||
//- Return lduMesh for owner-neighbour addressing
|
||||
virtual const lduMesh& ldu() const = 0;
|
||||
|
||||
//- Return oversetMesh for fine-level addressing
|
||||
virtual const oversetMesh& overset() const = 0;
|
||||
|
||||
|
|
Reference in a new issue