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

Material to solve a mixed poisson problem 2d by multiphysics simulation. More...

#include <mixedpoisson.h>

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

Public Member Functions

 TPZMixedPoisson ()
 
 TPZMixedPoisson (int matid, int dim)
 
virtual ~TPZMixedPoisson ()
 
 TPZMixedPoisson (const TPZMixedPoisson &cp)
 
TPZMixedPoissonoperator= (const TPZMixedPoisson &copy)
 
virtual TPZMaterialNewMaterial () override
 To create another material of the same type. More...
 
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 NStateVariables () const override
 Returns the number of state variables associated with the material. More...
 
void SetPermeability (REAL perm)
 
void SetPermeabilityTensor (const TPZFMatrix< REAL > &K, const TPZFMatrix< REAL > &invK)
 
void GetPermeability (TPZVec< REAL > &x, TPZFMatrix< REAL > &K, TPZFMatrix< REAL > &invK)
 return the permeability and compute it if there is permeability function More...
 
void SetViscosity (REAL visc)
 
void GetMaxPermeability (REAL &perm)
 
void SetInternalFlux (REAL flux)
 
void SetStabilizedMethod ()
 
void SetHdois ()
 
void SetStabilizationCoeficients (REAL delta1, REAL delta2)
 
void SetPermeabilityFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 
TPZAutoPointer< TPZFunction< STATE > > PermeabilityFunction ()
 
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 > &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 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
 It return a solution to multiphysics simulation. 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 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 int NEvalErrors () override
 Returns the number of norm errors. Default is 3: energy, L2 and H1. More...
 
virtual void Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual int ClassId () const override
 Unique identifier for serialization purposes. More...
 
- Public Member Functions inherited from TPZMatPoisson3d
void SetNoPenalty ()
 Defines no penalty terms in ContributeInterface. More...
 
void SetFluxPenalty ()
 Defines flux penalty terms in ContributeInterface. More...
 
void SetSolutionPenalty ()
 Defines solution penalty terms in ContributeInterface. More...
 
void SetBothPenalty ()
 Defines solution and flux penalty terms in ContributeInterface. More...
 
 TPZMatPoisson3d (int nummat, int dim)
 
 TPZMatPoisson3d (int matid)
 
 TPZMatPoisson3d ()
 
 TPZMatPoisson3d (const TPZMatPoisson3d &copy)
 
virtual ~TPZMatPoisson3d ()
 
TPZMatPoisson3doperator= (const TPZMatPoisson3d &copy)
 
void SetSymmetric ()
 Set material elliptic term as the global element method, i.e. the symmetrical formulation. More...
 
void SetTrueFShapeHdiv ()
 
void SetNeumannProblem ()
 
void SetNonSymmetric ()
 Set material elliptic term as the Baumann's formulation, i.e. the non-symmetrical formulation. More...
 
bool IsSymetric ()
 
virtual void FillDataRequirements (TPZMaterialData &data) override
 Fill material data parameter with necessary requirements for the. More...
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data) override
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More...
 
int Dimension () const override
 Returns the integrable dimension of the material. More...
 
virtual void SetParameters (STATE diff, REAL conv, TPZVec< REAL > &convdir)
 
void GetParameters (STATE &diff, REAL &conv, TPZVec< REAL > &convdir)
 
void SetDimension (int dim)
 
void SetInternalFlux (STATE flux)
 
void SetSD (STATE sd)
 
virtual int NFluxes () override
 Returns the number of components which form the flux function. More...
 
virtual void Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout) override
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) override
 Computes the value of the flux function to be used by ZZ error estimator. More...
 
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...
 
void ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) override
 
virtual REAL ComputeSquareResidual (TPZVec< REAL > &X, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol) override
 Compute square of residual of the differential equation at one integration point. More...
 
void InterfaceErrors (TPZVec< REAL > &, TPZVec< STATE > &leftu, TPZFMatrix< STATE > &leftdudx, TPZVec< STATE > &rightu, TPZFMatrix< STATE > &rightdudx, TPZVec< STATE > &, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values, TPZVec< STATE > normal, STATE elsize)
 
virtual void BCInterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump) override
 Computes interface jump from element to Dirichlet boundary condition. More...
 
virtual int IsInterfaceConservative () override
 Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces. More...
 
virtual void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
virtual void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
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 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 ContributeBCHDiv (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 
virtual void ContributeHDiv (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 Compute the contribution at an integration point to the stiffness matrix of the HDiv formulation. More...
 
virtual void LocalNeumanContribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 
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 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 ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 
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 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 ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to residual vector at one integration point. 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 void InterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump)
 Computes interface jump = leftu - rightu. 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 (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
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 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 ContributeInterface (TPZVec< TPZMaterialData > &datavec, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 
virtual void ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 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)
 Computes a contribution to residual vector at one integration point. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation. 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...
 
- 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 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)
 
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 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 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, 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 Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout, TPZCompEl *left, TPZCompEl *ritgh)
 Returns the solution associated with the var index based on the finite element approximation around one interface element. 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
 

Protected Attributes

REAL ff
 Forcing function value. More...
 
TPZFNMatrix< 9, REAL > fTensorK
 permeability tensor. Coeficient which multiplies the gradient operator More...
 
TPZFNMatrix< 9, REAL > fInvK
 inverse of the permeability tensor. More...
 
REAL fvisc
 fluid viscosity More...
 
bool fIsStabilized
 Choose Stabilized method. More...
 
REAL fdelta1
 Coeficient of Stabilization. More...
 
REAL fdelta2
 
REAL fh2
 Coeficient that multiplies the Stabilization term fdelta1. More...
 
bool fUseHdois
 
TPZAutoPointer< TPZFunction< STATE > > fPermeabilityFunction
 post-processing procedure for error estimation as Ainsworth More...
 
- Protected Attributes inherited from TPZMatPoisson3d
STATE fXf
 Forcing function value. More...
 
int fDim
 Problem dimension. More...
 
STATE fK
 Coeficient which multiplies the Laplacian operator. More...
 
REAL fC
 Variable which multiplies the convection term of the equation. More...
 
REAL fConvDir [3]
 Direction of the convection operator. More...
 
REAL fSymmetry
 Symmetry coefficient of elliptic term. More...
 
STATE fSD
 Multiplication value for the streamline diffusion term. More...
 
EPenaltyType fPenaltyType
 Penalty term definition. More...
 
bool fShapeHdiv
 
- 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)
 
- Public Attributes inherited from TPZMatPoisson3d
REAL fPenaltyConstant
 Constant multiplyer of penalty term, when required is set. More...
 
bool fNeumann
 
- Static Public Attributes inherited from TPZMatPoisson3d
static STATE gAlfa
 Using in InterfaceErrors. More...
 
- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Types inherited from TPZMatPoisson3d
enum  EPenaltyType { ENoPenalty, EFluxPenalty, ESolutionPenalty, EBoth }
 Enumerate for penalty term definitions. More...
 
- Protected Member Functions inherited from TPZMatPoisson3d
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
 
- Protected Member Functions inherited from TPZMaterial

Detailed Description

Material to solve a mixed poisson problem 2d by multiphysics simulation.

Author
Agnaldo Farias
Since
5/28/2012 Pressure(p): uses L2 space. Velocity (Q): uses Hdiv space $ Q = -(k/visc)*grad(p) ==> Int{Q.q}dx - (k/visc)*Int{p*div(q)}dx + (k/visc)*Int{pD(q.n)}ds = 0 (Eq. 1) $

$ div(Q) = f ==> Int{div(Q)*v}dx = Int{f*v}dx (Eq. 2) $

$ p = pD in Dirichlet boundary and Q.n = qN in Neumann boundary$

Definition at line 34 of file mixedpoisson.h.

Constructor & Destructor Documentation

◆ TPZMixedPoisson() [1/3]

TPZMixedPoisson::TPZMixedPoisson ( )

◆ TPZMixedPoisson() [2/3]

TPZMixedPoisson::TPZMixedPoisson ( int  matid,
int  dim 
)

◆ ~TPZMixedPoisson()

TPZMixedPoisson::~TPZMixedPoisson ( )
virtual

Definition at line 57 of file mixedpoisson.cpp.

◆ TPZMixedPoisson() [3/3]

TPZMixedPoisson::TPZMixedPoisson ( const TPZMixedPoisson cp)

Definition at line 60 of file mixedpoisson.cpp.

References fdelta1, fdelta2, ff, fh2, fInvK, fIsStabilized, fPermeabilityFunction, fTensorK, fUseHdois, and fvisc.

Member Function Documentation

◆ ClassId()

int TPZMixedPoisson::ClassId ( ) const
overridevirtual

Unique identifier for serialization purposes.

Reimplemented from TPZMatPoisson3d.

Definition at line 949 of file mixedpoisson.cpp.

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

Referenced by NEvalErrors().

◆ Contribute()

void TPZMixedPoisson::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 TPZMatPoisson3d.

Reimplemented in TPZMixedPoissonParabolic.

Definition at line 127 of file mixedpoisson.cpp.

References TPZAxesTools< TVar >::Axes2XYZ(), TPZMatrix< TVar >::Cols(), DebugStop, TPZFunction< TVar >::Execute(), fdelta1, fdelta2, TPZMatPoisson3d::fDim, ff, TPZMaterial::fForcingFunction, fh2, fIsStabilized, fUseHdois, fvisc, GetPermeability(), TPZMatrix< TVar >::Multiply(), TPZVec< T >::NElements(), test::res, TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), and TPZFMatrix< TVar >::Zero().

Referenced by PermeabilityFunction().

◆ ContributeBC()

void TPZMixedPoisson::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 TPZMatPoisson3d.

Reimplemented in TPZMixedPoissonParabolic.

Definition at line 554 of file mixedpoisson.cpp.

References DebugStop, TPZMatPoisson3d::Dimension(), TPZFunction< TVar >::Execute(), TPZMaterial::ForcingFunction(), TPZMaterial::gBigNumber, GetPermeability(), TPZMaterial::HasForcingFunction(), test::res, TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZBndCond::Type(), TPZBndCond::Val1(), and TPZBndCond::Val2().

Referenced by PermeabilityFunction().

◆ Errors()

void TPZMixedPoisson::Errors ( TPZVec< TPZMaterialData > &  data,
TPZVec< STATE > &  u_exact,
TPZFMatrix< STATE > &  du_exact,
TPZVec< REAL > &  errors 
)
overridevirtual

◆ FillBoundaryConditionDataRequirement()

virtual void TPZMixedPoisson::FillBoundaryConditionDataRequirement ( int  type,
TPZVec< TPZMaterialData > &  datavec 
)
inlineoverridevirtual

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

Reimplemented from TPZMaterial.

Reimplemented in TPZMixedPoissonParabolic.

Definition at line 179 of file mixedpoisson.h.

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

◆ FillDataRequirements()

void TPZMixedPoisson::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 TPZMatPoisson3d.

Reimplemented in TPZMixedPoissonParabolic.

Definition at line 872 of file mixedpoisson.cpp.

References TPZVec< T >::size().

Referenced by FillBoundaryConditionDataRequirement().

◆ GetMaxPermeability()

void TPZMixedPoisson::GetMaxPermeability ( REAL &  perm)
inline

Definition at line 118 of file mixedpoisson.h.

References fTensorK.

◆ GetPermeability()

void TPZMixedPoisson::GetPermeability ( TPZVec< REAL > &  x,
TPZFMatrix< REAL > &  K,
TPZFMatrix< REAL > &  invK 
)

return the permeability and compute it if there is permeability function

Definition at line 102 of file mixedpoisson.cpp.

References TPZFunction< TVar >::Execute(), TPZMatPoisson3d::fDim, fInvK, fPermeabilityFunction, fTensorK, test::res, and TPZFMatrix< TVar >::Zero().

Referenced by Contribute(), ContributeBC(), and SetPermeabilityTensor().

◆ Name()

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

Returns the name of the material.

Reimplemented from TPZMatPoisson3d.

Reimplemented in TPZMixedPoissonParabolic.

Definition at line 83 of file mixedpoisson.h.

References NStateVariables().

Referenced by Print().

◆ NEvalErrors()

virtual int TPZMixedPoisson::NEvalErrors ( )
inlineoverridevirtual

Returns the number of norm errors. Default is 3: energy, L2 and H1.

Reimplemented from TPZMatPoisson3d.

Definition at line 199 of file mixedpoisson.h.

References ClassId(), and Errors().

Referenced by Errors().

◆ NewMaterial()

virtual TPZMaterial* TPZMixedPoisson::NewMaterial ( )
inlineoverridevirtual

To create another material of the same type.

Reimplemented from TPZMatPoisson3d.

Definition at line 76 of file mixedpoisson.h.

References Print(), and TPZMixedPoisson().

◆ NSolutionVariables()

int TPZMixedPoisson::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 TPZMatPoisson3d.

Definition at line 674 of file mixedpoisson.cpp.

References TPZMatPoisson3d::fDim, and TPZMatPoisson3d::NSolutionVariables().

Referenced by PermeabilityFunction(), and Solution().

◆ NStateVariables()

int TPZMixedPoisson::NStateVariables ( ) const
overridevirtual

Returns the number of state variables associated with the material.

Reimplemented from TPZMatPoisson3d.

Definition at line 90 of file mixedpoisson.cpp.

Referenced by Name().

◆ operator=()

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

◆ PermeabilityFunction()

TPZAutoPointer<TPZFunction<STATE> > TPZMixedPoisson::PermeabilityFunction ( )
inline

◆ Print()

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

Prints out the data associated with the material.

Reimplemented from TPZMatPoisson3d.

Reimplemented in TPZMixedPoissonParabolic.

Definition at line 94 of file mixedpoisson.cpp.

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

Referenced by NewMaterial(), and TPZMixedPoissonParabolic::Print().

◆ SetHdois()

void TPZMixedPoisson::SetHdois ( )
inline

Definition at line 135 of file mixedpoisson.h.

◆ SetInternalFlux()

void TPZMixedPoisson::SetInternalFlux ( REAL  flux)
inline

Definition at line 127 of file mixedpoisson.h.

◆ SetPermeability()

void TPZMixedPoisson::SetPermeability ( REAL  perm)
inline

Definition at line 87 of file mixedpoisson.h.

References fInvK, TPZMatPoisson3d::fK, fTensorK, and TPZFMatrix< TVar >::Zero().

◆ SetPermeabilityFunction()

void TPZMixedPoisson::SetPermeabilityFunction ( TPZAutoPointer< TPZFunction< STATE > >  fp)
inline

Definition at line 144 of file mixedpoisson.h.

◆ SetPermeabilityTensor()

void TPZMixedPoisson::SetPermeabilityTensor ( const TPZFMatrix< REAL > &  K,
const TPZFMatrix< REAL > &  invK 
)
inline

◆ SetStabilizationCoeficients()

void TPZMixedPoisson::SetStabilizationCoeficients ( REAL  delta1,
REAL  delta2 
)
inline

Definition at line 139 of file mixedpoisson.h.

◆ SetStabilizedMethod()

void TPZMixedPoisson::SetStabilizedMethod ( )
inline

Definition at line 131 of file mixedpoisson.h.

◆ SetViscosity()

void TPZMixedPoisson::SetViscosity ( REAL  visc)
inline

Definition at line 114 of file mixedpoisson.h.

◆ Solution()

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

It return a solution to multiphysics simulation.

Parameters
datavec[in] Data material vector
var[in] number of solution variables. See NSolutionVariables() method
Solout[out] is the solution vector

Reimplemented from TPZMatPoisson3d.

Definition at line 692 of file mixedpoisson.cpp.

References TPZAxesTools< TVar >::Axes2XYZ(), TPZMatrix< TVar >::Cols(), TPZFunction< TVar >::Execute(), TPZMatPoisson3d::fDim, TPZMaterial::fForcingFunctionExact, fInvK, fPermeabilityFunction, fTensorK, TPZMatrix< TVar >::Multiply(), NSolutionVariables(), TPZFMatrix< TVar >::Redim(), test::res, TPZVec< T >::Resize(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), and TPZMatPoisson3d::Solution().

Referenced by Errors(), and PermeabilityFunction().

◆ VariableIndex()

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

Returns the variable index associated with the name

Reimplemented from TPZMatPoisson3d.

Definition at line 648 of file mixedpoisson.cpp.

References TPZMatPoisson3d::VariableIndex().

Referenced by Errors(), and PermeabilityFunction().

Member Data Documentation

◆ fdelta1

REAL TPZMixedPoisson::fdelta1
protected

Coeficient of Stabilization.

Definition at line 53 of file mixedpoisson.h.

Referenced by Contribute(), operator=(), and TPZMixedPoisson().

◆ fdelta2

REAL TPZMixedPoisson::fdelta2
protected

Definition at line 54 of file mixedpoisson.h.

Referenced by Contribute(), operator=(), and TPZMixedPoisson().

◆ ff

REAL TPZMixedPoisson::ff
protected

Forcing function value.

Definition at line 38 of file mixedpoisson.h.

Referenced by TPZMixedPoissonParabolic::Contribute(), Contribute(), operator=(), and TPZMixedPoisson().

◆ fh2

REAL TPZMixedPoisson::fh2
protected

Coeficient that multiplies the Stabilization term fdelta1.

Definition at line 57 of file mixedpoisson.h.

Referenced by Contribute(), operator=(), and TPZMixedPoisson().

◆ fInvK

TPZFNMatrix<9,REAL> TPZMixedPoisson::fInvK
protected

inverse of the permeability tensor.

Definition at line 44 of file mixedpoisson.h.

Referenced by TPZMixedPoissonParabolic::Contribute(), Errors(), GetPermeability(), operator=(), SetPermeability(), Solution(), and TPZMixedPoisson().

◆ fIsStabilized

bool TPZMixedPoisson::fIsStabilized
protected

Choose Stabilized method.

Definition at line 50 of file mixedpoisson.h.

Referenced by TPZMixedPoissonParabolic::Contribute(), Contribute(), operator=(), and TPZMixedPoisson().

◆ fPermeabilityFunction

TPZAutoPointer<TPZFunction<STATE> > TPZMixedPoisson::fPermeabilityFunction
protected

post-processing procedure for error estimation as Ainsworth

Pointer to forcing function, it is the Permeability and its inverse

Definition at line 63 of file mixedpoisson.h.

Referenced by TPZMixedPoissonParabolic::Contribute(), Errors(), GetPermeability(), operator=(), PermeabilityFunction(), Solution(), and TPZMixedPoisson().

◆ fTensorK

TPZFNMatrix<9,REAL> TPZMixedPoisson::fTensorK
protected

permeability tensor. Coeficient which multiplies the gradient operator

Definition at line 41 of file mixedpoisson.h.

Referenced by TPZMixedPoissonParabolic::Contribute(), Errors(), GetMaxPermeability(), GetPermeability(), operator=(), SetPermeability(), Solution(), and TPZMixedPoisson().

◆ fUseHdois

bool TPZMixedPoisson::fUseHdois
protected

◆ fvisc

REAL TPZMixedPoisson::fvisc
protected

fluid viscosity

Definition at line 47 of file mixedpoisson.h.

Referenced by TPZMixedPoissonParabolic::Contribute(), Contribute(), operator=(), and TPZMixedPoisson().


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