OpenCAEPoro
v0.5.0
A simulator for multicomponent porous media flow
|
IsothermalSolver class for fluid solution method. More...
#include <IsothermalSolver.hpp>
Public Member Functions | |
void | SetupMethod (Reservoir &rs, const OCPControl &ctrl) |
Setup the fluid solver. More... | |
void | InitReservoir (Reservoir &rs) const |
Initialize the Reservoir and prepare variables for some method. More... | |
void | Prepare (Reservoir &rs, OCPControl &ctrl) |
Prepare for assembling Mat. More... | |
void | AssembleMat (const Reservoir &rs, OCPControl &ctrl) |
Assemble Mat. More... | |
void | SolveLinearSystem (Reservoir &rs, OCPControl &ctrl) |
Solve the linear system in single problem. More... | |
OCP_BOOL | UpdateProperty (Reservoir &rs, OCPControl &ctrl) |
Update properties of fluid. More... | |
OCP_BOOL | FinishNR (Reservoir &rs, OCPControl &ctrl) |
Finish the Newton-Raphson iteration. More... | |
void | FinishStep (Reservoir &rs, OCPControl &ctrl) |
Finish the current time step. More... | |
IsothermalSolver class for fluid solution method.
Definition at line 19 of file IsothermalSolver.hpp.
void IsothermalSolver::AssembleMat | ( | const Reservoir & | rs, |
OCPControl & | ctrl | ||
) |
Assemble Mat.
Assemble linear systems for IMPEC and FIM.
Definition at line 79 of file IsothermalSolver.cpp.
References AIMc, IsoT_IMPEC::AssembleMat(), IsoT_FIM::AssembleMat(), IsoT_FIMn::AssembleMat(), IsoT_AIMc::AssembleMat(), FIM, FIMn, OCPControl::GetCurDt(), IMPEC, OCP_ABORT, OCPControl::RecordTimeAssembleMat(), GetWallTime::Start(), and GetWallTime::Stop().
OCP_BOOL IsothermalSolver::FinishNR | ( | Reservoir & | rs, |
OCPControl & | ctrl | ||
) |
Finish the Newton-Raphson iteration.
Finish up Newton-Raphson iteration for IMPEC and FIM.
Definition at line 158 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, IsoT_IMPEC::FinishNR(), IsoT_FIM::FinishNR(), IsoT_FIMn::FinishNR(), IsoT_AIMc::FinishNR(), IMPEC, and OCP_ABORT.
void IsothermalSolver::FinishStep | ( | Reservoir & | rs, |
OCPControl & | ctrl | ||
) |
Finish the current time step.
Finish up time step for IMPEC and FIM.
Definition at line 175 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, IsoT_FIM::FinishStep(), IsoT_FIMn::FinishStep(), IsoT_AIMc::FinishStep(), IMPEC, OCP_ABORT, and OCPControl::UpdateIters().
void IsothermalSolver::InitReservoir | ( | Reservoir & | rs | ) | const |
Initialize the Reservoir and prepare variables for some method.
Setup solution methods, including IMPEC and FIM.
Definition at line 37 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, IMPEC, IsoT_IMPEC::InitReservoir(), IsoT_FIM::InitReservoir(), IsoT_FIMn::InitReservoir(), IsoT_AIMc::InitReservoir(), and OCP_ABORT.
void IsothermalSolver::Prepare | ( | Reservoir & | rs, |
OCPControl & | ctrl | ||
) |
Prepare for assembling Mat.
Prepare solution methods, including IMPEC and FIM.
Definition at line 58 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, OCPControl::GetCurDt(), IMPEC, OCP_ABORT, IsoT_FIM::Prepare(), IsoT_FIMn::Prepare(), IsoT_AIMc::Prepare(), and IsoT_IMPEC::Prepare().
void IsothermalSolver::SetupMethod | ( | Reservoir & | rs, |
const OCPControl & | ctrl | ||
) |
Setup the fluid solver.
Setup solution methods, including IMPEC and FIM.
Definition at line 15 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, OCPControl::GetMethod(), IMPEC, IsoT_IMPEC::Setup(), IsoT_FIM::Setup(), IsoT_FIMn::Setup(), and IsoT_AIMc::Setup().
void IsothermalSolver::SolveLinearSystem | ( | Reservoir & | rs, |
OCPControl & | ctrl | ||
) |
Solve the linear system in single problem.
Solve linear systems for IMPEC and FIM.
Definition at line 107 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, IMPEC, OCP_ABORT, IsoT_IMPEC::SolveLinearSystem(), IsoT_AIMc::SolveLinearSystem(), IsoT_FIM::SolveLinearSystem(), and IsoT_FIMn::SolveLinearSystem().
OCP_BOOL IsothermalSolver::UpdateProperty | ( | Reservoir & | rs, |
OCPControl & | ctrl | ||
) |
Update properties of fluid.
Update physical properties for IMPEC and FIM.
Definition at line 128 of file IsothermalSolver.cpp.
References AIMc, FIM, FIMn, IMPEC, OCP_ABORT, OCPControl::RecordTimeUpdateProperty(), GetWallTime::Start(), GetWallTime::Stop(), IsoT_IMPEC::UpdateProperty(), IsoT_FIM::UpdateProperty(), IsoT_FIMn::UpdateProperty(), and IsoT_AIMc::UpdateProperty().