NeoPZ
pzmatplaca2.h
Go to the documentation of this file.
1 
6 #ifndef TPZMATPLACA2HPP
7 #define TPZMATPLACA2HPP
8 
9 #include "TPZMaterial.h"
10 #include "pzfmatrix.h"
11 #include "pzvec.h"
12 
13 class TPZBndCond;
14 
15 
20 class TPZMatPlaca2 : public TPZMaterial{
21 
22 protected:
23  int fIdfMax;
24  STATE fE1, fE2, fG12, fG13, fG23, fh,ff,fmi,fni1,fni2;
30 
32  void SetNAxes(TPZFMatrix<STATE> &n);
33 
34  public :
35 
36  TPZMatPlaca2(int num, STATE h, STATE f, STATE E1 , STATE E2 ,
37  STATE ni1 , STATE ni2 , STATE G12 , STATE G13 ,
38  STATE G23 , TPZFMatrix<STATE> &naxes, TPZVec<STATE> &xf);
39 
40  virtual int NStateVariables() const override { return fIdfMax; }
41 
42  virtual int Dimension() const override { return 2; }
43 
44  void Print(std::ostream & out) override;
45 
46  virtual std::string Name() override { return "TPZMatPlaca2"; }
47 
48  virtual void Contribute(TPZMaterialData &data,
49  REAL weight,
51  TPZFMatrix<STATE> &ef) override;
52 
53  virtual void ContributeBC(TPZMaterialData &data,
54  REAL weight,
57  TPZBndCond &bc) override;
58 
59  virtual void Contribute(TPZMaterialData &data,
60  REAL weight,
61  TPZFMatrix<STATE> &ef) override
62  {
63  TPZMaterial::Contribute(data,weight,ef);
64  }
65 
66  virtual void ContributeBC(TPZMaterialData &data,
67  REAL weight,
69  TPZBndCond &bc) override
70  {
71  TPZMaterial::ContributeBC(data,weight,ef,bc);
72  }
73 
74  virtual int NFluxes() override;
75 
76  virtual void Flux(TPZVec<REAL> &x, TPZVec<STATE> &u, TPZFMatrix<STATE> &dudx, TPZFMatrix<REAL> &axes, TPZVec<STATE> &fl) override;
77 
79  TPZVec<STATE> &u_exact,TPZFMatrix<STATE> &du_exact,TPZVec<REAL> &values) override;
80 
82  virtual int VariableIndex(const std::string &name) override;
83 
88  virtual int NSolutionVariables(int var) override;
89 
90 protected:
92  virtual void Solution(TPZVec<STATE> &Sol,TPZFMatrix<STATE> &DSol,TPZFMatrix<REAL> &axes,int var,TPZVec<STATE> &Solout) override;
93 public:
96  virtual void Solution(TPZMaterialData &data, int var, TPZVec<STATE> &Solout) override
97  {
98  TPZMaterial::Solution(data,var,Solout);
99  }
100  public:
101 virtual int ClassId() const override;
102 
103 };
104 
105 #endif
virtual void Solution(TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
virtual void Solution(TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
Returns the solution associated with the var index based on the finite element approximation.
TPZFMatrix< STATE > fB0x
Definition: pzmatplaca2.h:28
TPZFMatrix< STATE > fB00R
Definition: pzmatplaca2.h:27
TPZFMatrix< STATE > fRmat
Definition: pzmatplaca2.h:26
clarg::argBool bc("-bc", "binary checkpoints", false)
Templated vector implementation.
TPZFMatrix< STATE > fKyyR
Definition: pzmatplaca2.h:27
TPZFMatrix< STATE > fRmatT
Definition: pzmatplaca2.h:26
DESCRIBE PLEASE.
Definition: pzmatplaca2.h:20
TPZFMatrix< STATE > fnaxes
Definition: pzmatplaca2.h:25
virtual int NStateVariables() const override
Returns the number of state variables associated with the material.
Definition: pzmatplaca2.h:40
clarg::argBool h("-h", "help message", false)
virtual int VariableIndex(const std::string &name) override
Returns the variable index associated with the name.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
Definition: pzmatplaca2.h:59
TPZFMatrix< STATE > fBy0R
Definition: pzmatplaca2.h:27
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)=0
It computes a contribution to the stiffness matrix and load vector at one integration point...
TPZFMatrix< STATE > fKxxR
Definition: pzmatplaca2.h:27
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.
Definition: pzmatplaca2.h:96
This abstract class defines the behaviour which each derived class needs to implement.
Definition: TPZMaterial.h:39
TPZFMatrix< STATE > fKyx
Definition: pzmatplaca2.h:28
void SetNAxes(TPZFMatrix< STATE > &n)
Modify the direction of the fibres for the plate.
TPZFMatrix< STATE > fBx0
Definition: pzmatplaca2.h:28
void Print(std::ostream &out) override
Prints out the data associated with the material.
f
Definition: test.py:287
virtual int ClassId() const override
Define the class id associated with the class.
Contains TPZMatrixclass which implements full matrix (using column major representation).
TPZFMatrix< STATE > fKxx
Definition: pzmatplaca2.h:28
TPZVec< STATE > fXF
Definition: pzmatplaca2.h:29
This class defines the boundary condition for TPZMaterial objects.
Definition: pzbndcond.h:29
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 int NFluxes() override
Returns the number of components which form the flux function.
TPZFMatrix< STATE > fB0yR
Definition: pzmatplaca2.h:27
TPZFMatrix< STATE > fB00
Definition: pzmatplaca2.h:28
TPZFMatrix< STATE > fBy0
Definition: pzmatplaca2.h:28
TPZFMatrix< STATE > fKxyR
Definition: pzmatplaca2.h:27
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)=0
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
virtual std::string Name() override
Returns the name of the material.
Definition: pzmatplaca2.h:46
virtual void Flux(TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &dudx, TPZFMatrix< REAL > &axes, TPZVec< STATE > &fl) override
Computes the value of the flux function to be used by ZZ error estimator.
TPZFMatrix< STATE > fB0xR
Definition: pzmatplaca2.h:27
TPZMatPlaca2(int num, STATE h, STATE f, STATE E1, STATE E2, STATE ni1, STATE ni2, STATE G12, STATE G13, STATE G23, TPZFMatrix< STATE > &naxes, TPZVec< STATE > &xf)
Definition: pzmatplaca2.cpp:19
TPZFMatrix< STATE > fKxy
Definition: pzmatplaca2.h:28
TPZFMatrix< STATE > fB0y
Definition: pzmatplaca2.h:28
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...
TPZFMatrix< STATE > fBx0R
Definition: pzmatplaca2.h:27
def values
Definition: rdt.py:119
TPZFMatrix< STATE > fKyxR
Definition: pzmatplaca2.h:27
virtual int NSolutionVariables(int var) override
Returns the number of variables associated with the variable indexed by var.
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: pzmatplaca2.h:66
virtual int Dimension() const override
Returns the integrable dimension of the material.
Definition: pzmatplaca2.h:42
TPZFMatrix< STATE > fKyy
Definition: pzmatplaca2.h:28
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 o...