NeoPZ
TPZStackEqnStorage.cpp
Go to the documentation of this file.
1 
6 #include "TPZStackEqnStorage.h"
7 #include "pzstack.h"
8 #include "pzfmatrix.h"
9 #include "pzreal.h"
10 #include <stdio.h>
11 
12 using namespace std;
13 
14 template<class TVar>
16 
17 template<class TVar>
19 
20 template<class TVar>
21 void TPZStackEqnStorage<TVar>::Print(const char *name, std::ostream& out) const {
22  int64_t i, loop_limit;
23  loop_limit=fEqnStack.NElements();
24  out << "Number of entries on EqnStack "<< fEqnStack.NElements() << endl;
25  for(i=0;i<loop_limit;i++) fEqnStack[i].Print(name, out);
26 }
27 template<class TVar>
29 {
30  fEqnStack.Resize(0);
31 }
32 template<class TVar>
34 {
35  int64_t i, stack_size;
36  stack_size=fEqnStack.NElements();
37  for(i=stack_size-1;i>=0;i--){
38  fEqnStack[i].EqnBackward(f, dec);
39  }
40 
41 }
42 template<class TVar>
44 {
45  int64_t i, stack_size;
46  stack_size=fEqnStack.NElements();
47  for(i=0;i<stack_size;i++){
48  fEqnStack[i].EqnForward(f, dec);
49  }
50 
51 }
52 
53 template<class TVar>
55 {
56  fEqnStack.Push(*EqnArray);
57 }
58 
59 template<class TVar>
61 {
62 }
63 
64 template<class TVar>
66 {
67  fEqnStack.Resize(0);
68 }
69 
70 template<class TVar>
72 {
73 }
74 
75 template<class TVar>
77 {
78 }
79 
80 template<class TVar>
82 {
83 
84 }
85 
86 template<class TVar>
87 void TPZStackEqnStorage<TVar>::OpenGeneric(char option, const char * name){}
88 template<class TVar>
90 template<class TVar>
92 template<class TVar>
93 std::string TPZStackEqnStorage<TVar>::GetStorage() {return "Stack Storage";}
94 
95 template class TPZStackEqnStorage<float>;
96 template class TPZStackEqnStorage<double>;
97 template class TPZStackEqnStorage<long double>;
98 
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.
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object.
Definition: pzmanvector.h:426
void Reset()
Resets data structure.
int ClassId() const override
Define the class id associated with the class.
f
Definition: test.py:287
Contains TPZMatrixclass which implements full matrix (using column major representation).
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.
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.
TPZStack< TPZEqnArray< TVar > > fEqnStack
Defines a stack of EqnArrays.
void Print(const char *name, std::ostream &out) const
Prints TPZEqnStorage data.
Contains the TPZStackEqnStorage class responsible for storing arrays of equations.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
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