15 static LoggerPtr logger(Logger::getLogger(
"pz.analysis.pzsmanalysis"));
67 std::cout <<
"Assembling the SubCompMesh index " <<
fMesh->
Index() << std::endl;
128 if(logger->isDebugEnabled())
130 std::stringstream sout;
152 if(logger->isDebugEnabled())
154 std::stringstream sout;
170 int numeq =
fMesh->TPZCompMesh::NEquations();
173 for(i=0; i<numeq-numinter; i++) {
180 matred->
UGlobal(soltemp,uglobal);
184 if (logger->isDebugEnabled()) {
185 std::stringstream sout;
186 soltemp.
Print(
"External DOF Solution",sout);
187 uglobal.
Print(
"Expanded solution",sout);
int64_t NElements() const
Number of computational elements allocated.
TPZMatrixSolver< STATE > * fSolver
Type of solver to be applied.
void SetMaxNumberRigidBodyModes(int maxrigid)
indicate how many degrees of freedom are reserved for rigid body modes
virtual ~TPZSubMeshAnalysis()
Destructor.
void Run(std::ostream &out) override
Run: assemble the stiffness matrix.
TPZAutoPointer< TPZMatrix< STATE > > fReducableStiff
Stiffness matrix to sub mesh.
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.
TPZFMatrix< STATE > fSolution
Solution vector.
Analysis procedure to computational sub mesh. Analysis.
void F1Red(TPZFMatrix< TVar > &F1)
Computes the reduced version of the right hand side .
int64_t NEquations()
This computes the number of equations associated with non-restrained nodes.
void UGlobal(const TPZFMatrix< TVar > &U1, TPZFMatrix< TVar > &result)
Computes the complete vector based on the solution u1.
int ClassId() const override
Define the class id associated with the class.
TPZCompMesh * fCompMesh
Computational mesh.
TPZSubMeshAnalysis(TPZSubCompMesh *mesh=0)
Constructor: create an object analysis from one mesh.
void SetF(const TPZFMatrix< TVar > &F)
Copies the F vector in the internal data structure.
TPZCompMesh * Mesh() const
Returns the pointer to the computational mesh.
int NumberRigidBodyModes()
Return the number of rigid body modes associated with the internal degrees of freedom.
virtual void SetCompMesh(TPZCompMesh *mesh, bool mustOptimizeBandwidth) override
Set the computational mesh of the analysis.
Contains the TPZStructMatrixOR class which responsible for a interface among Matrix and Finite Elemen...
void ReducedRightHandSide(TPZFMatrix< STATE > &rhs)
compute the reduced right hand side using the current stiffness. Abort if there is no stiffness compu...
virtual void Assemble() override
Assemble the global stiffness matrix and put it into the reducable stiffness matrix.
void SetSolver(TPZAutoPointer< TPZMatrixSolver< TVar > > solver)
TPZAutoPointer< TPZGuiInterface > fGuiInterface
Pointer for gui interface object.
void Print(const char *name=NULL, std::ostream &out=std::cout, const MatrixOutputFormat=EFormatted) const override
Prints the object data structure.
TPZSubCompMesh * fMesh
The computational sub mesh.
void CondensedSolution(TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
CondensedSolution: returns the condensed stiffness matrix - ek - and the condensed solution vector - ...
Implements the sequence of actions to perform a finite element analysis. Analysis.
virtual void LoadSolution()
Load the solution into the computable grid.
Contains TPZMatrixclass which implements full matrix (using column major representation).
Implements a group of computational elements as a mesh and an element. Computational Mesh...
#define DebugStop()
Returns a message to user put a breakpoint in.
#define LOGPZ_DEBUG(A, B)
Define log for debug info.
TPZCompMesh * Mesh() const
Return a pointer to the grid of the element.
virtual void SetMatrix(TPZAutoPointer< TPZMatrix< TVar > > Refmat)
Sets a matrix to the current object.
TPZFMatrix< STATE > fReferenceSolution
Solution vector.
int ClassId() const override
Define the class id associated with the class.
int64_t Index() const
Returns element index of the mesh fELementVec list.
virtual int Redim(const int64_t newRows, const int64_t newCols)
Redimensions the matrix reinitializing it with zero.
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
int32_t Hash(std::string str)
virtual TPZSolver * Clone() const =0
Clones the current object returning a pointer of type TPZSolver.
Contains declaration of TPZSubCompMesh class which implements a group of computational elements as a ...
TPZAutoPointer< TPZStructMatrix > fStructMatrix
Structural matrix.
Implements a simple substructuring of a linear system of equations, composed of 4 submatrices...
void K11Reduced(TPZFMatrix< TVar > &K11, TPZFMatrix< TVar > &F1)
Computes the K11 reduced .
Implements computational mesh. Computational Mesh.
Contains TPZSolver class which defines a abstract class of solvers which will be used by matrix class...
TPZAutoPointer< TPZMatrix< TVar > > Matrix() const
Returns a pointer to TPZMatrix<>
int64_t NumInternalEquations()
Computes the number of internal equations.
virtual void Print(std::ostream &out) const
Contains TPZSubMeshAnalysis class which implements the analysis procedure to computational sub mesh...
TPZFMatrix< STATE > fRhs
Load vector.
virtual void SetCompMesh(TPZCompMesh *mesh, bool mustOptimizeBandwidth)
Set the computational mesh of the analysis.
const TVar & GetVal(const int64_t row, const int64_t col) const override
Get values without bounds checking This method is faster than "Get" if DEBUG is defined.