NeoPZ
TPZMixedPoissonParabolic.h
Go to the documentation of this file.
1 //
2 // mixedpoisson.h
3 // PZ
4 //
5 // Created by Agnaldo Farias on 5/28/12.
6 // Copyright (c) 2012 LabMec-Unicamp. All rights reserved.
7 //
8 
9 #ifndef TPZMIXEDPOISSONPARABOLICH
10 #define TPZMIXEDPOISSONPARABOLICH
11 
12 #include "mixedpoisson.h"
13 
32 
33 protected:
34 
35  // thermal capacity or compressibility
36  STATE fRho;
37 
38  // timestep used
39  STATE fDeltaT;
40 
41 public:
43 
44  TPZMixedPoissonParabolic(int matid, int dim);
45 
46  virtual ~TPZMixedPoissonParabolic();
47 
49 
51 
52  void SetParabolicConstants(STATE rho, STATE deltat)
53  {
54  fRho = rho;
55  fDeltaT = deltat;
56  }
57 
58  void SetDeltaT(STATE deltat)
59  {
60  fDeltaT = deltat;
61  }
62 
64 
67  {
68  data.SetAllRequirements(false);
69  if (type == 3) {
70  data.fNeedsNormal = true;
71  }
72  }
73 
76  {
77  // default is no specific data requirements
78  int nref = datavec.size();
79  for (int iref = 0; iref <nref; iref++) {
80  datavec[iref].SetAllRequirements(false);
81  }
82  datavec[1].fNeedsSol = true;
83  if(type == 50)
84  {
85  for(int iref = 0; iref<nref; iref++){
86  datavec[iref].fNeedsSol = true;
87  }
88  }
89  }
90 
91 
92  virtual void Print(std::ostream & out);
93 
94  virtual std::string Name() { return "TPZMixedPoissonParabolic"; }
95 
103  virtual void Contribute(TPZVec<TPZMaterialData> &datavec, REAL weight, TPZFMatrix<STATE> &ek, TPZFMatrix<STATE> &ef);
104 
111  virtual void Contribute(TPZVec<TPZMaterialData> &datavec, REAL weight, TPZFMatrix<STATE> &ef);
112 
113  virtual void ContributeBC(TPZVec<TPZMaterialData> &datavec, REAL weight, TPZFMatrix<STATE> &ek,TPZFMatrix<STATE> &ef,TPZBndCond &bc);
114 
115 
116 };
117 
118 #endif
virtual void ContributeBC(TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
It computes a contribution to the stiffness matrix and load vector at one BC integration point to mul...
virtual std::string Name()
Returns the name of the material.
clarg::argBool bc("-bc", "binary checkpoints", false)
void SetAllRequirements(bool set)
Set all flags at once.
This class implements a simple vector storage scheme for a templated class T. Utility.
Definition: pzgeopoint.h:19
virtual void Print(std::ostream &out)
Prints out the data associated with the material.
int64_t size() const
Returns the number of elements of the vector.
Definition: pzvec.h:196
This class defines the boundary condition for TPZMaterial objects.
Definition: pzbndcond.h:29
void SetParabolicConstants(STATE rho, STATE deltat)
void FillDataRequirements(TPZVec< TPZMaterialData > &datavec)
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.
virtual void FillBoundaryConditionDataRequirement(int type, TPZVec< TPZMaterialData > &datavec)
This method defines which parameters need to be initialized in order to compute the contribution of t...
Material to solve a mixed poisson problem 2d by multiphysics simulation.
Definition: mixedpoisson.h:34
virtual void Contribute(TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
It computes a contribution to the stiffness matrix and load vector at one integration point to multip...
virtual void FillBoundaryConditionDataRequirement(int type, TPZMaterialData &data)
This method defines which parameters need to be initialized in order to compute the contribution of t...
Material to solve a mixed time dependent poisson problem 2d by multiphysics simulation.
TPZMixedPoissonParabolic & operator=(const TPZMixedPoissonParabolic &copy)