OpenCAEPoro  v0.5.0
A simulator for multicomponent porous media flow
ThermalSolver.hpp
Go to the documentation of this file.
1 
12 #ifndef __THERMALSOLVER_HEADER__
13 #define __THERMALSOLVER_HEADER__
14 
15 // OpenCAEPoro header files
16 #include "ThermalMethod.hpp"
17 
20 {
21 public:
22  void SetupMethod(Reservoir& rs, const OCPControl& ctrl);
23  void InitReservoir(Reservoir& rs) const;
24  void Prepare(Reservoir& rs, const OCPControl& ctrl);
25  void AssembleMat(const Reservoir& rs, OCPControl& ctrl);
27  void SolveLinearSystem(Reservoir& rs, OCPControl& ctrl);
33  void FinishStep(Reservoir& rs, OCPControl& ctrl);
34 
35 protected:
36  LinearSystem LSolver;
37  LinearSystem auxLSolver;
38  T_FIM fim;
39 };
40 
41 #endif /* end if __THERMALSOLVER_HEADER__ */
42 
43 /*----------------------------------------------------------------------------*/
44 /* Brief Change History of This File */
45 /*----------------------------------------------------------------------------*/
46 /* Author Date Actions */
47 /*----------------------------------------------------------------------------*/
48 /* Shizhe Li Nov/10/2022 Create file */
49 /*----------------------------------------------------------------------------*/
unsigned int OCP_BOOL
OCP_BOOL in OCP.
Definition: OCPConst.hpp:29
ThermalMethod class declaration.
Linear solvers for discrete systems.
All control parameters except for well controllers.
Definition: OCPControl.hpp:94
ThermalSolver class for fluid solution method.
void SolveLinearSystem(Reservoir &rs, OCPControl &ctrl)
Solve the linear system in single problem.
OCP_BOOL FinishNR(Reservoir &rs, OCPControl &ctrl)
Finish the Newton-Raphson iteration.
void FinishStep(Reservoir &rs, OCPControl &ctrl)
Finish the current time step.
OCP_BOOL UpdateProperty(Reservoir &rs, OCPControl &ctrl)
Update properties of fluid.