NeoPZ
Public Member Functions | Public Attributes | Protected Types | Protected Attributes | List of all members
TPZMultiphase Class Reference

Material to solve a 2d multiphase transport problem by multiphysics simulation. More...

#include <pzmultiphase.h>

Inheritance diagram for TPZMultiphase:
[legend]
Collaboration diagram for TPZMultiphase:
[legend]

Public Member Functions

 TPZMultiphase ()
 
 TPZMultiphase (int matid, int dim)
 
virtual ~TPZMultiphase ()
 
 TPZMultiphase (const TPZMultiphase &copy)
 copy constructor More...
 
TPZMultiphaseoperator= (const TPZMultiphase &copy)
 
virtual void Print (std::ostream &out) override
 Prints out the data associated with the material. More...
 
virtual std::string Name () override
 Returns the name of the material. More...
 
virtual int Dimension () const override
 Returns the integrable dimension of the material. More...
 
virtual int NStateVariables () const override
 Returns the number of state variables associated with the material. More...
 
virtual int MatId ()
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the stiffness matrix and load vector at one integration point. More...
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 It computes a contribution to stiffness matrix and load vector at one integration point. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
 Computes a contribution to residual vector at one integration point. More...
 
virtual void ContributeInterface (TPZVec< TPZMaterialData > &datavec, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to residual vector at one BC integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ApplyUxD (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplyUyD (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplySigmaN (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplyQnD (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplyPN (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplySin (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplySout (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplySin (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ApplySout (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void FillDataRequirements (TPZVec< TPZMaterialData > &datavec) override
 Fill material data parameter with necessary requirements for the Contribute method. Here, in base class, all requirements are considered as necessary. Each derived class may optimize performance by selecting only the necessary data. More...
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZVec< TPZMaterialData > &datavec) override
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More...
 
virtual int VariableIndex (const std::string &name) override
 
virtual int NSolutionVariables (int var) override
 Returns the number of variables associated with the variable indexed by var. More...
 
virtual void Solution (TPZVec< TPZMaterialData > &datavec, int var, TPZVec< STATE > &Solout) override
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout, TPZCompEl *Left, TPZCompEl *Right) override
 Returns the solution associated with the var index based on the finite element approximation around one interface element. More...
 
void SetXiBalance (REAL xi)
 Defines simulation bc numeric balance. More...
 
void SetTimeStep (REAL timestep)
 Defines simulation time step. More...
 
void SetTime (REAL time)
 Defines simulation time step. More...
 
void SetTScheme (REAL timegamma, REAL timetheta)
 Defines stemporal scheme. More...
 
void SetLastState ()
 
void SetCurrentState ()
 
void SetYorN (bool dummybool)
 Defines simulation use a K map. More...
 
STATE LameLambda ()
 Lame First Parameter. $ lamelamda $. More...
 
STATE LameLambdaU ()
 Undrained Lame First Parameter. $ lamelamdaU $. More...
 
STATE LameMu ()
 Lame Second Parameter. $ lamemu $. More...
 
STATE BiotAlpha ()
 Biot parameter Parameter. $ lamemu $. More...
 
STATE Se ()
 //Se o 1/M coeficiente poroelastico de armazenamento a volume constante. $ Se $ More...
 
virtual int ClassId () const override
 Unique identifier for serialization purposes. More...
 
Getting Data
void SetKMap (TPZStack< TPZFMatrix< REAL > > KabsoluteMap)
 
void CapillaryPressure (REAL So, REAL &pc, REAL &DpcDSo)
 Capilar pressure. $ pc = pc( Sw ) $. More...
 
void Kro (REAL Sw, REAL &Kro, REAL &dKroDSw)
 Oil relative permeability. $ Kro = Kro( Sw ) $. More...
 
void Krw (REAL Sw, REAL &Krw, REAL &dKrwSo)
 Water relative permeability. $ Krw = Krw( Sw ) $. More...
 
void SWaterstar (REAL &Swstar, REAL &Po, REAL &Sw)
 Water saturation maximum value of the fractional flow product function. $ S* = Sw* $. More...
 
void fWaterstar (REAL &fWstar, REAL Pw, REAL Sw, REAL &dfWstarDPw, REAL &dfWstarDSw)
 Fractional product function, water decrease direction (dSw/dt < 0). $ fw* $. More...
 
void fOilstar (REAL &fOstar, REAL Pw, REAL Sw, REAL &dfOstarDPw, REAL &dfOstarDSw)
 Fractional product function, oil decrease direction (dSw/dt > 0). $ fo* $. More...
 
void fstar (REAL &fStar, REAL Pw, REAL Sw, REAL Gdotn, REAL &dfstarDPw, REAL &dfstarDSw)
 Fractional product upwind function, Gdotn > 0 means water decrease (dSw/dt < 0), Gdotn < 0 means water increase (dSw/dt > 0). $ f* $. More...
 
void Porosity (REAL po, REAL &poros, REAL &dPorosDp)
 Rock porosity. $ Phi = Phi( p ) $. More...
 
void RhoOil (REAL po, REAL &RhoOil, REAL &dRhoOilDpo)
 $ Oil density RhoOil = RhoOil( po ) $ More...
 
void RhoWater (REAL pw, REAL &RhoWater, REAL &dRhoWaterDpo)
 $ Water density RhoWater = RhoWater( pw ) $ More...
 
void OilViscosity (REAL po, REAL &OilViscosity, REAL &dOilViscosityDpo)
 Oil viscosity. $ OilViscosity = ViscOleo( po ) $. More...
 
void WaterViscosity (REAL po, REAL &WaterViscosity, REAL &dWaterViscosityDpo)
 Water viscosity. $ WaterViscosity = WaterViscosity( pw ) $. More...
 
void OilLabmda (REAL &OilLabmda, REAL Po, REAL Sw, REAL &dOilLabmdaDPo, REAL &dOilLabmdaDSw)
 Oil mobility. $ \lambda_{Oil} = \lambda_{Oil}( po , Sw ) $. More...
 
void WaterLabmda (REAL &WaterLabmda, REAL Pw, REAL Sw, REAL &dWaterLabmdaDPw, REAL &dWaterLabmdaDSw)
 Water mobility. $ \lambda_{Water} = \lambda_{Water}( pw , Sw ) $. More...
 
void Labmda (REAL &Labmda, REAL Pw, REAL Sw, REAL &dLabmdaDPw, REAL &dLabmdaDSw)
 Bulk mobility. $ \lambda = \lambda( pw , Sw ) $. More...
 
void fOil (REAL &fOil, REAL Pw, REAL Sw, REAL &dfOilDPw, REAL &dfOilDSw)
 Fractional oil flux. $ f_{Oil} = f_{Oil}( po , Sw ) $. More...
 
void fWater (REAL &fWater, REAL Pw, REAL Sw, REAL &dfWaterDPw, REAL &dfWaterDSw)
 Fractional water flux. $ f_{Water} = f_{Water}( pw , Sw ) $. More...
 
void SetLreference (REAL &Lref)
 Set characteristic length - m. More...
 
void SetKreference (REAL &Kref)
 Set permeability reference - m2. More...
 
void SetPreference (REAL &Pref)
 Set pressure reference - Pa. More...
 
void SetQreference (REAL &Qref)
 Set flux reference - Pa. More...
 
void SetRhoSCreference (REAL &Densityref)
 Set density reference - kg/m3. More...
 
void SetEtaSCreference (REAL &Viscosityref)
 Set viscosity reference - Pa s. More...
 
REAL RhoOilSC ()
 Oil density on standard conditions - kg/m3. More...
 
REAL RhoWaterSC ()
 Water density on standard conditions - kg/m3. More...
 
TPZFMatrix< REAL > Gravity ()
 Gravity. More...
 
void K (TPZFMatrix< REAL > &Kab)
 Absolute permeability. More...
 
TPZFMatrix< REAL > Kinv (TPZFMatrix< REAL > &Kab)
 Absolute permeability inverse. More...
 
void LoadKMap (std::string MaptoRead)
 Absolute permeability. More...
 
- Public Member Functions inherited from TPZDiscontinuousGalerkin
 TPZDiscontinuousGalerkin ()
 Simple constructor. More...
 
 TPZDiscontinuousGalerkin (int nummat)
 Constructor with the index of the material object within the vector. More...
 
 TPZDiscontinuousGalerkin (const TPZDiscontinuousGalerkin &copy)
 Copy constructor. More...
 
virtual ~TPZDiscontinuousGalerkin ()
 Destructor. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data) override
 Fill material data parameter with necessary requirements for the ContributeInterface method. More...
 
virtual int GetIntegrationOrder (TPZVec< int > &porder_left, TPZVec< int > &porder_right) const
 return the integration order as a function of interpolation orders of the left and right elements More...
 
virtual int IsInterfaceConservative ()
 Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces. More...
 
virtual void InterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump)
 Computes interface jump = leftu - rightu. More...
 
virtual void BCInterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump)
 Computes interface jump from element to Dirichlet boundary condition. It has to reimplemented. More...
 
virtual void ContributeInterfaceErrors (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR, int &errorid)
 
virtual void ContributeInterfaceBCErrors (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc, int &errorid)
 
virtual void Errors (TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &dudx, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) override
 Computes the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution. More...
 
virtual void Errors (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the residual vector at one integration point. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to the stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef)
 It computes a contribution to residual vector at one integration point. More...
 
void SolutionDisc (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
- Public Member Functions inherited from TPZMaterial
 TPZMaterial (int id)
 Creates a material object and inserts it in the vector of material pointers of the mesh. More...
 
 TPZMaterial ()
 Default constructor. More...
 
 TPZMaterial (const TPZMaterial &mat)
 Creates a material object based on the referred object and inserts it in the vector of material pointers of the mesh. More...
 
TPZMaterialoperator= (const TPZMaterial &copy)
 operator = More...
 
virtual ~TPZMaterial ()
 Default destructor. More...
 
virtual void FillDataRequirements (TPZMaterialData &data)
 Fill material data parameter with necessary requirements for the. More...
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data)
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &datavec_left, TPZVec< TPZMaterialData > &datavec_right)
 This method defines which parameters need to be initialized in order to compute the contribution of interface elements. More...
 
int Id () const
 
void SetId (int id)
 
virtual int NFluxes ()
 Returns the number of components which form the flux function. More...
 
int NumLoadCases ()
 returns the number of load cases for this material object More...
 
virtual int MinimumNumberofLoadCases ()
 returns the minimum number of load cases for this material More...
 
void SetNumLoadCases (int numloadcases)
 changes the number of load cases for this material More...
 
void SetPostProcessIndex (int index)
 indicates which variable should be post processed More...
 
virtual TPZBndCondCreateBC (TPZMaterial *reference, int id, int typ, TPZFMatrix< STATE > &val1, TPZFMatrix< STATE > &val2)
 Creates an object TPZBndCond derived of TPZMaterial. More...
 
void SetForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as source function for the material. More...
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result), int porder)
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &gradu), int porder)
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunction ()
 Returns a procedure as source function for the material. More...
 
void SetForcingFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunctionExact ()
 Returns a procedure as exact solution for the problem. More...
 
void SetTimeDependentForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent source function for the material. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimeDependentForcingFunction ()
 Returns a procedure as time dependent source function for the material. More...
 
void SetTimeDependentFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentFunctionExact ()
 Returns a procedure as time dependent exact solution for the problem. More...
 
void SetBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & BCForcingFunction ()
 Returns a procedure as variable boundary condition. More...
 
void SetTimedependentBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentBCForcingFunction ()
 Returns a procedure as time variable boundary condition. More...
 
virtual int HasForcingFunction ()
 Directive that gives true if the material has a forcing function. More...
 
virtual int HasForcingFunctionExact ()
 Directive that gives true if the material has a function exact. More...
 
virtual int HasBCForcingFunction ()
 Directive that gives true if the material has a bc forcing function exact. More...
 
virtual int HasTimedependentFunctionExact ()
 Directive that gives true if the material has a time dependent function exact. More...
 
virtual int HasTimedependentForcingFunction ()
 Directive that gives true if the material has a time dependent forcing function. More...
 
virtual int HasTimedependentBCForcingFunction ()
 Directive that gives true if the material has a time dependent bc forcing function. More...
 
virtual int IntegrationRuleOrder (int elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element with polinomial order p. More...
 
virtual int IntegrationRuleOrder (TPZVec< int > &elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element multiphysic. More...
 
virtual void ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values)
 
virtual int NEvalErrors ()
 Returns the number of norm errors. Default is 3: energy, L2 and H1. More...
 
virtual TPZMaterialNewMaterial ()
 To create another material of the same type. More...
 
virtual void SetData (std::istream &data)
 Reads data of the material from a istream (file data) More...
 
virtual void Clone (std::map< int, TPZMaterial * > &matvec)
 Creates a copy of the material object and put it in the vector which is passed on. More...
 
virtual int FluxType ()
 To return a numerical flux type to apply over the interfaces of the elements. More...
 
virtual void ContributeErrors (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk, int &errorid)
 
virtual REAL ComputeSquareResidual (TPZVec< REAL > &X, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol)
 Computes square of residual of the differential equation at one integration point. More...
 
virtual int PushMemItem (int sourceIndex=-1)
 Pushes a new entry in the context of materials with memory, returning its index at the internal storage stack. More...
 
virtual void FreeMemItem (int index)
 Frees an entry in the material with memory internal history storage. More...
 
void SetLinearContext (bool IsLinear)
 Sets fLinearContext attribute. More...
 
bool GetLinearContext () const
 Returns fLinearContext attribute. More...
 
int ClassId () const override
 Unique identifier for serialization purposes. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
virtual void Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation around one interface element. More...
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux)
 Computes the value of the flux function to be used by ZZ error estimator. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Public Attributes

bool fnewWS
 
REAL fLref
 Characteristic length - m. More...
 
REAL fKref
 Permeability reference - m2. More...
 
REAL fQref
 Pressure reference - Pa. More...
 
REAL fPref
 Pressure reference - Pa. More...
 
REAL fRhoref
 density reference - kg/m3 More...
 
REAL fEtaref
 viscosity reference - Pa s More...
 
TPZStack< TPZFMatrix< REAL > > fKabsoluteMap
 K map. More...
 
int fPlaneStress
 plane stress condition More...
 
bool fYorN
 Use or not K map. More...
 
REAL fDeltaT
 Simulation time step. More...
 
REAL fTime
 Simulation current time. More...
 
REAL fTheta
 Parameter representing temporal scheme for transport equation. More...
 
REAL fGamma
 Parameter representing temporal scheme for conservation equation. More...
 

Protected Types

enum  EState { ELastState, ECurrentState }
 State: Stiffness or Mass Matrix Calculations. More...
 

Protected Attributes

int fDim
 Problem dimension. More...
 
int fmatId
 Material id. More...
 
REAL ff
 Definition of constants. More...
 
REAL fxi
 Big number balance. More...
 
EState gState
 
- Protected Attributes inherited from TPZMaterial
TPZAutoPointer< TPZFunction< STATE > > fForcingFunction
 Pointer to forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fForcingFunctionExact
 Pointer to exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimeDependentForcingFunction
 Pointer to time dependent forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentFunctionExact
 Pointer to time dependent exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fBCForcingFunction
 Pointer to bc forcing function, it is a variable boundary condition at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentBCForcingFunction
 Pointer to time dependent bc forcing function, it is a variable boundary condition at differential equation. More...
 
bool fLinearContext
 Defines whether the equation context is linear solver or non linear. More...
 
int fNumLoadCases
 Defines the number of load cases generated by this material. More...
 
int fPostProcIndex
 indicates which solution should be used for post processing More...
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 
- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZMaterial
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout)
 

Detailed Description

Material to solve a 2d multiphase transport problem by multiphysics simulation.

Author
Omar Duran
Since
19/08/2013 Here is used L, Hdiv ... spaces and first order upwind scheme

Definition at line 30 of file pzmultiphase.h.

Member Enumeration Documentation

◆ EState

enum TPZMultiphase::EState
protected

State: Stiffness or Mass Matrix Calculations.

Enumerator
ELastState 
ECurrentState 

Definition at line 47 of file pzmultiphase.h.

Constructor & Destructor Documentation

◆ TPZMultiphase() [1/3]

TPZMultiphase::TPZMultiphase ( )

Definition at line 26 of file pzmultiphase.cpp.

References fDeltaT, fDim, fEtaref, fGamma, fKref, fLref, fmatId, fPref, fRhoref, fTheta, and fxi.

◆ TPZMultiphase() [2/3]

TPZMultiphase::TPZMultiphase ( int  matid,
int  dim 
)

Definition at line 43 of file pzmultiphase.cpp.

References DebugStop, fDeltaT, fDim, fEtaref, fGamma, fKref, fLref, fmatId, fPref, fRhoref, fTheta, and fxi.

◆ ~TPZMultiphase()

TPZMultiphase::~TPZMultiphase ( )
virtual

Definition at line 67 of file pzmultiphase.cpp.

◆ TPZMultiphase() [3/3]

TPZMultiphase::TPZMultiphase ( const TPZMultiphase copy)

copy constructor

Member Function Documentation

◆ ApplyPN()

void TPZMultiphase::ApplyPN ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplyQnD()

void TPZMultiphase::ApplyQnD ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplySigmaN()

void TPZMultiphase::ApplySigmaN ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

Definition at line 4007 of file pzmultiphase.cpp.

References fPref, fQref, TPZMatrix< TVar >::Rows(), and TPZBndCond::Val2().

Referenced by ContributeBCInterface(), and Name().

◆ ApplySin() [1/2]

void TPZMultiphase::ApplySin ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplySin() [2/2]

void TPZMultiphase::ApplySin ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplySout() [1/2]

void TPZMultiphase::ApplySout ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplySout() [2/2]

void TPZMultiphase::ApplySout ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplyUxD()

void TPZMultiphase::ApplyUxD ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ ApplyUyD()

void TPZMultiphase::ApplyUyD ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
virtual

◆ BiotAlpha()

STATE TPZMultiphase::BiotAlpha ( )

Biot parameter Parameter. $ lamemu $.

Definition at line 123 of file pzmultiphase.cpp.

Referenced by Contribute(), SetYorN(), and Solution().

◆ CapillaryPressure()

void TPZMultiphase::CapillaryPressure ( REAL  Sw,
REAL &  pc,
REAL &  DpcDSo 
)

Capilar pressure. $ pc = pc( Sw ) $.

Capilar pressure $ pc = pc( Sw ) $

Definition at line 141 of file pzmultiphase.cpp.

References fPref, and log.

Referenced by ContributeInterface(), fstar(), and SetKMap().

◆ ClassId()

int TPZMultiphase::ClassId ( ) const
overridevirtual

Unique identifier for serialization purposes.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 5068 of file pzmultiphase.cpp.

References TPZDiscontinuousGalerkin::ClassId(), and Hash().

Referenced by SetEtaSCreference().

◆ Contribute() [1/3]

void TPZMultiphase::Contribute ( TPZVec< TPZMaterialData > &  datavec,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation.

Parameters
datavec[in] stores all input data
weight[in] is the weight of the integration rule
ef[out] is the load vector

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 1572 of file pzmultiphase.cpp.

References BiotAlpha(), ECurrentState, ELastState, fDeltaT, fGamma, fKabsoluteMap, fnewWS, fOil(), fPlaneStress, fTheta, fWater(), fYorN, Gravity(), gState, K(), Kinv(), Labmda(), LameLambda(), LameLambdaU(), LameMu(), TPZVec< T >::NElements(), OilLabmda(), OilViscosity(), Porosity(), RhoOil(), RhoWater(), TPZMatrix< TVar >::Rows(), Se(), WaterLabmda(), and WaterViscosity().

Referenced by Contribute(), and Name().

◆ Contribute() [2/3]

void TPZMultiphase::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one integration point.

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 854 of file pzmultiphase.cpp.

References DebugStop.

◆ Contribute() [3/3]

void TPZMultiphase::Contribute ( TPZVec< TPZMaterialData > &  datavec,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation.

Parameters
datavec[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 859 of file pzmultiphase.cpp.

References BiotAlpha(), Contribute(), DebugStop, ECurrentState, ELastState, fDeltaT, fGamma, fKabsoluteMap, fnewWS, fOil(), fPlaneStress, fTheta, fWater(), fYorN, Gravity(), gState, K(), Kinv(), Labmda(), LameLambda(), LameLambdaU(), LameMu(), TPZVec< T >::NElements(), OilLabmda(), OilViscosity(), Porosity(), RhoOil(), RhoWater(), TPZMatrix< TVar >::Rows(), Se(), TPZVec< T >::size(), WaterLabmda(), and WaterViscosity().

◆ ContributeBC() [1/3]

void TPZMultiphase::ContributeBC ( TPZVec< TPZMaterialData > &  datavec,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation.

Parameters
datavec[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition material
Since
October 18, 2011

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 3277 of file pzmultiphase.cpp.

References DebugStop.

Referenced by Name().

◆ ContributeBC() [2/3]

void TPZMultiphase::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one BC integration point.

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition material
Since
October 07, 2011

Implements TPZDiscontinuousGalerkin.

Definition at line 3282 of file pzmultiphase.cpp.

References DebugStop.

◆ ContributeBC() [3/3]

void TPZMultiphase::ContributeBC ( TPZVec< TPZMaterialData > &  datavec,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation.

Parameters
datavec[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition material
Since
October 18, 2011

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 3288 of file pzmultiphase.cpp.

References DebugStop, and TPZVec< T >::size().

◆ ContributeBCInterface() [1/3]

void TPZMultiphase::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to residual vector at one BC integration point.

Parameters
data[in]
dataleft[in]
weight[in]
ef[out] is the load vector
bc[in] is the boundary condition object
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 3303 of file pzmultiphase.cpp.

References DebugStop.

Referenced by Name().

◆ ContributeBCInterface() [2/3]

void TPZMultiphase::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to stiffness matrix and load vector at one BC integration point.

Parameters
data[in]
dataleft[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition object
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 3308 of file pzmultiphase.cpp.

References DebugStop.

◆ ContributeBCInterface() [3/3]

void TPZMultiphase::ContributeBCInterface ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation.

Parameters
data[in]
dataleft[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition object
Since
February 21, 2013

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 3313 of file pzmultiphase.cpp.

References ApplyPN(), ApplyQnD(), ApplySigmaN(), ApplySin(), ApplySout(), ApplyUxD(), ApplyUyD(), DebugStop, ECurrentState, ELastState, fDeltaT, fGamma, fKabsoluteMap, fnewWS, fOil(), fPref, fQref, fTheta, fWater(), fYorN, TPZMaterial::gBigNumber, Gravity(), gState, K(), Kinv(), Labmda(), TPZVec< T >::NElements(), TPZMaterialData::normal, OilLabmda(), OilViscosity(), Porosity(), RhoOil(), RhoWater(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZBndCond::Type(), TPZBndCond::Val1(), TPZBndCond::Val2(), WaterLabmda(), and WaterViscosity().

◆ ContributeInterface() [1/4]

void TPZMultiphase::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

It computes a contribution to stiffness matrix and load vector at one integration point.

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 2033 of file pzmultiphase.cpp.

References DebugStop.

Referenced by ContributeInterface(), and Name().

◆ ContributeInterface() [2/4]

void TPZMultiphase::ContributeInterface ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
TPZVec< TPZMaterialData > &  dataright,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation.

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
June 5, 2012

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 2038 of file pzmultiphase.cpp.

References CapillaryPressure(), ContributeInterface(), ECurrentState, ELastState, fabs, fDeltaT, fGamma, fKabsoluteMap, fnewWS, fOil(), fstar(), fTheta, fWater(), fYorN, Gravity(), gState, K(), Labmda(), TPZVec< T >::NElements(), TPZMaterialData::normal, OilLabmda(), OilViscosity(), Porosity(), RhoOil(), RhoWater(), TPZMatrix< TVar >::Rows(), WaterLabmda(), and WaterViscosity().

◆ ContributeInterface() [3/4]

void TPZMultiphase::ContributeInterface ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleft,
TPZVec< TPZMaterialData > &  dataright,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

Computes a contribution to residual vector at one integration point.

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ef[out] is the load vector
Since
June 5, 2012

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 2696 of file pzmultiphase.cpp.

References CapillaryPressure(), ECurrentState, ELastState, fabs, fDeltaT, fGamma, fKabsoluteMap, fnewWS, fOil(), fstar(), fTheta, fWater(), fYorN, Gravity(), gState, K(), Labmda(), TPZVec< T >::NElements(), TPZMaterialData::normal, OilLabmda(), OilViscosity(), Porosity(), RhoOil(), RhoWater(), TPZMatrix< TVar >::Rows(), WaterLabmda(), and WaterViscosity().

◆ ContributeInterface() [4/4]

void TPZMultiphase::ContributeInterface ( TPZVec< TPZMaterialData > &  datavec,
TPZVec< TPZMaterialData > &  dataleftvec,
TPZVec< TPZMaterialData > &  datarightvec,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 2028 of file pzmultiphase.cpp.

References DebugStop.

◆ Dimension()

int TPZMultiphase::Dimension ( ) const
overridevirtual

Returns the integrable dimension of the material.

Implements TPZMaterial.

Definition at line 71 of file pzmultiphase.cpp.

References fDim.

Referenced by Name().

◆ FillBoundaryConditionDataRequirement()

void TPZMultiphase::FillBoundaryConditionDataRequirement ( int  type,
TPZVec< TPZMaterialData > &  datavec 
)
overridevirtual

This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition.

Reimplemented from TPZMaterial.

Definition at line 5058 of file pzmultiphase.cpp.

References TPZVec< T >::size().

Referenced by Name().

◆ FillDataRequirements()

void TPZMultiphase::FillDataRequirements ( TPZVec< TPZMaterialData > &  datavec)
overridevirtual

Fill material data parameter with necessary requirements for the Contribute method. Here, in base class, all requirements are considered as necessary. Each derived class may optimize performance by selecting only the necessary data.

Reimplemented from TPZMaterial.

Definition at line 5044 of file pzmultiphase.cpp.

References TPZVec< T >::size().

Referenced by Name().

◆ fOil()

void TPZMultiphase::fOil ( REAL &  fOil,
REAL  Pw,
REAL  Sw,
REAL &  dfOilDPw,
REAL &  dfOilDSw 
)

Fractional oil flux. $ f_{Oil} = f_{Oil}( po , Sw ) $.

Oil fractional flux. $ f_{Oil} = f_{Oil}( pw , Sw ) $

Definition at line 325 of file pzmultiphase.cpp.

References Labmda(), and OilLabmda().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fOilstar(), fstar(), fWaterstar(), and SetKMap().

◆ fOilstar()

void TPZMultiphase::fOilstar ( REAL &  fOstar,
REAL  Pw,
REAL  Sw,
REAL &  dfOstarDPw,
REAL &  dfOstarDSw 
)

Fractional product function, oil decrease direction (dSw/dt > 0). $ fo* $.

Fractional product function, oil decrease direction (dSw/dt > 0). $ fo* $

Definition at line 406 of file pzmultiphase.cpp.

References fOil(), fWater(), and SWaterstar().

Referenced by fstar(), and SetKMap().

◆ fstar()

void TPZMultiphase::fstar ( REAL &  fStar,
REAL  Pw,
REAL  Sw,
REAL  Gdotn,
REAL &  dfstarDPw,
REAL &  dfstarDSw 
)

Fractional product upwind function, Gdotn > 0 means water decrease (dSw/dt < 0), Gdotn < 0 means water increase (dSw/dt > 0). $ f* $.

Fractional product upwind function, Gdotn > 0 means water decrease (dSw/dt < 0), Gdotn < 0 means water increase (dSw/dt > 0). $ f* $

Definition at line 437 of file pzmultiphase.cpp.

References CapillaryPressure(), exp, fOil(), fOilstar(), fWater(), fWaterstar(), Kro(), Krw(), Labmda(), OilLabmda(), OilViscosity(), Porosity(), RhoOil(), RhoOilSC(), RhoWater(), RhoWaterSC(), WaterLabmda(), and WaterViscosity().

Referenced by ContributeInterface(), and SetKMap().

◆ fWater()

void TPZMultiphase::fWater ( REAL &  fWater,
REAL  Pw,
REAL  Sw,
REAL &  dfWaterDPw,
REAL &  dfWaterDSw 
)

Fractional water flux. $ f_{Water} = f_{Water}( pw , Sw ) $.

Water fractional flux. $ f_{Water} = f_{Water}( pw , Sw ) $

Definition at line 348 of file pzmultiphase.cpp.

References Labmda(), and WaterLabmda().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fOilstar(), fstar(), fWaterstar(), and SetKMap().

◆ fWaterstar()

void TPZMultiphase::fWaterstar ( REAL &  fWstar,
REAL  Pw,
REAL  Sw,
REAL &  dfWstarDPw,
REAL &  dfWstarDSw 
)

Fractional product function, water decrease direction (dSw/dt < 0). $ fw* $.

Fractional product function, water decrease direction (dSw/dt < 0). $ fw* $

Definition at line 373 of file pzmultiphase.cpp.

References fOil(), fWater(), and SWaterstar().

Referenced by fstar(), and SetKMap().

◆ Gravity()

TPZFMatrix< REAL > TPZMultiphase::Gravity ( )

Gravity.

Gravity

Definition at line 596 of file pzmultiphase.cpp.

References fLref, fPref, and fRhoref.

Referenced by ApplyPN(), ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), SetEtaSCreference(), and Solution().

◆ K()

void TPZMultiphase::K ( TPZFMatrix< REAL > &  Kab)

Absolute permeability.

Permeabilidade absoluta

Definition at line 606 of file pzmultiphase.cpp.

References fKref, TPZFMatrix< TVar >::Resize(), and TPZFMatrix< TVar >::Zero().

Referenced by ApplyPN(), ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), SetEtaSCreference(), and Solution().

◆ Kinv()

TPZFMatrix< REAL > TPZMultiphase::Kinv ( TPZFMatrix< REAL > &  Kab)

Absolute permeability inverse.

Inverse Permeabilidade absoluta

Definition at line 617 of file pzmultiphase.cpp.

Referenced by ApplyPN(), ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), SetEtaSCreference(), and Solution().

◆ Kro()

void TPZMultiphase::Kro ( REAL  Sw,
REAL &  Kro,
REAL &  dKroDSw 
)

Oil relative permeability. $ Kro = Kro( Sw ) $.

Oil relative permeability $ Kro = 1 - Sw $

Definition at line 154 of file pzmultiphase.cpp.

Referenced by fstar(), OilLabmda(), and SetKMap().

◆ Krw()

void TPZMultiphase::Krw ( REAL  Sw,
REAL &  Krw,
REAL &  dKrwDSw 
)

Water relative permeability. $ Krw = Krw( Sw ) $.

Water relative permeability $ Krw = Sw $

Definition at line 176 of file pzmultiphase.cpp.

Referenced by fstar(), SetKMap(), and WaterLabmda().

◆ Labmda()

void TPZMultiphase::Labmda ( REAL &  Labmda,
REAL  Pw,
REAL  Sw,
REAL &  dLabmdaDPw,
REAL &  dLabmdaDSw 
)

Bulk mobility. $ \lambda = \lambda( pw , Sw ) $.

Bulk mobility. $ \lambda = \lambda( pw , Sw ) $

Definition at line 308 of file pzmultiphase.cpp.

References OilLabmda(), and WaterLabmda().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fOil(), fstar(), fWater(), and SetKMap().

◆ LameLambda()

STATE TPZMultiphase::LameLambda ( )

Lame First Parameter. $ lamelamda $.

Definition at line 93 of file pzmultiphase.cpp.

Referenced by Contribute(), SetYorN(), and Solution().

◆ LameLambdaU()

STATE TPZMultiphase::LameLambdaU ( )

Undrained Lame First Parameter. $ lamelamdaU $.

Definition at line 103 of file pzmultiphase.cpp.

Referenced by Contribute(), SetYorN(), and Solution().

◆ LameMu()

STATE TPZMultiphase::LameMu ( )

Lame Second Parameter. $ lamemu $.

Definition at line 113 of file pzmultiphase.cpp.

Referenced by Contribute(), SetYorN(), and Solution().

◆ LoadKMap()

void TPZMultiphase::LoadKMap ( std::string  MaptoRead)

◆ MatId()

int TPZMultiphase::MatId ( )
virtual

Definition at line 73 of file pzmultiphase.cpp.

References fmatId.

Referenced by Name().

◆ Name()

virtual std::string TPZMultiphase::Name ( )
inlineoverridevirtual

◆ NSolutionVariables()

int TPZMultiphase::NSolutionVariables ( int  var)
overridevirtual

Returns the number of variables associated with the variable indexed by var.

Parameters
varIndex variable into the solution, is obtained by calling VariableIndex

Reimplemented from TPZMaterial.

Definition at line 4881 of file pzmultiphase.cpp.

References TPZMaterial::NSolutionVariables().

Referenced by Name(), and Solution().

◆ NStateVariables()

int TPZMultiphase::NStateVariables ( ) const
overridevirtual

Returns the number of state variables associated with the material.

Implements TPZMaterial.

Definition at line 75 of file pzmultiphase.cpp.

Referenced by Name().

◆ OilLabmda()

void TPZMultiphase::OilLabmda ( REAL &  OilLabmda,
REAL  Po,
REAL  Sw,
REAL &  dOilLabmdaDPo,
REAL &  dOilLabmdaDSw 
)

Oil mobility. $ \lambda_{Oil} = \lambda_{Oil}( po , Sw ) $.

Oil mobility. $ \lambda_{Oil} = \lambda_{Oil}( po , Sw ) $

Definition at line 275 of file pzmultiphase.cpp.

References Kro(), OilViscosity(), and RhoOil().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fOil(), fstar(), Labmda(), and SetKMap().

◆ OilViscosity()

void TPZMultiphase::OilViscosity ( REAL  po,
REAL &  OilViscosity,
REAL &  dOilViscosityDpo 
)

Oil viscosity. $ OilViscosity = ViscOleo( po ) $.

Parameters
poRefrence pressure

Oil viscosity $ OilViscosity = OilViscosity( P ) $

Definition at line 261 of file pzmultiphase.cpp.

References fEtaref.

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fstar(), OilLabmda(), SetKMap(), and SWaterstar().

◆ operator=()

TPZMultiphase& TPZMultiphase::operator= ( const TPZMultiphase copy)

◆ Porosity()

void TPZMultiphase::Porosity ( REAL  po,
REAL &  poros,
REAL &  dPorosDpo 
)

Rock porosity. $ Phi = Phi( p ) $.

Parameters
poRefrence pressure

Rock porosity $ Phi = Phi( P ) $

Definition at line 234 of file pzmultiphase.cpp.

References exp, and fPref.

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fstar(), and SetKMap().

◆ Print()

void TPZMultiphase::Print ( std::ostream &  out)
overridevirtual

Prints out the data associated with the material.

Reimplemented from TPZMaterial.

Definition at line 77 of file pzmultiphase.cpp.

References Name(), and TPZMaterial::Print().

◆ RhoOil()

void TPZMultiphase::RhoOil ( REAL  po,
REAL &  RhoOil,
REAL &  dRhoOilDpo 
)

$ Oil density RhoOil = RhoOil( po ) $

Parameters
poRefrence pressure

Oil density $ RhoOil = RhoOil( P ) $

Definition at line 244 of file pzmultiphase.cpp.

References exp, fPref, fRhoref, and RhoOilSC().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fstar(), OilLabmda(), SetKMap(), and SWaterstar().

◆ RhoOilSC()

REAL TPZMultiphase::RhoOilSC ( )

Oil density on standard conditions - kg/m3.

Oil density at standar conditions - kg/m3

Definition at line 586 of file pzmultiphase.cpp.

Referenced by fstar(), RhoOil(), and SetEtaSCreference().

◆ RhoWater()

void TPZMultiphase::RhoWater ( REAL  po,
REAL &  RhoWater,
REAL &  dRhoWaterDpo 
)

$ Water density RhoWater = RhoWater( pw ) $

Parameters
pwRefrence pressure

Water density $ RhoWater = RhoWater( P ) $

Definition at line 252 of file pzmultiphase.cpp.

References exp, fPref, fRhoref, and RhoWaterSC().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fstar(), SetKMap(), SWaterstar(), and WaterLabmda().

◆ RhoWaterSC()

REAL TPZMultiphase::RhoWaterSC ( )

Water density on standard conditions - kg/m3.

Water density at standar conditions - kg/m3

Definition at line 591 of file pzmultiphase.cpp.

Referenced by fstar(), RhoWater(), and SetEtaSCreference().

◆ Se()

STATE TPZMultiphase::Se ( )

//Se o 1/M coeficiente poroelastico de armazenamento a volume constante. $ Se $

Definition at line 133 of file pzmultiphase.cpp.

Referenced by Contribute(), SetYorN(), and Solution().

◆ SetCurrentState()

void TPZMultiphase::SetCurrentState ( )
inline

Definition at line 196 of file pzmultiphase.h.

References ECurrentState.

◆ SetEtaSCreference()

void TPZMultiphase::SetEtaSCreference ( REAL &  Viscosityref)
inline

Set viscosity reference - Pa s.

Definition at line 443 of file pzmultiphase.h.

References ClassId(), Gravity(), K(), Kinv(), LoadKMap(), RhoOilSC(), and RhoWaterSC().

◆ SetKMap()

void TPZMultiphase::SetKMap ( TPZStack< TPZFMatrix< REAL > >  KabsoluteMap)
inline

◆ SetKreference()

void TPZMultiphase::SetKreference ( REAL &  Kref)
inline

Set permeability reference - m2.

Definition at line 431 of file pzmultiphase.h.

◆ SetLastState()

void TPZMultiphase::SetLastState ( )
inline

Definition at line 194 of file pzmultiphase.h.

References ELastState.

◆ SetLreference()

void TPZMultiphase::SetLreference ( REAL &  Lref)
inline

Set characteristic length - m.

Definition at line 428 of file pzmultiphase.h.

◆ SetPreference()

void TPZMultiphase::SetPreference ( REAL &  Pref)
inline

Set pressure reference - Pa.

Definition at line 434 of file pzmultiphase.h.

◆ SetQreference()

void TPZMultiphase::SetQreference ( REAL &  Qref)
inline

Set flux reference - Pa.

Definition at line 437 of file pzmultiphase.h.

◆ SetRhoSCreference()

void TPZMultiphase::SetRhoSCreference ( REAL &  Densityref)
inline

Set density reference - kg/m3.

Definition at line 440 of file pzmultiphase.h.

◆ SetTime()

void TPZMultiphase::SetTime ( REAL  time)
inline

Defines simulation time step.

Definition at line 189 of file pzmultiphase.h.

◆ SetTimeStep()

void TPZMultiphase::SetTimeStep ( REAL  timestep)
inline

Defines simulation time step.

Definition at line 186 of file pzmultiphase.h.

◆ SetTScheme()

void TPZMultiphase::SetTScheme ( REAL  timegamma,
REAL  timetheta 
)
inline

Defines stemporal scheme.

Definition at line 192 of file pzmultiphase.h.

◆ SetXiBalance()

void TPZMultiphase::SetXiBalance ( REAL  xi)
inline

Defines simulation bc numeric balance.

Definition at line 183 of file pzmultiphase.h.

◆ SetYorN()

void TPZMultiphase::SetYorN ( bool  dummybool)
inline

Defines simulation use a K map.

Definition at line 199 of file pzmultiphase.h.

References BiotAlpha(), LameLambda(), LameLambdaU(), LameMu(), and Se().

◆ Solution() [1/2]

void TPZMultiphase::Solution ( TPZVec< TPZMaterialData > &  datavec,
int  var,
TPZVec< STATE > &  Solout 
)
overridevirtual

Returns the solution associated with the var index based on the finite element approximation.

Reimplemented from TPZMaterial.

Definition at line 4901 of file pzmultiphase.cpp.

References BiotAlpha(), TPZFunction< TVar >::Execute(), fKabsoluteMap, fPlaneStress, fTime, TPZMaterial::fTimedependentFunctionExact, fYorN, Gravity(), K(), Kinv(), LameLambda(), LameLambdaU(), LameMu(), NSolutionVariables(), TPZVec< T >::Resize(), and Se().

Referenced by Name().

◆ Solution() [2/2]

virtual void TPZMultiphase::Solution ( TPZMaterialData data,
TPZVec< TPZMaterialData > &  dataleftvec,
TPZVec< TPZMaterialData > &  datarightvec,
int  var,
TPZVec< STATE > &  Solout,
TPZCompEl left,
TPZCompEl ritgh 
)
inlineoverridevirtual

Returns the solution associated with the var index based on the finite element approximation around one interface element.

Reimplemented from TPZMaterial.

Definition at line 134 of file pzmultiphase.h.

References TPZMaterial::Solution().

◆ SWaterstar()

void TPZMultiphase::SWaterstar ( REAL &  Swstar,
REAL &  Po,
REAL &  Sw 
)

Water saturation maximum value of the fractional flow product function. $ S* = Sw* $.

Water saturation maximum value of the fractional flow product function $ S* = Sw* $

Definition at line 197 of file pzmultiphase.cpp.

References OilViscosity(), RhoOil(), RhoWater(), and WaterViscosity().

Referenced by fOilstar(), fWaterstar(), and SetKMap().

◆ VariableIndex()

int TPZMultiphase::VariableIndex ( const std::string &  name)
overridevirtual

Returns the variable index associated with the name

Reimplemented from TPZMaterial.

Definition at line 4861 of file pzmultiphase.cpp.

References TPZMaterial::VariableIndex().

Referenced by Name().

◆ WaterLabmda()

void TPZMultiphase::WaterLabmda ( REAL &  WaterLabmda,
REAL  Pw,
REAL  Sw,
REAL &  dWaterLabmdaDPw,
REAL &  dWaterLabmdaDSw 
)

Water mobility. $ \lambda_{Water} = \lambda_{Water}( pw , Sw ) $.

Water mobility. $ \lambda_{Water} = \lambda_{Water}( pw , Sw ) $

Definition at line 291 of file pzmultiphase.cpp.

References Krw(), RhoWater(), and WaterViscosity().

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fstar(), fWater(), Labmda(), and SetKMap().

◆ WaterViscosity()

void TPZMultiphase::WaterViscosity ( REAL  po,
REAL &  WaterViscosity,
REAL &  dWaterViscosityDpo 
)

Water viscosity. $ WaterViscosity = WaterViscosity( pw ) $.

Parameters
poRefrence pressure

Water viscosity $ WaterViscosity = WaterViscosity( P ) $

Definition at line 268 of file pzmultiphase.cpp.

References fEtaref.

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), fstar(), SetKMap(), SWaterstar(), and WaterLabmda().

Member Data Documentation

◆ fDeltaT

REAL TPZMultiphase::fDeltaT

Simulation time step.

Definition at line 171 of file pzmultiphase.h.

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), and TPZMultiphase().

◆ fDim

int TPZMultiphase::fDim
protected

Problem dimension.

Definition at line 35 of file pzmultiphase.h.

Referenced by Dimension(), and TPZMultiphase().

◆ fEtaref

REAL TPZMultiphase::fEtaref

viscosity reference - Pa s

Definition at line 158 of file pzmultiphase.h.

Referenced by OilViscosity(), TPZMultiphase(), and WaterViscosity().

◆ ff

REAL TPZMultiphase::ff
protected

Definition of constants.

Definition at line 41 of file pzmultiphase.h.

◆ fGamma

REAL TPZMultiphase::fGamma

Parameter representing temporal scheme for conservation equation.

Definition at line 180 of file pzmultiphase.h.

Referenced by Contribute(), ContributeBCInterface(), ContributeInterface(), and TPZMultiphase().

◆ fKabsoluteMap

TPZStack< TPZFMatrix<REAL> > TPZMultiphase::fKabsoluteMap

◆ fKref

REAL TPZMultiphase::fKref

Permeability reference - m2.

Definition at line 146 of file pzmultiphase.h.

Referenced by K(), LoadKMap(), and TPZMultiphase().

◆ fLref

REAL TPZMultiphase::fLref

Characteristic length - m.

Definition at line 143 of file pzmultiphase.h.

Referenced by Gravity(), and TPZMultiphase().

◆ fmatId

int TPZMultiphase::fmatId
protected

Material id.

Definition at line 38 of file pzmultiphase.h.

Referenced by MatId(), and TPZMultiphase().

◆ fnewWS

bool TPZMultiphase::fnewWS

◆ fPlaneStress

int TPZMultiphase::fPlaneStress

plane stress condition

Definition at line 165 of file pzmultiphase.h.

Referenced by Contribute(), and Solution().

◆ fPref

REAL TPZMultiphase::fPref

◆ fQref

REAL TPZMultiphase::fQref

Pressure reference - Pa.

Definition at line 149 of file pzmultiphase.h.

Referenced by ApplyPN(), ApplyQnD(), ApplySigmaN(), ApplySin(), ApplySout(), ApplyUxD(), ApplyUyD(), and ContributeBCInterface().

◆ fRhoref

REAL TPZMultiphase::fRhoref

density reference - kg/m3

Definition at line 155 of file pzmultiphase.h.

Referenced by Gravity(), RhoOil(), RhoWater(), and TPZMultiphase().

◆ fTheta

REAL TPZMultiphase::fTheta

Parameter representing temporal scheme for transport equation.

Definition at line 177 of file pzmultiphase.h.

Referenced by ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), and TPZMultiphase().

◆ fTime

REAL TPZMultiphase::fTime

Simulation current time.

Definition at line 174 of file pzmultiphase.h.

Referenced by Solution().

◆ fxi

REAL TPZMultiphase::fxi
protected

Big number balance.

Definition at line 44 of file pzmultiphase.h.

Referenced by ApplyQnD(), ApplyUxD(), ApplyUyD(), and TPZMultiphase().

◆ fYorN

bool TPZMultiphase::fYorN

Use or not K map.

Definition at line 168 of file pzmultiphase.h.

Referenced by ApplyPN(), ApplySin(), ApplySout(), Contribute(), ContributeBCInterface(), ContributeInterface(), and Solution().

◆ gState

EState TPZMultiphase::gState
protected

Definition at line 48 of file pzmultiphase.h.

Referenced by Contribute(), ContributeBCInterface(), and ContributeInterface().


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