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
|
// Get mesh owner-neighbour addressing to visit cells around fringe
|
||||||
// faces
|
// 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 =
|
const labelList& fringeFaces =
|
||||||
fineOversetInterface_.overset().fringeFaces();
|
fineOversetInterface_.overset().fringeFaces();
|
||||||
|
@ -798,6 +800,13 @@ Foam::label Foam::oversetAMGInterface::interfaceSize() const
|
||||||
return interfaceSize_;
|
return interfaceSize_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const Foam::lduMesh& Foam::oversetAMGInterface::ldu() const
|
||||||
|
{
|
||||||
|
return AMGInterface::ldu();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const Foam::oversetMesh& Foam::oversetAMGInterface::overset() const
|
const Foam::oversetMesh& Foam::oversetAMGInterface::overset() const
|
||||||
{
|
{
|
||||||
// Overset should not be accessed from coarse levels
|
// Overset should not be accessed from coarse levels
|
||||||
|
|
|
@ -170,6 +170,9 @@ public:
|
||||||
|
|
||||||
// Interface transfer functions
|
// Interface transfer functions
|
||||||
|
|
||||||
|
//- Return lduMesh for owner-neighbour addressing
|
||||||
|
virtual const lduMesh& ldu() const;
|
||||||
|
|
||||||
//- Return access to overset mesh.
|
//- Return access to overset mesh.
|
||||||
// Available only on the finest level
|
// Available only on the finest level
|
||||||
virtual const oversetMesh& overset() const;
|
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
|
const Foam::labelList& Foam::oversetFvPatch::acceptorCells() const
|
||||||
{
|
{
|
||||||
return overset().acceptorCells();
|
return overset().acceptorCells();
|
||||||
|
|
|
@ -126,6 +126,9 @@ public:
|
||||||
// of internal field
|
// of internal field
|
||||||
virtual label interfaceSize() const;
|
virtual label interfaceSize() const;
|
||||||
|
|
||||||
|
//- Return lduMesh for owner-neighbour addressing
|
||||||
|
virtual const lduMesh& ldu() const;
|
||||||
|
|
||||||
//- Return acceptor cells
|
//- Return acceptor cells
|
||||||
virtual const labelList& acceptorCells() const;
|
virtual const labelList& acceptorCells() const;
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@ namespace Foam
|
||||||
{
|
{
|
||||||
|
|
||||||
// Forward declaration of classes
|
// Forward declaration of classes
|
||||||
|
class lduMesh;
|
||||||
class oversetMesh;
|
class oversetMesh;
|
||||||
class mapDistribute;
|
class mapDistribute;
|
||||||
|
|
||||||
|
@ -86,6 +87,9 @@ public:
|
||||||
// due to different comms pattern
|
// due to different comms pattern
|
||||||
virtual label interfaceSize() const = 0;
|
virtual label interfaceSize() const = 0;
|
||||||
|
|
||||||
|
//- Return lduMesh for owner-neighbour addressing
|
||||||
|
virtual const lduMesh& ldu() const = 0;
|
||||||
|
|
||||||
//- Return oversetMesh for fine-level addressing
|
//- Return oversetMesh for fine-level addressing
|
||||||
virtual const oversetMesh& overset() const = 0;
|
virtual const oversetMesh& overset() const = 0;
|
||||||
|
|
||||||
|
|
Reference in a new issue