6 #ifndef ELASTOPLASTICANALYSIS_H 7 #define ELASTOPLASTICANALYSIS_H 31 virtual void IterativeProcess(std::ostream &out, REAL tol,
int numiter,
int niter_update_jac,
bool linesearch);
37 virtual void IterativeProcess(std::ostream &out,REAL tol,
int numiter,
bool linesearch,
bool checkconv,
bool &ConvOrDiverg);
39 virtual void IterativeProcess(std::ostream &out,REAL tol,
int numiter,
bool linesearch,
bool checkconv);
65 int BCId,
int nsteps, REAL PGRatio,
76 virtual REAL
AcceptSolution(
const int ResetOutputDisplacements = 0);
99 fMaterialIds.insert(std::pair<int,int>(matid, direction));
127 void CheckConv(std::ostream &out, REAL range);
void SetUpdateMem(int update)
Forces the materials with memory to update the internal plastic memory during the subsequent assemble...
TPZCompMesh * fMultiPhysics
The multiphysics mesh.
TPZElastoPlasticAnalysis()
Default constructor.
static TPZCompEl * CreatePrismElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
virtual void Residual(TPZFMatrix< REAL > &residual, int icase)
TPZFMatrix< REAL > fCumSol
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Templated vector implementation.
static TPZCompEl * CreatePyramElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
void SetBiCGStab_Jacobi(int numiter, REAL tol)
virtual void ComputeTangent(TPZFMatrix< REAL > &tangent, TPZVec< REAL > &coefs, int icase)
void CheckConv(std::ostream &out, REAL range)
virtual void LoadSolution()
Load the solution into the computable grid, transfering it to the multi physics meshes.
void AddNoPenetration(int matid, int direction)
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object.
void SetMultiPhysics(TPZCompMesh *mphysics, TPZVec< TPZCompMesh *> &meshvec)
Initialize the multiphysics data structure.
virtual REAL AcceptSolution(const int ResetOutputDisplacements=0)
Informs the materials to update the plastic memory, assembles the rhs in order to update the memory a...
void TransferSolution(TPZPostProcAnalysis &ppanalysis)
void IdentifyEquationsToZero()
build the fEquationstoZero datastructure based on the fMaterialIds data structure ...
TPZManVector< TPZCompMesh *, 2 > fMeshVec
The elasticity mesh and vertical deformation mesh.
virtual void IterativeProcessPrecomputedMatrix(std::ostream &out, REAL tol, int numiter, bool linesearch)
TPZMatrixSolver< REAL > * fPrecond
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
Contains TPZMatrixclass which implements full matrix (using column major representation).
std::set< int64_t > fEquationstoZero
Equations with zero dirichlet boundary condition.
static TPZCompEl * CreateTetraElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
virtual void IterativeProcess(std::ostream &out, REAL tol, int numiter, int niter_update_jac, bool linesearch)
Iterative process using the linear elastic material as tangent matrix.
static TPZCompEl * CreateCubeElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
virtual ~TPZElastoPlasticAnalysis()
Default destructor.
static TPZCompEl * CreateLinearElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
void UpdatePrecond()
Updates block diagonal preconditioning matrix.
static TPZCompEl * CreateQuadElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
static TPZCompEl * CreateTriangElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
void GetActiveEquations(TPZVec< int64_t > &activeEquations)
return the vector of active equation indices
static TPZCompEl * CreatePointElWithMem(TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
virtual REAL LineSearch(const TPZFMatrix< REAL > &Wn, const TPZFMatrix< REAL > &DeltaW, TPZFMatrix< REAL > &NextW, REAL RhsNormPrev, REAL &RhsNormResult, int niter, bool &converging)
void SetBiCGStab(int numiter, REAL tol)
void ResetMultiPhysics()
Reset the multiphysics data structure.
void SetPrecond(TPZMatrixSolver< REAL > &precond)
Implements computational mesh. Computational Mesh.
TPZFMatrix< REAL > & CumulativeSolution()
virtual void ManageIterativeProcess(std::ostream &out, REAL tol, int numiter, int BCId, int nsteps, REAL PGRatio, TPZFMatrix< REAL > &val1Begin, TPZFMatrix< REAL > &val1End, TPZFMatrix< REAL > &val2Begin, TPZFMatrix< REAL > &val2End, TPZPostProcAnalysis *ppAnalysis=NULL, int res=0)
The code below manages the update of a certain boundary condition (BCId) to assume values progressing...
Derived class from TPZAnalysis implements non linear analysis (Newton's method). Analysis.
std::multimap< int, int > fMaterialIds
Materials with no penetration boundary conditions.
Contains declaration of TPZGeoElement class which implements a generic geometric element with a unifo...
static void SetAllCreateFunctionsWithMem(TPZCompMesh *cmesh)
Defines the interface of a computational element. Computational Element.
bool IsMultiPhysicsConfiguration()
Structure defining a multiphysics configuration.
Contains TPZNonLinearAnalysis class which implements the non linear analysis.