OpenCAEPoro  0.2.0 Sep/22/2022
A simulator for multicomponent porous media flow
Public Member Functions | Friends | List of all members
AllWells Class Reference

#include <AllWells.hpp>

Public Member Functions

void InputParam (const ParamWell &paramWell)
 Input param from ParamWell.
 
void Setup (const Grid &myGrid, const Bulk &myBulk)
 Setup well in allWells.
 
void SetupWell (const Grid &myGrid, const Bulk &myBulk)
 complete the information of well according to Grid and Bulk.
 
void SetupWellGroup (const Bulk &myBulk)
 Setup information of wellGroup.
 
void SetupMixture (const Bulk &myBulk)
 get the mixture from bulk -— usless now
 
void SetupWellBulk (Bulk &myBulk) const
 Setup bulks which are penetrated by wells.
 
void ApplyControl (const USI &i)
 Apply the operation mode at the ith critical time.
 
void InitBHP (const Bulk &myBulk)
 Set the initial well pressure.
 
void PrepareWell (const Bulk &myBulk)
 Calculate well properties at the beginning of each time step.
 
void CalTrans (const Bulk &myBulk)
 Calculate Transmissibility of Wells.
 
void CalFlux (const Bulk &myBulk)
 Calculate volume flow rate and moles flow rate of each perforation.
 
void CalProdWeight (const Bulk &myBulk)
 Calculate Prodweight.
 
void CaldG (const Bulk &myBulk)
 Calculate dG.
 
void CalIPRT (const Bulk &myBulk, OCP_DBL dt)
 Calculate Injection rate, total Injection, Production rate, total Production.
 
void CalReInjFluid (const Bulk &myBulk)
 Calculate Reinjection fluid.
 
void AllocateMat (LinearSystem &myLS, const USI &bulknum) const
 Calculate memory for Matrix.
 
void UpdateLastBHP ()
 
void ResetBHP ()
 
void UpdateLastDg ()
 Reset dG to ldG for each well.
 
void ResetDg ()
 
OCP_INT CheckP (const Bulk &myBulk)
 Check if unreasonable well pressure or perforation pressure occurs.
 
USI GetWellNum () const
 Return the num of wells.
 
string GetWellName (const USI &i) const
 Return the name of specified well.
 
USI GetIndex (const string &name) const
 Return the index of specified well.
 
USI GetWellPerfNum (const USI &i) const
 Return the num of perforations of well i.
 
USI GetWellPerfNum () const
 Return the num of perforations of all wells.
 
USI GetMaxWellPerNum () const
 Calculate mamimum num of perforations of all Wells.
 
void CalMaxBHPChange ()
 
OCP_DBL GetdBHPmax () const
 
OCP_DBL GetFOPR () const
 Return oil production rate in field.
 
OCP_DBL GetFOPT () const
 Return total oil production in field.
 
OCP_DBL GetFGPR () const
 Return gas production rate in field.
 
OCP_DBL GetFGPT () const
 Return total gas production in field.
 
OCP_DBL GetFWPR () const
 Return water production rate in field.
 
OCP_DBL GetFWPT () const
 Return total water production in field.
 
OCP_DBL GetFGIR () const
 Return gas injection rate in field.
 
OCP_DBL GetFGIT () const
 Return gas water injection in field.
 
OCP_DBL GetFWIR () const
 Return water injection rate in field.
 
OCP_DBL GetFWIT () const
 Return total water injection in field.
 
OCP_DBL GetWOPR (const USI &w) const
 Return oil production rate of the wth well.
 
OCP_DBL GetWOPT (const USI &w) const
 Return total oil production of the wth well.
 
OCP_DBL GetWGPR (const USI &w) const
 Return gas production rate of the wth well.
 
OCP_DBL GetWGPT (const USI &w) const
 Return total gas production of the wth well.
 
OCP_DBL GetWWPR (const USI &w) const
 Return water production rate of the wth well.
 
OCP_DBL GetWWPT (const USI &w) const
 Return total water production of the wth well.
 
OCP_DBL GetWGIR (const USI &w) const
 Return gas injection rate of the wth well.
 
OCP_DBL GetWGIT (const USI &w) const
 Return total gas injection of the wth well.
 
OCP_DBL GetWWIR (const USI &w) const
 Return water injection rate of the wth well.
 
OCP_DBL GetWWIT (const USI &w) const
 Return total water injection of the wth well.
 
OCP_DBL GetWBHP (const USI &w) const
 Return the BHP of wth well.
 
OCP_DBL GetWellDg (const USI &w, const USI &p) const
 Return the pth dG of wth well.
 
OCP_DBL CalWellQT ()
 
void ShowWellStatus (const Bulk &myBulk)
 
bool GetWellChange () const
 
void CalCFL (const Bulk &myBulk, const OCP_DBL &dt) const
 Calculate the CFL number for each perforation and return the maximum one.
 
void MassConserveIMPEC (Bulk &myBulk, OCP_DBL dt)
 Update moles of components in Bulks which connects to well.
 
void AssemblaMatIMPEC (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const
 Assemble matrix, parts related to well are included for IMPEC.
 
void GetSolIMPEC (const vector< OCP_DBL > &u, const OCP_USI &bId)
 Update Well P and Perforation P after linear system is solved for IMPEC.
 
void AssemblaMatFIM (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const
 Assemble matrix, parts related to well are included for FIM.
 
void GetSolFIM (const vector< OCP_DBL > &u, const OCP_USI &bId, const USI &len)
 Get solution from solver class after linear system is solved for FIM.
 
void GetSol01FIM (const vector< OCP_DBL > &u, const OCP_USI &bId, const USI &len, const OCP_DBL &alpha)
 
void CalResFIM (ResFIM &resFIM, const Bulk &myBulk, const OCP_DBL &dt) const
 Calculate Resiual and relative Resiual for FIM.
 
void ShowRes (const vector< OCP_DBL > &res, const Bulk &myBulk) const
 Show Res.
 
void AssemblaMatFIM_new (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const
 Assemble matrix, parts related to well are included for FIM.
 
void AssemblaMatFIM_new_n (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const
 
void AssemblaMatAIMt (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const
 Assemble matrix, parts related to well are included for AIMt.
 
void CalResAIMt (ResFIM &resFIM, const Bulk &myBulk, const OCP_DBL &dt) const
 Calculate Resiual and relative Resiual for local FIM.
 
void GetSolAIMt (const vector< OCP_DBL > &u, const OCP_USI &bId, const USI &len)
 Get solution from solver class after linear system is solved for local FIM.
 
void AssemblaMatAIMs (LinearSystem &myLS, const Bulk &myBulk, const OCP_DBL &dt) const
 Assemble matrix, parts related to well are included for AIMt.
 

Friends

class Reservoir
 
class DetailInfo
 

Detailed Description

AllWells contains all wells now, it's used to manages all wells uniformly in reservoirs. actually, you can regard it as an interface between wells and other modules.

Definition at line 68 of file AllWells.hpp.


The documentation for this class was generated from the following files: