6 #ifndef PZBLACKOIL2P3D_H 7 #define PZBLACKOIL2P3D_H 31 void Interpolate(std::map<REAL,REAL> &dados,
double x,
double &y,
double &dy);
32 void Interpolate(std::map<REAL,REAL> &dados, BFadREAL x, BFadREAL &y);
38 enum EState { ELastState = 0, ECurrentState = 1 };
48 static void SetLastState(){ gState = ELastState; }
49 static void SetCurrentState(){ gState = ECurrentState; }
56 TPZBlackOil2P3D(
int id,
double deltaT);
62 TPZBlackOil2P3D(
const TPZBlackOil2P3D &cp);
65 void SetTimeStep(
double timestep){
66 this->fDeltaT = timestep;
73 virtual int Dimension()
const override {
return 3; }
104 enum ESolutionVars { ENone = 0, EWaterPressure = 1, EOilPressure, EWaterSaturation, EOilSaturation, EDarcyVelocity };
153 void Kro(
double So,
double &Kro,
double &dKroSo);
154 void Kro(BFadREAL So, BFadREAL &Kro);
160 void Krw(
double So,
double &Krw,
double &dKrwSo);
161 void Krw(BFadREAL So, BFadREAL &Krw);
167 void Bo(
double po,
double &Bo,
double &dBoDpo);
168 void Bo(BFadREAL po, BFadREAL &Bo);
171 void ViscOleo(
double po,
double &ViscOleo,
double &dViscOleoDpo);
172 void ViscOleo(BFadREAL po, BFadREAL &ViscOleo);
175 void PressaoCapilar(
double So,
double &pc,
double &DpcDSo);
176 void PressaoCapilar(BFadREAL So, BFadREAL &pc);
179 void Porosidade(
double po,
double &poros,
double &dPorosDpo);
180 void Porosidade(BFadREAL po, BFadREAL &poros);
Defines the interface which material objects need to implement for discontinuous Galerkin formulation...
virtual void Solution(TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
clarg::argBool bc("-bc", "binary checkpoints", false)
bool fNeedsNeighborCenter
virtual TPZMaterial * NewMaterial()
To create another material of the same type.
virtual int VariableIndex(const std::string &name)
Returns the variable index associated with the name.
void SetAllRequirements(bool set)
Set all flags at once.
virtual int Dimension() const =0
Returns the integrable dimension of the material.
virtual int NStateVariables() const =0
Returns the number of state variables associated with the material.
virtual void FillDataRequirementsInterface(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the ContributeInterface method...
This abstract class defines the behaviour which each derived class needs to implement.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override=0
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
virtual void FillDataRequirements(TPZMaterialData &data)
Fill material data parameter with necessary requirements for the.
This class defines the boundary condition for TPZMaterial objects.
virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
It computes a contribution to stiffness matrix and load vector at one integration point...
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)=0
It computes a contribution to stiffness matrix and load vector at one BC integration point...
virtual int NSolutionVariables(int var)
Returns the number of variables associated with the variable indexed by var.
Contains the TPZDiscontinuousGalerkin class which implements the interface for discontinuous Galerkin...
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override=0
It computes a contribution to the stiffness matrix and load vector at one integration point...