NuTo
Numerics Tool
Public Member Functions | Public Attributes | List of all members
NuTo::QuasistaticSolver Class Reference

#include <QuasistaticSolver.h>

Public Member Functions

 QuasistaticSolver (TimeDependentProblem &equations, DofType dof)
 Ctor. More...
 
 QuasistaticSolver (TimeDependentProblem &equations, std::vector< DofType > dofs)
 Ctor. More...
 
void SetConstraints (Constraint::Constraints constraints)
 
void SetGlobalTime (double globalTime)
 sets the global time required for evaluating the constraint right hand side More...
 
DofVector< double > TrialState (double newGlobalTime, const NuTo::ConstrainedSystemSolver &solver)
 computes the trial state of the system More...
 
void UpdateHistory (const DofVector< double > &x)
 calculates and stores the history variables for the state x More...
 
DofVector< double > Residual (const DofVector< double > &u)
 evaluates the residual R(u), part of NuTo::NewtonRaphson::Problem More...
 
DofMatrixSparse< double > Derivative (const DofVector< double > &u)
 evaluates the derivative dR/dx, part of NuTo::NewtonRaphson::Problem More...
 
double Norm (const DofVector< double > &residual) const
 evaluates the norm of R, part of NuTo::NewtonRaphson::Problem More...
 
void Info (int i, const DofVector< double > &x, const DofVector< double > &r) const
 prints values during the newton iterations, part of NuTo::NewtonRaphson::Problem More...
 
int DoStep (double newGlobalTime, std::string solverType="EigenSparseLU")
 Updates mProblem to time newGlobalTime and saves the new state mX upon convergence. More...
 
void WriteTimeDofResidual (std::ostream &out, DofType dofType, std::vector< int > dofNumbers)
 Writes the current time, the mean dof values and the sum of the residual into out, only for the given dof type and given dof numbers. More...
 

Public Attributes

double mTolerance = 1.e-10
 tolerance for Norm(R), public member because it is part of NuTo::NewtonRaphson::Problem More...
 

Constructor & Destructor Documentation

QuasistaticSolver::QuasistaticSolver ( TimeDependentProblem equations,
DofType  dof 
)

Ctor.

Parameters
equationssystem of equations including Gradient(), Hessian0() and UpdateHistory()
dofdof type
QuasistaticSolver::QuasistaticSolver ( TimeDependentProblem equations,
std::vector< DofType dofs 
)

Ctor.

Parameters
equationssystem of equations including Gradient(), Hessian0() and UpdateHistory()
dofsmultiple dof types

Member Function Documentation

DofMatrixSparse< double > QuasistaticSolver::Derivative ( const DofVector< double > &  u)

evaluates the derivative dR/dx, part of NuTo::NewtonRaphson::Problem

Parameters
uindependent dof values
int QuasistaticSolver::DoStep ( double  newGlobalTime,
std::string  solverType = "EigenSparseLU" 
)

Updates mProblem to time newGlobalTime and saves the new state mX upon convergence.

Parameters
newGlobalTimenew global time
solverTypesolver type from NuTo::EigenSparseSolve(...)
Returns
number of iterations required by the newton algorithm, throws upon failure to converge
void QuasistaticSolver::Info ( int  i,
const DofVector< double > &  x,
const DofVector< double > &  r 
) const

prints values during the newton iterations, part of NuTo::NewtonRaphson::Problem

Parameters
rresidual residual vector
double QuasistaticSolver::Norm ( const DofVector< double > &  residual) const

evaluates the norm of R, part of NuTo::NewtonRaphson::Problem

Parameters
residualresidual vector
DofVector< double > QuasistaticSolver::Residual ( const DofVector< double > &  u)

evaluates the residual R(u), part of NuTo::NewtonRaphson::Problem

Parameters
uindependent dof values
void QuasistaticSolver::SetConstraints ( Constraint::Constraints  constraints)
Parameters
constraintslinear constraints
void QuasistaticSolver::SetGlobalTime ( double  globalTime)

sets the global time required for evaluating the constraint right hand side

Parameters
globalTimeglobal time
DofVector< double > QuasistaticSolver::TrialState ( double  newGlobalTime,
const NuTo::ConstrainedSystemSolver solver 
)

computes the trial state of the system

Parameters
newGlobalTimenew time, for which the trial state is to be computed
solverthat allows to extract the constraint displacements from previous steps
void QuasistaticSolver::UpdateHistory ( const DofVector< double > &  x)

calculates and stores the history variables for the state x

Parameters
xindependent dof values
void QuasistaticSolver::WriteTimeDofResidual ( std::ostream &  out,
DofType  dofType,
std::vector< int >  dofNumbers 
)

Writes the current time, the mean dof values and the sum of the residual into out, only for the given dof type and given dof numbers.

Parameters
outoutput stream
dofTypedof type
dofNumbersdof numbers that are considered

Member Data Documentation

double NuTo::QuasistaticSolver::mTolerance = 1.e-10

tolerance for Norm(R), public member because it is part of NuTo::NewtonRaphson::Problem


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