Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members
ArcLength Class Reference#include <ArcLength.h>
Inheritance diagram for ArcLength::
List of all members.
Detailed Description
ArcLength is a subclass of StaticIntegrator, it is used to when performing a static analysis on the FE\_Model using an arc length method. In the arc length method implemented by this class, the following constraint equation is added to equation~\ref{staticFormTaylor} of the StaticIntegrator class:
\begin{equation} \Delta U_n^T \Delta U_n + \alpha^2 \Delta \lambda_n^2 = \Delta s^2 \end{equation}
where
this equation cannot be added directly into equation~\ref{staticFormTaylor} to produce a linear system of
unknowns. To add this equation we make some assumptions ala Yang (REF), which in so doing allows us to solve a system of
unknowns using the method of ??(REF). Rewriting equation~\ref{staticFormTaylor} as
The idea of ?? is to separate this into two equations:
\defUh{\dot{\bf U}} \defUb{\overline{\bf U}}
where now
\begin{equation} \Delta U_n^{(i)} = \Delta \lambda_n^{(i)} \Delta Uh_n^{(i)} + \Delta Ub_n^{(i)} \label{splitForm} \end{equation}
We now rewrite the constraint equation based on two conditions:
\begin{enumerate} \item {\bf
}: assuming
, i.e. the system is in equilibrium at the start of the iteration, the following is obtained
The question now is whether {\bf +} or {\bf -} should be used. In this class,
from the previous iteration
is used, if it was positive {\bf +} is assumed, otherwise {\bf -}. This may change. There are other ideas: ?(REF) number of negatives on diagonal of decomposed matrix, ...
\item {\bf
}
assuming the constraint equation was solved at
, i.e.
, this reduces to
substituting for
using equation~\ref{splitForm} this can be expressed as:
which is a quadratic in
, which can be solved for two roots. The root chosen is the one which will keep a positive angle between the incremental displacement before and after this step.
\end{enumerate}
Definition at line 173 of file ArcLength.h.
Constructor & Destructor Documentation
ArcLength::ArcLength (
|
double arcLength,
|
|
double alpha = 1.0 )
|
|
ArcLength::~ArcLength (
|
)
|
|
|
Invokes the destructor on the Vector objects created in {domainChanged()}.
Definition at line 60 of file ArcLength.cpp. |
Member Function Documentation
void ArcLength::Print (
|
ostream & s,
|
|
int flag = 0 ) [virtual]
|
|
|
The object sends to
its type, the current value of
, and
.
Reimplemented from Integrator.
Definition at line 339 of file ArcLength.cpp. |
int ArcLength::domainChanged (
|
void ) [virtual]
|
|
int ArcLength::newStep (
|
void ) [virtual]
|
|
int ArcLength::sendSelf (
|
int commitTag,
|
|
Channel & theChannel ) [virtual]
|
|
int ArcLength::update (
|
const Vector & deltaU ) [virtual]
|
|
The documentation for this class was generated from the following files:
|