NeoPZ
pzburger.h
Go to the documentation of this file.
1 
6 #ifndef BURGERH
7 #define BURGERH
8 
9 #include "pzpoisson3d.h"
10 #include "pzpoisson3dreferred.h"
11 
23 
24 public:
27 
30  TPZBurger(int nummat, int dim);
32  TPZBurger(const TPZBurger &cp);
34  virtual ~TPZBurger();
35 
36  bool IsReferred(){ return this->fIsReferred;}
37 
38  void SetReferred(bool Is){ this->fIsReferred = Is; }
39 
40  REAL fSolRef;
41 
45  virtual void Contribute(TPZMaterialData &data,
46  REAL weight,
48  TPZFMatrix<STATE> &ef) override {
49  int numbersol = data.sol.size();
50  if(numbersol != 1)
51  {
52  DebugStop();
53  }
55  this->ContributeSUPG(data.x,data.jacinv,data.sol[0],data.dsol[0],weight,data.axes,data.phi,data.dphix,ek,ef);
56  }
58  this->ContributeGradStab(data.x,data.jacinv,data.sol[0],data.dsol[0],weight,data.axes,data.phi,data.dphix,ek,ef);
59  }
60  }//Contribute
61 
62  virtual void Contribute(TPZMaterialData &data,
63  REAL weight,
64  TPZFMatrix<STATE> &ef) override
65  {
67  }
68 
71  void ContributeSUPG(TPZVec<REAL> &x,TPZFMatrix<REAL> &jacinv,TPZVec<STATE> &sol,TPZFMatrix<STATE> &dsol,REAL weight,
73 
74  virtual void ContributeBC(TPZMaterialData &data,
75  REAL weight,
78  TPZBndCond &bc) override;
79 
80  virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright,
81  REAL weight,
83  TPZFMatrix<STATE> &ef) override;
84 
85  virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft,
86  REAL weight,
89  TPZBndCond &bc) override;
90 
91  virtual void ContributeBC(TPZMaterialData &data,
92  REAL weight,
94  TPZBndCond &bc) override
95  {
96  TPZMatPoisson3dReferred::ContributeBC(data,weight,ef,bc);
97  }
98 
99  virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright,
100  REAL weight,
101  TPZFMatrix<STATE> &ef) override
102  {
103  TPZMatPoisson3dReferred::ContributeInterface(data,dataleft,dataright,weight,ef);
104  }
105 
107  REAL weight,
108  TPZFMatrix<STATE> &ef,
109  TPZBndCond &bc) override
110  {
111  TPZMatPoisson3dReferred::ContributeBCInterface(data,dataleft,weight,ef,bc);
112  }
113 
115 public:
116 int ClassId() const override;
117 
118 protected:
120 
121 
122 };
123 
124 #endif
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...
Definition: pzburger.cpp:266
TPZManVector< REAL, 3 > x
value of the coordinate at the integration point
bool IsReferred()
Definition: pzburger.h:36
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
Definition: pzburger.cpp:425
clarg::argBool bc("-bc", "binary checkpoints", false)
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...
int ClassId() const override
Unique identifier for serialization purposes.
Definition: pzburger.cpp:524
bool fIsReferred
Definition: pzburger.h:119
TPZGradSolVec dsol
vector of the derivatives of the solution at the integration point
TPZFNMatrix< 9, REAL > jacinv
value of the inverse of the jacobian at the integration point
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...
Contains the TPZMatPoisson3d class.
TPZFNMatrix< 220, REAL > phi
vector of shapefunctions (format is dependent on the value of shapetype)
TPZFNMatrix< 660, REAL > dphix
values of the derivative of the shape functions
static int gStabilizationScheme
Definition: pzburger.h:28
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...
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...
Definition: pzburger.h:45
int64_t size() const
Returns the number of elements of the vector.
Definition: pzvec.h:196
REAL fSolRef
Definition: pzburger.h:40
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
#define DebugStop()
Returns a message to user put a breakpoint in.
Definition: pzerror.h:20
This class defines the boundary condition for TPZMaterial objects.
Definition: pzbndcond.h:29
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
Definition: pzburger.h:62
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...
Definition: pzburger.cpp:183
TPZFNMatrix< 9, REAL > axes
axes indicating the directions of the derivatives of the shapefunctions
Contains the TPZMatPoisson3dReferred class which implements a version of TPZMatPoisson3d (convection...
void SetReferred(bool Is)
Definition: pzburger.h:38
virtual ~TPZBurger()
Destructor.
Definition: pzburger.cpp:26
TPZBurger(int nummat, int dim)
Constructor with id of material and dimension of the space.
Definition: pzburger.cpp:13
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.
Definition: pzburger.h:99
EStabilizationScheme
Enum for stabilization scheme into of the element.
Definition: pzburger.h:26
void ContributeGradStab(TPZVec< REAL > &x, TPZFMatrix< REAL > &jacinv, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol, REAL weight, TPZFMatrix< REAL > &axes, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
Definition: pzburger.cpp:30
void ContributeSUPG(TPZVec< REAL > &x, TPZFMatrix< REAL > &jacinv, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol, REAL weight, TPZFMatrix< REAL > &axes, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
Definition: pzburger.cpp:106
TPZSolVec sol
vector of the solutions at the integration point
This class implements a version of TPZMatPoisson3d where the convection term is given at each integr...
This class implements a linear convection equation using a burger flux instead of the linear flux...
Definition: pzburger.h:22
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.
Definition: pzburger.h:106
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...
Definition: pzburger.h:91