Diana
0.8.3
|
#include <SteadyStateContinuation.hpp>
Public Member Functions | |
SteadyStateContinuation (Numeric::Solvers::Model::ICapeNumericModel *_pModel) | |
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 | calcTestCondition (CapeBoolean bFirstCall=false) |
CapeBoolean | calcEigenvalues () |
CapeBoolean | calcEigenvaluesLapack () |
CapeBoolean | calcEigenvaluesArpack () |
std::vector< std::complex < Common::Types::CapeDouble > > | GetEigenvalues () throw (Common::Error::ECapeUnknown) |
Protected Attributes | |
Common::Types::CapeBoolean | bStabilityCheck |
Common::Types::CapeBoolean | bStability |
Common::Types::CapeLong | nConditionTest |
Common::Types::CapeLong | nConditionCurrent |
const Common::Types::CapeLong | nEigMonitorMax |
Common::Types::CapeLong | nEigMonitor |
Common::Types::CapeLong | nEigConverged |
Common::Parameter::ICapeParameter * | prmEigSolver |
Private Attributes | |
Common::Types::CapeArrayDouble | arrReEigenValues |
Common::Types::CapeArrayDouble | arrImEigenValues |
Common::Types::CapeLong | nPrevReal |
Common::Types::CapeLong | nPrevImag |
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 |
Continuation class definition
Constructor
_pModel | Pointer to the CAPE-ESO model in the implicit form ![]() ![]() ![]() |
References DianaCollection::AddIndexed(), Common::Parameter::CAPE_INPUT, Common::Parameter::CAPE_INPUT_OUTPUT, Common::Parameter::CAPE_OUTPUT, DianaContinuation::collSolverParameters, Common::Error::ECodeNone, ICapeNumericESO::GetNumEqns(), ICapeNumericESO::GetNumVars(), DianaContinuation::pESO, and Diana::SteadyStateZCE.
CapeBoolean calcTestCondition | ( | CapeBoolean | bFirstCall = false | ) | [protected, virtual] |
Evaluates specified test conditions during continuation.
Dummy function, returns false
Reimplemented from DianaContinuation.
References ICapeNumericESO::GetNumVars(), DianaContinuation::nVerboseLevel, DianaContinuation::pESO, and Diana::SteadyStateZCE.
std::vector< std::complex< Common::Types::CapeDouble > > GetEigenvalues | ( | ) | throw (Common::Error::ECapeUnknown) [protected, virtual] |
Returns eigenvalues of the generalized eigenvalues problem (PhD thesis, section 2.3) or Floquet multipliers (PhD thesis, section 3.2 )
Reimplemented from DianaContinuation.
int getModelEquations | ( | ) | [protected, virtual] |
Returns size of the problem residual vector.
Implements DianaContinuation.
References ICapeNumericESO::GetNumEqns(), and DianaContinuation::pESO.
Referenced by SteadyStateContinuation::packModelResidual().
int getModelVariables | ( | ) | [protected, virtual] |
Returns size of the problem variables subvector.
Implements DianaContinuation.
References ICapeNumericESO::GetNumVars(), and DianaContinuation::pESO.
Referenced by SteadyStateContinuation::packModelBoundaries(), SteadyStateContinuation::packModelVector(), and SteadyStateContinuation::unpackModelVector().
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] |
Update boundary arrays dblMinY, dblMaxY. Before call of this function this array should have size at least getModelVariables() entries.
Implements DianaContinuation.
References DianaContinuation::dblMaxY, DianaContinuation::dblMinY, Common::Error::ECodeNone, ICapeNumericESO::GetLowerBounds(), SteadyStateContinuation::getModelVariables(), ICapeNumericESO::GetUpperBounds(), and DianaContinuation::pESO.
void packModelJacobian | ( | Diana::DianaSparseArray & | Jaco | ) | [protected, virtual] |
Calculate Jacobian and set data to the matrix.
Reimplemented from DianaContinuation.
References sparray::append(), Common::Error::ECodeNone, ICapeNumericESO::GetAllJacobianValues(), DianaContinuation::nVerboseLevel, DianaContinuation::pESO, sparray::rank(), and sparray::size().
void packModelResidual | ( | Common::Types::CapeArrayDouble & | modelResidual | ) | [protected, virtual] |
Calculate residual and copy data to the pVector (ESO.Residual -> pVector).
Implements DianaContinuation.
References Common::Error::ECodeNone, ICapeNumericESO::GetAllResiduals(), SteadyStateContinuation::getModelEquations(), DianaContinuation::nVerboseLevel, and DianaContinuation::pESO.
void packModelVector | ( | Common::Types::CapeArrayDouble & | modelVector | ) | [protected, virtual] |
Copy data from the subclass to the pVector (ESO -> pVector).
Implements DianaContinuation.
References Common::Error::ECodeNone, ICapeNumericESO::GetAllVariables(), SteadyStateContinuation::getModelVariables(), DianaContinuation::nVars, and DianaContinuation::pESO.
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, SteadyStateContinuation::getModelVariables(), DianaContinuation::nVars, DianaContinuation::pESO, and ICapeNumericESO::SetAllVariables().