NeoPZ
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
TPZElastoPlasticAnalysis Class Reference

#include <pzelastoplasticanalysis.h>

Inheritance diagram for TPZElastoPlasticAnalysis:
[legend]
Collaboration diagram for TPZElastoPlasticAnalysis:
[legend]

Public Member Functions

 TPZElastoPlasticAnalysis (TPZCompMesh *mesh, std::ostream &out)
 Constructor. More...
 
 TPZElastoPlasticAnalysis ()
 Default constructor. More...
 
virtual ~TPZElastoPlasticAnalysis ()
 Default destructor. More...
 
virtual void IterativeProcessPrecomputedMatrix (std::ostream &out, REAL tol, int numiter, bool linesearch)
 
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. More...
 
virtual void IterativeProcess (std::ostream &out, REAL tol, int numiter, bool linesearch, bool checkconv, bool &ConvOrDiverg)
 It process a Newton's method to solve the non-linear problem. In this implementation, the line search is temporarily disabled. More...
 
virtual void IterativeProcess (std::ostream &out, REAL tol, int numiter, bool linesearch, bool checkconv)
 It process a Newton's method to solve the non-linear problem. More...
 
virtual REAL LineSearch (const TPZFMatrix< REAL > &Wn, const TPZFMatrix< REAL > &DeltaW, TPZFMatrix< REAL > &NextW, REAL RhsNormPrev, REAL &RhsNormResult, int niter, bool &converging)
 
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 from begin to end values within nsteps, such that the last step length is a 'lastStepRatio' fraction of the global load in a geometric progression. More...
 
virtual REAL AcceptSolution (const int ResetOutputDisplacements=0)
 Informs the materials to update the plastic memory, assembles the rhs in order to update the memory and unsets the materials to update the memory. More...
 
virtual void LoadSolution ()
 Load the solution into the computable grid, transfering it to the multi physics meshes. More...
 
TPZFMatrix< REAL > & CumulativeSolution ()
 
void SetPrecond (TPZMatrixSolver< REAL > &precond)
 
void SetBiCGStab (int numiter, REAL tol)
 
void SetBiCGStab_Jacobi (int numiter, REAL tol)
 
void SetLU ()
 
void TransferSolution (TPZPostProcAnalysis &ppanalysis)
 
void AddNoPenetration (int matid, int direction)
 
void IdentifyEquationsToZero ()
 build the fEquationstoZero datastructure based on the fMaterialIds data structure More...
 
void GetActiveEquations (TPZVec< int64_t > &activeEquations)
 return the vector of active equation indices More...
 
void CheckConv (std::ostream &out, REAL range)
 
virtual void ComputeTangent (TPZFMatrix< REAL > &tangent, TPZVec< REAL > &coefs, int icase)
 
virtual int NumCases ()
 
virtual void Residual (TPZFMatrix< REAL > &residual, int icase)
 
bool IsMultiPhysicsConfiguration ()
 Structure defining a multiphysics configuration. More...
 
void SetMultiPhysics (TPZCompMesh *mphysics, TPZVec< TPZCompMesh *> &meshvec)
 Initialize the multiphysics data structure. More...
 
void ResetMultiPhysics ()
 Reset the multiphysics data structure. More...
 
- Public Member Functions inherited from TPZNonLinearAnalysis
 TPZNonLinearAnalysis (TPZCompMesh *mesh, std::ostream &out)
 Constructor with computational mesh. More...
 
 TPZNonLinearAnalysis ()
 Default constructor. More...
 
virtual ~TPZNonLinearAnalysis ()
 Default destructor. More...
 
REAL LineSearch (const TPZFMatrix< STATE > &Wn, TPZFMatrix< STATE > DeltaW, TPZFMatrix< STATE > &NextW, REAL tol, int niter)
 Implements a golden section line search. More...
 
REAL SolutionNorm ()
 Computes the L2 norm of the solution. More...
 
virtual void ComputeTangent (TPZFMatrix< STATE > &tangent, TPZVec< REAL > &coefs, int icase)
 
int NumCases ()
 Actually return 1. More...
 
virtual void Residual (TPZFMatrix< STATE > &residual, int icase)
 
virtual void LoadSolution (const TPZFMatrix< STATE > &state)
 Load the solution into the computable mesh considering sol as Solution vector of the analysis. More...
 
void LoadState (TPZFMatrix< STATE > &state)
 Load solution with state as solution. But fSolution is not modified. More...
 
- Public Member Functions inherited from TPZAnalysis
 TPZAnalysis (TPZCompMesh *mesh, bool mustOptimizeBandwidth=true, std::ostream &out=std::cout)
 Create an TPZAnalysis object from one mesh pointer. More...
 
 TPZAnalysis (TPZAutoPointer< TPZCompMesh > mesh, bool mustOptimizeBandwidth=true, std::ostream &out=std::cout)
 Create an TPZAnalysis object from one mesh auto pointer object. More...
 
void SetGuiInterface (TPZAutoPointer< TPZGuiInterface > gui)
 Defines gui interface object. More...
 
TPZAutoPointer< TPZGuiInterfaceGetGuiInterface () const
 Gets gui interface object. More...
 
bool AmIKilled ()
 Returns if the process was canceled through gui interface. More...
 
virtual void SetCompMesh (TPZCompMesh *mesh, bool mustOptimizeBandwidth)
 Set the computational mesh of the analysis. More...
 
 TPZAnalysis ()
 Create an empty TPZAnalysis object. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
virtual ~TPZAnalysis (void)
 Destructor: deletes all protected dynamic allocated objects. More...
 
void CleanUp ()
 deletes all data structures More...
 
void SetRenumber (TPZAutoPointer< TPZRenumbering > renumber)
 Change the renumbering scheme. More...
 
void OptimizeBandwidth ()
 Sets the computer connection block number from the graphical connections block number otimization. More...
 
int HighestDimension ()
 Returns the dimension of the material which has the highest dimension. More...
 
void Resequence (int firstel=-1)
 Recompute the node sequence. More...
 
int ComputeNumberofLoadCases ()
 Determine the number of load cases from the material objects and return its value. More...
 
virtual void Assemble ()
 Assemble the stiffness matrix and load vector. More...
 
virtual void AssembleResidual ()
 Assemble the load vector. More...
 
virtual void Solve ()
 Invert the stiffness matrix. More...
 
TPZFMatrix< STATE > & Rhs ()
 Returns the load vector. More...
 
TPZFMatrix< STATE > & Solution ()
 Returns the solution matrix. More...
 
TPZCompMeshMesh () const
 Returns the pointer to the computational mesh. More...
 
TPZAutoPointer< TPZStructMatrixStructMatrix ()
 Returns a reference to the structural matrix. More...
 
TPZMatrixSolver< STATE > * BuildPreconditioner (EPrecond preconditioner, bool overlap)
 Define the type of preconditioner used. More...
 
void SetStep (int step)
 ste the step for post processing More...
 
void SetThreadsForError (int nthreads)
 
int GetStep ()
 
void SetTime (REAL time)
 Sets time will be used in dx files. More...
 
REAL GetTime ()
 Gets time used in dx files. More...
 
void ShowShape (const std::string &plotfile, TPZVec< int64_t > &equationindices)
 Graphic of the solution as V3DGrap visualization. More...
 
void ShowShape (const std::string &plotfile, TPZVec< int64_t > &equationindices, int matid, const TPZVec< std::string > &varname)
 Graphic of the solution as V3DGrap visualization. More...
 
void LoadShape (double dx, double dy, int64_t numelem, TPZConnect *nod)
 Make assembling and clean the load and solution vectors. More...
 
virtual void Run (std::ostream &out=std::cout)
 Calls the appropriate sequence of methods to build a solution or a time stepping sequence. More...
 
virtual void DefineGraphMesh (int dimension, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const std::string &plotfile)
 Define GrapMesh as V3D, DX, MV or VTK depending on extension of the file. More...
 
virtual void DefineGraphMesh (int dimension, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const TPZVec< std::string > &tensnames, const std::string &plotfile)
 Define GrapMesh as VTK with tensorial names depending on extension of the file. More...
 
virtual void DefineGraphMesh (int dimension, const std::set< int > &matids, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const std::string &plotfile)
 Define GrapMesh as V3D, DX, MV or VTK depending on extension of the file. More...
 
virtual void DefineGraphMesh (int dimension, const std::set< int > &matids, const TPZVec< std::string > &scalnames, const TPZVec< std::string > &vecnames, const TPZVec< std::string > &tensnames, const std::string &plotfile)
 Define GrapMesh as VTK with tensorial names depending on extension of the file. More...
 
virtual void CloseGraphMesh ()
 Clean the GrapMesh vector. More...
 
TPZGraphMeshGraphMesh (int dimension)
 Defines the postprocessing parameters for the graphical grid. More...
 
virtual void PostProcess (int resolution)
 Draw solution over mesh for all dimensions. More...
 
virtual void PostProcess (int resolution, int dimension)
 Draw solution over mesh by dimension. More...
 
void IdentifyPostProcessingMatIds (int dimension, std::set< int > &matids)
 Fill mat ids with materials with provided dimension wich are not boundary conditinos or interface. More...
 
TPZVec< STATE > Integrate (const std::string &varname, const std::set< int > &matids)
 Integrate the postprocessed variable name over the elements included in the set matids. More...
 
void SetExact (std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &deriv)> f)
 Sets the pointer of the exact solution function. More...
 
virtual void PostProcess (TPZVec< REAL > &loc, std::ostream &out=std::cout)
 Compute the local error over all elements and global errors in several norms and print out. More...
 
virtual void PostProcessError (TPZVec< REAL > &, bool store_error=true, std::ostream &out=std::cout)
 Compute the local error over all elements and global errors in several norms and print out without calculating the errors of the variables for hdiv spaces. More...
 
virtual void PostProcessErrorSerial (TPZVec< REAL > &, bool store_error=true, std::ostream &out=std::cout)
 
virtual void PostProcessErrorParallel (TPZVec< REAL > &, bool store_error=true, std::ostream &out=std::cout)
 
void CreateListOfCompElsToComputeError (TPZAdmChunkVector< TPZCompEl *> &elvec)
 
void Print (const std::string &name, std::ostream &out)
 Print connect and solution information. More...
 
void PrintVectorByElement (std::ostream &out, TPZFMatrix< STATE > &vec, REAL tol=1.e-10)
 Print the residual vector for those elements with entry above a given tolerance. More...
 
TPZMatrixSolver< STATE > & Solver ()
 Get the solver matrix. More...
 
void AnimateRun (int64_t num_iter, int steps, TPZVec< std::string > &scalnames, TPZVec< std::string > &vecnames, const std::string &plotfile)
 Run and print the solution step by step. More...
 
void SetSolver (TPZMatrixSolver< STATE > &solver)
 Set solver matrix. More...
 
void SetStructuralMatrix (TPZAutoPointer< TPZStructMatrix > strmatrix)
 Set structural matrix as auto pointer for analysis. More...
 
void SetStructuralMatrix (TPZStructMatrix &strmatrix)
 Set structural matrix for analysis. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
virtual void DefineElementTable (int dimension, TPZVec< int64_t > &GeoElIds, TPZVec< REAL > &points)
 Fill the computational element vector to post processing depending over geometric mesh defined. More...
 
virtual void SetTableVariableNames (TPZVec< std::string > varnames)
 Sets the names of the variables into the data structure for post processing. More...
 
virtual void PrePostProcessTable (std::ostream &out_file)
 Prepare data to print post processing and print coordinates. More...
 
virtual void PostProcessTable (std::ostream &out_file)
 Print the solution related with the computational element vector in post process. More...
 
void PostProcessTable (TPZFMatrix< REAL > &pos, std::ostream &out=std::cout)
 Compute and print the local error over all elements in data structure of post process, also compute global errors in several norms. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Static Public Member Functions

static void SetAllCreateFunctionsWithMem (TPZCompMesh *cmesh)
 
- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 

Protected Member Functions

void SetUpdateMem (int update)
 Forces the materials with memory to update the internal plastic memory during the subsequent assemble/contribute calls when update is set to 1. When set to 0, the conventional contribute routine takes place. More...
 
void UpdatePrecond ()
 Updates block diagonal preconditioning matrix. More...
 

Static Protected Member Functions

static TPZCompElCreateCubeElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreateLinearElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreatePointElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreatePrismElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreatePyramElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreateQuadElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreateTetraElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 
static TPZCompElCreateTriangElWithMem (TPZGeoEl *gel, TPZCompMesh &mesh, int64_t &index)
 

Protected Attributes

TPZFMatrix< REAL > fCumSol
 
TPZMatrixSolver< REAL > * fPrecond
 
std::set< int64_t > fEquationstoZero
 Equations with zero dirichlet boundary condition. More...
 
std::multimap< int, int > fMaterialIds
 Materials with no penetration boundary conditions. More...
 
TPZCompMeshfMultiPhysics
 The multiphysics mesh. More...
 
TPZManVector< TPZCompMesh *, 2 > fMeshVec
 The elasticity mesh and vertical deformation mesh. More...
 
- Protected Attributes inherited from TPZAnalysis
TPZGeoMeshfGeoMesh
 Geometric Mesh. More...
 
TPZCompMeshfCompMesh
 Computational mesh. More...
 
TPZGraphMeshfGraphMesh [3]
 Graphical mesh. More...
 
TPZFMatrix< STATE > fRhs
 Load vector. More...
 
TPZFMatrix< STATE > fSolution
 Solution vector. More...
 
TPZMatrixSolver< STATE > * fSolver
 Type of solver to be applied. More...
 
TPZVec< std::string > fScalarNames [3]
 Scalar variables names - to post process. More...
 
TPZVec< std::string > fVectorNames [3]
 Vectorial variables names - to post process. More...
 
TPZVec< std::string > fTensorNames [3]
 Tensorial variables names - to post process. More...
 
int fStep
 Time step. More...
 
REAL fTime
 Time variable which is used in dx output. More...
 
int fNthreadsError
 Number of threads to be used for post-processing error. More...
 
TPZAutoPointer< TPZStructMatrixfStructMatrix
 Structural matrix. More...
 
TPZAutoPointer< TPZRenumberingfRenumber
 Renumbering scheme. More...
 
TPZAutoPointer< TPZGuiInterfacefGuiInterface
 Pointer for gui interface object. More...
 
TTablePostProcess fTable
 

Additional Inherited Members

- Public Types inherited from TPZAnalysis
enum  EPrecond { EJacobi, EBlockJacobi, EElement, ENodeCentered }
 Preconditioners which can be created by objects of this class. More...
 
- Public Attributes inherited from TPZAnalysis
std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &deriv)> fExact
 Pointer to Exact solution function, it is necessary to calculating errors. More...
 

Detailed Description

Definition at line 18 of file pzelastoplasticanalysis.h.

Constructor & Destructor Documentation

◆ TPZElastoPlasticAnalysis() [1/2]

TPZElastoPlasticAnalysis::TPZElastoPlasticAnalysis ( TPZCompMesh mesh,
std::ostream &  out 
)

◆ TPZElastoPlasticAnalysis() [2/2]

TPZElastoPlasticAnalysis::TPZElastoPlasticAnalysis ( )

Default constructor.

Definition at line 40 of file pzelastoplasticanalysis.cpp.

◆ ~TPZElastoPlasticAnalysis()

TPZElastoPlasticAnalysis::~TPZElastoPlasticAnalysis ( )
virtual

Default destructor.

Definition at line 56 of file pzelastoplasticanalysis.cpp.

References fPrecond, and LOGPZ_DEBUG.

Member Function Documentation

◆ AcceptSolution()

REAL TPZElastoPlasticAnalysis::AcceptSolution ( const int  ResetOutputDisplacements = 0)
virtual

Informs the materials to update the plastic memory, assembles the rhs in order to update the memory and unsets the materials to update the memory.

Parameters
ResetOutputDisplacements[in] Informs whether to add or reset the deltaSolution to the cumulative solution.

Reimplemented in TPZPoroElastoPlasticAnalysis.

Definition at line 534 of file pzelastoplasticanalysis.cpp.

References TPZAnalysis::AssembleResidual(), DebugStop, TPZAnalysis::fCompMesh, fCumSol, TPZCompMesh::FindMaterial(), TPZAnalysis::fRhs, TPZAnalysis::fSolution, LoadSolution(), LOGPZ_DEBUG, Norm(), SetUpdateMem(), and TPZFMatrix< TVar >::Zero().

Referenced by ManageIterativeProcess().

◆ AddNoPenetration()

void TPZElastoPlasticAnalysis::AddNoPenetration ( int  matid,
int  direction 
)
inline

◆ CheckConv()

void TPZElastoPlasticAnalysis::CheckConv ( std::ostream &  out,
REAL  range 
)

◆ ComputeTangent()

void TPZElastoPlasticAnalysis::ComputeTangent ( TPZFMatrix< REAL > &  tangent,
TPZVec< REAL > &  coefs,
int  icase 
)
virtual

◆ CreateCubeElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreateCubeElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

TPZCompElWithMem<TBASE> creation function setup These functions should be defined as static members of the TPZCompElWithMem<TBASE> class but were defined here because the TPZCompElWithMem is a template class and would require a dummy template argumet in order to be called. That woudn't be elegant.

Definition at line 991 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreateLinearElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreateLinearElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 996 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreatePointElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreatePointElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 1001 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreatePrismElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreatePrismElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 1006 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreatePyramElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreatePyramElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 1011 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreateQuadElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreateQuadElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 1016 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreateTetraElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreateTetraElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 1022 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CreateTriangElWithMem()

TPZCompEl * TPZElastoPlasticAnalysis::CreateTriangElWithMem ( TPZGeoEl gel,
TPZCompMesh mesh,
int64_t &  index 
)
staticprotected

Definition at line 1027 of file pzelastoplasticanalysis.cpp.

Referenced by SetAllCreateFunctionsWithMem().

◆ CumulativeSolution()

TPZFMatrix<REAL>& TPZElastoPlasticAnalysis::CumulativeSolution ( )
inline

◆ GetActiveEquations()

void TPZElastoPlasticAnalysis::GetActiveEquations ( TPZVec< int64_t > &  activeEquations)

return the vector of active equation indices

Definition at line 1084 of file pzelastoplasticanalysis.cpp.

References TPZAnalysis::fCompMesh, fEquationstoZero, TPZCompMesh::NEquations(), and TPZVec< T >::resize().

Referenced by AddNoPenetration().

◆ IdentifyEquationsToZero()

void TPZElastoPlasticAnalysis::IdentifyEquationsToZero ( )

◆ IsMultiPhysicsConfiguration()

bool TPZElastoPlasticAnalysis::IsMultiPhysicsConfiguration ( )
inline

Structure defining a multiphysics configuration.

Definition at line 138 of file pzelastoplasticanalysis.h.

References fMultiPhysics.

Referenced by LoadSolution().

◆ IterativeProcess() [1/3]

void TPZElastoPlasticAnalysis::IterativeProcess ( std::ostream &  out,
REAL  tol,
int  numiter,
int  niter_update_jac,
bool  linesearch 
)
virtual

Iterative process using the linear elastic material as tangent matrix.

:: When residue_norm_prev < tol the solution is already converged then return.

Definition at line 135 of file pzelastoplasticanalysis.cpp.

References TPZAnalysis::Assemble(), TPZAnalysis::AssembleResidual(), TPZAnalysis::fRhs, TPZAnalysis::fSolution, LineSearch(), TPZNonLinearAnalysis::LoadSolution(), LoadSolution(), Norm(), TPZAnalysis::Solve(), pzgeom::tol, and TPZFMatrix< TVar >::Zero().

Referenced by ManageIterativeProcess(), and TPZPoroElastoPlasticAnalysis::Run().

◆ IterativeProcess() [2/3]

void TPZElastoPlasticAnalysis::IterativeProcess ( std::ostream &  out,
REAL  tol,
int  numiter,
bool  linesearch,
bool  checkconv,
bool &  ConvOrDiverg 
)
virtual

◆ IterativeProcess() [3/3]

void TPZElastoPlasticAnalysis::IterativeProcess ( std::ostream &  out,
REAL  tol,
int  numiter,
bool  linesearch,
bool  checkconv 
)
virtual

◆ IterativeProcessPrecomputedMatrix()

void TPZElastoPlasticAnalysis::IterativeProcessPrecomputedMatrix ( std::ostream &  out,
REAL  tol,
int  numiter,
bool  linesearch 
)
virtual

◆ LineSearch()

REAL TPZElastoPlasticAnalysis::LineSearch ( const TPZFMatrix< REAL > &  Wn,
const TPZFMatrix< REAL > &  DeltaW,
TPZFMatrix< REAL > &  NextW,
REAL  RhsNormPrev,
REAL &  RhsNormResult,
int  niter,
bool &  converging 
)
virtual

◆ LoadSolution()

void TPZElastoPlasticAnalysis::LoadSolution ( )
virtual

Load the solution into the computable grid, transfering it to the multi physics meshes.

Load the solution into the computable grid, transferring it to the multi physics meshes.

Reimplemented from TPZNonLinearAnalysis.

Definition at line 585 of file pzelastoplasticanalysis.cpp.

References fMeshVec, fMultiPhysics, IsMultiPhysicsConfiguration(), TPZNonLinearAnalysis::LoadSolution(), and TPZBuildMultiphysicsMesh::TransferFromMultiPhysics().

Referenced by AcceptSolution(), IterativeProcess(), IterativeProcessPrecomputedMatrix(), TPZElastoPlasticAnalysis(), and TransferSolution().

◆ ManageIterativeProcess()

void TPZElastoPlasticAnalysis::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 
)
virtual

The code below manages the update of a certain boundary condition (BCId) to assume values progressing from begin to end values within nsteps, such that the last step length is a 'lastStepRatio' fraction of the global load in a geometric progression.

Parameters
out[in] output device to write the output to
tol[in] tolerance desired in each loading step
numiter[in] maximum iteration steps in each loading step
BCId[in] boundary condition Id
nsteps[in] number of steps
PGRatio[in] ratio for the PG progression
val1Begin[in] beginning value of BC.Val1
val1End[in] final value of BC.Val1
val2Begin[in] beginning value of BC.Val2
val2End[in] final value of BC.Val2
ppAnalysis[in] TPZPostProcAnalysis object to write the output to
res[in] output postprocessing resolution

Definition at line 794 of file pzelastoplasticanalysis.cpp.

References AcceptSolution(), fabs, TPZAnalysis::fCompMesh, TPZCompMesh::FindMaterial(), IterativeProcess(), LOGPZ_INFO, TPZAnalysis::PostProcess(), pow(), pzgeom::tol, TransferSolution(), TPZBndCond::Val1(), TPZBndCond::Val2(), and TPZFMatrix< TVar >::ZAXPY().

◆ NumCases()

int TPZElastoPlasticAnalysis::NumCases ( )
virtual

Definition at line 629 of file pzelastoplasticanalysis.cpp.

Referenced by AddNoPenetration().

◆ ResetMultiPhysics()

void TPZElastoPlasticAnalysis::ResetMultiPhysics ( )
inline

Reset the multiphysics data structure.

Definition at line 151 of file pzelastoplasticanalysis.h.

References fMeshVec, fMultiPhysics, and TPZManVector< T, NumExtAlloc >::Resize().

◆ Residual()

void TPZElastoPlasticAnalysis::Residual ( TPZFMatrix< REAL > &  residual,
int  icase 
)
virtual

◆ SetAllCreateFunctionsWithMem()

void TPZElastoPlasticAnalysis::SetAllCreateFunctionsWithMem ( TPZCompMesh cmesh)
static

◆ SetBiCGStab()

void TPZElastoPlasticAnalysis::SetBiCGStab ( int  numiter,
REAL  tol 
)

◆ SetBiCGStab_Jacobi()

void TPZElastoPlasticAnalysis::SetBiCGStab_Jacobi ( int  numiter,
REAL  tol 
)

◆ SetLU()

void TPZElastoPlasticAnalysis::SetLU ( )

◆ SetMultiPhysics()

void TPZElastoPlasticAnalysis::SetMultiPhysics ( TPZCompMesh mphysics,
TPZVec< TPZCompMesh *> &  meshvec 
)
inline

Initialize the multiphysics data structure.

Definition at line 144 of file pzelastoplasticanalysis.h.

References fMeshVec, and fMultiPhysics.

◆ SetPrecond()

void TPZElastoPlasticAnalysis::SetPrecond ( TPZMatrixSolver< REAL > &  precond)

◆ SetUpdateMem()

void TPZElastoPlasticAnalysis::SetUpdateMem ( int  update)
protected

Forces the materials with memory to update the internal plastic memory during the subsequent assemble/contribute calls when update is set to 1. When set to 0, the conventional contribute routine takes place.

Parameters
update[in] 1 - updates the material memory during the next assemble calls; 0 - conventional assemble

Definition at line 503 of file pzelastoplasticanalysis.cpp.

References TPZAnalysis::fCompMesh, TPZCompMesh::MaterialVec(), and TPZMatWithMem< TMEM, TFather >::SetUpdateMem().

Referenced by TPZPoroElastoPlasticAnalysis::AcceptSolution(), AcceptSolution(), and AddNoPenetration().

◆ TransferSolution()

void TPZElastoPlasticAnalysis::TransferSolution ( TPZPostProcAnalysis ppanalysis)

◆ UpdatePrecond()

void TPZElastoPlasticAnalysis::UpdatePrecond ( )
protected

Updates block diagonal preconditioning matrix.

Definition at line 649 of file pzelastoplasticanalysis.cpp.

References TPZBlockDiagonal< TVar >::BuildFromMatrix(), fPrecond, TPZAnalysis::fSolver, TPZMatrixSolver< TVar >::Matrix(), and TPZMatrix< TVar >::Zero().

Referenced by AddNoPenetration().

Member Data Documentation

◆ fCumSol

TPZFMatrix<REAL> TPZElastoPlasticAnalysis::fCumSol
protected

◆ fEquationstoZero

std::set<int64_t> TPZElastoPlasticAnalysis::fEquationstoZero
protected

Equations with zero dirichlet boundary condition.

Definition at line 166 of file pzelastoplasticanalysis.h.

Referenced by GetActiveEquations(), and IdentifyEquationsToZero().

◆ fMaterialIds

std::multimap<int,int> TPZElastoPlasticAnalysis::fMaterialIds
protected

Materials with no penetration boundary conditions.

Definition at line 170 of file pzelastoplasticanalysis.h.

Referenced by AddNoPenetration(), and IdentifyEquationsToZero().

◆ fMeshVec

TPZManVector<TPZCompMesh *,2> TPZElastoPlasticAnalysis::fMeshVec
protected

The elasticity mesh and vertical deformation mesh.

Definition at line 176 of file pzelastoplasticanalysis.h.

Referenced by LoadSolution(), ResetMultiPhysics(), and SetMultiPhysics().

◆ fMultiPhysics

TPZCompMesh* TPZElastoPlasticAnalysis::fMultiPhysics
protected

The multiphysics mesh.

Definition at line 173 of file pzelastoplasticanalysis.h.

Referenced by IsMultiPhysicsConfiguration(), LoadSolution(), ResetMultiPhysics(), and SetMultiPhysics().

◆ fPrecond

TPZMatrixSolver<REAL>* TPZElastoPlasticAnalysis::fPrecond
protected

Definition at line 163 of file pzelastoplasticanalysis.h.

Referenced by SetPrecond(), UpdatePrecond(), and ~TPZElastoPlasticAnalysis().


The documentation for this class was generated from the following files: