89 PZError <<
"\nPLEASE IMPLEMENT ME: " << __PRETTY_FUNCTION__ <<
"\n";
94 std::cout <<
"TPZSubCompMesh::Clone should be implemented\n";
99 std::map<int64_t,int64_t> & gl2lcConMap,
100 std::map<int64_t,int64_t> & gl2lcElMap)
const override 102 std::cout <<
"TPZSubCompMesh::Clone should be implemented\n";
239 virtual void Print(std::ostream &out = std::cout)
const override;
376 virtual int ClassId()
const override;
379 virtual void Write(
TPZStream &buf,
int withclassid)
const override;
390 fLagrangeEquations.push_back(std::pair<int64_t,int>(connectindex,idf));
401 virtual bool HasMaterial(
const std::set<int> &materialids)
const override;
Represents a graphical mesh used for post processing purposes. Post processing.
virtual int64_t GetFromSuperMesh(int64_t superind, TPZCompMesh *super) override
Gets an external connection from the supermesh - Supermesh is one mesh who contains the analised subm...
virtual TPZCompEl * ClonePatchEl(TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override
Method for creating a copy of the element in a patch mesh.
TPZAutoPointer< TPZAnalysis > fAnalysis
Pointer to submesh analysis object. Defines the resolution type.
Contains TPZAnalysis class which implements the sequence of actions to perform a finite element analy...
virtual TPZCompMesh * RootMesh(int64_t local) override
Returns the rootmesh who have the specified connection.
Represents a set of shape functions associated with a computational element/side. Computational Eleme...
virtual TPZCompEl * Clone(TPZCompMesh &mesh) const override
Method for creating a copy of the element.
virtual TPZVec< STATE > IntegrateSolution(const std::string &varname, const std::set< int > &matids) override
Compute the integral of a variable defined by the string if the material id is included in matids...
int64_t NodeIndex(int64_t nolocal, TPZCompMesh *super)
Gives the id node of one local node in containing mesh.
Analysis procedure to computational sub mesh. Analysis.
virtual void CalcResidual(TPZElementMatrix &ef) override
Computes the element right hand side.
TPZManVector< int64_t > fConnectIndex
Pointer to external location index of the connection.
virtual int64_t AllocateNewConnect(int nshape, int nstate, int order) override
Virtual Method to allocate new connect.
clarg::argInt dimension("-d", "Matrices dimension M x M", 1000)
virtual void CalcStiff(TPZElementMatrix &ek, TPZElementMatrix &ef) override
Calculates the submesh stiffness matrix.
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Templated vector implementation.
void InitializeEF(TPZElementMatrix &ef)
Initialize the datastructure of ef.
virtual void CreateGraphicalElement(TPZGraphMesh &graphmesh, int dimension) override
Creates corresponding graphical element(s) if the dimension matches graphical elements are used to ge...
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
virtual int Dimension() const override
Virtual Method! See declaration in TPZCompEl class.
virtual void Print(std::ostream &out=std::cout) const override
Prints the submesh information on the specified device/file out.
virtual void ComputeSolution(TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes) override
Computes solution and its derivatives in the local coordinate qsi. SHOULD NEVER BE CALLED...
int64_t fSingularConnect
Number of rigid body modes expected by the internal matrix inversion.
int NumberRigidBodyModes()
Return the number of rigid body modes associated with the internal degrees of freedom.
REAL val(STATE &number)
Returns value of the variable.
virtual void TransferMultiphysicsElementSolution() override
Transfer multiphysics solution.
virtual ~TPZSubCompMesh()
Destructor.
void PermuteInternalFirst(TPZVec< int64_t > &permute)
Permutes the potentially internal connects to the first on the list Respect the previous order of th...
virtual void LoadElementReference() override
This method will load the elements of the mesh in their corresponding geometric elements.
virtual void SetConnectIndex(int inode, int64_t index) override
Changes the current node index -inode- to the specified node- index.
virtual TPZCompMesh * FatherMesh() const override
Returns the current submesh father mesh.
virtual int NConnectShapeF(int inod, int order)
void MakeExternal(int64_t local)
Changes an local internal connection to a external connection in the father mesh. ...
int64_t TransferElementTo(TPZCompMesh *mesh, int64_t elindex) override
Transfers one element from a submesh to another mesh.
TPZSubCompMesh()
Default constructor.
Implements the sequence of actions to perform a finite element analysis. Analysis.
virtual void SkylineInternal(TPZVec< int64_t > &skyline)
This method computes the skyline of the system of equations.
virtual void EvaluateError(std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> func, TPZVec< REAL > &errors, bool store_error) override
Performs an error estimate on the elemen.
Implements a group of computational elements as a mesh and an element. Computational Mesh...
void AddLagrangeDOF(int64_t connectindex, int idf)
Set the connect/degree of freedom as Lagrange variable.
virtual void LoadSolution() override
Load the father mesh solution to all submesh connects - (internal and external).
std::map< int64_t, int64_t > fFatherToLocal
Maps indicating the correspondence between the connect index of the father mesh and de local connect ...
int64_t InternalIndex(int64_t IndexinFather)
return the index in the subcompmesh of a connect with index within the father
void MakeInternalFast(int64_t local)
Marks the connect to be local.
virtual int ClassId() const override
Returns the unique identifier for reading/writing objects to streams.
void TransferDependencies(int64_t local)
Transfer the dependency list of a connect. This will make the dependency disappear for the correspond...
std::list< std::pair< int64_t, int > > fLagrangeEquations
List of connect/degree of freedom which are used as Lagrange multipliers.
virtual bool HasMaterial(const std::set< int > &materialids) const override
Verifies if the material associated with the element is contained in the set.
Analysis for substructuring. Use a frontal matrix. Analysis.
Contains declaration of TPZCompMesh class which is a repository for computational elements...
TPZAutoPointer< TPZAnalysis > Analysis()
void PotentialInternal(std::list< int64_t > &connectindices) const
Puts the nodes which can be transferred in an ordered list.
bool NeedsComputing(const std::set< int > &matids) override
Verifies if any element needs to be computed corresponding to the material ids.
void PermuteExternalConnects()
Optimizes the connections positions on block.
This class associates an element matrix with the coeficients of its contribution in the global stiffn...
void ComputePermutationInternalFirst(TPZVec< int64_t > &permute) const
Computes the permutation vector which puts the internal connects to the first on the list Respect th...
virtual void BuildCornerConnectList(std::set< int64_t > &connectindexes) const override
adds the connect indexes associated with base shape functions to the set
virtual void Assemble() override
Assemble the stiffness matrix in locally kept datastructure.
This class implements a very simple interface from PZ kernel to GUI. Module: Common.
int IsAllowedElement(TPZCompMesh *mesh, int64_t elindex)
Verifies the transfer possibility of the connection elindex from the mesh to the current submesh...
virtual int64_t ConnectIndex(int i) const override
Returns the connection index i.
virtual void ComputeNodElCon() override
Computes the number of elements connected to each connect object.
static int main()
Static function for validation tests.
virtual void MakeAllInternal() override
Makes all mesh connections internal mesh connections.
virtual REAL CompareElement(int var, char *matname) override
This method will initiate the comparison between the current computational mesh and the mesh which is...
Implements computational mesh. Computational Mesh.
virtual int64_t TransferElement(TPZCompMesh *mesh, int64_t elindex) override
Transfer the element elindex belonging to mesh to the current mesh and returns its index...
void SetAnalysisFrontal(int numThreads, TPZAutoPointer< TPZGuiInterface > guiInterface)
Sets the analysis type.
int64_t NumInternalEquations()
Computes the number of internal equations.
Defines the interface for saving and reading data. Persistency.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
void SetNumberRigidBodyModes(int nrigid, unsigned char lagrange=0)
Set the number of rigid body modes associated with the internal degrees of freedom.
void SetAnalysisSkyline(int numThreads, int preconditioned, TPZAutoPointer< TPZGuiInterface > guiInterface)
Condense the internal equations using a skyline symetric matrix the preconditioned argument indicates...
bool VerifyDatastructureConsistency()
Method to verify that the datastructures are consistent.
virtual void MakeInternal(int64_t local) override
Makes a specified connection a internal mesh connection.
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
Defines the interface of a computational element. Computational Element.
TPZManVector< int64_t > fExternalLocIndex
Indexes of the external connections.
virtual TPZCompMesh * CommonMesh(TPZCompMesh *mesh) override
Gives the commom father mesh of the specified mesh and the current submesh.
#define PZError
Defines the output device to error messages and the DebugStop() function.
virtual int64_t PutinSuperMesh(int64_t local, TPZCompMesh *super) override
Puts an local connection in the supermesh - Supermesh is one mesh who contains the analised submesh...
int64_t TransferElementFrom(TPZCompMesh *mesh, int64_t elindex) override
Transfers one element from a specified mesh to the current submesh.
virtual int NConnects() const override
Returns the number of connections.