Go to the documentation of this file.
14 #include "fvOptions.H"
15 #include "surfaceFields.H"
20 #include "globalIndex.H"
218 const word stateName,
220 const label comp = -1)
const;
224 const word stateName,
226 const label comp = -1)
const;
230 const label idxPoint,
231 const label idxCoord)
const;
235 const label idxPoint,
236 const label idxCoord)
const;
247 const label comp)
const;
252 const label comp)
const;
272 Info <<
"Global Xv: " <<
nGlobalXv << endl;
284 scalar& allNonZeros)
const;
label getGlobalFaceIndex(const label faceI) const
get global face index for a local face index
labelList faceOwner
owner cell of a given face
globalIndex globalFaceNumbering
virtual ~DAIndex()
Destructor.
globalIndex globalVolScalarFieldNumbering
label nLocalFaces
local face size
const DAModel & daModel_
DAModel object.
void getMatNonZeros(const Mat matIn, label &maxCols, scalar &allNonZeros) const
get number of non zeros for a matrix
globalIndex globalAdjointStateNumbering
label getLocalCellIndex(const label cellI) const
get local cell index for a local cell index
label nLocalXv
local Xv size (point size*3)
label nUndecomposedPoints
number of points for the un-decomposed domain
wordList adjStateName4LocalAdjIdx
given a local adjoint state index, return its state name
label getGlobalAdjointStateIndex(const word stateName, const label idxI, const label comp=-1) const
get global adjoint index for a given state name, cell/face indxI and its component (optional,...
label nGlobalXv
global Xv size (global face size*3)
DAOption daOption(mesh, pyOptions_)
label nLocalAdjointBoundaryStates
local adjoint boundary states that do not contain phis
scalarList cellIFaceI4LocalAdjIdx
given a local adjoint state index, return its cell/face index
label nGlobalObjFuncFaces
global objective function face size
globalIndex globalCellVectorNumbering
HashTable< word > adjStateType
hash table of adjoint state types, e.g., volVectorState for a given state name
label nLocalCells
local cell size
labelList isCoupledFace
for a given face index, return whether this face is a coupled boundary face
void writeAdjointIndexing()
write the adjoint indexing for debugging
labelList phiLocalOffset
phi local indexing offset for cell-by-cell indexing
HashTable< wordList > stateInfo_
the StateInfo_ list from DAStateInfo object
void calcLocalIdxLists(wordList &adjStateName4LocalAdjIdx, scalarList &cellIFaceI4LocalAdjIdx)
compute local lists such as adjStateName4LocalAdjIdx and cellIFaceI4LocalAdjIdx;
void calcStateLocalIndexOffset(HashTable< label > &offset)
calculate stateLocalIndexOffset
label nLocalBoundaryFaces
local boundary face size
labelIOList pointProcAddressing
a list to map the point index from decomposed domains to the original un-decomposed domain
label nVolVectorStates
number of state variables for volVectorField
globalIndex globalXvNumbering
globalIndex globalCellNumbering
globalIndex globalCoupledBFaceNumbering
label nVolScalarStates
number of state variables for volScalarField
label getGlobalCellVectorIndex(const label cellI, const label comp) const
get global cell index for a local cell vector index
List< word > adjStateNames
list of adjoint state names for a specific solver
label nLocalBoundaryPatches
local boundary patch size
label getGlobalXvIndex(const label idxPoint, const label idxCoord) const
get global Xv index for a given point index and coordinate component (x, y, or z)
labelList phiAccumulatdOffset
the accumulated phi indexing offset for cell-by-cell indexing
label nGlobalCells
global cell size
globalIndex globalVolVectorFieldNumbering
void calcAdjStateID(HashTable< label > &adjStateID)
set adjoint state unique ID: adjStateID
HashTable< label > stateLocalIndexOffset
globalIndex globalSurfaceScalarFieldNumbering
label getLocalFaceIndex(const label faceI) const
get local face index for a local face index
label nGlobalCoupledBFaces
global coupled boundary face size
label nLocalPoints
local point size
HashTable< label > adjStateID
a unique number ID for adjoint states, it depends on the sequence of adjStateNames
label nLocalInternalFaces
local internal face size
label getLocalXvIndex(const label idxPoint, const label idxCoord) const
get local Xv index for a given point index and coordinate component (x, y, or z)
void calcAdjStateID4GlobalAdjIdx(labelList &adjStateID4GlobalAdjIdx) const
compute global list adjStateID4GlobalAdjIdx that stores the stateID for a given globalAdjIndx
label getLocalCellVectorIndex(const label cellI, const label comp) const
get local cell index for a local cell vector index
void printIndices() const
print all the sizes and indices
label getGlobalCellIndex(const label cellI) const
get global cell index for a local cell index
const fvMesh & mesh_
Foam::fvMesh object.
DAModel daModel(mesh, daOption)
label nGlobalFaces
global face size
void printMatChars(const Mat matIn) const
print petsc matrix statistics such as the max on/off diagonral ratio
label getLocalAdjointStateIndex(const word stateName, const label idxI, const label comp=-1) const
get local adjoint index for a given state name, cell/face indxI and its component (optional,...
label nModelStates
number of model states, NOTE: they are counted separately
label nGlobalAdjointStates
number of global adjoint states (including all cells and faces)
label nLocalCoupledBFaces
local coupled boundary patch size
globalIndex globalObjFuncGeoNumbering
const DAOption & daOption_
Foam::DAOption object.
label nSurfaceScalarStates
number of state variables for surfaceScalarField
label nLocalAdjointStates
number of local adjoint states (including all cells and faces)