Diana  0.8.3
Public Member Functions | Protected Member Functions | Private Attributes
HopfPointContinuation Class Reference

#include <HopfPointContinuation.hpp>

Inheritance diagram for HopfPointContinuation:
DianaContinuation IDianaContinuation DianaNumericSolver IDianaNumericSolver IDianaNumericSolver ICapeNumericSolver ICapeNumericSolver ICapeIdentification ICapeUtilities ICapeIdentification ICapeUtilities

List of all members.

Public Member Functions

 HopfPointContinuation (Numeric::Solvers::Model::ICapeNumericModel *_pModel)
Numeric::Solvers::Solver::SolveReturn Solve () throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder, Common::Error::ECapeSolvingError, Common::Error::ECapeOutOfResources)
ContiReturn Continuate () throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError)
Common::Types::CapeString GetVariableName (Common::Types::CapeLong index) throw (Common::Error::ECapeUnknown)

Protected Member Functions

int getModelEquations ()
int getModelVariables ()
void packModelBoundaries (Common::Types::CapeArrayDouble &arrMinY, Common::Types::CapeArrayDouble &arrMaxY)
void packModelVector (Common::Types::CapeArrayDouble &modelVector)
void unpackModelVector (const Common::Types::CapeArrayDouble &modelVector)
void packModelResidual (Common::Types::CapeArrayDouble &modelResidual)
void packModelJacobian (Diana::DianaSparseArray &Jaco)
CapeBoolean calcInitialEigenvector ()
CapeBoolean calcEigenvalues ()
CapeBoolean calcEigenvaluesLapack ()
CapeBoolean calcEigenvaluesArpack ()

Private Attributes

Common::Types::CapeLong nESOSize
Common::Types::CapeArrayDouble arrReEigenVector
Common::Types::CapeArrayDouble arrImEigenVector
Common::Types::CapeDouble dblOmega
const Common::Types::CapeLong nEigMonitorMax
Common::Types::CapeLong nEigMonitor
Common::Types::CapeLong nEigConverged
Common::Types::CapeArrayDouble arrReEigenValues
Common::Types::CapeArrayDouble arrImEigenValues
std::vector< fortrand > lapA
std::vector< fortrand > lapB
std::vector< fortrand > lapAlphaR
std::vector< fortrand > lapAlphaI
std::vector< fortrand > lapBeta
std::vector< fortrand > lapVl
std::vector< fortrand > lapVr
std::vector< fortrand > lapWork
std::vector< fortrand > arpResid
std::vector< fortrand > arpV
std::vector< fortrand > arpWorkd
std::vector< fortrand > arpWorkl
std::vector< fortrand > arpTmpX
std::vector< fortranl > arpSelect
std::vector< fortrand > arpWorkev
Diana::DianaSparseArray dsaArpAsM
Diana::DianaSparseSolver dssArpM
Diana::DianaSparseSolver dssArpAsM

Detailed Description

Continuation class definition

Author:
Michael Krasnyk

Constructor & Destructor Documentation

Constructor

Parameters:
_pModelPointer to the CAPE-ESO model in the implicit form $G(x,\dot{x},t)=0$. For the steady-state continuation are used assumptions $\dot{x}=0$ and $t=0$.

References DianaCollection::AddIndexed(), Common::Parameter::CAPE_INPUT, Common::Parameter::CAPE_OUTPUT, DianaContinuation::collSolverParameters, Common::Error::ECodeNone, ICapeNumericESO::GetNumEqns(), ICapeNumericESO::GetNumVars(), and DianaContinuation::pESO.


Member Function Documentation

Main continuation method.

Returns:
Continuation return code ContiReturn

Reimplemented from DianaContinuation.

References ECapeUser::code, ECapeUser::description, Common::Error::ECodeError, ECapeUser::interfaceName, ECapeUser::moreInfo, ECapeUser::operation, and ECapeUser::scope.

int getModelEquations ( ) [protected, virtual]

Returns size of the problem residual vector.

Implements DianaContinuation.

Referenced by HopfPointContinuation::packModelResidual().

int getModelVariables ( ) [protected, virtual]
CapeString GetVariableName ( Common::Types::CapeLong  index) throw (Common::Error::ECapeUnknown) [virtual]

Returns name of the variable by index.

Reimplemented from DianaContinuation.

References ICapeIdentification::GetComponentName(), DianaContinuation::GetVariableName(), and ICapeCollection::ItemByIndex().

void packModelBoundaries ( Common::Types::CapeArrayDouble arrMinY,
Common::Types::CapeArrayDouble arrMaxY 
) [protected, virtual]
void packModelJacobian ( Diana::DianaSparseArray Jaco) [protected, virtual]
void packModelResidual ( Common::Types::CapeArrayDouble modelResidual) [protected, virtual]
void packModelVector ( Common::Types::CapeArrayDouble modelVector) [protected, virtual]

Method solves system of nonlinear equations $G(x,0,0)=0$ contained in CAPE-ESO model. Initial values from the pESO state vector. If it succeeds, vecY and pESO will contain found point, otherwise it will be initial point

Returns:
Solve return code SolveReturn

Reimplemented from DianaContinuation.

References ECapeUser::code, ECapeUser::description, Common::Error::ECodeError, ECapeUser::interfaceName, ECapeUser::moreInfo, ECapeUser::operation, and ECapeUser::scope.

void unpackModelVector ( const Common::Types::CapeArrayDouble modelVector) [protected, virtual]

Copy data from the the pVector to subclass data structures (pVector -> ESO).

Implements DianaContinuation.

References Common::Error::ECodeNone, HopfPointContinuation::getModelVariables(), DianaContinuation::nVars, DianaContinuation::pESO, and ICapeNumericESO::SetAllVariables().


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