5 #include <eigen3/Eigen/Core> 20 return mData.at(dofType);
31 return mData[dofType];
37 for (
auto& entry : rhs.
mData)
40 mData[entry.first] += entry.second;
42 mData[entry.first] = entry.second;
50 for (
auto& entry : rhs.
mData)
53 mData[entry.first] -= entry.second;
55 mData[entry.first] = -entry.second;
62 for (
auto& entry :
mData)
63 entry.second *= scalar;
93 return (*
this)[dof][globalDofNumber];
98 for (
auto& entry :
mData)
100 entry.second.setZero();
106 std::vector<double>
v;
107 v.reserve(globalDofNumbers.size());
108 for (
int globalDofNumber : globalDofNumbers)
109 v.push_back((*
this)(dof, globalDofNumber));
115 for (
auto& entry : v.
mData)
117 out <<
"==== " << entry.first.GetName() <<
"====\n";
118 out << entry.second <<
'\n';
128 for (
auto& entry : rhs.
mData)
131 mData[entry.first] += entry.second * scalar;
133 mData[entry.first] = entry.second * scalar;
139 std::vector<DofType> dofTypes;
140 for (
const auto& data :
mData)
141 dofTypes.push_back(data.first);
void SetZero()
Definition: DofVector.h:96
const Eigen::Matrix< T, Eigen::Dynamic, 1 > & operator[](const DofType &dofType) const
const access
Definition: DofVector.h:18
DofVector & operator-=(const DofVector &rhs)
performs uninitialized addition that resizes the data to the length of rhs
Definition: DofVector.h:48
std::vector< DofType > DofTypes() const
Definition: DofVector.h:137
friend DofVector operator*(DofVector lhs, double scalar)
Definition: DofVector.h:79
Eigen::Matrix< T, Eigen::Dynamic, 1 > & operator[](const DofType &dofType)
nonconst access
Definition: DofVector.h:29
std::map< DofType, Eigen::Matrix< T, Eigen::Dynamic, 1 >, CompareDofType > mData
data container
Definition: DofVector.h:148
std::vector< double > operator()(DofType dof, std::vector< int > globalDofNumbers) const
Definition: DofVector.h:104
friend DofVector operator-(DofVector lhs, const DofVector &rhs)
Definition: DofVector.h:73
double operator()(DofType dof, int globalDofNumber) const
Definition: DofVector.h:91
DofVector & operator+=(const DofVector &rhs)
performs uninitialized addition that resizes the data to the length of rhs
Definition: DofVector.h:35
friend std::ostream & operator<<(std::ostream &out, const DofVector &v)
Definition: DofVector.h:113
void AddScaled(const DofVector &rhs, double scalar)
calculates (*this) += rhs * scalar
Definition: DofVector.h:126
int v
Definition: Quad2DPatchTest.py:9
DofVector & operator*=(double scalar)
Definition: DofVector.h:60
Definition: Exception.h:6
Definition: SerializeStreamOut.h:9
rhs
Definition: SparseDirectSolverMKLDSS.py:46
friend DofVector operator*(double scalar, DofVector rhs)
Definition: DofVector.h:85
friend DofVector operator+(DofVector lhs, const DofVector &rhs)
Definition: DofVector.h:67
Definition: DofVector.h:12