NeoPZ
TPZStackEqnStorage.h
Go to the documentation of this file.
1 
6 #ifndef TPZSTACKEQNSTORAGE_H
7 #define TPZSTACKEQNSTORAGE_H
8 
9 #include "tpzeqnarray.h"
10 #include "pzstack.h"
11 
20 template<class TVar>
21 class TPZStackEqnStorage : public TPZSavable {
22 public:
23 
25  void ReOpen();
26 
28  void Zero();
30  void FinishWriting();
31 
33  TPZStackEqnStorage(char option, const char * name);
35  static void main();
40 
42  {
43  }
44 
49  void AddEqnArray(TPZEqnArray<TVar> *EqnArray);
50 
56  void Print(const char *name, std::ostream& out) const;
57 
59  void Reset();
65  void Backward(TPZFMatrix<TVar> &f, DecomposeType dec) const ;
66 
72  void Forward(TPZFMatrix<TVar> &f, DecomposeType dec) const;
73 
75  void OpenGeneric(char option, const char * name);
76 
78  void ReadBlockPositions();
79 
81  std::string GetStorage();
82 
83  int ClassId() const override;
84 
85 private:
87  void SetBlockSize();
90 
94  /*# TPZEqnArray lnkTPZEqnArray; */
95 };
96 
97 template<class TVar>
99  return Hash("TPZStackEqnStorage") ^ ClassIdOrHash<TVar>() << 1;
100 }
101 
102 #endif //TPZSTACKEQNSTORAGE_H
std::string GetStorage()
Name of Storage.
void Zero()
Reinitialize the object.
~TPZStackEqnStorage()
Simple Destructor.
void Backward(TPZFMatrix< TVar > &f, DecomposeType dec) const
Executes a Backward substitution Stack object.
void SetBlockSize()
Sets the block size to be used.
It is an equation array, generally in its decomposed form. Frontal.
Definition: tpzeqnarray.h:36
Responsible for storing arrays of equations (mostly in a decomposed form). Frontal.
TPZStackEqnStorage()
Simple Constructor.
void ReadBlockPositions()
Only to make both possible templates similar in terms of methods and constructors.
void Forward(TPZFMatrix< TVar > &f, DecomposeType dec) const
Executes a Forward substitution Stack object.
Contains the TPZEqnArray class which implements an equation array.
void Reset()
Resets data structure.
int ClassId() const override
Define the class id associated with the class.
TPZStackEqnStorage(const TPZStackEqnStorage &cp)
f
Definition: test.py:287
void FinishWriting()
It closes the opened binary file.
Full matrix class. Matrix.
Definition: pzfmatrix.h:32
static void main()
Static main for testing.
A simple stack.
int32_t Hash(std::string str)
Definition: TPZHash.cpp:10
void AddEqnArray(TPZEqnArray< TVar > *EqnArray)
Adds an EqnArray to EqnStack object.
void OpenGeneric(char option, const char *name)
Only to make both possible templates similar in terms of methods and constructors.
This class implements a stack object. Utility.
Definition: pzcheckmesh.h:14
TPZStack< TPZEqnArray< TVar > > fEqnStack
Defines a stack of EqnArrays.
void Print(const char *name, std::ostream &out) const
Prints TPZEqnStorage data.
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
Definition: TPZSavable.h:67
void ReOpen()
Method to make this class "template compatible" with the file equation storage.
DecomposeType
Defines decomposition type for any matrix classes.
Definition: pzmatrix.h:52