136 void SetName(
const std::string &nm);
187 return fElementVec[iel];
191 return fElementVec[iel];
284 virtual void Print(std::ostream & out = std::cout)
const;
405 fDefaultOrder = order;
457 virtual void AutoBuild(
const std::set<int> *MaterialIDs);
469 virtual void AutoBuild(
const std::set<int> &MaterialIDs){
530 #ifndef STATE_COMPLEX int64_t NElements() const
Number of computational elements allocated.
virtual void MakeInternal(int64_t local)
Makes a specified connection a internal mesh connection.
void SetAllCreateFunctionsHDivPressure(int meshdim)
Create an approximation space with HDiv elements and full basis for quadrilateral element...
TPZFMatrix< STATE > & ElementSolution()
Access method for the element solution vectors.
TPZGeoMesh * Reference() const
Returns a pointer to the geometrical mesh associated.
void SetAllCreateFunctionsMultiphysicElemWithMem()
Create an approximation space based on multiphysics elements with memory.
void SetAllCreateFunctionsDiscontinuous()
Create discontinuous approximation spaces.
This class performs a series of consistency tests on geometric transformations between elements...
void SetAllCreateFunctions(TPZCompEl &cel, TPZCompMesh *mesh)
Create approximation spaces corresponding to the space defined by cel.
void SetElementSolution(int64_t i, TPZVec< STATE > &sol)
Set a ith element solution, expanding the element-solution matrix if necessary.
int AllocateNewElement()
Makes more room for new elements.
virtual TPZCompMesh * FatherMesh() const
Get the father meshes stack.
void AdjustBoundaryElements()
Will refine the elements associated with a boundary condition till there are no elements constrained ...
Contains declaration of the TPZSavable class which defines the interface to save and restore objects ...
void SetAllCreateFunctionsContinuousWithMem()
Create an approximation space with continous elements with memory. Only dimension 3 elements quem hav...
void SetAllCreateFunctionsContinuous()
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...
void SetName(const std::string &nm)
Set the mesh name.
TPZFMatrix< STATE > fSolution
Solution vector.
TPZAdmChunkVector< TPZCompEl * > fElementVec
List of pointers to elements.
void SetOrder(int order, int64_t index)
Set the order of the shapefunction associated with the connect.
int64_t NEquations()
This computes the number of equations associated with non-restrained nodes.
void ConvertDiscontinuous2Continuous(REAL eps, int opt, int dim, TPZVec< STATE > &celJumps)
This method compute the jump solution of interface and convert discontinuous elements with jump less ...
int64_t NIndependentConnects()
Number of independent connect objects.
void CheckUniqueId()
Verify is the ids of the elements and nodes are unique.
virtual int64_t AllocateNewConnect(int nshape, int nstate, int order)
Returns an index to a new connect.
void SaddlePermute()
Put the sequence number of the pressure connects after the seq number of the flux connects...
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Templated vector implementation.
TPZCompMesh * ComputeMesh(TPZVec< int64_t > &accumlist, int64_t numaggl)
Creates a mesh inserting into accumlist the element list to more refined mesh.
int ClassId() const override
Returns the unique identifier for reading/writing objects to streams.
Contains declaration of TPZCheckGeom class which performs a series of consistency tests on geometric ...
const TPZAdmChunkVector< TPZConnect > & ConnectVec() const
TPZVec< STATE > Integrate(const std::string &varname, const std::set< int > &matids)
Integrate the variable name over the mesh.
std::string & Name()
Returns the mesh name.
TPZFMatrix< STATE > & SolutionN()
Access the previous solution vector.
void SetLagrangeMultiplier(unsigned char mult)
Set the connect as a pressure connect or not.
std::map< int,TPZMaterial *> MaterialVec() const
Returns a reference to the material pointers vector.
void SetAllCreateFunctionsContinuousReferred()
Create a continuous approximation space with referred elements.
Declarates the TPZBlock<REAL>class which implements block matrices.
virtual int64_t TransferElement(TPZCompMesh *mesh, int64_t elindex)
Transfer one element form a submesh to another mesh.
size_t NMaterials() const
Number of materials.
int64_t NElements() const
Access method to query the number of elements of the vector.
REAL val(STATE &number)
Returns value of the variable.
virtual int64_t TransferElementFrom(TPZCompMesh *mesh, int64_t elindex)
Transfer one element from a specified mesh to the current submesh.
Implements a chunk vector with free store administration. Utility.
void ComputeFillIn(int64_t resolution, TPZFMatrix< REAL > &fillin)
This method will fill the matrix passed as parameter with a representation of the fillin of the globa...
virtual void BuildCornerConnectList(std::set< int64_t > &connectindexes) const
adds the connect indexes associated with base shape functions to the set
void CleanUp()
Delete all the dynamically allocated data structures.
void SetAllCreateFunctionsDiscontinuousReferred()
Create a discontinuous approximation space with referred elements.
void LoadReferences()
Map this grid in the geometric grid.
void RemakeAllInterfaceElements()
Deletes all interfaces and rebuild them all.
void ComputeElGraph(TPZStack< int64_t > &elgraph, TPZVec< int64_t > &elgraphindex)
Computes the connectivity graph of the elements, as appropriate for the TPZRenumbering class...
void SetAllCreateFunctionsMultiphysicElem()
Create an approximation space based on multiphysics elements.
void SetDefaultOrder(int order)
This abstract class defines the behaviour which each derived class needs to implement.
void GetElementPatch(TPZVec< int64_t > nodtoelgraph, TPZVec< int64_t > nodtoelgraphindex, TPZStack< int64_t > &elgraph, TPZVec< int64_t > &elgraphindex, int64_t elind, TPZStack< int64_t > &patch)
Gives the element patch.
void BuildTransferMatrix(TPZCompMesh &coarsemesh, TPZTransfer< STATE > &transfer)
Builds the transfer matrix from the current grid to the coarse grid.
TPZAutoPointer< TPZGeoMesh > fGMesh
Autopointer to the geometric mesh used in case the user has passed an autopointer.
void SetAllCreateFunctionsHDiv(int meshdim)
Create an approximation space with HDiv elements.
virtual void AutoBuildContDisc(const TPZVec< TPZGeoEl *> &continuous, const TPZVec< TPZGeoEl *> &discontinuous)
Creates the computational elements, and the degree of freedom nodes.
TPZCompEl * CreateCompEl(TPZGeoEl *gel, int64_t &index)
Create a computational element based on the geometric element.
TPZCompEl * Element(int64_t iel)
void LoadSolution(const TPZFMatrix< STATE > &sol)
Given the solution of the global system of equations, computes and stores the solution for the restri...
int fDefaultOrder
Default order for all elements of this mesh.
TPZCreateApproximationSpace & ApproxSpace()
Contains declaration of TPZMesh class which defines a geometrical mesh and contains a corresponding l...
void GetRefPatches(std::set< TPZGeoEl *> &grpatch)
Gives all patches of the mesh.
void SetAllCreateFunctionsDiscontinuousReferred()
virtual void Skyline(TPZVec< int64_t > &skyline)
This method computes the skyline of the system of equations.
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
const TPZAdmChunkVector< TPZCompEl * > & ElementVec() const
Returns a reference to the element pointers vector.
TPZCompMesh * Clone() const
Clone this mesh.
void SetAllCreateFunctionsDiscontinuous()
void Read(TPZStream &buf, void *context) override
Read the element data from a stream.
void SetAllCreateFunctions(TPZCompEl &cel)
virtual void ExpandSolution()
Adapt the solution vector to new block dimensions.
void SetSequenceNumber(int64_t i)
Set the sequence number for the global system of equations of the connect object. ...
void SetAllCreateFunctionsContinuousWithMem()
void SetAllCreateFunctionsHDiv()
Contains declaration of TPZConnect class which represents a set of shape functions associated with a ...
void SetNState(int nstate)
Set the number of state variables.
int Dimension() const
Returns the dimension of the simulation.
void Coarsen(TPZVec< int64_t > &elements, int64_t &index, bool CreateDiscontinuous=false)
Create a computational element father for the comp. elem. into elements.
void SetReference(TPZGeoMesh *gmesh)
Sets the geometric reference mesh.
virtual void ComputeNodElCon()
Compute the number of elements connected to each connect object.
void Divide(int64_t index, TPZVec< int64_t > &subindex, int interpolate=0)
Divide the element corresponding to index.
TPZMaterial * FindMaterial(int id)
Find the material with identity id.
virtual int64_t PutinSuperMesh(int64_t local, TPZCompMesh *super)
Put an local connection in the supermesh - Supermesh is one mesh who contains the analised submesh...
unsigned int NShape() const
void SetNShape(int nshape)
Set the number of shape functions associated with the connect.
void GetNodeToElGraph(TPZVec< int64_t > &nodtoelgraph, TPZVec< int64_t > &nodtoelgraphinde, TPZStack< int64_t > &elgraph, TPZVec< int64_t > &elgraphindexx)
Gives the conects graphs.
TPZBlock< STATE > & Block()
Access the block structure of the solution vector.
TPZFMatrix< STATE > fElementSolution
Solution vectors organized by element.
void SetAllCreateFunctionsContinuous()
Create continuous approximation spaces.
virtual int64_t TransferElementTo(TPZCompMesh *mesh, int64_t elindex)
Transfer one element from a submesh to another mesh.
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...
void SetNMeshes(int64_t nmeshes)
int64_t NConnects() const
Number of connects allocated including free nodes.
TPZCompMesh(TPZGeoMesh *gr=0)
Constructor from geometrical mesh.
TPZGeoMesh * fReference
Geometric grid to which this grid refers.
TPZAdmChunkVector< TPZConnect > & ConnectVec()
Return a reference to the connect pointers vector.
TPZFMatrix< STATE > fSolN
Solution at previous state.
int SetNBlocks(const int num_of_blocks)
Sets number of blocks on diagonal matrix.
int Consolidate()
Will build the list of element boundary conditions build the list of connect boundary conditions...
TPZBlock< STATE > fBlock
Block structure to right construction of the stiffness matrix and load vector.
int BandWidth()
This method computes the bandwidth of the system of equations.
void SetDimModel(int dim)
Set de dimension of the domain of the problem.
unsigned char NState() const
Number of state variables associated with the connect.
void UpdatePreviousState(STATE mult=1.0)
std::map< int,TPZMaterial *> & MaterialVec()
Returns a reference to the material pointers vector.
Contains TPZMatrix<TVar>class, root matrix class.
int NBlocks() const
Returns number of blocks on diagonal.
TPZBlock< STATE > fSolutionBlock
Block structure of the solution vector ????
virtual void MakeAllInternal()
Make all mesh connections internal mesh connections. Connects to an internal connection.
int InsertMaterialObject(TPZMaterial *mat)
Insert a material object in the datastructure.
virtual void CleanUpUnconnectedNodes()
Delete the nodes which have no elements connected to them.
TPZCompEl * CreateCompEl(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index) const
Create a computational element using the function pointer for the topology.
void AssembleError(TPZFMatrix< REAL > &estimator, int errorid)
Assemble the vector with errors estimators.
virtual ~TPZCompMesh()
Simple Destructor.
int Dimension()
Get Dimension.
Free store vector implementation in chunks.
This class implements a geometric mesh for the pz environment. Geometry.
virtual REAL CompareMesh(int var, char *matname)
This method will initiate the comparison between the current computational mesh and the mesh which is...
const TPZCompEl * Element(int64_t iel) const
Implements computational mesh. Computational Mesh.
void SetAllCreateFunctionsHDivPressure()
Contains the functions to create different computational elements (one- two- three-dimensional).
TPZAdmChunkVector< TPZCompEl * > & ElementVec()
Returns a reference to the element pointers vector.
void BuildTransferMatrixDesc(TPZCompMesh &transfermesh, TPZTransfer< STATE > &transfer)
To discontinuous elements.
void BuildMesh(TPZCompMesh &cmesh, const std::set< int > &MaterialIDs) const
Creates the computational elements, and the degree of freedom nodes.
virtual TPZCompMesh * CommonMesh(TPZCompMesh *mesh)
Gives the commom father mesh of the specified mesh and the current submesh.
void EvaluateError(std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> fp, bool store_error, TPZVec< REAL > &errorSum)
Evaluates the error given the two vectors of the analised parameters.
TPZCompMesh & operator=(const TPZCompMesh ©)
copy the content of the mesh
TPZCreateApproximationSpace fCreate
The object which defines the type of space being created.
virtual void AutoBuild(const std::set< int > &MaterialIDs)
Creates the computational elements, and the degree of freedom nodes.
std::string fName
Grid name for model identification.
void RemoveDepend(int64_t myindex, int64_t dependindex)
Remove dependency between connects if exist.
void CopyMaterials(TPZCompMesh &mesh) const
Copies the materials of this mesh to the given mesh.
void AutoBuild(const TPZVec< int64_t > &gelindexes)
build the computational elements for the geometric element indexes
std::map< int, TPZMaterial *> fMaterialVec
Map of pointers to materials.
Defines the interface for saving and reading data. Persistency.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
void ModifyPermute(TPZVec< int64_t > &permute, int64_t lagrangeq, int64_t maxeq)
Modify the permute vector swapping the lagrangeq with maxeq and shifting the intermediate equations...
void SetAllCreateFunctionsContinuousReferred()
void SetAllCreateFunctionsMultiphysicElemWithMem()
virtual TPZCompMesh * RootMesh(int64_t local)
Returns the rootmesh who have the specified connection.
void InitializeBlock()
Resequence the block object, remove unconnected connect objects and reset the dimension of the soluti...
Implements rectangular matrix which extends a solution vector of the coarse mesh to a solution vector...
void ProjectSolution(TPZFMatrix< STATE > &projectsol)
REAL MaximumRadiusOfMesh()
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
void ConnectSolution(std::ostream &out)
Print the solution by connect index.
Defines the interface of a computational element. Computational Element.
void SetAllCreateFunctionsMultiphysicElem()
void TransferMultiphysicsSolution()
Transfer multiphysics mesh solution.
void Discontinuous2Continuous(int64_t disc_index, int64_t &new_index)
This method convert a discontinuous element with index disc_index in continuous element.
TPZFMatrix< STATE > & Solution()
Access the solution vector.
virtual void AutoBuild()
Creates the computational elements, and the degree of freedom nodes.
void Write(TPZStream &buf, int withclassid) const override
Save the element data to a stream.
TPZAdmChunkVector< TPZConnect > fConnectVec
List of pointers to nodes.
virtual void Print(std::ostream &out=std::cout) const
Prints mesh data.
virtual int64_t GetFromSuperMesh(int64_t superind, TPZCompMesh *super)
Get an external connection from the supermesh - Supermesh is one mesh who contains the analised subme...
void Permute(TPZVec< int64_t > &permute)
Permute the sequence number of the connect objects It is a permute gather operation.