NeoPZ
|
Implements multigrid analysis to Non linear problems. Class TPZNonLinMultGridAnalysis derived from TPZAnalysis. Analysis. More...
#include <TPZNLMultGridAnalysis.h>
Public Member Functions | |
~TPZNonLinMultGridAnalysis () | |
Destructor. More... | |
TPZNonLinMultGridAnalysis (TPZCompMesh *cmesh) | |
Creates an object multigrid analysis giving a computational mesh. More... | |
void | AppendMesh (TPZCompMesh *mesh) |
Append a mesh to the meshes vector. More... | |
TPZCompMesh * | PopMesh () |
Pop the last mesh of the meshes vector. More... | |
int | NMeshes () |
Number of meshes. More... | |
TPZCompMesh * | IMesh (int64_t index) |
void | SmoothingSolution (REAL tol, int numiter, TPZMaterial *mat, TPZAnalysis &an, int marcha=0, const std::string &dxout="plotfile.dx") |
void | SmoothingSolution (REAL tol, int numiter, TPZMaterial *mat, TPZAnalysis &an, TPZFMatrix< STATE > &rhs) |
void | SmoothingSolution2 (REAL tol, int numiter, TPZMaterial *mat, TPZAnalysis &an, int marcha, const std::string &dxout) |
void | ResetReference (TPZCompMesh *aggcmesh) |
void | SetReference (TPZCompMesh *aggcmesh) |
void | SetDeltaTime (TPZCompMesh *CompMesh, TPZMaterial *mat) |
void | CoutTime (clock_t &start, const char *title) |
void | OneGridAlgorithm (std::ostream &out, int nummat) |
void | TwoGridAlgorithm (std::ostream &out, int nummat) |
void | CalcResidual (TPZMatrix< STATE > &sol, TPZAnalysis &an, const std::string &decompose, TPZFMatrix< STATE > &res) |
void | CalcResidual (TPZMatrix< STATE > &sol, TPZFMatrix< STATE > &anres, TPZFMatrix< STATE > &res, TPZAnalysis &an, const std::string &decompose) |
void | SetAnalysisFunction (void(*fp)(TPZMaterial *mat, TPZCompMesh *cmesh)) |
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< TPZGuiInterface > | GetGuiInterface () 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... | |
TPZCompMesh * | Mesh () const |
Returns the pointer to the computational mesh. More... | |
TPZAutoPointer< TPZStructMatrix > | StructMatrix () |
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... | |
TPZGraphMesh * | GraphMesh (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... | |
virtual void | LoadSolution () |
Load the solution into the computable grid. More... | |
virtual void | LoadSolution (const TPZFMatrix< STATE > &sol) |
Load the solution into the computable mesh considering sol as Solution vector of the analysis. 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 TPZCompMesh * | UniformlyRefineMesh (TPZCompMesh *coarcmesh, int levelnumbertorefine, int setdegree) |
It creates a new established computational mesh in the refinement uniform of a fixed number of levels of the original geometric mesh. More... | |
static TPZCompMesh * | AgglomerateMesh (TPZCompMesh *finemesh, int levelnumbertogroup) |
It generates a new mesh based on the agglomeration of elements of the fine mesh. More... | |
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 TPZSavable * | CreateInstance (const int &classId) |
Protected Attributes | |
void(* | fFunction )(TPZMaterial *mat, TPZCompMesh *cmesh) |
Protected Attributes inherited from TPZAnalysis | |
TPZGeoMesh * | fGeoMesh |
Geometric Mesh. More... | |
TPZCompMesh * | fCompMesh |
Computational mesh. More... | |
TPZGraphMesh * | fGraphMesh [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< TPZStructMatrix > | fStructMatrix |
Structural matrix. More... | |
TPZAutoPointer< TPZRenumbering > | fRenumber |
Renumbering scheme. More... | |
TPZAutoPointer< TPZGuiInterface > | fGuiInterface |
Pointer for gui interface object. More... | |
TTablePostProcess | fTable |
Private Attributes | |
TPZStack< TPZCompMesh *> | fMeshes |
Contains the computational meshes of one cycle: V, W, F, etc. More... | |
TPZStack< TPZFMatrix< STATE > * > | fSolutions |
Contains the meshes solutions. More... | |
TPZStack< TPZMatrixSolver< STATE > * > | fSolvers |
Contains the solution method applied to the mesh. More... | |
TPZStack< TPZMatrixSolver< STATE > * > | fPrecondition |
Contains the preconditioner of the solution method. More... | |
clock_t | fBegin |
Times by iteration and accumulated time. More... | |
clock_t | fInit |
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... | |
Implements multigrid analysis to Non linear problems. Class TPZNonLinMultGridAnalysis derived from TPZAnalysis. Analysis.
Definition at line 24 of file TPZNLMultGridAnalysis.h.
TPZNonLinMultGridAnalysis::~TPZNonLinMultGridAnalysis | ( | ) |
Destructor.
Definition at line 60 of file TPZNLMultGridAnalysis.cpp.
References fMeshes, fPrecondition, fSolutions, fSolvers, TPZVec< T >::NElements(), and TPZStack< T, NumExtAlloc >::Pop().
TPZNonLinMultGridAnalysis::TPZNonLinMultGridAnalysis | ( | TPZCompMesh * | cmesh | ) |
Creates an object multigrid analysis giving a computational mesh.
Definition at line 47 of file TPZNLMultGridAnalysis.cpp.
References TPZStepSolver< TVar >::Clone(), ELDLt, fMeshes, fPrecondition, TPZAnalysis::fSolution, fSolutions, fSolvers, TPZStack< T, NumExtAlloc >::Push(), TPZStepSolver< TVar >::SetDirect(), TPZCompMesh::SetName(), and TPZAnalysis::SetSolver().
|
static |
It generates a new mesh based on the agglomeration of elements of the fine mesh.
Definition at line 92 of file TPZNLMultGridAnalysis.cpp.
References TPZAgglomerateElement::CreateAgglomerateMesh(), TPZCompMesh::Dimension(), and TPZAgglomerateElement::ListOfGroupings().
Referenced by NMeshes(), and TwoGridAlgorithm().
void TPZNonLinMultGridAnalysis::AppendMesh | ( | TPZCompMesh * | mesh | ) |
Append a mesh to the meshes vector.
Definition at line 68 of file TPZNLMultGridAnalysis.cpp.
References fMeshes, fPrecondition, fSolutions, fSolvers, TPZVec< T >::NElements(), and TPZStack< T, NumExtAlloc >::Push().
Referenced by TwoGridAlgorithm().
void TPZNonLinMultGridAnalysis::CalcResidual | ( | TPZMatrix< STATE > & | sol, |
TPZAnalysis & | an, | ||
const std::string & | decompose, | ||
TPZFMatrix< STATE > & | res | ||
) |
Definition at line 433 of file TPZNLMultGridAnalysis.cpp.
References TPZMatrixSolver< TVar >::Matrix(), TPZMatrix< TVar >::Print(), TPZFMatrix< TVar >::Redim(), test::res, and TPZAnalysis::Solver().
Referenced by NMeshes(), and TwoGridAlgorithm().
void TPZNonLinMultGridAnalysis::CalcResidual | ( | TPZMatrix< STATE > & | sol, |
TPZFMatrix< STATE > & | anres, | ||
TPZFMatrix< STATE > & | res, | ||
TPZAnalysis & | an, | ||
const std::string & | decompose | ||
) |
Definition at line 484 of file TPZNLMultGridAnalysis.cpp.
References TPZFMatrix< TVar >::GetVal(), TPZMatrixSolver< TVar >::Matrix(), TPZMatrix< TVar >::Print(), test::res, and TPZAnalysis::Solver().
void TPZNonLinMultGridAnalysis::CoutTime | ( | clock_t & | start, |
const char * | title | ||
) |
Definition at line 262 of file TPZNLMultGridAnalysis.cpp.
Referenced by NMeshes(), SmoothingSolution2(), and TwoGridAlgorithm().
TPZCompMesh * TPZNonLinMultGridAnalysis::IMesh | ( | int64_t | index | ) |
Definition at line 40 of file TPZNLMultGridAnalysis.cpp.
References PZError.
Referenced by NMeshes().
|
inline |
Number of meshes.
Definition at line 57 of file TPZNLMultGridAnalysis.h.
References AgglomerateMesh(), CalcResidual(), CoutTime(), IMesh(), TPZVec< T >::NElements(), OneGridAlgorithm(), test::res, ResetReference(), SetDeltaTime(), SetReference(), SmoothingSolution(), SmoothingSolution2(), pzgeom::tol, TwoGridAlgorithm(), and UniformlyRefineMesh().
void TPZNonLinMultGridAnalysis::OneGridAlgorithm | ( | std::ostream & | out, |
int | nummat | ||
) |
Definition at line 535 of file TPZNLMultGridAnalysis.cpp.
References TPZCompMesh::Dimension(), ELDLt, TPZCompMesh::FindMaterial(), fMeshes, TPZCompMesh::LoadReferences(), TPZCompMesh::Reference(), TPZGeoMesh::ResetReference(), SetDeltaTime(), TPZCompMesh::SetDimModel(), TPZStepSolver< TVar >::SetDirect(), TPZCompMesh::SetName(), TPZAnalysis::SetSolver(), TPZAnalysis::SetStructuralMatrix(), TPZConservationLaw::SetTimeStep(), SmoothingSolution(), TPZAnalysis::Solution(), UniformlyRefineMesh(), and TPZFMatrix< TVar >::Zero().
Referenced by NMeshes().
TPZCompMesh * TPZNonLinMultGridAnalysis::PopMesh | ( | ) |
Pop the last mesh of the meshes vector.
Definition at line 78 of file TPZNLMultGridAnalysis.cpp.
References TPZAnalysis::fCompMesh, fMeshes, TPZAnalysis::fSolution, fSolutions, fSolvers, TPZVec< T >::NElements(), TPZStack< T, NumExtAlloc >::Pop(), and TPZAnalysis::SetSolver().
void TPZNonLinMultGridAnalysis::ResetReference | ( | TPZCompMesh * | aggcmesh | ) |
Definition at line 175 of file TPZNLMultGridAnalysis.cpp.
References EDiscontinuous, EInterface, TPZCompMesh::ElementVec(), TPZMaterial::Id(), TPZAgglomerateElement::IndexesDiscSubEls(), TPZCompEl::Material(), TPZAgglomerateElement::MotherMesh(), TPZCompMesh::NElements(), TPZVec< T >::NElements(), PZError, TPZCompEl::Reference(), TPZGeoEl::Reference(), TPZGeoEl::SetReference(), and TPZCompEl::Type().
Referenced by NMeshes(), and TwoGridAlgorithm().
|
inline |
Definition at line 104 of file TPZNLMultGridAnalysis.h.
References fFunction.
void TPZNonLinMultGridAnalysis::SetDeltaTime | ( | TPZCompMesh * | CompMesh, |
TPZMaterial * | mat | ||
) |
Definition at line 270 of file TPZNLMultGridAnalysis.cpp.
References degree(), fFunction, TPZCompMesh::GetDefaultOrder(), TPZCompMesh::LesserEdgeOfMesh(), TPZFlowCompMesh::MaxVelocityOfMesh(), TPZConservationLaw::SetTimeStep(), and TPZConservationLaw::TimeStep().
Referenced by NMeshes(), OneGridAlgorithm(), SmoothingSolution(), and SmoothingSolution2().
void TPZNonLinMultGridAnalysis::SetReference | ( | TPZCompMesh * | aggcmesh | ) |
Definition at line 226 of file TPZNLMultGridAnalysis.cpp.
References EDiscontinuous, EInterface, TPZCompMesh::ElementVec(), TPZMaterial::Id(), TPZAgglomerateElement::IndexesDiscSubEls(), TPZCompEl::Material(), TPZAgglomerateElement::MotherMesh(), TPZCompMesh::NElements(), TPZVec< T >::NElements(), PZError, TPZCompEl::Reference(), TPZGeoEl::SetReference(), and TPZCompEl::Type().
Referenced by NMeshes(), and TwoGridAlgorithm().
void TPZNonLinMultGridAnalysis::SmoothingSolution | ( | REAL | tol, |
int | numiter, | ||
TPZMaterial * | mat, | ||
TPZAnalysis & | an, | ||
int | marcha = 0 , |
||
const std::string & | dxout = "plotfile.dx" |
||
) |
Definition at line 326 of file TPZNLMultGridAnalysis.cpp.
References TPZAnalysis::LoadSolution(), TPZAnalysis::Mesh(), Norm(), TPZAnalysis::Run(), SetDeltaTime(), TPZMaterial::SetForcingFunction(), SmoothingSolution2(), TPZAnalysis::Solution(), and TPZFMatrix< TVar >::Zero().
Referenced by NMeshes(), OneGridAlgorithm(), and TwoGridAlgorithm().
void TPZNonLinMultGridAnalysis::SmoothingSolution | ( | REAL | tol, |
int | numiter, | ||
TPZMaterial * | mat, | ||
TPZAnalysis & | an, | ||
TPZFMatrix< STATE > & | rhs | ||
) |
Definition at line 291 of file TPZNLMultGridAnalysis.cpp.
References TPZAnalysis::LoadSolution(), TPZAnalysis::Mesh(), Norm(), TPZAnalysis::Rhs(), TPZAnalysis::Run(), SetDeltaTime(), TPZMaterial::SetForcingFunction(), TPZAnalysis::Solution(), and TPZFMatrix< TVar >::Zero().
void TPZNonLinMultGridAnalysis::SmoothingSolution2 | ( | REAL | tol, |
int | numiter, | ||
TPZMaterial * | mat, | ||
TPZAnalysis & | an, | ||
int | marcha, | ||
const std::string & | dxout | ||
) |
Definition at line 365 of file TPZNLMultGridAnalysis.cpp.
References CoutTime(), DebugStop, TPZMaterial::Dimension(), TPZVTKGraphMesh::DrawMesh(), TPZVTKGraphMesh::DrawSolution(), fBegin, fInit, TPZMaterial::Id(), TPZAnalysis::LoadSolution(), TPZAnalysis::Mesh(), Norm(), TPZAnalysis::Print(), TPZAnalysis::Run(), SetDeltaTime(), TPZGraphMesh::SetFileName(), TPZMaterial::SetForcingFunction(), TPZGraphMesh::SetResolution(), TPZAnalysis::Solution(), and TPZFMatrix< TVar >::Zero().
Referenced by NMeshes(), and SmoothingSolution().
void TPZNonLinMultGridAnalysis::TwoGridAlgorithm | ( | std::ostream & | out, |
int | nummat | ||
) |
Definition at line 577 of file TPZNLMultGridAnalysis.cpp.
References AgglomerateMesh(), AppendMesh(), CalcResidual(), TPZStepSolver< TVar >::Clone(), CoutTime(), DebugStop, TPZCompMesh::Dimension(), TPZMaterial::Dimension(), TPZDXGraphMesh::DrawMesh(), TPZDXGraphMesh::DrawSolution(), ELDLt, fabs, TPZCompMesh::FindMaterial(), fInit, fMeshes, fPrecondition, fSolutions, fSolvers, TPZMaterial::Id(), Norm(), TPZGeoMesh::Print(), TPZCompMesh::Print(), TPZStack< T, NumExtAlloc >::Push(), TPZCompMesh::Reference(), ResetReference(), TPZGeoMesh::ResetReference(), TPZAnalysis::Rhs(), TPZCompMesh::SetDimModel(), TPZStepSolver< TVar >::SetDirect(), TPZDXGraphMesh::SetFileName(), TPZGeoMesh::SetName(), TPZCompMesh::SetName(), SetReference(), TPZGraphMesh::SetResolution(), TPZAnalysis::SetSolver(), TPZAnalysis::SetStructuralMatrix(), SmoothingSolution(), TPZAnalysis::Solution(), TPZAnalysis::Solve(), TPZAnalysis::StructMatrix(), TPZTransfer< TVar >::TransferResidual(), TPZTransfer< TVar >::TransferSolution(), UniformlyRefineMesh(), and TPZFMatrix< TVar >::Zero().
Referenced by NMeshes().
|
static |
It creates a new established computational mesh in the refinement uniform of a fixed number of levels of the original geometric mesh.
coarcmesh | : initial computational mesh |
levelnumbertorefine | number of the levels to be refined |
setdegree | degree of interpolation |
Definition at line 104 of file TPZNLMultGridAnalysis.cpp.
References TPZCompMesh::AdjustBoundaryElements(), TPZMaterial::Clone(), TPZCompMesh::CreateCompEl(), TPZCompElDisc::Degree(), degree(), TPZGeoEl::Divide(), EAgglomerate, EDiscontinuous, TPZCompMesh::ElementVec(), m, TPZCompMesh::MaterialVec(), TPZVec< T >::NElements(), TPZChunkVector< T, EXP >::NElements(), nsub, TPZStack< T, NumExtAlloc >::Push(), PZError, TPZCompEl::Reference(), TPZCompMesh::Reference(), TPZGeoMesh::ResetReference(), TPZManVector< T, NumExtAlloc >::Resize(), TPZCompElDisc::SetDegree(), and TPZCompEl::Type().
Referenced by NMeshes(), OneGridAlgorithm(), and TwoGridAlgorithm().
|
private |
Times by iteration and accumulated time.
Definition at line 40 of file TPZNLMultGridAnalysis.h.
Referenced by SmoothingSolution2().
|
protected |
Definition at line 100 of file TPZNLMultGridAnalysis.h.
Referenced by SetAnalysisFunction(), and SetDeltaTime().
|
private |
Definition at line 40 of file TPZNLMultGridAnalysis.h.
Referenced by SmoothingSolution2(), and TwoGridAlgorithm().
|
private |
Contains the computational meshes of one cycle: V, W, F, etc.
Definition at line 27 of file TPZNLMultGridAnalysis.h.
Referenced by AppendMesh(), OneGridAlgorithm(), PopMesh(), TPZNonLinMultGridAnalysis(), TwoGridAlgorithm(), and ~TPZNonLinMultGridAnalysis().
|
private |
Contains the preconditioner of the solution method.
If the solution method is a krylov method, the preconditioner can be used as a coarse grid iteration
Definition at line 37 of file TPZNLMultGridAnalysis.h.
Referenced by AppendMesh(), TPZNonLinMultGridAnalysis(), TwoGridAlgorithm(), and ~TPZNonLinMultGridAnalysis().
|
private |
Contains the meshes solutions.
Definition at line 30 of file TPZNLMultGridAnalysis.h.
Referenced by AppendMesh(), PopMesh(), TPZNonLinMultGridAnalysis(), TwoGridAlgorithm(), and ~TPZNonLinMultGridAnalysis().
|
private |
Contains the solution method applied to the mesh.
Definition at line 33 of file TPZNLMultGridAnalysis.h.
Referenced by AppendMesh(), PopMesh(), TPZNonLinMultGridAnalysis(), TwoGridAlgorithm(), and ~TPZNonLinMultGridAnalysis().