12 #ifndef __BULKCONN_HEADER__
13 #define __BULKCONN_HEADER__
52 OCP_DBL AreaB()
const {
return areaB; }
53 OCP_DBL AreaE()
const {
return areaE; }
54 USI Direction()
const {
return direction; }
74 friend class MyMetisTest;
89 void PrintConnectionInfo(
const Grid& myGrid)
const;
90 void PrintConnectionInfoCoor(
const Grid& myGrid)
const;
98 void SetupIsoT(
const Grid& myGrid,
const Bulk& myBulk);
99 void Setup(
const Grid& myGrid);
101 void CalAkd(
const Bulk& myBulk);
104 const auto& GetNeighborNum()
const {
return neighborNum; }
162 void CalFluxFIMS(
const Grid& myGrid,
const Bulk& myBulk);
163 void CalResFIMS(vector<OCP_DBL>& res,
const Bulk& myBulk,
const OCP_DBL& dt);
Operations about small dense mat.
Linear solver class declaration.
unsigned int USI
Generic unsigned integer.
double OCP_DBL
Double precision.
unsigned int OCP_USI
Long unsigned integer.
Some Structure in OpenCAEPoro.
Properties and operations on connections between bulks (active grids).
OCP_USI numConn
Number of connections between bulks.
OCP_USI GetBulkNum() const
Return number of bulks.
vector< OCP_USI > upblock
Index of upwinding bulk of connections : numConn * numPhase.
vector< OCP_DBL > upblock_Rho
Mass density of phase from upblock: numConn * numPhase.
OCP_USI numBulk
Number of bulks (active grid cells).
vector< OCP_DBL > AdktP
d Adkt / d P, order: connections -> bId.P -> eId.P
vector< OCP_DBL > lAdkt
last Adkt
vector< OCP_DBL > lupblock_Velocity
last upblock_Velocity
vector< OCP_DBL > upblock_Trans
Transmissibility of phase from upblock: numConn * numPhase.
vector< OCP_DBL > AdktS
d Adkt / d S, order: connections -> bId.phase -> eId.phase
vector< OCP_DBL > lupblock_Rho
last upblock_Rho
vector< OCP_DBL > upblock_Velocity
vector< OCP_DBL > AdktT
d Adkt / d T, order: connections -> bId.T -> eId.T
vector< USI > selfPtr
Self-pointer, the indices of the i-th bulk in neighbor[i]: numBulk.
vector< vector< OCP_USI > > neighbor
Neighboring information of each bulk: activeGridNum.
vector< OCP_DBL > lAdktS
last AdktS
vector< OCP_DBL > Adkt
Thermal conductivity between neighbors.
vector< OCP_DBL > lupblock_Trans
last upblock_Trans
vector< BulkPair > iteratorConn
All connections (pair of indices) between bulks: numConn.
vector< USI > neighborNum
Number of neighbors of the i-th bulk: numBulk, self-included.
vector< OCP_DBL > lAdktP
last AdktP
vector< OCP_USI > lupblock
last upblock
vector< OCP_DBL > lAdktT
last AdktT
Connection between two bulks (bId, eId); usually, indices bId > eId.
OCP_USI BId() const
Return beginning index.
OCP_USI EId() const
Return ending index.
OCP_DBL areaB
Area of intersecting faces from Begin grid.
OCP_DBL area
Effective area.
BulkPair(const OCP_USI &BId, const OCP_USI &EId, const USI &direct, const OCP_DBL &AreaB, const OCP_DBL &AreaE)
Setup BulkPair with bId and eId.
OCP_DBL areaE
Area of intersecting faces from End grid.
BulkPair()=default
Default constructor.
OCP_DBL Area() const
Return effective area.
USI direction
1-x, 2-y, 3-z
OCP_USI eId
Ending index of a pair.
OCP_USI bId
Beginning index of a pair.
Physical information of each active reservoir bulk.
IsoT_FIM is FIM (Fully Implicit Method).
IsoT_IMPEC is IMPEC (implicit pressure explict saturation) method.