NeoPZ
Classes | Public Types | Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | Friends | List of all members
TPZAnalysis Class Reference

Implements the sequence of actions to perform a finite element analysis. Analysis. More...

#include <pzanalysis.h>

Inheritance diagram for TPZAnalysis:
[legend]
Collaboration diagram for TPZAnalysis:
[legend]

Classes

struct  ThreadData
 
class  TTablePostProcess
 Datastructure which defines postprocessing for one dimensional meshes. More...
 

Public Types

enum  EPrecond { EJacobi, EBlockJacobi, EElement, ENodeCentered }
 Preconditioners which can be created by objects of this class. More...
 

Public Member Functions

 TPZAnalysis (TPZCompMesh *mesh, bool mustOptimizeBandwidth=true, std::ostream &out=std::cout)
 Create an TPZAnalysis object from one mesh pointer. More...
 
 TPZAnalysis (TPZAutoPointer< TPZCompMesh > mesh, bool mustOptimizeBandwidth=true, std::ostream &out=std::cout)
 Create an TPZAnalysis object from one mesh auto pointer object. More...
 
void SetGuiInterface (TPZAutoPointer< TPZGuiInterface > gui)
 Defines gui interface object. More...
 
TPZAutoPointer< TPZGuiInterfaceGetGuiInterface () const
 Gets gui interface object. More...
 
bool AmIKilled ()
 Returns if the process was canceled through gui interface. More...
 
virtual void SetCompMesh (TPZCompMesh *mesh, bool mustOptimizeBandwidth)
 Set the computational mesh of the analysis. More...
 
 TPZAnalysis ()
 Create an empty TPZAnalysis object. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
virtual ~TPZAnalysis (void)
 Destructor: deletes all protected dynamic allocated objects. More...
 
void CleanUp ()
 deletes all data structures More...
 
void SetRenumber (TPZAutoPointer< TPZRenumbering > renumber)
 Change the renumbering scheme. More...
 
void OptimizeBandwidth ()
 Sets the computer connection block number from the graphical connections block number otimization. More...
 
int HighestDimension ()
 Returns the dimension of the material which has the highest dimension. More...
 
void Resequence (int firstel=-1)
 Recompute the node sequence. More...
 
int ComputeNumberofLoadCases ()
 Determine the number of load cases from the material objects and return its value. More...
 
virtual void Assemble ()
 Assemble the stiffness matrix and load vector. More...
 
virtual void AssembleResidual ()
 Assemble the load vector. More...
 
virtual void Solve ()
 Invert the stiffness matrix. More...
 
TPZFMatrix< STATE > & Rhs ()
 Returns the load vector. More...
 
TPZFMatrix< STATE > & Solution ()
 Returns the solution matrix. More...
 
TPZCompMeshMesh () const
 Returns the pointer to the computational mesh. More...
 
TPZAutoPointer< TPZStructMatrixStructMatrix ()
 Returns a reference to the structural matrix. More...
 
TPZMatrixSolver< STATE > * BuildPreconditioner (EPrecond preconditioner, bool overlap)
 Define the type of preconditioner used. More...
 
void SetStep (int step)
 ste the step for post processing More...
 
void SetThreadsForError (int nthreads)
 
int GetStep ()
 
void SetTime (REAL time)
 Sets time will be used in dx files. More...
 
REAL GetTime ()
 Gets time used in dx files. More...
 
void ShowShape (const std::string &plotfile, TPZVec< int64_t > &equationindices)
 Graphic of the solution as V3DGrap visualization. More...
 
void ShowShape (const std::string &plotfile, TPZVec< int64_t > &equationindices, int matid, const TPZVec< std::string > &varname)
 Graphic of the solution as V3DGrap visualization. More...
 
void LoadShape (double dx, double dy, int64_t numelem, TPZConnect *nod)
 Make assembling and clean the load and solution vectors. More...
 
virtual void Run (std::ostream &out=std::cout)
 Calls the appropriate sequence of methods to build a solution or a time stepping sequence. More...
 
virtual void DefineGraphMesh (int dimension, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const std::string &plotfile)
 Define GrapMesh as V3D, DX, MV or VTK depending on extension of the file. More...
 
virtual void DefineGraphMesh (int dimension, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const TPZVec< std::string > &tensnames, const std::string &plotfile)
 Define GrapMesh as VTK with tensorial names depending on extension of the file. More...
 
virtual void DefineGraphMesh (int dimension, const std::set< int > &matids, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const std::string &plotfile)
 Define GrapMesh as V3D, DX, MV or VTK depending on extension of the file. More...
 
virtual void DefineGraphMesh (int dimension, const std::set< int > &matids, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const TPZVec< std::string > &tensnames, const std::string &plotfile)
 Define GrapMesh as VTK with tensorial names depending on extension of the file. More...
 
virtual void CloseGraphMesh ()
 Clean the GrapMesh vector. More...
 
TPZGraphMeshGraphMesh (int dimension)
 Defines the postprocessing parameters for the graphical grid. More...
 
virtual void PostProcess (int resolution)
 Draw solution over mesh for all dimensions. More...
 
virtual void PostProcess (int resolution, int dimension)
 Draw solution over mesh by dimension. More...
 
void IdentifyPostProcessingMatIds (int dimension, std::set< int > &matids)
 Fill mat ids with materials with provided dimension wich are not boundary conditinos or interface. More...
 
virtual void LoadSolution ()
 Load the solution into the computable grid. More...
 
virtual void LoadSolution (const TPZFMatrix< STATE > &sol)
 Load the solution into the computable mesh considering sol as Solution vector of the analysis. More...
 
TPZVec< STATE > Integrate (const std::string &varname, const std::set< int > &matids)
 Integrate the postprocessed variable name over the elements included in the set matids. More...
 
void SetExact (std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &deriv)> f)
 Sets the pointer of the exact solution function. More...
 
virtual void PostProcess (TPZVec< REAL > &loc, std::ostream &out=std::cout)
 Compute the local error over all elements and global errors in several norms and print out. More...
 
virtual void PostProcessError (TPZVec< REAL > &, bool store_error=true, std::ostream &out=std::cout)
 Compute the local error over all elements and global errors in several norms and print out without calculating the errors of the variables for hdiv spaces. More...
 
virtual void PostProcessErrorSerial (TPZVec< REAL > &, bool store_error=true, std::ostream &out=std::cout)
 
virtual void PostProcessErrorParallel (TPZVec< REAL > &, bool store_error=true, std::ostream &out=std::cout)
 
void CreateListOfCompElsToComputeError (TPZAdmChunkVector< TPZCompEl *> &elvec)
 
void Print (const std::string &name, std::ostream &out)
 Print connect and solution information. More...
 
void PrintVectorByElement (std::ostream &out, TPZFMatrix< STATE > &vec, REAL tol=1.e-10)
 Print the residual vector for those elements with entry above a given tolerance. More...
 
TPZMatrixSolver< STATE > & Solver ()
 Get the solver matrix. More...
 
void AnimateRun (int64_t num_iter, int steps, TPZVec< std::string > &scalnames, TPZVec< std::string > &vecnames, const std::string &plotfile)
 Run and print the solution step by step. More...
 
void SetSolver (TPZMatrixSolver< STATE > &solver)
 Set solver matrix. More...
 
void SetStructuralMatrix (TPZAutoPointer< TPZStructMatrix > strmatrix)
 Set structural matrix as auto pointer for analysis. More...
 
void SetStructuralMatrix (TPZStructMatrix &strmatrix)
 Set structural matrix for analysis. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
Related over data structure to post processing
virtual void DefineElementTable (int dimension, TPZVec< int64_t > &GeoElIds, TPZVec< REAL > &points)
 Fill the computational element vector to post processing depending over geometric mesh defined. More...
 
virtual void SetTableVariableNames (TPZVec< std::string > varnames)
 Sets the names of the variables into the data structure for post processing. More...
 
virtual void PrePostProcessTable (std::ostream &out_file)
 Prepare data to print post processing and print coordinates. More...
 
virtual void PostProcessTable (std::ostream &out_file)
 Print the solution related with the computational element vector in post process. More...
 
void PostProcessTable (TPZFMatrix< REAL > &pos, std::ostream &out=std::cout)
 Compute and print the local error over all elements in data structure of post process, also compute global errors in several norms. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Public Attributes

std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &deriv)> fExact
 Pointer to Exact solution function, it is necessary to calculating errors. More...
 

Protected Attributes

TPZGeoMeshfGeoMesh
 Geometric Mesh. More...
 
TPZCompMeshfCompMesh
 Computational mesh. More...
 
TPZGraphMeshfGraphMesh [3]
 Graphical mesh. More...
 
TPZFMatrix< STATE > fRhs
 Load vector. More...
 
TPZFMatrix< STATE > fSolution
 Solution vector. More...
 
TPZMatrixSolver< STATE > * fSolver
 Type of solver to be applied. More...
 
TPZVec< std::string > fScalarNames [3]
 Scalar variables names - to post process. More...
 
TPZVec< std::string > fVectorNames [3]
 Vectorial variables names - to post process. More...
 
TPZVec< std::string > fTensorNames [3]
 Tensorial variables names - to post process. More...
 
int fStep
 Time step. More...
 
REAL fTime
 Time variable which is used in dx output. More...
 
int fNthreadsError
 Number of threads to be used for post-processing error. More...
 
TPZAutoPointer< TPZStructMatrixfStructMatrix
 Structural matrix. More...
 
TPZAutoPointer< TPZRenumberingfRenumber
 Renumbering scheme. More...
 
TPZAutoPointer< TPZGuiInterfacefGuiInterface
 Pointer for gui interface object. More...
 
TTablePostProcess fTable
 

Private Member Functions

TPZMatrixSolver< STATE > * BuildSequenceSolver (TPZVec< int64_t > &graph, TPZVec< int64_t > &graphindex, int64_t neq, int numcolors, TPZVec< int > &colors)
 Build a sequence solver based on the block graph and its colors. More...
 

Friends

struct ThreadData
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 

Detailed Description

Implements the sequence of actions to perform a finite element analysis. Analysis.

This class will renumerate the nodes upon construction

Definition at line 32 of file pzanalysis.h.

Member Enumeration Documentation

◆ EPrecond

Preconditioners which can be created by objects of this class.

Enumerator
EJacobi 
EBlockJacobi 
EElement 
ENodeCentered 

Definition at line 37 of file pzanalysis.h.

Constructor & Destructor Documentation

◆ TPZAnalysis() [1/3]

TPZAnalysis::TPZAnalysis ( TPZCompMesh mesh,
bool  mustOptimizeBandwidth = true,
std::ostream &  out = std::cout 
)

Create an TPZAnalysis object from one mesh pointer.

Definition at line 94 of file pzanalysis.cpp.

References fGraphMesh, and SetCompMesh().

◆ TPZAnalysis() [2/3]

TPZAnalysis::TPZAnalysis ( TPZAutoPointer< TPZCompMesh mesh,
bool  mustOptimizeBandwidth = true,
std::ostream &  out = std::cout 
)

Create an TPZAnalysis object from one mesh auto pointer object.

Definition at line 104 of file pzanalysis.cpp.

References fGraphMesh, and SetCompMesh().

◆ TPZAnalysis() [3/3]

TPZAnalysis::TPZAnalysis ( )

Create an empty TPZAnalysis object.

Definition at line 85 of file pzanalysis.cpp.

References fGraphMesh.

Referenced by AmIKilled().

◆ ~TPZAnalysis()

TPZAnalysis::~TPZAnalysis ( void  )
virtual

Destructor: deletes all protected dynamic allocated objects.

Definition at line 166 of file pzanalysis.cpp.

References CleanUp().

Referenced by AmIKilled().

Member Function Documentation

◆ AmIKilled()

bool TPZAnalysis::AmIKilled ( )
inline

Returns if the process was canceled through gui interface.

Definition at line 118 of file pzanalysis.h.

References TPZGuiInterface::AmIKilled(), CleanUp(), TPZAnalysis::TTablePostProcess::Read(), SetCompMesh(), TPZAnalysis(), TPZAnalysis::TTablePostProcess::Write(), and ~TPZAnalysis().

Referenced by TPZSubCompMesh::CalcStiff().

◆ AnimateRun()

void TPZAnalysis::AnimateRun ( int64_t  num_iter,
int  steps,
TPZVec< std::string > &  scalnames,
TPZVec< std::string > &  vecnames,
const std::string &  plotfile 
)

◆ Assemble()

void TPZAnalysis::Assemble ( )
virtual

◆ AssembleResidual()

void TPZAnalysis::AssembleResidual ( )
virtual

◆ BuildPreconditioner()

TPZMatrixSolver< STATE > * TPZAnalysis::BuildPreconditioner ( EPrecond  preconditioner,
bool  overlap 
)

◆ BuildSequenceSolver()

TPZMatrixSolver< STATE > * TPZAnalysis::BuildSequenceSolver ( TPZVec< int64_t > &  graph,
TPZVec< int64_t > &  graphindex,
int64_t  neq,
int  numcolors,
TPZVec< int > &  colors 
)
private

Build a sequence solver based on the block graph and its colors.

Definition at line 1303 of file pzanalysis.cpp.

References TPZSequenceSolver< TVar >::AppendSolver(), ELU, fSolver, TPZMatrixSolver< TVar >::Matrix(), and TPZMatrixSolver< TVar >::ShareMatrix().

Referenced by BuildPreconditioner(), and GetStep().

◆ ClassId()

int TPZAnalysis::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Implements TPZSavable.

Reimplemented in TPZPostProcAnalysis, and TPZSubMeshAnalysis.

Definition at line 1459 of file pzanalysis.cpp.

References Hash().

Referenced by TPZSubMeshAnalysis::ClassId(), and TPZPostProcAnalysis::ClassId().

◆ CleanUp()

void TPZAnalysis::CleanUp ( )

◆ CloseGraphMesh()

void TPZAnalysis::CloseGraphMesh ( )
virtual

Clean the GrapMesh vector.

Definition at line 1022 of file pzanalysis.cpp.

References fGraphMesh.

Referenced by GetStep().

◆ ComputeNumberofLoadCases()

int TPZAnalysis::ComputeNumberofLoadCases ( )

Determine the number of load cases from the material objects and return its value.

this method will modify the material objects so that they have all the same number of load cases the number of load cases is the maximum value of load cases of all material objects

Definition at line 263 of file pzanalysis.cpp.

References fCompMesh, TPZCompMesh::MaterialVec(), TPZMaterial::MinimumNumberofLoadCases(), test::res, and TPZMaterial::SetNumLoadCases().

Referenced by Assemble(), AssembleResidual(), and SetRenumber().

◆ CreateListOfCompElsToComputeError()

void TPZAnalysis::CreateListOfCompElsToComputeError ( TPZAdmChunkVector< TPZCompEl *> &  elvec)

◆ DefineElementTable()

void TPZAnalysis::DefineElementTable ( int  dimension,
TPZVec< int64_t > &  GeoElIds,
TPZVec< REAL > &  points 
)
virtual

◆ DefineGraphMesh() [1/4]

void TPZAnalysis::DefineGraphMesh ( int  dimension,
const TPZVec< std::string > &  scalnames,
const TPZVec< std::string > &  vecnames,
const std::string &  plotfile 
)
virtual

Define GrapMesh as V3D, DX, MV or VTK depending on extension of the file.

Definition at line 952 of file pzanalysis.cpp.

References IdentifyPostProcessingMatIds().

Referenced by DefineGraphMesh(), GetStep(), TPZAnalysisError::PlotLocal(), PosProcessSol(), PYBIND11_MODULE(), TCedricTest::Run(), TPZBuildMultiphysicsMesh::ShowShape(), and ShowShape().

◆ DefineGraphMesh() [2/4]

void TPZAnalysis::DefineGraphMesh ( int  dimension,
const TPZVec< std::string > &  scalnames,
const TPZVec< std::string > &  vecnames,
const TPZVec< std::string > &  tensnames,
const std::string &  plotfile 
)
virtual

Define GrapMesh as VTK with tensorial names depending on extension of the file.

Definition at line 959 of file pzanalysis.cpp.

References DefineGraphMesh(), and IdentifyPostProcessingMatIds().

◆ DefineGraphMesh() [3/4]

void TPZAnalysis::DefineGraphMesh ( int  dimension,
const std::set< int > &  matids,
const TPZVec< std::string > &  scalnames,
const TPZVec< std::string > &  vecnames,
const std::string &  plotfile 
)
virtual

Define GrapMesh as V3D, DX, MV or VTK depending on extension of the file.

Definition at line 1015 of file pzanalysis.cpp.

References DefineGraphMesh().

◆ DefineGraphMesh() [4/4]

void TPZAnalysis::DefineGraphMesh ( int  dimension,
const std::set< int > &  matids,
const TPZVec< std::string > &  scalnames,
const TPZVec< std::string > &  vecnames,
const TPZVec< std::string > &  tensnames,
const std::string &  plotfile 
)
virtual

Define GrapMesh as VTK with tensorial names depending on extension of the file.

Definition at line 965 of file pzanalysis.cpp.

References fCompMesh, fGraphMesh, fScalarNames, fVectorNames, TPZGraphMesh::SetFileName(), and TPZVec< T >::size().

◆ GetGuiInterface()

TPZAutoPointer<TPZGuiInterface> TPZAnalysis::GetGuiInterface ( ) const
inline

Gets gui interface object.

Definition at line 113 of file pzanalysis.h.

References fGuiInterface.

◆ GetStep()

int TPZAnalysis::GetStep ( )
inline

◆ GetTime()

REAL TPZAnalysis::GetTime ( )
inline

Gets time used in dx files.

Definition at line 375 of file pzanalysis.h.

References fTime.

Referenced by GetStep().

◆ GraphMesh()

TPZGraphMesh* TPZAnalysis::GraphMesh ( int  dimension)
inline

Defines the postprocessing parameters for the graphical grid.

Definition at line 243 of file pzanalysis.h.

References DefineElementTable(), IdentifyPostProcessingMatIds(), LoadSolution(), PostProcess(), PostProcessTable(), PrePostProcessTable(), and SetTableVariableNames().

◆ HighestDimension()

int TPZAnalysis::HighestDimension ( )

Returns the dimension of the material which has the highest dimension.

Definition at line 1099 of file pzanalysis.cpp.

References fCompMesh, and TPZCompMesh::MaterialVec().

Referenced by AnimateRun(), and SetRenumber().

◆ IdentifyPostProcessingMatIds()

void TPZAnalysis::IdentifyPostProcessingMatIds ( int  dimension,
std::set< int > &  matids 
)

Fill mat ids with materials with provided dimension wich are not boundary conditinos or interface.

Fill mat ids with materials with dimension dim wich are not boundary conditions or interface.

Definition at line 1039 of file pzanalysis.cpp.

References bc, DebugStop, dimension, TPZMaterial::Dimension(), fCompMesh, TPZMaterial::Id(), and TPZCompMesh::MaterialVec().

Referenced by AnimateRun(), DefineGraphMesh(), and GraphMesh().

◆ Integrate()

TPZVec< STATE > TPZAnalysis::Integrate ( const std::string &  varname,
const std::set< int > &  matids 
)

Integrate the postprocessed variable name over the elements included in the set matids.

Definition at line 1335 of file pzanalysis.cpp.

References TPZCompMesh::Element(), fCompMesh, TPZCompEl::IntegrateSolution(), TPZGeoEl::MaterialId(), TPZCompMesh::MaterialVec(), TPZCompMesh::NElements(), and TPZCompEl::Reference().

Referenced by LoadSolution().

◆ LoadShape()

void TPZAnalysis::LoadShape ( double  dx,
double  dy,
int64_t  numelem,
TPZConnect nod 
)

Make assembling and clean the load and solution vectors.

Definition at line 908 of file pzanalysis.cpp.

References Assemble(), fRhs, fSolution, and TPZFMatrix< TVar >::Zero().

Referenced by GetStep().

◆ LoadSolution() [1/2]

void TPZAnalysis::LoadSolution ( )
virtual

◆ LoadSolution() [2/2]

virtual void TPZAnalysis::LoadSolution ( const TPZFMatrix< STATE > &  sol)
inlinevirtual

◆ Mesh()

TPZCompMesh* TPZAnalysis::Mesh ( ) const
inline

Returns the pointer to the computational mesh.

Definition at line 180 of file pzanalysis.h.

References fCompMesh.

Referenced by TPZSubMeshAnalysis::Assemble(), AssembleResidual(), TPZPostProcAnalysis::AutoBuildDisc(), TPZTransientAnalysis< TRANSIENTCLASS >::ComputeLinearTangentMatrix(), TPZTransientAnalysis< TRANSIENTCLASS >::ComputeMassMatrix(), TPZMulticamadaOrthotropic::ComputeSolution(), TPZElastoPlasticAnalysis::ComputeTangent(), TPZAnalysisError::EvaluateError(), TPZAnalysisError::hp_Adaptive_Mesh_Design(), TPZAnalysisError::HPAdapt(), TPZElastoPlasticAnalysis::IterativeProcess(), TPZEulerAnalysis::PrepareDXMesh(), PYBIND11_MODULE(), TPZElastoPlasticAnalysis::Residual(), TPZEulerAnalysis::RunNewton(), TPZTransientAnalysis< TRANSIENTCLASS >::SetAllMaterialsDeltaT(), TPZElastoPlasticAnalysis::SetBiCGStab(), TPZElastoPlasticAnalysis::SetBiCGStab_Jacobi(), TPZTransientAnalysis< TRANSIENTCLASS >::SetCurrentState(), TPZTransientAnalysis< TRANSIENTCLASS >::SetExplicit(), TPZTransientAnalysis< TRANSIENTCLASS >::SetFluxOnly(), TPZEulerAnalysis::SetFrontalSolver(), TPZEulerAnalysis::SetGMResBlock(), TPZEulerAnalysis::SetGMResFront(), TPZTransientAnalysis< TRANSIENTCLASS >::SetImplicit(), TPZTransientAnalysis< TRANSIENTCLASS >::SetInitialSolution(), TPZTransientAnalysis< TRANSIENTCLASS >::SetInitialSolutionAsZero(), TPZTransientAnalysis< TRANSIENTCLASS >::SetLastState(), TPZElastoPlasticAnalysis::SetLU(), TPZTransientAnalysis< TRANSIENTCLASS >::SetMassMatrix(), TPZPostProcAnalysis::SetPostProcessVariables(), TPZBuildMultiphysicsMesh::ShowShape(), ShowShape(), TPZNonLinMultGridAnalysis::SmoothingSolution(), TPZNonLinMultGridAnalysis::SmoothingSolution2(), TPZNonLinearAnalysis::TPZNonLinearAnalysis(), and TPZPostProcAnalysis::TransferSolution().

◆ OptimizeBandwidth()

void TPZAnalysis::OptimizeBandwidth ( )

◆ PostProcess() [1/3]

void TPZAnalysis::PostProcess ( int  resolution)
virtual

◆ PostProcess() [2/3]

void TPZAnalysis::PostProcess ( int  resolution,
int  dimension 
)
virtual

◆ PostProcess() [3/3]

void TPZAnalysis::PostProcess ( TPZVec< REAL > &  loc,
std::ostream &  out = std::cout 
)
virtual

◆ PostProcessError()

void TPZAnalysis::PostProcessError ( TPZVec< REAL > &  ervec,
bool  store_error = true,
std::ostream &  out = std::cout 
)
virtual

Compute the local error over all elements and global errors in several norms and print out without calculating the errors of the variables for hdiv spaces.

Definition at line 573 of file pzanalysis.cpp.

References fNthreadsError, PostProcessErrorParallel(), and PostProcessErrorSerial().

Referenced by TPZSubCompMesh::EvaluateError(), TCedricTest::InterpolationError(), LoadSolution(), and TCedricTest::Run().

◆ PostProcessErrorParallel()

void TPZAnalysis::PostProcessErrorParallel ( TPZVec< REAL > &  ervec,
bool  store_error = true,
std::ostream &  out = std::cout 
)
virtual

◆ PostProcessErrorSerial()

void TPZAnalysis::PostProcessErrorSerial ( TPZVec< REAL > &  ervec,
bool  store_error = true,
std::ostream &  out = std::cout 
)
virtual

◆ PostProcessTable() [1/2]

void TPZAnalysis::PostProcessTable ( std::ostream &  out_file)
virtual

◆ PostProcessTable() [2/2]

void TPZAnalysis::PostProcessTable ( TPZFMatrix< REAL > &  pos,
std::ostream &  out = std::cout 
)

Compute and print the local error over all elements in data structure of post process, also compute global errors in several norms.

Definition at line 823 of file pzanalysis.cpp.

References TPZCompMesh::ElementVec(), fCompMesh, and TPZChunkVector< T, EXP >::NElements().

◆ PrePostProcessTable()

void TPZAnalysis::PrePostProcessTable ( std::ostream &  out_file)
virtual

◆ Print()

void TPZAnalysis::Print ( const std::string &  name,
std::ostream &  out 
)

◆ PrintVectorByElement()

void TPZAnalysis::PrintVectorByElement ( std::ostream &  out,
TPZFMatrix< STATE > &  vec,
REAL  tol = 1.e-10 
)

◆ Read()

void TPZAnalysis::Read ( TPZStream buf,
void *  context 
)
overridevirtual

◆ Resequence()

void TPZAnalysis::Resequence ( int  firstel = -1)

Recompute the node sequence.

Referenced by SetRenumber().

◆ Rhs()

TPZFMatrix<STATE>& TPZAnalysis::Rhs ( )
inline

◆ Run()

void TPZAnalysis::Run ( std::ostream &  out = std::cout)
virtual

◆ SetCompMesh()

void TPZAnalysis::SetCompMesh ( TPZCompMesh mesh,
bool  mustOptimizeBandwidth 
)
virtual

◆ SetExact()

void TPZAnalysis::SetExact ( std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &deriv)>  f)
inline

Sets the pointer of the exact solution function.

Definition at line 360 of file pzanalysis.h.

References test::f, and fExact.

Referenced by TPZSubCompMesh::EvaluateError(), TCedricTest::InterpolationError(), LoadSolution(), and TCedricTest::Run().

◆ SetGuiInterface()

void TPZAnalysis::SetGuiInterface ( TPZAutoPointer< TPZGuiInterface gui)
inline

Defines gui interface object.

Definition at line 108 of file pzanalysis.h.

Referenced by TPZSubCompMesh::SetAnalysisFrontal(), and TPZSubCompMesh::SetAnalysisSkyline().

◆ SetRenumber()

void TPZAnalysis::SetRenumber ( TPZAutoPointer< TPZRenumbering renumber)
inline

◆ SetSolver()

void TPZAnalysis::SetSolver ( TPZMatrixSolver< STATE > &  solver)

◆ SetStep()

void TPZAnalysis::SetStep ( int  step)
inline

ste the step for post processing

Definition at line 195 of file pzanalysis.h.

Referenced by ShowShape().

◆ SetStructuralMatrix() [1/2]

void TPZAnalysis::SetStructuralMatrix ( TPZAutoPointer< TPZStructMatrix strmatrix)

◆ SetStructuralMatrix() [2/2]

void TPZAnalysis::SetStructuralMatrix ( TPZStructMatrix strmatrix)

Set structural matrix for analysis.

Definition at line 78 of file pzanalysis.cpp.

References TPZStructMatrixOR::Clone().

◆ SetTableVariableNames()

void TPZAnalysis::SetTableVariableNames ( TPZVec< std::string >  varnames)
virtual

Sets the names of the variables into the data structure for post processing.

Definition at line 1152 of file pzanalysis.cpp.

References fTable, and TPZAnalysis::TTablePostProcess::fVariableNames.

Referenced by GraphMesh().

◆ SetThreadsForError()

void TPZAnalysis::SetThreadsForError ( int  nthreads)
inline

Definition at line 200 of file pzanalysis.h.

References nthreads.

◆ SetTime()

void TPZAnalysis::SetTime ( REAL  time)
inline

Sets time will be used in dx files.

Definition at line 371 of file pzanalysis.h.

Referenced by GetStep().

◆ ShowShape() [1/2]

void TPZAnalysis::ShowShape ( const std::string &  plotfile,
TPZVec< int64_t > &  equationindices 
)

◆ ShowShape() [2/2]

void TPZAnalysis::ShowShape ( const std::string &  plotfile,
TPZVec< int64_t > &  equationindices,
int  matid,
const TPZVec< std::string > &  varname 
)

◆ Solution()

TPZFMatrix<STATE>& TPZAnalysis::Solution ( )
inline

◆ Solve()

void TPZAnalysis::Solve ( )
virtual

◆ Solver()

TPZMatrixSolver< STATE > & TPZAnalysis::Solver ( )
inline

◆ StructMatrix()

TPZAutoPointer<TPZStructMatrix> TPZAnalysis::StructMatrix ( )
inline

◆ Write()

void TPZAnalysis::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Writes this object to the TPZStream buffer. Include the classid if withclassid = true.

Writes this object to the TPZStream buffer. Include the classid if withclassid = true

Reimplemented from TPZSavable.

Reimplemented in TPZPostProcAnalysis.

Definition at line 1463 of file pzanalysis.cpp.

References fCompMesh, fGeoMesh, fGraphMesh, fGuiInterface, fNthreadsError, fRenumber, fRhs, fScalarNames, fSolution, fSolver, fStep, fStructMatrix, fTable, fTensorNames, fTime, fVectorNames, TPZStream::Write(), TPZAnalysis::TTablePostProcess::Write(), TPZFMatrix< TVar >::Write(), and TPZPersistenceManager::WritePointer().

Referenced by TPZPostProcAnalysis::Write().

Friends And Related Function Documentation

◆ ThreadData

friend struct ThreadData
friend

Definition at line 353 of file pzanalysis.h.

Member Data Documentation

◆ fCompMesh

TPZCompMesh* TPZAnalysis::fCompMesh
protected

Computational mesh.

Definition at line 44 of file pzanalysis.h.

Referenced by TPZPoroElastoPlasticAnalysis::AcceptSolution(), TPZElastoPlasticAnalysis::AcceptSolution(), AnimateRun(), TPZMGAnalysis::AppendMesh(), TPZTransientAnalysis< TRANSIENTCLASS >::Assemble(), TPZSubMeshAnalysis::Assemble(), TPZEulerAnalysis::Assemble(), Assemble(), TPZEulerAnalysis::AssembleRhs(), TPZEulerAnalysis::BufferLastStateAssemble(), BuildPreconditioner(), TPZElastoPlasticAnalysis::CheckConv(), CleanUp(), TPZEulerAnalysis::CompareRhs(), TPZTransientAnalysis< TRANSIENTCLASS >::ComputeFluxOnly(), ComputeNumberofLoadCases(), TPZNonLinearAnalysis::ComputeTangent(), TPZElastoPlasticAnalysis::ComputeTangent(), CreateListOfCompElsToComputeError(), DefineGraphMesh(), TPZEulerAnalysis::EvaluateFluxEpsilon(), TPZPoroElastoPlasticAnalysis::FindPorousMaterials(), TPZElastoPlasticAnalysis::GetActiveEquations(), HighestDimension(), TPZAnalysisError::hp_Adaptive_Mesh_Design(), TPZElastoPlasticAnalysis::IdentifyEquationsToZero(), IdentifyPostProcessingMatIds(), Integrate(), TPZNonLinearAnalysis::IterativeProcess(), TPZElastoPlasticAnalysis::IterativeProcess(), LoadSolution(), TPZElastoPlasticAnalysis::ManageIterativeProcess(), TPZAnalysisError::MathematicaPlot(), Mesh(), OptimizeBandwidth(), TPZMGAnalysis::PopMesh(), TPZNonLinMultGridAnalysis::PopMesh(), PostProcess(), PostProcessErrorParallel(), PostProcessErrorSerial(), PostProcessTable(), Print(), PrintVectorByElement(), Read(), TPZNonLinearAnalysis::Residual(), TPZElastoPlasticAnalysis::Residual(), Run(), TPZTransientAnalysis< TRANSIENTCLASS >::RunTransient(), TPZPoroElastoPlasticAnalysis::SetAdvancedState(), TPZEulerAnalysis::SetAdvancedState(), TPZPostProcAnalysis::SetCompMesh(), TPZSubMeshAnalysis::SetCompMesh(), SetCompMesh(), TPZPoroElastoPlasticAnalysis::SetContributionTime(), TPZPoroElastoPlasticAnalysis::SetDeltaT(), TPZPoroElastoPlasticAnalysis::SetLastState(), TPZEulerAnalysis::SetLastState(), TPZElastoPlasticAnalysis::SetUpdateMem(), ShowShape(), TPZMGAnalysis::Solve(), TPZEulerAnalysis::Solve(), Solve(), TPZElastoPlasticAnalysis::TPZElastoPlasticAnalysis(), TPZPoroElastoPlasticAnalysis::TPZPoroElastoPlasticAnalysis(), TPZSubMeshAnalysis::TPZSubMeshAnalysis(), TPZEulerAnalysis::UpdateSolAndRhs(), Write(), and TPZPostProcAnalysis::~TPZPostProcAnalysis().

◆ fExact

std::function<void (const TPZVec<REAL> &loc, TPZVec<STATE> &result, TPZFMatrix<STATE> &deriv)> TPZAnalysis::fExact

Pointer to Exact solution function, it is necessary to calculating errors.

Definition at line 99 of file pzanalysis.h.

Referenced by TPZAnalysisError::EvaluateError(), TPZAnalysisError::hp_Adaptive_Mesh_Design(), PostProcess(), PostProcessErrorParallel(), PostProcessErrorSerial(), SetExact(), and TPZMGAnalysis::TPZMGAnalysis().

◆ fGeoMesh

TPZGeoMesh* TPZAnalysis::fGeoMesh
protected

Geometric Mesh.

Definition at line 42 of file pzanalysis.h.

Referenced by CleanUp(), DefineElementTable(), Read(), SetCompMesh(), Write(), and TPZEulerAnalysis::WriteCMesh().

◆ fGraphMesh

TPZGraphMesh* TPZAnalysis::fGraphMesh[3]
protected

Graphical mesh.

Definition at line 46 of file pzanalysis.h.

Referenced by CleanUp(), CloseGraphMesh(), DefineGraphMesh(), PostProcess(), Read(), SetCompMesh(), TPZAnalysis(), and Write().

◆ fGuiInterface

TPZAutoPointer<TPZGuiInterface> TPZAnalysis::fGuiInterface
protected

Pointer for gui interface object.

Definition at line 74 of file pzanalysis.h.

Referenced by TPZSubMeshAnalysis::Assemble(), Assemble(), AssembleResidual(), CleanUp(), GetGuiInterface(), Read(), and Write().

◆ fNthreadsError

int TPZAnalysis::fNthreadsError
protected

Number of threads to be used for post-processing error.

Definition at line 65 of file pzanalysis.h.

Referenced by PostProcessError(), PostProcessErrorParallel(), Read(), and Write().

◆ fRenumber

TPZAutoPointer<TPZRenumbering> TPZAnalysis::fRenumber
protected

Renumbering scheme.

Definition at line 71 of file pzanalysis.h.

Referenced by CleanUp(), OptimizeBandwidth(), Read(), and Write().

◆ fRhs

TPZFMatrix<STATE> TPZAnalysis::fRhs
protected

◆ fScalarNames

TPZVec<std::string> TPZAnalysis::fScalarNames[3]
protected

Scalar variables names - to post process.

Definition at line 54 of file pzanalysis.h.

Referenced by CleanUp(), DefineGraphMesh(), Read(), and Write().

◆ fSolution

TPZFMatrix<STATE> TPZAnalysis::fSolution
protected

Solution vector.

Definition at line 50 of file pzanalysis.h.

Referenced by TPZPoroElastoPlasticAnalysis::AcceptSolution(), TPZElastoPlasticAnalysis::AcceptSolution(), AnimateRun(), TPZMGAnalysis::AppendMesh(), TPZElastoPlasticAnalysis::CheckConv(), CleanUp(), TPZElastoPlasticAnalysis::IterativeProcess(), TPZNonLinearAnalysis::IterativeProcess(), TPZElastoPlasticAnalysis::IterativeProcessPrecomputedMatrix(), LoadShape(), TPZSubMeshAnalysis::LoadSolution(), TPZSubMeshFrontalAnalysis::LoadSolution(), TPZNonLinearAnalysis::LoadSolution(), LoadSolution(), TPZMGAnalysis::PopMesh(), TPZNonLinMultGridAnalysis::PopMesh(), PostProcess(), PostProcessErrorParallel(), PostProcessErrorSerial(), Print(), Read(), TPZSubMeshFrontalAnalysis::Run(), TPZEulerAnalysis::Run(), TPZSubMeshAnalysis::Run(), TPZTransientAnalysis< TRANSIENTCLASS >::RunExplicit(), TPZTransientAnalysis< TRANSIENTCLASS >::RunTransient(), TPZPoroElastoPlasticAnalysis::SetAdvancedState(), TPZEulerAnalysis::SetAdvancedState(), SetCompMesh(), TPZTransientAnalysis< TRANSIENTCLASS >::SetInitialSolution(), TPZTransientAnalysis< TRANSIENTCLASS >::SetInitialSolutionAsZero(), TPZPoroElastoPlasticAnalysis::SetLastState(), TPZEulerAnalysis::SetLastState(), ShowShape(), Solution(), TPZNonLinearAnalysis::SolutionNorm(), TPZMGAnalysis::Solve(), Solve(), TPZElastoPlasticAnalysis::TPZElastoPlasticAnalysis(), TPZNonLinearAnalysis::TPZNonLinearAnalysis(), TPZNonLinMultGridAnalysis::TPZNonLinMultGridAnalysis(), TPZPostProcAnalysis::TransferSolution(), TPZElastoPlasticAnalysis::TransferSolution(), TPZEulerAnalysis::UpdateHistory(), TPZEulerAnalysis::UpdateSolAndRhs(), and Write().

◆ fSolver

TPZMatrixSolver<STATE>* TPZAnalysis::fSolver
protected

◆ fStep

int TPZAnalysis::fStep
protected

Time step.

Definition at line 60 of file pzanalysis.h.

Referenced by GetStep(), PostProcess(), Read(), SetCompMesh(), and Write().

◆ fStructMatrix

TPZAutoPointer<TPZStructMatrix> TPZAnalysis::fStructMatrix
protected

◆ fTable

TTablePostProcess TPZAnalysis::fTable
protected

◆ fTensorNames

TPZVec<std::string> TPZAnalysis::fTensorNames[3]
protected

Tensorial variables names - to post process.

Definition at line 58 of file pzanalysis.h.

Referenced by Read(), and Write().

◆ fTime

REAL TPZAnalysis::fTime
protected

Time variable which is used in dx output.

Definition at line 62 of file pzanalysis.h.

Referenced by GetTime(), TPZTransientAnalysis< TRANSIENTCLASS >::PostProcess(), PostProcess(), Read(), SetCompMesh(), and Write().

◆ fVectorNames

TPZVec<std::string> TPZAnalysis::fVectorNames[3]
protected

Vectorial variables names - to post process.

Definition at line 56 of file pzanalysis.h.

Referenced by CleanUp(), DefineGraphMesh(), Read(), and Write().


The documentation for this class was generated from the following files: