18 static LoggerPtr logger(Logger::getLogger(
"pz.matrix.tpzfmatrix"));
19 static LoggerPtr loggerCheck(Logger::getLogger(
"pz.checkconsistency"));
37 this->fNormalVecFad = 0;
78 this->fNormalVecFad = cp.fNormalVecFad;
103 if(!comp)
return false;
111 result = result && locres;
117 result = result && locres;
123 result = result && locres;
129 result = result && locres;
135 result = result && locres;
141 result = result && locres;
147 result = result && locres;
172 out <<
"normal " <<
normal << std::endl;
173 out <<
"x " <<
x << std::endl;
174 out <<
"p " <<
p << std::endl;
175 out <<
"sol " <<
sol << std::endl;
177 for (
int is=0; is<nsol; is++) {
181 out <<
"divsol " <<
divsol << std::endl;
182 out <<
"HSize " <<
HSize << std::endl;
183 out <<
"detjac " <<
detjac << std::endl;
184 out <<
"XCenter " <<
XCenter << std::endl;
188 out <<
"NintPts " <<
NintPts << std::endl;
189 out <<
"gelElId " <<
gelElId << std::endl;
201 out <<
"normal = {" <<
normal <<
"};" << std::endl;
202 out <<
"x = {" <<
x <<
"};" << std::endl;
203 out <<
"p = " <<
p <<
";" << std::endl;
204 out <<
"sol = { " <<
sol <<
"};" << std::endl;
206 for (
int is=0; is<nsol; is++) {
207 std::stringstream sout;
208 sout <<
"dsol" << is <<
" = ";
211 out <<
"divsol = { " <<
divsol <<
"};" << std::endl;
213 out <<
"HSize = " <<
HSize <<
";" << std::endl;
214 out <<
"detjac = " <<
detjac <<
";" << std::endl;
215 out <<
"XCenter = {" <<
XCenter <<
"};" << std::endl;
217 out <<
"intLocPtIndex = " <<
intLocPtIndex <<
";" <<std::endl;
219 out <<
"NintPts = " <<
NintPts <<
";" <<std::endl;
220 out <<
"gelElId = " <<
gelElId <<
";" <<std::endl;
227 buf.
Write(&shapetype);
240 for (
int is=0; is<nsol; is++) {
246 for (
int is=0; is<nsol; is++) {
247 dsol[is].Write(buf,0);
251 for (
int is=0; is<nsol; is++) {
268 buf.
Read(&shapetype);
282 for (
int is=0; is<nsol; is++) {
286 for (
int is = 0; is<nsol; is++) {
287 dsol[is].Read(buf,0);
290 for (
int is=0; is<nsol; is++) {
304 return Hash(
"TPZMaterialData");
311 std::cout << __PRETTY_FUNCTION__ <<
"works only for Vec and Shape type." << std::endl;
316 fluxes.
Redim(3, n_shape);
318 for (
int i = 0; i < n_shape; i++) {
322 for (
int j = 0; j < 3; j++) {
343 for (
int iq = 0; iq < n_phi_v; iq++)
348 int n_dir = dphi_s.
Rows();
349 for (
int k = 0; k < n_dir; k++) {
void Print(std::ostream &out=std::cout)
Prints the structural information of the vector object to the output stream. This method will not p...
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
void ComputeFluxValues(TPZFMatrix< REAL > &fluxes)
Computes the flux values based on a Material of Hdiv approx space.
TPZManVector< REAL, 3 > normal
normal to the element at the integration point
Contains definitions to LOGPZ_DEBUG, LOGPZ_INFO, LOGPZ_WARN, LOGPZ_ERROR and LOGPZ_FATAL, and the implementation of the inline InitializePZLOG(string) function using log4cxx library or not. It must to be called out of "#ifdef LOG4CXX" scope.
TPZManVector< REAL, 3 > x
value of the coordinate at the integration point
bool fNeedsNeighborCenter
TPZMaterialData & operator=(const TPZMaterialData &cp)
TPZFNMatrix< 660, REAL > dphi
values of the derivative of the shape functions over the master element
Contains declaration of TPZCompEl class which defines the interface of a computational element...
int NintPts
amount of points in the integrstion rule
void SetAllRequirements(bool set)
Set all flags at once.
TPZGradSolVec dsol
vector of the derivatives of the solution at the integration point
MShapeFunctionType fShapeType
TPZFNMatrix< 9, REAL > jacinv
value of the inverse of the jacobian at the integration point
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object.
TPZFNMatrix< 9, REAL > jacobian
value of the jacobian at the integration point
TPZFNMatrix< 220, REAL > phi
vector of shapefunctions (format is dependent on the value of shapetype)
int p
maximum polinomial order of the shape functions
TPZFNMatrix< 660, REAL > dphix
values of the derivative of the shape functions
Contains declaration of TPZElementMatrix struct which associates an element matrix with the coeficien...
~TPZMaterialData()
Default destructor.
int64_t size() const
Returns the number of elements of the vector.
TPZFNMatrix< 220, REAL > divphi
values of the divergence of the shapefunctions in the mapped element (only applicable to H(div)) spac...
TPZManVector< REAL, 3 > XCenter
value of the coordinate at the center of the element
void Read(TPZStream &buf, void *context) override
read objects from the stream
void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
virtual void Write(const bool val)
#define DebugStop()
Returns a message to user put a breakpoint in.
Contains declaration of TPZInterfaceElement class which computes the contribution over an interface b...
TPZFNMatrix< 180 > fNormalVec
list of normal vectors
#define LOGPZ_DEBUG(A, B)
Define log for debug info.
TPZFNMatrix< 180 > fDirectionsOnMaster
Directions on the master element.
void PrintMathematica(std::ostream &out) const
Prints the data in a format suitable for Mathematica.
int64_t Rows() const
Returns number of rows.
int numberdualfunctions
number of dual function (e.g. pressure in HDiv approximations)
TPZFNMatrix< 9, REAL > axes
axes indicating the directions of the derivatives of the shapefunctions
T * begin() const
Casting operator. Returns The fStore pointer.
Contains the TPZMaterialData class which implements an interface between TPZCompEl::CalcStiff and TPZ...
REAL HSize
measure of the size of the element
int intGlobPtIndex
global point index
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
int intLocPtIndex
Index of the current integration point being evaluated.
int ClassId() const override
Define the class id associated with the class.
int32_t Hash(std::string str)
TPZSolVec divsol
vector of the divergence of the solution at the integration point (only of hdiv spaces) ...
virtual bool Compare(TPZSavable *copy, bool override=false) override
Compares the object for identity with the object pointed to, eventually copy the object.
void ComputeFunctionDivergence()
Computes the flux divergence values based on a Material of Hdiv approx space.
void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
virtual void Print(std::ostream &out) const
Defines the interface for saving and reading data. Persistency.
int64_t NElements() const
Returns the number of elements of the vector.
Contains the TPZDiscontinuousGalerkin class which implements the interface for discontinuous Galerkin...
TPZManVector< std::pair< int, int64_t > > fVecShapeIndex
correspondence between normal vector index and index of the shape functions
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
virtual bool Compare(TPZSavable *copy, bool override=false) override
Compare the object for identity with the object pointed to, eventually copy the object.
TPZSolVec sol
vector of the solutions at the integration point
REAL detjac
determinant of the jacobian
TPZMaterialData()
Default constructor.
Implements an interface to register a class id and a restore function. Persistence.
virtual void Read(bool &val)
void Print(std::ostream &out) const
Prints the data.