65 static LoggerPtr PPAnalysisLogger(Logger::getLogger(
"pz.analysis.postproc"));
144 if (!pcPostProcMesh) {
152 for(
int i = 0; i < nMat; i++)
157 PZError <<
"Error at " << __PRETTY_FUNCTION__ <<
" TPZPostProcAnalysis::SetPostProcessVariables() material Id " << matIds[i] <<
" not found in original mesh!\n";
185 std::map<TPZGeoEl *,TPZCompEl *> geltocreate;
187 for (i=0; i<nelem; i++) {
204 geltocreate[elvec[i]] = gel->
Reference();
209 neltocreate = geltocreate.size();
211 std::set<int> matnotfound;
216 std::map<TPZGeoEl *, TPZCompEl *>::iterator it;
217 for (it=geltocreate.begin(); it!= geltocreate.end(); it++)
225 matnotfound.insert(matid);
257 for (
int ic=0; ic<nc; ic++) {
280 for (int64_t ic=0; ic<nc; ic++) {
288 if(PPAnalysisLogger->isDebugEnabled())
290 std::stringstream sout;
297 if(matnotfound.size())
299 std::cout <<
"Post-processing mesh was created without these materials: ";
300 std::set<int>::iterator it;
301 for(it = matnotfound.begin(); it!= matnotfound.end(); it++)
303 std::cout << *it <<
" ";
305 std::cout << std::endl;
313 PZError <<
"Error at " << __PRETTY_FUNCTION__ <<
" TPZPostProcAnalysis::Assemble() should never be called\n";
317 PZError <<
"Error at " << __PRETTY_FUNCTION__ <<
" TPZPostProcAnalysis::Solve() should never be called\n";
338 for (int64_t el=0; el<nelem; el++) {
343 int64_t index = cel->
Index();
344 for (int64_t isol=0; isol<numelsol; isol++) {
int64_t NElements() const
Number of computational elements allocated.
TPZFMatrix< STATE > & ElementSolution()
Access method for the element solution vectors.
TPZGeoMesh * Reference() const
Returns a pointer to the geometrical mesh associated.
Contains TPZShapeTetra class which implements the shape functions of a tetrahedral element...
Contains TPZAnalysis class which implements the sequence of actions to perform a finite element analy...
Contains declaration of TPZIntelGen class which implements a generic computational element...
virtual int NPoints() const =0
Returns number of points for the cubature rule related.
int Set(const int index, const int dim, const int pos=-1)
Modifies existing block dimensions or creates a new block with given index.
Represents a set of shape functions associated with a computational element/side. Computational Eleme...
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.
Implements a vector class which allows to use external storage provided by the user. Utility.
int MaterialId() const
Returns the material index of the element.
TPZFMatrix< STATE > fSolution
Solution vector.
TPZCompEl * ReferredEl(int64_t index)
virtual void Solve() override
void SetOrder(int order, int64_t index)
Set the order of the shapefunction associated with the connect.
virtual TPZCompEl * Element(int64_t elindex)=0
virtual int NConnectShapeF(int icon, int order) const =0
Returns the number of shapefunctions associated with a connect.
void SetPostProcessVarIndexList(TPZVec< std::string > &varIndexNames, TPZMaterial *pRefMat)
Informs the vector with all the variable indexes requested for post processing and the reference to t...
void LoadReferred(TPZCompMesh *mesh)
Templated vector implementation.
int ClassId() const override
Define the class id associated with the class.
groups all classes dedicated to the computation of shape functions
TPZCompMesh * fCompMesh
Computational mesh.
static TPZCompEl * CreatePyramEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
Contains the TPZPoint class which defines the topology of a point.
Contains the TPZRefQuad class which implements the uniform refinement of a geometric quadrilateral el...
void Read(TPZStream &buf, void *context) override
Read the element data from a stream.
TPZCompMesh * Mesh() const
Returns the pointer to the computational mesh.
void SetCreateFunctions(TPZVec< TCreateFunction > &createfuncs)
Set custom function pointers.
Contains the declaration of the TPZMultiphysicsElement class. This class is abstract.
int64_t NElements() const
Access method to query the number of elements of the vector.
Implements a chunk vector with free store administration. Utility.
virtual const TPZIntPoints & GetIntegrationRule() const override=0
Returns a reference to an integration rule suitable for integrating the interior of the element...
void Write(TPZStream &buf, int withclassid) const override
Save the element data to a stream.
static TPZSavable * GetInstance(const int64_t &objId)
void LoadReferences()
Map this grid in the geometric grid.
void SetPostProcessVariables(TPZVec< int > &matIds, TPZVec< std::string > &varNames)
Contains the TPZTriangle class which defines the topology of a triangle.
Contains TPZShapeLinear class which implements the shape functions of a linear one-dimensional elemen...
Contains the TPZRefPyramid class which implements the uniform refinement of a geometric hexahedral el...
Contains the TPZTetrahedron class which defines the topology of the tetrahedron element.
Abstract class defining integration rules. Numerical Integration.
void CleanUp()
deletes all data structures
This abstract class defines the behaviour which each derived class needs to implement.
Contains TPZShapeCube class which implements the shape functions of a hexaedral element.
TPZCompEl * CreateCompEl(TPZGeoEl *gel, int64_t &index)
Create a computational element based on the geometric element.
static TPZCompEl * CreatePostProcDisc(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
Contains the TPZRefPrism class which implements the uniform refinement of a geometric prism element...
static TPZCompEl * CreateCubeEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
TPZCreateApproximationSpace & ApproxSpace()
Contains declaration of TPZMesh class which defines a geometrical mesh and contains a corresponding l...
int64_t SequenceNumber() const
Returns the Sequence number of the connect object.
Implements the sequence of actions to perform a finite element analysis. Analysis.
virtual void LoadSolution()
Load the solution into the computable grid.
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
Contains declaration of TPZCompMeshReferred class which implements the structure to allow one mesh to...
static TPZCompEl * CreateTriangleEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
Contains the TPZGeoTetrahedra class which implements the geometry of a tetrahedral element...
virtual void SetIntegrationRule(TPZIntPoints *intrule)
Method to set a dynamically allocated integration rule.
#define DebugStop()
Returns a message to user put a breakpoint in.
virtual void ExpandSolution()
Adapt the solution vector to new block dimensions.
#define LOGPZ_DEBUG(A, B)
Define log for debug info.
Contains the TPZQuadrilateral class which defines the topology of a quadrilateral element...
int NumInterfaces()
Returns number of TPZInterfaceElement pointing to this.
TPZMaterial * FindMaterial(int id)
Find the material with identity id.
TPZCompEl * Reference() const
Return a pointer to the element referenced by the geometric element.
Implements the structure to allow one mesh to refer to the solution of another. Geometry.
unsigned int NShape() const
void SetNShape(int nshape)
Set the number of shape functions associated with the connect.
virtual void Assemble() override
const TPZBlock< STATE > & Block() const
Access the block structure of the solution vector.
Contains declaration of the TPZAutoPointer class which has Increment and Decrement actions are mutexe...
static TPZCompEl * CreateTetraEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
int64_t NConnects() const
Number of connects allocated including free nodes.
TPZAdmChunkVector< TPZConnect > & ConnectVec()
Return a reference to the connect pointers vector.
int64_t Index() const
Returns element index of the mesh fELementVec list.
Contains TPZShapePoint class which implements the shape function associated with a point...
int SetNBlocks(const int num_of_blocks)
Sets number of blocks on diagonal matrix.
Contains declaration of TPZCompMesh class which is a repository for computational elements...
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
virtual TPZConnect & Connect(int i) const
Returns a pointer to the ith node.
Contains the TPZGeoCube class which implements the geometry of hexahedra element. ...
Contains the TPZPyramid class which defines the topology of a pyramid element.
unsigned char NState() const
Number of state variables associated with the connect.
virtual int GetPreferredOrder()
Returns the prefered order for the element.
int32_t Hash(std::string str)
Contains the TPZGeoPoint class which implements the geometry of a point element or 0-D element...
virtual int64_t ConnectIndex(int i) const =0
Returns the index of the ith connectivity of the element.
virtual int HasSubElement() const =0
Return 1 if the element has subelements.
This class implements the TPZCompEl structure to enable copying the solution of the referred compEl a...
Contains TPZShapePrism class which implements the shape functions of a prism element.
Implements the interfaces for TPZCompElDisc, TPZInterfaceElement and TPZInterpolatedElement. Computational element.
int NBlocks() const
Returns number of blocks on diagonal.
virtual int NConnects() const =0
Returns the number of nodes of the element.
virtual void SetPreferredOrder(int order)=0
Defines the desired order for entire element.
Contains the TPZRefTriangle class which implements the uniform refinement of a geometric triangular e...
void Read(TPZStream &buf, void *context) override
read objects from the stream
int InsertMaterialObject(TPZMaterial *mat)
Insert a material object in the datastructure.
Contains the TPZRefTetrahedra class which implements the uniform refinement of a geometric tetrahedra...
int ClassId() const override
Returns the unique identifier for reading/writing objects to streams.
virtual void AssembleResidual()
Assemble the load vector.
TPZCompMesh * ReferredMesh() const
This class implements a geometric mesh for the pz environment. Geometry.
void ResetReference()
Reset the element referenced by the geometric element to NULL.
Implements computational mesh. Computational Mesh.
Contains the functions to create different computational elements (one- two- three-dimensional).
virtual ~TPZPostProcAnalysis()
TPZAdmChunkVector< TPZCompEl * > & ElementVec()
Returns a reference to the element pointers vector.
TPZPostProcAnalysis & operator=(const TPZPostProcAnalysis ©)
Contains declaration of TPZInterpolatedElement class which implements computational element of the in...
Contains the TPZRefLinear class which implements the uniform refinement of a geometric linear element...
int64_t Cols() const
Returns number of cols.
Contains TPZShapePiram class which implements the shape functions of a pyramid element.
Contains the TPZGeoPyramid class which implements the geometry of pyramid element.
Defines the interface for saving and reading data. Persistency.
int64_t NElements() const
Returns the number of elements of the vector.
virtual const TPZIntPoints & GetIntegrationRule() const
static TPZCompEl * CreateLinearEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
TPZFMatrix< STATE > & Rhs()
Returns the load vector.
virtual TPZIntPoints * Clone() const =0
Make a clone of the related cubature rule.
Contains the TPZGeoPrism class which implements the geometry of a prism element.
clarg::argInt porder("-porder", "polinomial order", 1)
Contains the TPZCube class which defines the topology of the hexahedron element.
Contains the TPZLine class which defines the topology of a line element.
void InitializeBlock()
Resequence the block object, remove unconnected connect objects and reset the dimension of the soluti...
Contains the declaration of TPZCompElPostProc class.
void SetCompMesh(TPZCompMesh *pRef, bool mustOptimizeBandwidth=false) override
Set the computational mesh we are going to post process.
static TPZCompEl * CreatePointEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
static TPZCompEl * CreateQuadEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
virtual void Print(std::ostream &out=std::cout)
Print all relevant data of the element to cout.
void ResetReference()
Resets all load references in elements and nodes.
Contains the TPZPrism class which defines the topology of a Prism.
Defines the interface of a computational element. Computational Element.
Contains TPZShapeQuad class which implements the shape functions of a quadrilateral element...
Contains the TPZRefCube class which implements the uniform refinement of a geometric hexahedral eleme...
Contains the TPZRefPoint class which implements the uniform refinement of a geometric point element...
static TPZCompEl * CreatePrismEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
static void WritePointer(const TPZSavable *obj, TPZStream *stream)
Contains TPZShapeTriang class which implements the shape functions of a triangular element...
Implements an interface to register a class id and a restore function. Persistence.
#define PZError
Defines the output device to error messages and the DebugStop() function.
virtual void Print(std::ostream &out=std::cout) const
Prints mesh data.
TPZAdmChunkVector< TPZGeoEl * > & ElementVec()
Methods for handling pzlists.
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
Implements a generic computational element. Computational Element.
static void SetAllCreateFunctionsPostProc(TPZCompMesh *cmesh)