29 template<
class TRANSIENTCLASS>
54 virtual void RunTransient(std::ostream &out = std::cout,
bool FromBegining =
true,
bool linesearch =
true);
57 virtual void RunExplicit(std::ostream &out = std::cout,
bool FromBegining =
true);
69 void SetConvergence(
int niter, REAL eps,
bool ForceAllSteps =
true);
171 template<
class TRANSIENTCLASS>
178 template<
class TRANSIENTCLASS>
184 template<
class TRANSIENTCLASS>
190 template<
class TRANSIENTCLASS>
195 template<
class TRANSIENTCLASS>
void SetSaveSolution(int SaveFrequency)
Defines to save solution vector with SaveFrequency frequency.
static double gTime
Static attribute storing the current time of simulation.
REAL fNewtonTol
Tolerance of Newton's method.
Contains TPZAnalysis class which implements the sequence of actions to perform a finite element analy...
void SetFluxOnly()
Sets all materials to compute only the flux contributions - used in the explicit scheme.
double GetgTime()
Method for gTime attribute access.
void SetExplicit()
Sets all materials in temporal scheme as an explicit Euler.
clarg::argInt dimension("-d", "Matrices dimension M x M", 1000)
std::list< std::pair< TPZFMatrix< STATE >, STATE > > fSavedSolutionVec
Attribute to store solution vectors during process. Pair of (solution vec, simulation time) ...
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Templated vector implementation.
virtual void PostProcess(int resolution)
See base class for comments.
~TPZTransientAnalysis()
Default destructor.
void SetLastState()
Sets all materials in LastState.
virtual void RunTransient(std::ostream &out=std::cout, bool FromBegining=true, bool linesearch=true)
Executes a Newton's method for the solution of the implicit in time equation.
void ComputeLinearTangentMatrix()
Computes linear tangent matrix for linear problems.
void SaveCurrentSolutionVec()
If fSaveSolutionVecFrequency != 0, save current solution vector in fSavedSolutionVec attribute...
virtual void Assemble()
Assemble flux vector and jacobian matrix.
void ComputeFluxOnly()
Computes the only the flux contribution for the explicit scheme.
virtual void RunExplicit(std::ostream &out=std::cout, bool FromBegining=true)
Solves a explicit Euler's scheme in time.
void SetAllMaterialsDeltaT()
Sets all materials the time step.
int fCurrentIter
Current iteration. Variable allowing to restart the simulation.
Contains TPZMatrixclass which implements full matrix (using column major representation).
int fSaveSolutionVecFrequency
Frequency which solution vector must be saved.
REAL & TimeStep()
Access to time step attribute.
Implements a very simple manner to perform transient simulations. Analysis.
void SetImplicit()
Sets all materials in temporal scheme as an implicit Euler.
void SetConvergence(int niter, REAL eps, bool ForceAllSteps=true)
Defines max number of steps and steady state convergence tolerance.
virtual void PostProcess(int resolution)
Draw solution over mesh for all dimensions.
void SetCurrentState()
Sets all materials in CurrentState.
int fNIter
Number of iterations counting from fCurrentIter to fCurrentIter+fNIter.
Implements Full Structural Matrices. Structural Matrix.
void SetInitialSolutionAsZero()
Sets problem initial solution as zero.
std::list< std::pair< TPZFMatrix< STATE >, STATE > > & GetSavedSolutions()
Access to saved solution. Pair of (solution vec, simulation time)
int fSaveFrequency
Frequency which solution must be saved in DX file.
bool fIsLinearProblem
Flag indicating whether the problem is linear or not.
int fDXResolution
Resolution of DX mesh.
REAL fSteadyTol
Tolerance to consider the problem solution as steady state.
Implements computational mesh. Computational Mesh.
int GetCurrentIter()
Returns current iteration.
REAL fTimeStep
Simulation time step.
Derived class from TPZAnalysis implements non linear analysis (Newton's method). Analysis.
bool fForceAllSteps
Flag indicating whether all steps must be performed even if tolerance is achieved.
void SetNewtonConvergence(int niter, REAL eps)
Defines max number of steps and error convergence tolerance for Newton's method.
void ComputeMassMatrix()
Computes the mass matrix for the explicit scheme.
void SetSaveFrequency(int SaveFrequency, int resolution)
Defines properties of DX file.
void SetInitialSolution(TPZFMatrix< STATE > &InitialSol)
Sets problem initial solution.
void SetMassMatrix()
Sets all materials to compute the mass matrix - used in the explicit scheme.
int fNewtonMaxIter
Max iteration number of Newton's method.
TPZTransientAnalysis(TPZCompMesh *mesh, bool IsLinear=false, std::ostream &out=std::cout)
Constructor.
Contains TPZNonLinearAnalysis class which implements the non linear analysis.