NeoPZ
pzanalysiserror.h
Go to the documentation of this file.
1 
6 #ifndef TPZANALYSISERRORH
7 #define TPZANALYSISERRORH
8 
9 #include <fstream> // for ostream, operator<<
10 #include "pzanalysis.h" // for TPZAnalysis
11 #include "pzcompel.h" // for TPZCompElSide, TPZCompEl (ptr only)
12 #include "pzmanvector.h" // for TPZManVector
13 #include "pzreal.h" // for REAL
14 #include "pzstack.h" // for TPZStack
15 class TPZCompMesh;
16 
22 class TPZAnalysisError : public TPZAnalysis {
23 
32 
35  int64_t fNIterations;
36 
37  public :
39  TPZAnalysisError(TPZCompMesh *mesh,std::ostream &out);
42 
44  void SetAdaptivityParameters(REAL EtaAdmissible, int64_t NIterations);
45 
47  void hp_Adaptive_Mesh_Design(std::ostream &out,REAL &EtaAdmissible);
48 
51 
58  void ZoomInSingularity(REAL csi, TPZCompElSide elside, REAL singularity_order = 0.9);
59 
61  void HPAdapt(REAL CurrentEtaAdmissible, std::ostream &out);
62 
64  REAL MaximLocalError();
65 
67  REAL h_Parameter(TPZCompEl *cel);
68 
70  void MathematicaPlot();
71 
74  void EvaluateError(REAL CurrentEtaAdmissible, bool store_error, std::ostream &out);
75 
76 private:
78  void PlotLocal(int64_t iter, REAL CurrentEtaAdmissible, std::ostream &out);
79 
81 };
82 
83 #endif
Contains TPZAnalysis class which implements the sequence of actions to perform a finite element analy...
Implements computational element and a side. Computational Element.
Definition: pzcompel.h:632
TPZManVector< REAL > fElErrors
Vector with error values by elements.
TPZStack< TPZCompElSide > fSingular
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Implements analysis procedures with hp adaptivity. Analysis.
void MathematicaPlot()
Plot to the aproximated solution of the FEM with Mathematica package.
void EvaluateError(REAL CurrentEtaAdmissible, bool store_error, std::ostream &out)
Compute the list of errors of all elements and also the admissible error for any element in the grid...
REAL MaximLocalError()
Returns the maximal local error of the elements of the mesh.
void GetSingularElements(TPZStack< TPZCompElSide > &listel)
Search the element whith contain this point.
Implements the sequence of actions to perform a finite element analysis. Analysis.
Definition: pzanalysis.h:32
TPZAnalysisError(TPZCompMesh *mesh, std::ostream &out)
Object constructors.
void SetAdaptivityParameters(REAL EtaAdmissible, int64_t NIterations)
Set the parameters which will govern the adaptive process.
Free store vector implementation.
TPZManVector< int64_t > fElIndexes
Indexes of the elements vector.
void ExpandConnected(TPZStack< TPZCompElSide > &singel)
A simple stack.
REAL h_Parameter(TPZCompEl *cel)
Calculate the h parameter of the element.
void ZoomInSingularity(REAL csi, TPZCompElSide elside, REAL singularity_order=0.9)
Calculate pn and hn parameters for the elements neighbours to the element with contain the singular p...
Implements computational mesh. Computational Mesh.
Definition: pzcmesh.h:47
void HPAdapt(REAL CurrentEtaAdmissible, std::ostream &out)
Run one iteration of HP adaptivity.
void hp_Adaptive_Mesh_Design(std::ostream &out, REAL &EtaAdmissible)
Run the algorithm of the fast hp adaptive finite element mesh design.
int64_t fNIterations
Number of iterations.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
~TPZAnalysisError()
Delete objects.
Defines the interface of a computational element. Computational Element.
Definition: pzcompel.h:59
void PlotLocal(int64_t iter, REAL CurrentEtaAdmissible, std::ostream &out)
Postprocess the intermediate solutions.