OpenCAEPoro
0.2.0 Sep/22/2022
A simulator for multicomponent porous media flow
|
Properties and operations on connections between bulks (active grids). More...
#include <BulkConn.hpp>
Public Member Functions | |
BulkConn ()=default | |
Default constructor. | |
void | Setup (const Grid &myGrid, const Bulk &myBulk) |
Setup active connections and calculate necessary properties using Grid and Bulk. More... | |
void | SetupWellBulk_K (Bulk &myBulk) const |
Setup k-neighbor for bulks. | |
void | AllocateMat (LinearSystem &myLS) const |
Allocate memory for the coefficient matrix. More... | |
void | SetupMatSparsity (LinearSystem &myLS) const |
Setup sparsity pattern of the coefficient matrix. | |
void | UpdateLastStep () |
Update physcial values of the previous step. | |
void | Reset () |
Reset physcial values of the current step with the previous step. | |
void | CheckDiff () const |
Check differences between the current and previous steps. | |
OCP_USI | GetBulkNum () const |
Return number of bulks. | |
void | PrintConnectionInfo (const Grid &myGrid) const |
Print information of connections on screen. | |
void | PrintConnectionInfoCoor (const Grid &myGrid) const |
void | AllocateAuxIMPEC (const USI &np) |
Allocate memory for auxiliary variables used by the IMPEC method. | |
void | AssembleMatIMPEC (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
Assmeble coefficient matrix for IMPEC, terms related to bulks only. | |
void | CalCFL (const Bulk &myBulk, const OCP_DBL &dt) const |
Calculate the CFL number for flow between bulks??? | |
void | CalFluxIMPEC (const Bulk &myBulk) |
Calculate flux information about flow between bulks for IMPEC. | |
void | MassConserveIMPEC (Bulk &myBulk, const OCP_DBL &dt) const |
Update mole composition of each bulk according to mass conservation for IMPEC. | |
void | AllocateAuxFIM (const USI &np) |
Allocate memory for auxiliary variables used by the FIM method. | |
void | AssembleMat_FIM (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
Assmeble coefficient matrix for FIM, terms related to bulks only. | |
void | CalFluxFIM (const Bulk &myBulk) |
Calculate flux for FIM, considering upwinding. | |
void | CalResFIM (vector< OCP_DBL > &res, const Bulk &myBulk, const OCP_DBL &dt) |
Calculate resiual for the Newton iteration in FIM. | |
void | CalFluxFIMS (const Bulk &myBulk) |
rho = (S1*rho1 + S2*rho2)/(S1+S2) | |
void | CalResFIMS (vector< OCP_DBL > &res, const Bulk &myBulk, const OCP_DBL &dt) |
void | AssembleMat_FIM_new (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
void | AssembleMat_FIM_newS (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
OCP_NEW_FIM rho = (S1*rho1 + S2*rho2)/(S1+S2) | |
void | AssembleMat_FIM_new_n (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
OCP_NEW_FIMn. | |
void | SetupFIMBulk (Bulk &myBulk, const bool &NRflag=false) const |
void | AddFIMBulk (Bulk &myBulk) |
void | SetupFIMBulkBoundAIMs (Bulk &myBulk) |
void | AllocateAuxAIMt () |
Allocate memory for auxiliary variables used by the AIMt method. | |
void | SetupMatSparsityAIMt (LinearSystem &myLS, const Bulk &myBulk) const |
Setup sparsity pattern of the coefficient matrix for AIMt. | |
void | AssembleMat_AIMt (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
Assmeble coefficient matrix for FIM, terms related to bulks only. | |
void | CalResAIMt (vector< OCP_DBL > &res, const Bulk &myBulk, const OCP_DBL &dt) |
Calculate resiual for the Newton iteration in local FIM. | |
void | CalResAIMs (vector< OCP_DBL > &res, const Bulk &myBulk, const OCP_DBL &dt) |
void | AssembleMat_AIMs (LinearSystem &myLS, vector< OCP_DBL > &res, const Bulk &myBulk, const OCP_DBL &dt) const |
void | AllocateAuxAIMc (const USI &np) |
Allocate memory for auxiliary variables used by the AIMc method. | |
void | AssembleMat_AIMc (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
void | AssembleMat_AIMc01 (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const |
void | CalResAIMc (vector< OCP_DBL > &res, const Bulk &myBulk, const OCP_DBL &dt) |
Calculate resiual for the Newton iteration in FIM. | |
Properties and operations on connections between bulks (active grids).
Definition at line 57 of file BulkConn.hpp.
void BulkConn::AllocateMat | ( | LinearSystem & | myLS | ) | const |
Allocate memory for the coefficient matrix.
This method should be called only once at the beginning.
Definition at line 107 of file BulkConn.cpp.
References OCP_FUNCNAME.
void BulkConn::AssembleMat_AIMs | ( | LinearSystem & | myLS, |
vector< OCP_DBL > & | res, | ||
const Bulk & | myBulk, | ||
const OCP_DBL & | dt | ||
) | const |
Assmeble coefficient matrix for AIMs, terms related to bulks only parts related to FIM A, IMPEC A, and IMPEC b
Definition at line 2573 of file BulkConn.cpp.
References CONV1, CONV2, DaABpbC(), Dscalar(), and GRAVITY_FACTOR.
void BulkConn::AssembleMat_FIM_new | ( | LinearSystem & | myLS, |
const Bulk & | myBulk, | ||
const OCP_DBL & | dt | ||
) | const |
Assmeble coefficient matrix for FIM, terms related to bulks only. OCP_NEW_FIM
Definition at line 1002 of file BulkConn.cpp.
References CheckNan(), CONV1, CONV2, DaABpbC(), Dscalar(), GRAVITY_FACTOR, OCP_ABORT, and OCP_FUNCNAME.
Calculate resiual for the Newton iteration in AIMs. Only parts using local FIM are considered.
Definition at line 2477 of file BulkConn.cpp.
References CONV1, CONV2, GRAVITY_FACTOR, and OCP_FUNCNAME.
Setup active connections and calculate necessary properties using Grid and Bulk.
It should be called after Grid and Bulk Setup.
Definition at line 25 of file BulkConn.cpp.
References GB_Pair::GetId(), GB_Pair::IsAct(), and OCP_FUNCNAME.