Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members
ModifiedNewton Class Reference#include <ModifiedNewton.h>
Inheritance diagram for ModifiedNewton::
List of all members.
Detailed Description
The ModifiedNewton class is an algorithmic class which obtains a solution to a non-linear system using the modified Newton-Raphson iteration scheme. The Newton-Rapson iteration scheme is based on a Taylor expansion of the non-linear system of equations
about an approximate solution
: \begin{equation} \R(U) = \R(U^{(i)}) + \left[ {\frac{-
tial \R}{\partial U} \vert}_{U^{(i)}}\right]
-
\left( U - U^{(i)} \right) \end{equation}
which can be expressed as: \begin{equation} \ K^{(i)} \Delta U{(i)} = \R(U^{(i)}) \end{equation} which is solved for
to give approximation for
. To start the iteration
, i.e. the current trial response quantities are chosen as initial response quantities. \
in the modified version the tangent is formed only once, i.e \begin{equation} \ K^{(1)} \Delta U^{(i)} = \R(U^{(i)}) \end{equation}
To stop the iteration, a test must be performed to see if convergence has been achieved at each iteration. Each NewtonRaphson object is associated with a ConvergenceTest object. It is this object which determines if convergence has been achieved. \
Definition at line 83 of file ModifiedNewton.h.
Constructor & Destructor Documentation
ModifiedNewton::ModifiedNewton (
|
int tangent = CURRENT_TANGENT )
|
|
|
The constructor takes as an argument the ConvregenceTest object {theTest}, the object which is used at the end of each iteration to determine if convergence has been obtained. The integer {EquiALGORITHM\_TAGS\_ModifiedNewton} (defined in
classTags.h\form#24) is passed to the EquiSolnAlgo classes constructor.
Definition at line 51 of file ModifiedNewton.cpp. |
ModifiedNewton::ModifiedNewton (
|
ConvergenceTest & theTest,
|
|
int tangent = CURRENT_TANGENT )
|
|
|
Provided for FEM\_ObjectBroker to instantiate a blank object with a class tag of EquiALGORITHM\_TAGS\_ModofiedNewton. {recvSelf()} must be invoked on this object.
Definition at line 59 of file ModifiedNewton.cpp. |
ModifiedNewton::~ModifiedNewton (
|
)
|
|
Member Function Documentation
void ModifiedNewton::Print (
|
ostream & s,
|
|
int flag = 0 ) [virtual]
|
|
|
This is a pure virtual method, one must be written for each instantiable subclass of MovableObject. Each object has to receive the data needed to be able to recreate itself in the new process after it has been sent through {theChannel}. If the object is an aggregation containing other objects, new objects of the correct type can be constructed using {theBroker}. To return
if successful or a
if not.
Reimplemented from MovableObject.
Definition at line 183 of file ModifiedNewton.cpp. |
int ModifiedNewton::sendSelf (
|
int commitTag,
|
|
Channel & theChannel ) [virtual]
|
|
|
This is a pure virtual method, one must be written for each instantiable subclass of MovableObject. Each object has to send the data needed to be able to reproduce that object in a remote process. The object uses the methods provided by {theChannel} object to send the data to another channel at the remote actor, the address of the channel is set before this method is called. An object of similar type at the remote actor is invoked with a {receiveSelf()} to receive the data. Returns
if successful (successful in that the data got to the channel), or a
if no data was sent.
Reimplemented from MovableObject.
Definition at line 160 of file ModifiedNewton.cpp. |
int ModifiedNewton::solveCurrentStep (
|
void ) [virtual]
|
|
|
When invoked the object first sets itself as the EquiSolnAlgo object that the ConvergenceTest is testing and then it performs the modified Newton-Raphson iteration algorithm: \begin{tabbing} while \= \+ while \= \kill theTest-
start();
Reimplemented from EquiSolnAlgo.
Definition at line 79 of file ModifiedNewton.cpp. |
The documentation for this class was generated from the following files:
|