#include <constraintvector.h>
template<typename VECTOR>
class DOpE::ConstraintVector< VECTOR >
This class represents the constraint vector used for additional constraints beyond the PDE.
- Template Parameters
-
<VECTOR> | Class in which we want to store the spatial vector (i.e. dealii::Vector<double> or dealii::BlockVector<double>) |
template<typename VECTOR >
template<typename VECTOR >
ConstraintVector::ConstraintVector |
( |
const SpaceTimeHandlerBase< VECTOR > * |
STH, |
|
|
std::string |
behavior |
|
) |
| |
template<typename VECTOR >
ConstraintVector::~ConstraintVector |
( |
| ) |
|
template<typename VECTOR >
Sets this vector adds a multiple of an other vector to this vector. this = this + s * dq It expects both vectors to be of the same structure.
- Parameters
-
s | A double, by which the other vector is scaled. |
dq | The other vector. |
template<typename VECTOR >
double ConstraintVector::Complementarity |
( |
const ConstraintVector< VECTOR > & |
g | ) |
const |
|
virtual |
This function calculates the element-wise product of the constraintvector with the given argument. The absolute value of these products is then summed.
- Parameters
-
g | A given vector to check the complementarity. |
- Returns
- the complementarity product.
template<typename VECTOR >
Sets this vector to the values of an other given vector. The vector is not resized!
- Parameters
-
template<typename VECTOR>
This returns the behavior of the ConstraintVector Currently implemented are the following posibilities
- fullmem Means there is a spacial vector for each time point. The whole vector
- is stored in main memory.
- Returns
- A string indicating the behavior.
template<typename VECTOR >
const dealii::Vector< double > & ConstraintVector::GetGlobalConstraints |
( |
| ) |
const |
Returns the vector containing information on global in space and time constraints
template<typename VECTOR >
dealii::Vector< double > & ConstraintVector::GetGlobalConstraints |
( |
| ) |
|
Returns the vector containing information on global in space and time constraints
template<typename VECTOR>
template<typename VECTOR >
VECTOR & ConstraintVector::GetSpacialVector |
( |
std::string |
name | ) |
|
Returns a reference to the spacial vector associated to the last time given by SetTime* The Constrainttype must be indicated in the string name. Feasible values are 'local' for local in time and space 'local_global' for local in space but global in time constraints.
template<typename VECTOR >
const VECTOR & ConstraintVector::GetSpacialVector |
( |
std::string |
name | ) |
const |
Returns a const reference to the spacial vector associated to the last time given by SetTime* See also GetSpacialVector
template<typename VECTOR >
bool ConstraintVector::HasType |
( |
std::string |
name | ) |
const |
Returns true if there is a constraint associated to the name.
template<typename VECTOR >
bool ConstraintVector::IsEpsilonFeasible |
( |
double |
eps | ) |
const |
|
virtual |
This function is used to check whether the values stored in this vector corresponding to an epsilon feasible control, i.e., if all entries are not larger than the given eps.
- Parameters
-
- Returns
- A boolean beeing true if the constraint is eps-feasible and false otherwise.
template<typename VECTOR >
bool ConstraintVector::IsFeasible |
( |
| ) |
const |
|
virtual |
This function is used to check whether the values stored in this vector corresponding to a feasible control, i.e., if all entries are non positive
- Returns
- A boolean beeing true if the constraint is feasible and false otherwise.
template<typename VECTOR >
bool ConstraintVector::IsLargerThan |
( |
double |
eps | ) |
const |
|
virtual |
This function is used to check whether the values stored in this vector are larger than the given epsilon.
- Parameters
-
- Returns
- A boolean beeing true if the constraint is larger than eps and false otherwise.
template<typename VECTOR >
double ConstraintVector::Norm |
( |
std::string |
name, |
|
|
std::string |
restriction = "all" |
|
) |
| const |
Computes the norm given by name of the vector. Feasible values are "infty", and "l1" The string restriction defines if only certain values are to be considered. Currently "all" and "positive" are feasible Meaning that either all or only the positive entries are considered.
template<typename VECTOR >
double ConstraintVector::operator* |
( |
const ConstraintVector< VECTOR > & |
dq | ) |
const |
Computes the Euclidean scalar product of this vector with the argument. Both Vectors must have the same struckture.
- Parameters
-
dq | The argument for the computation of the scalarproduct. |
- Returns
- A double containing the scalar product.
template<typename VECTOR >
void ConstraintVector::operator*= |
( |
double |
a | ) |
|
Multiplies the Vector with a constant.
- Parameters
-
a | A double to be multiplied with the vector. |
template<typename VECTOR >
Upon completion each entry of this Vector contains the following Result this = this + dq; It is required that both this and dq have the same structure!
- Parameters
-
template<typename VECTOR >
void ConstraintVector::operator= |
( |
double |
value | ) |
|
Sets all the vector to a constant value.
- Parameters
-
value | The constant value to be assigned to the vector. |
template<typename VECTOR >
Sets this vector to the values of an other given vector. If required this vector is resized. This invalidates all prior SetTime* calls.
- Parameters
-
template<typename VECTOR >
void ConstraintVector::PrintInfos |
( |
std::stringstream & |
out | ) |
|
Prints Information on this vector into the given stream.
- Parameters
-
template<typename VECTOR >
void ConstraintVector::ReInit |
( |
| ) |
|
template<typename VECTOR >
void ConstraintVector::SetTime |
( |
double |
t, |
|
|
const TimeIterator & |
interval |
|
) |
| const |
Sets the time in the vector. This Function or SetTimeDoFNumber must be called before calling GetSpacialVector in order to load the required data.
- Parameters
-
t | A double containing the time we are interested in. If t doesn't match the time given by time_point, then an interpolation between the corresponding time_points is computed. |
interval | An TimeIterator. The interval containing t. |
template<typename VECTOR >
void ConstraintVector::SetTimeDoFNumber |
( |
unsigned int |
time_point | ) |
const |
Sets the time in the vector. This Function or SetTime must be called before calling GetSpacialVector in order to load the required data.
- Parameters
-
time_point | An unsigned integer. This gives the number of the point in the time mesh. |
The documentation for this class was generated from the following files:
- /afs/math.uni-hamburg.de/users/oa/fmrv001/src/DOpE/ThingsForMaintainer/Releases/dopelib-1.0/DOpEsrc/include/constraintvector.h
- /afs/math.uni-hamburg.de/users/oa/fmrv001/src/DOpE/ThingsForMaintainer/Releases/dopelib-1.0/DOpEsrc/source/constraintvector.cc