8 template<
class TBASEMAT>
10 return Hash(
"TPZTransientMaterial") ^ TBASEMAT::ClassId() << 1;
12 template<
class TBASEMAT>
14 this->fTemporalIntegrator = EExplicit;
16 template<
class TBASEMAT>
18 this->fTemporalIntegrator = EImplicit;
21 template<
class TBASEMAT>
23 TBASEMAT(nummat, dim) {
27 template<
class TBASEMAT>
35 template<
class TBASEMAT>
40 template<
class TBASEMAT>
47 int numbersol = data.
sol.
size();
53 TBASEMAT::Contribute(data,weight,ek,ef);
71 TBASEMAT::Contribute(data,weight,ek,ef);
76 PZError <<
"ERROR! " << __PRETTY_FUNCTION__ <<
" at LINE " << __LINE__ << std::endl;
80 template<
class TBASEMAT>
88 TBASEMAT::ContributeBC(data,weight,ek,ef,bc);
100 TBASEMAT::ContributeBC(data,weight,ek,fakeef,bc);
105 TBASEMAT::ContributeBC(data,weight,ek,ef,bc);
110 PZError <<
"ERROR! " << __PRETTY_FUNCTION__ <<
" at LINE " << __LINE__ << std::endl;
113 template<
class TBASEMAT>
121 TBASEMAT::ContributeInterface(data,dataleft,dataright, weight, ek, ef);
134 TBASEMAT::ContributeInterface(data,dataleft,dataright, weight, ek, ef);
139 PZError <<
"ERROR! " << __PRETTY_FUNCTION__ <<
" at LINE " << __LINE__ << std::endl;
143 template<
class TBASEMAT>
151 TBASEMAT::ContributeBCInterface(data,dataleft, weight,ek, ef, bc);
165 TBASEMAT::ContributeBCInterface(data, dataleft, weight, ek, ef, bc);
170 PZError <<
"ERROR! " << __PRETTY_FUNCTION__ <<
" at LINE " << __LINE__ << std::endl;
174 template<
class TBASEMAT>
180 const int phr = phi.
Rows();
181 const int nstate = this->NStateVariables();
182 const REAL DeltaT = this->
TimeStep();
184 for(i = 0; i < phr; i++) {
185 for(k = 0; k < nstate; k++){
186 ef(i*nstate+k, 0) += (STATE)(Mult * weight) * sol[k] * (STATE)(phi(i,0) / DeltaT);
191 template<
class TBASEMAT>
193 const int phr = phi.
Rows();
194 const int nstate = this->NStateVariables();
195 const REAL DeltaT = this->
TimeStep();
197 for(i = 0; i < phr; i++) {
198 for(j = 0; j < phr; j++){
199 for(k = 0; k < nstate; k++){
200 ek(i*nstate+k, j*nstate+k) += weight * phi(i,0) * phi(j,0) / DeltaT;
206 #ifndef STATE_COMPLEX
Contains the TPZNonLinearPoisson3d class.
clarg::argBool bc("-bc", "binary checkpoints", false)
Contains the TPZTransientMaterial class which implements an implicit Euler time integrator.
void SetTimeStep(REAL TimeStep)
Define time step DeltaT.
virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
virtual void ContributeTangent(TPZVec< STATE > &sol, TPZFMatrix< REAL > &phi, REAL weight, TPZFMatrix< STATE > &ek)
TPZTransientMaterial(int nummat, int dim, REAL TimeStep)
Class constructor.
Contains the TPZMatPoisson3d class.
TPZFNMatrix< 220, REAL > phi
vector of shapefunctions (format is dependent on the value of shapetype)
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
int ClassId() const override
int64_t size() const
Returns the number of elements of the vector.
#define DebugStop()
Returns a message to user put a breakpoint in.
This class defines the boundary condition for TPZMaterial objects.
int64_t Rows() const
Returns number of rows.
Implements an implicit Euler time integrator. The Material Classes Material.
Contains the TPZBurger class which implements a linear convection equation using a burger flux...
int32_t Hash(std::string str)
ETemporalScheme fTemporalIntegrator
~TPZTransientMaterial()
Default destructor.
void SetExplicit()
Sets integral scheme as an explicit Euler.
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
TPZSolVec sol
vector of the solutions at the integration point
virtual void ContributeSolutionRhs(TPZVec< STATE > &sol, TPZFMatrix< REAL > &phi, REAL weight, TPZFMatrix< STATE > &ef)
void TestInstantiations()
Instantiations to TPZMatPoisson3d, TPZNonLinearPoisson3d and TPZBurger.
#define PZError
Defines the output device to error messages and the DebugStop() function.
REAL TimeStep()
Returns time step value.