LifeV
MultiscaleAlgorithmNewton Class Reference

MultiscaleAlgorithmNewton - The Multiscale Algorithm implementation of Newton. More...

#include <MultiscaleAlgorithmNewton.hpp>

+ Inheritance diagram for MultiscaleAlgorithmNewton:
+ Collaboration diagram for MultiscaleAlgorithmNewton:

Private Attributes

LinearSolver M_solver
 
multiscaleMatrixPtr_Type M_jacobian
 

Constructors & Destructor

 MultiscaleAlgorithmNewton ()
 Constructor. More...
 
virtual ~MultiscaleAlgorithmNewton ()
 Destructor. More...
 

Multiscale Algorithm Virtual Methods

void setupData (const std::string &fileName)
 Setup the data of the algorithm using a data file. More...
 
void subIterate ()
 Perform sub-iteration on the coupling variables. More...
 

Unimplemented Methods

 MultiscaleAlgorithmNewton (const MultiscaleAlgorithmNewton &algorithm)
 
MultiscaleAlgorithmNewtonoperator= (const MultiscaleAlgorithmNewton &algorithm)
 

Private Methods

void assembleJacobianMatrix ()
 

Additional Inherited Members

- Public Types inherited from MultiscaleAlgorithm
typedef MultiscaleModelMultiscale multiscaleModelMultiscale_Type
 
typedef multiscaleModelMultiscale_TypemultiscaleModelMultiscalePtr_Type
 
- Public Member Functions inherited from MultiscaleAlgorithm
 MultiscaleAlgorithm ()
 Constructor. More...
 
virtual ~MultiscaleAlgorithm ()
 Destructor. More...
 
virtual void setupAlgorithm ()
 Setup coupling variables and other quantities of the algorithm. More...
 
virtual void showMe ()
 Display some information about the algorithm. More...
 
Real computeResidual () const
 
void setCommunicator (const multiscaleCommPtr_Type &comm)
 Set the epetra communicator for the model. More...
 
void setMultiscaleModel (const multiscaleModelMultiscalePtr_Type model)
 Set the main Multiscale model. More...
 
void setSubiterationsMaximumNumber (const UInt &subiterationsMaximumNumber)
 Set the maximum number of subiterations. More...
 
void setTolerance (const Real &tolerance)
 Set the tolerance. More...
 
void setAlgorithmName (const multiscaleParameterList_Type &parameterList)
 Set the algorithm name. More...
 
virtual void setAlgorithmParameters (const multiscaleParameterList_Type &parameterList)
 Set the the main parameters of the algorithm (tolerance, maximum number of subiterations, etc.) More...
 
const algorithms_Typetype () const
 Get the type of the algorithm. More...
 
const multiscaleModelMultiscalePtr_TypemultiScaleProblem () const
 Get the Multiscale problem. More...
 
const multiscaleVectorPtr_TypecouplingVariables () const
 Get the coupling variables. More...
 
const multiscaleVectorPtr_TypecouplingResiduals () const
 Get the coupling residuals. More...
 
const multiscaleCommPtr_Typecommunicator () const
 Get the communicator. More...
 
const UIntsubiterationsMaximumNumber () const
 Get the subiterations maximum number. More...
 
const Realtolerance () const
 Get the required tolerance. More...
 
- Protected Member Functions inherited from MultiscaleAlgorithm
void save (const UInt &subiterationsNumber, const Real &residual) const
 save on a Matlab file the information about the convergence of the algorithm. More...
 
bool checkResidual (const UInt &subIT=0) const
 Update the residual and check if the tolerance has been satisfied. More...
 
- Protected Attributes inherited from MultiscaleAlgorithm
algorithms_Type M_type
 
std::string M_name
 
multiscaleModelMultiscalePtr_Type M_multiscale
 
multiscaleVectorPtr_Type M_couplingVariables
 
multiscaleVectorPtr_Type M_couplingResiduals
 
multiscaleCommPtr_Type M_comm
 
UInt M_subiterationsMaximumNumber
 
Real M_tolerance
 

Detailed Description

MultiscaleAlgorithmNewton - The Multiscale Algorithm implementation of Newton.

Author
Cristiano Malossi
See also
Full description of the Geometrical Multiscale Framework: [15]
Methodology: [12] [13] [14] [2]
Applications: [11] [10] [3]

The MultiscaleAlgorithmNewton is an implementation of multiscaleAlgorithm_Type which implements the Newton method.

Definition at line 60 of file MultiscaleAlgorithmNewton.hpp.

Constructor & Destructor Documentation

◆ MultiscaleAlgorithmNewton() [1/2]

Constructor.

Definition at line 47 of file MultiscaleAlgorithmNewton.cpp.

+ Here is the caller graph for this function:

◆ ~MultiscaleAlgorithmNewton()

virtual ~MultiscaleAlgorithmNewton ( )
inlinevirtual

Destructor.

Definition at line 71 of file MultiscaleAlgorithmNewton.hpp.

◆ MultiscaleAlgorithmNewton() [2/2]

MultiscaleAlgorithmNewton ( const MultiscaleAlgorithmNewton algorithm)
private

Member Function Documentation

◆ setupData()

void setupData ( const std::string &  fileName)
virtual

Setup the data of the algorithm using a data file.

Parameters
FileNameName of the data file.

Implements MultiscaleAlgorithm.

Definition at line 64 of file MultiscaleAlgorithmNewton.cpp.

◆ subIterate()

void subIterate ( )
virtual

Perform sub-iteration on the coupling variables.

Reimplemented from MultiscaleAlgorithm.

Definition at line 85 of file MultiscaleAlgorithmNewton.cpp.

◆ operator=()

MultiscaleAlgorithmNewton& operator= ( const MultiscaleAlgorithmNewton algorithm)
private

◆ assembleJacobianMatrix()

void assembleJacobianMatrix ( )
private

Definition at line 143 of file MultiscaleAlgorithmNewton.cpp.

Field Documentation

◆ M_solver

LinearSolver M_solver
private

Definition at line 109 of file MultiscaleAlgorithmNewton.hpp.

◆ M_jacobian

multiscaleMatrixPtr_Type M_jacobian
private

Definition at line 110 of file MultiscaleAlgorithmNewton.hpp.


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