NeoPZ
TPZElast3Dnlinear.h
Go to the documentation of this file.
1 //
2 // TPZElast3Dnlinear.h
3 // PZ
4 //
5 // Created by Cesar Lucci (Caju) on 22/10/13.
6 // *** Esta classe implementa o material elastico linear 3D no formato de matriz tangente e residuo.
7 // A motivacao foi o acoplamento com formulacao nao linar de fluxo de fluido no interior da fratura,
8 // em que o sistema global eh resolvido pelo metodo de Newton-Raphson.
9 //
10 
11 #ifndef __PZ__TPZElast3Dnlinear__
12 #define __PZ__TPZElast3Dnlinear__
13 
14 #include <iostream>
15 
16 #include "pzelast3d.h"
17 
19 {
20 public:
22 
30  TPZElast3Dnlinear(int nummat, STATE E, STATE poisson, TPZVec<STATE> &force,
31  STATE preStressXX = 0., STATE preStressYY = 0., STATE preStressZZ = 0.);
32 
34 
35  virtual void Contribute(TPZMaterialData &data,
36  REAL weight,
37  TPZFMatrix<STATE> &ef) override ;
38 
39  virtual void Contribute(TPZMaterialData &data,
40  REAL weight,
42  TPZFMatrix<STATE> &ef) override;
43 
44  virtual void ContributeBC(TPZMaterialData &data,
45  REAL weight,
48  TPZBndCond &bc) override;
49 
50  public:
51 int ClassId() const override;
52 
53 
54  virtual void FillDataRequirements(TPZMaterialData &data) override;
55 
57  virtual TPZMaterial * NewMaterial() override { return new TPZElast3Dnlinear(*this);}
58 
59 protected:
60 
62  REAL weight,
64  TPZFMatrix<STATE> &ef);
65 
67  REAL weight,
70  TPZBndCond &bc);
71 };
72 
73 #endif /* defined(__PZ__TPZElast3Dnlinear__) */
clarg::argBool bc("-bc", "binary checkpoints", false)
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
This class implements a 3D isotropic elasticity material.
Definition: pzelast3d.h:21
Contains the TPZElasticity3D class which implements a 3D isotropic elasticity material.
This abstract class defines the behaviour which each derived class needs to implement.
Definition: TPZMaterial.h:39
virtual TPZMaterial * NewMaterial() override
Creates a new material from the current object.
void ContributeVecShapeAux(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
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
Implements Dirichlet and Neumann boundary conditions.
virtual void FillDataRequirements(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the Contribute method.
void ContributeVecShapeBCAux(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
int ClassId() const override
Define the class id associated with the class.