32 std::cout << __PRETTY_FUNCTION__ <<
" please implement me\n";
56 std::cout << __PRETTY_FUNCTION__ <<
" please implement me\n";
81 int numbersol = leftu.
size();
82 for (
int is=0; is<numbersol; is++) {
85 for(
int i = 0; i < n; i++){
86 jump[is][i] = leftu[is][i] - rightu[is][i];
106 PZError << __PRETTY_FUNCTION__ <<
" - method not implemented in derived class" << std::endl;
125 int maxl = 0, maxr = 0;
126 for (
auto porder: porder_left) {
127 maxl = std::max(maxl,
porder);
129 for (
auto porder: porder_right) {
130 maxr = std::max(maxr,
porder);
Defines the interface which material objects need to implement for discontinuous Galerkin formulation...
bool fLinearContext
Defines whether the equation context is linear solver or non linear.
int ClassId() const override
Unique identifier for serialization purposes.
virtual void Errors(TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors)
TPZDiscontinuousGalerkin()
Simple constructor.
clarg::argBool bc("-bc", "binary checkpoints", false)
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...
void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
virtual ~TPZDiscontinuousGalerkin()
Destructor.
void SetAllRequirements(bool set)
Set all flags at once.
void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
This class implements a simple vector storage scheme for a templated class T. Utility.
virtual void FillDataRequirementsInterface(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the ContributeInterface method...
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object.
This abstract class defines the behaviour which each derived class needs to implement.
int64_t size() const
Returns the number of elements of the vector.
virtual std::string Name() override
Returns the name of the material.
virtual void BCInterfaceJump(TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump)
Computes interface jump from element to Dirichlet boundary condition. It has to reimplemented.
virtual int GetIntegrationOrder(TPZVec< int > &porder_left, TPZVec< int > &porder_right) const
return the integration order as a function of interpolation orders of the left and right elements ...
void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
#define DebugStop()
Returns a message to user put a breakpoint in.
This class defines the boundary condition for TPZMaterial objects.
virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
It computes a contribution to stiffness matrix and load vector at one integration point...
int64_t Rows() const
Returns number of rows.
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)=0
It computes a contribution to stiffness matrix and load vector at one BC integration point...
Contains the TPZMaterialData class which implements an interface between TPZCompEl::CalcStiff and TPZ...
int32_t Hash(std::string str)
virtual void InterfaceJump(TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump)
Computes interface jump = leftu - rightu.
int ClassId() const override
Unique identifier for serialization purposes.
virtual int IsInterfaceConservative()
Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces...
Defines the interface for saving and reading data. Persistency.
int64_t NElements() const
Returns the number of elements of the vector.
clarg::argInt porder("-porder", "polinomial order", 1)
Contains the TPZDiscontinuousGalerkin class which implements the interface for discontinuous Galerkin...
#define PZError
Defines the output device to error messages and the DebugStop() function.