00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #include "LOCA_Hopf_MooreSpence_ExtendedVector.H"
00043 #include "LOCA_Hopf_MooreSpence_ExtendedMultiVector.H"
00044
00045 LOCA::Hopf::MooreSpence::ExtendedVector::ExtendedVector(
00046 const Teuchos::RCP<LOCA::GlobalData>& global_data,
00047 const NOX::Abstract::Vector& xVec,
00048 const NOX::Abstract::Vector& realEigenVec,
00049 const NOX::Abstract::Vector& imagEigenVec,
00050 double frequency,
00051 double bifParam) :
00052 LOCA::Extended::Vector(global_data,3,2)
00053 {
00054 setVector(0, xVec);
00055 setVector(1, realEigenVec);
00056 setVector(2, imagEigenVec);
00057 setScalar(0, frequency);
00058 setScalar(1, bifParam);
00059 }
00060
00061 LOCA::Hopf::MooreSpence::ExtendedVector::ExtendedVector(
00062 const LOCA::Hopf::MooreSpence::ExtendedVector& source,
00063 NOX::CopyType type) :
00064 LOCA::Extended::Vector(source, type)
00065 {
00066 }
00067
00068
00069 LOCA::Hopf::MooreSpence::ExtendedVector::~ExtendedVector()
00070 {
00071 }
00072
00073 NOX::Abstract::Vector&
00074 LOCA::Hopf::MooreSpence::ExtendedVector::operator=(
00075 const NOX::Abstract::Vector& y)
00076 {
00077 return operator=(dynamic_cast<const LOCA::Hopf::MooreSpence::ExtendedVector&>(y));
00078 }
00079
00080 LOCA::Extended::Vector&
00081 LOCA::Hopf::MooreSpence::ExtendedVector::operator=(
00082 const LOCA::Extended::Vector& y)
00083 {
00084 return operator=(dynamic_cast<const LOCA::Hopf::MooreSpence::ExtendedVector&>(y));
00085 }
00086
00087 LOCA::Hopf::MooreSpence::ExtendedVector&
00088 LOCA::Hopf::MooreSpence::ExtendedVector::operator=(
00089 const LOCA::Hopf::MooreSpence::ExtendedVector& y)
00090 {
00091 LOCA::Extended::Vector::operator=(y);
00092 return *this;
00093 }
00094
00095 Teuchos::RCP<NOX::Abstract::Vector>
00096 LOCA::Hopf::MooreSpence::ExtendedVector::clone(NOX::CopyType type) const
00097 {
00098 return
00099 Teuchos::rcp(new LOCA::Hopf::MooreSpence::ExtendedVector(*this, type));
00100 }
00101
00102 void
00103 LOCA::Hopf::MooreSpence::ExtendedVector::setVec(
00104 const NOX::Abstract::Vector& xVec,
00105 const NOX::Abstract::Vector& realEigenVec,
00106 const NOX::Abstract::Vector& imagEigenVec,
00107 double frequency,
00108 double bifPar)
00109 {
00110 setVector(0, xVec);
00111 setVector(1, realEigenVec);
00112 setVector(2, imagEigenVec);
00113 setScalar(0, frequency);
00114 setScalar(1, bifPar);
00115 }
00116
00117 Teuchos::RCP<const NOX::Abstract::Vector>
00118 LOCA::Hopf::MooreSpence::ExtendedVector::getXVec() const
00119 {
00120 return getVector(0);
00121 }
00122
00123 Teuchos::RCP<const NOX::Abstract::Vector>
00124 LOCA::Hopf::MooreSpence::ExtendedVector::getRealEigenVec() const
00125 {
00126 return getVector(1);
00127 }
00128
00129 Teuchos::RCP<const NOX::Abstract::Vector>
00130 LOCA::Hopf::MooreSpence::ExtendedVector::getImagEigenVec() const
00131 {
00132 return getVector(2);
00133 }
00134
00135 double
00136 LOCA::Hopf::MooreSpence::ExtendedVector::getFrequency() const
00137 {
00138 return getScalar(0);
00139 }
00140
00141 double
00142 LOCA::Hopf::MooreSpence::ExtendedVector::getBifParam() const
00143 {
00144 return getScalar(1);
00145 }
00146
00147 Teuchos::RCP<NOX::Abstract::Vector>
00148 LOCA::Hopf::MooreSpence::ExtendedVector::getXVec()
00149 {
00150 return getVector(0);
00151 }
00152
00153 Teuchos::RCP<NOX::Abstract::Vector>
00154 LOCA::Hopf::MooreSpence::ExtendedVector::getRealEigenVec()
00155 {
00156 return getVector(1);
00157 }
00158
00159 Teuchos::RCP<NOX::Abstract::Vector>
00160 LOCA::Hopf::MooreSpence::ExtendedVector::getImagEigenVec()
00161 {
00162 return getVector(2);
00163 }
00164
00165 double&
00166 LOCA::Hopf::MooreSpence::ExtendedVector::getFrequency()
00167 {
00168 return getScalar(0);
00169 }
00170
00171 double&
00172 LOCA::Hopf::MooreSpence::ExtendedVector::getBifParam()
00173 {
00174 return getScalar(1);
00175 }
00176
00177 LOCA::Hopf::MooreSpence::ExtendedVector::ExtendedVector(
00178 const Teuchos::RCP<LOCA::GlobalData>& global_data) :
00179 LOCA::Extended::Vector(global_data,3,2)
00180 {
00181 }
00182
00183 Teuchos::RCP<LOCA::Extended::MultiVector>
00184 LOCA::Hopf::MooreSpence::ExtendedVector::generateMultiVector(
00185 int nColumns,
00186 int nVectorRows,
00187 int nScalarRows) const
00188 {
00189 return
00190 Teuchos::rcp(new LOCA::Hopf::MooreSpence::ExtendedMultiVector(globalData,
00191 nColumns));
00192 }