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_Pitchfork_MooreSpence_ExtendedVector.H"
00043 #include "LOCA_Pitchfork_MooreSpence_ExtendedMultiVector.H"
00044
00045 LOCA::Pitchfork::MooreSpence::ExtendedVector::ExtendedVector(
00046 const Teuchos::RCP<LOCA::GlobalData>& global_data,
00047 const NOX::Abstract::Vector& xVec,
00048 const NOX::Abstract::Vector& nullVec,
00049 double slack,
00050 double bifParam) :
00051 LOCA::Extended::Vector(global_data,2,2)
00052 {
00053 setVector(0, xVec);
00054 setVector(1, nullVec);
00055 setScalar(0, slack);
00056 setScalar(1, bifParam);
00057 }
00058
00059 LOCA::Pitchfork::MooreSpence::ExtendedVector::ExtendedVector(
00060 const LOCA::Pitchfork::MooreSpence::ExtendedVector& source,
00061 NOX::CopyType type) :
00062 LOCA::Extended::Vector(source, type)
00063 {
00064 }
00065
00066
00067 LOCA::Pitchfork::MooreSpence::ExtendedVector::~ExtendedVector()
00068 {
00069 }
00070
00071 NOX::Abstract::Vector&
00072 LOCA::Pitchfork::MooreSpence::ExtendedVector::operator=(
00073 const NOX::Abstract::Vector& y)
00074 {
00075 operator=(dynamic_cast<const LOCA::Pitchfork::MooreSpence::ExtendedVector&>(y));
00076 return *this;
00077 }
00078
00079 LOCA::Extended::Vector&
00080 LOCA::Pitchfork::MooreSpence::ExtendedVector::operator=(
00081 const LOCA::Extended::Vector& y)
00082 {
00083 operator=(dynamic_cast<const LOCA::Pitchfork::MooreSpence::ExtendedVector&>(y));
00084 return *this;
00085 }
00086
00087 LOCA::Pitchfork::MooreSpence::ExtendedVector&
00088 LOCA::Pitchfork::MooreSpence::ExtendedVector::operator=(
00089 const LOCA::Pitchfork::MooreSpence::ExtendedVector& y)
00090 {
00091 LOCA::Extended::Vector::operator=(y);
00092 return *this;
00093 }
00094
00095 Teuchos::RCP<NOX::Abstract::Vector>
00096 LOCA::Pitchfork::MooreSpence::ExtendedVector::clone(
00097 NOX::CopyType type) const
00098 {
00099 return
00100 Teuchos::rcp(new LOCA::Pitchfork::MooreSpence::ExtendedVector(*this,
00101 type));
00102 }
00103
00104 void
00105 LOCA::Pitchfork::MooreSpence::ExtendedVector::setVec(
00106 const NOX::Abstract::Vector& xVec,
00107 const NOX::Abstract::Vector& nullVec,
00108 double slack,
00109 double bifPar)
00110 {
00111 setVector(0, xVec);
00112 setVector(1, nullVec);
00113 setScalar(0, slack);
00114 setScalar(1, bifPar);
00115 }
00116
00117 Teuchos::RCP<const NOX::Abstract::Vector>
00118 LOCA::Pitchfork::MooreSpence::ExtendedVector::getXVec() const
00119 {
00120 return getVector(0);
00121 }
00122
00123 Teuchos::RCP<const NOX::Abstract::Vector>
00124 LOCA::Pitchfork::MooreSpence::ExtendedVector::getNullVec() const
00125 {
00126 return getVector(1);
00127 }
00128
00129 double
00130 LOCA::Pitchfork::MooreSpence::ExtendedVector::getSlack() const
00131 {
00132 return getScalar(0);
00133 }
00134
00135 double
00136 LOCA::Pitchfork::MooreSpence::ExtendedVector::getBifParam() const
00137 {
00138 return getScalar(1);
00139 }
00140
00141 Teuchos::RCP<NOX::Abstract::Vector>
00142 LOCA::Pitchfork::MooreSpence::ExtendedVector::getXVec()
00143 {
00144 return getVector(0);
00145 }
00146
00147 Teuchos::RCP<NOX::Abstract::Vector>
00148 LOCA::Pitchfork::MooreSpence::ExtendedVector::getNullVec()
00149 {
00150 return getVector(1);
00151 }
00152
00153 double&
00154 LOCA::Pitchfork::MooreSpence::ExtendedVector::getSlack()
00155 {
00156 return getScalar(0);
00157 }
00158
00159 double&
00160 LOCA::Pitchfork::MooreSpence::ExtendedVector::getBifParam()
00161 {
00162 return getScalar(1);
00163 }
00164
00165 LOCA::Pitchfork::MooreSpence::ExtendedVector::ExtendedVector(
00166 const Teuchos::RCP<LOCA::GlobalData>& global_data) :
00167 LOCA::Extended::Vector(global_data,2,2)
00168 {
00169 }
00170
00171 Teuchos::RCP<LOCA::Extended::MultiVector>
00172 LOCA::Pitchfork::MooreSpence::ExtendedVector::generateMultiVector(
00173 int nColumns,
00174 int nVectorRows,
00175 int nScalarRows) const
00176 {
00177 return
00178 Teuchos::rcp(new LOCA::Pitchfork::MooreSpence::ExtendedMultiVector(
00179 globalData,
00180 nColumns));
00181 }