12 #ifndef __OCPFLUIDMETHOD_HEADER__
13 #define __OCPFLUIDMETHOD_HEADER__
Linear solver class declaration.
double OCP_DBL
Double precision.
OCPControl class declaration.
Reservoir class declaration.
Supply basic tools used to output files.
Elapsed wall-time and CPU-cycles declaration.
Linear solvers for discrete systems.
All control parameters except for well controlers.
bool UpdateProperty(Reservoir &rs, OCPControl &ctrl)
Update properties of fluids.
void InitReservoir(Reservoir &rs) const
Init.
void SolveLinearSystem(LinearSystem &myLS, Reservoir &rs, OCPControl &ctrl)
Solve the linear system.
void Prepare(Reservoir &rs, OCP_DBL &dt)
Prepare for Assembling matrix.
bool FinishNR(Reservoir &rs, OCPControl &ctrl)
Finish a Newton-Raphson iteration.
void AssembleMat(LinearSystem &myLS, const Reservoir &rs, const OCP_DBL &dt) const
Assemble Matrix.
void Setup(Reservoir &rs, LinearSystem &myLS, const OCPControl &ctrl)
Setup AIMc.
perform AIM in space, that is, some grids will be implicit, others will be explicit at the same time ...
void AssembleMat(LinearSystem &myLS, const Reservoir &rs, const OCP_DBL &dt)
Assemble Matrix.
void Setup(Reservoir &rs, LinearSystem &myLS, const OCPControl &ctrl)
Setup AIMs.
void SolveLinearSystem(LinearSystem &myLS, Reservoir &rs, OCPControl &ctrl)
Solve the linear system.
void Prepare(Reservoir &rs, OCP_DBL &dt)
Prepare for Assembling matrix.
void FinishStep(Reservoir &rs, OCPControl &ctrl)
Finish a time step.
bool UpdateProperty(Reservoir &rs, OCPControl &ctrl)
Update properties of fluids.
bool FinishNR(Reservoir &rs, OCPControl &ctrl)
Finish a Newton-Raphson iteration.
perform AIM in time, that is, local FIM will be performed after global IMPEC performs
void Prepare(Reservoir &rs, OCP_DBL &dt)
Prepare for Assembling matrix.
bool UpdateProperty(Reservoir &rs, OCPControl &ctrl, LinearSystem &myAuxLS)
Update properties of fluids.
void Setup(Reservoir &rs, LinearSystem &myLS, LinearSystem &myAuxLS, const OCPControl &ctrl)
Setup AIMt.
OCP_FIM is FIM (Fully Implicit Method).
void AssembleMat(LinearSystem &myLS, const Reservoir &rs, const OCP_DBL &dt) const
Assemble Matrix.
void Prepare(Reservoir &rs, OCP_DBL &dt)
Prepare for Assembling matrix.
void SolveLinearSystem(LinearSystem &myLS, Reservoir &rs, OCPControl &ctrl) const
Solve the linear system.
void Setup(Reservoir &rs, LinearSystem &myLS, const OCPControl &ctrl)
Setup FIM.
void FinishStep(Reservoir &rs, OCPControl &ctrl) const
Finish a time step.
ResFIM resFIM
Resiual for FIM.
bool UpdateProperty(Reservoir &rs, OCPControl &ctrl)
Update properties of fluids.
void InitReservoir(Reservoir &rs) const
Init.
bool FinishNR(Reservoir &rs, OCPControl &ctrl)
Finish a Newton-Raphson iteration.
void SolveLinearSystem(LinearSystem &myLS, Reservoir &rs, OCPControl &ctrl) const
Solve the linear system.
bool UpdateProperty(Reservoir &rs, OCPControl &ctrl)
Update properties of fluids.
void InitReservoir(Reservoir &rs) const
Init.
void AssembleMat(LinearSystem &myLS, const Reservoir &rs, const OCP_DBL &dt) const
Assemble Matrix.
OCP_IMPEC is IMPEC (implict pressure explict saturation) method.
void InitReservoir(Reservoir &rs) const
Init.
void Setup(Reservoir &rs, LinearSystem &myLS, const OCPControl &ctrl)
Setup IMPEC.
void SolveLinearSystem(LinearSystem &myLS, Reservoir &rs, OCPControl &ctrl)
Solve the linear system.
void Prepare(Reservoir &rs, OCP_DBL &dt)
Prepare for Assembling matrix.
bool UpdateProperty(Reservoir &rs, OCPControl &ctrl)
Update properties of fluids.
bool FinishNR(const Reservoir &rs)
Determine if NR iteration finishes.