24 #ifndef STATE_VECTOR_H_
25 #define STATE_VECTOR_H_
31 #include <base/utilities.h>
32 #include <lac/vector.h>
33 #include <lac/block_vector_base.h>
34 #include <lac/block_vector.h>
49 template<
typename VECTOR>
208 struct SpatialVectorInfos
213 SpatialVectorInfos(
int size = -1,
bool on_disc =
false)
224 void ReSizeSpace(
unsigned int ndofs,
const std::vector<unsigned int>& dofs_per_block)
const;
231 void MakeName(
unsigned int time_point)
const;
237 void StoreOnDisc()
const;
247 void FetchFromDisc(
unsigned int time_point, VECTOR & vector)
const;
255 bool FileExists(
unsigned int time_point)
const;
261 void SwapPtr(VECTOR* & a,VECTOR* & b )
const;
267 void ComputeLocalVectors(
const TimeIterator& interval)
const;
272 void ResizeLocalVectors(
unsigned int size)
const;
274 mutable std::vector<VECTOR*> state_;
275 mutable std::vector<SpatialVectorInfos> state_information_;
277 mutable VECTOR local_state_;
278 mutable dealii::Vector<double> copy_state_;
279 mutable int accessor_;
284 mutable std::string filename_;
285 mutable std::fstream filestream_;
288 mutable unsigned int current_dof_number_;
291 mutable std::vector<VECTOR*> local_vectors_;
295 mutable std::map<unsigned int, unsigned int> global_to_local_;
297 mutable int accessor_index_;
300 std::string tmp_dir_;
301 unsigned int sfh_ticket_;
303 const SpaceTimeHandlerBase<VECTOR>* STH_;
304 const unsigned int unique_id_;
306 static unsigned int id_counter_;
307 static unsigned int num_active_;
const dealii::Vector< double > & GetSpacialVectorCopy() const
Definition: statevector.cc:448
void operator+=(const StateVector< VECTOR > &dq)
Definition: statevector.cc:879
void operator=(double value)
Definition: statevector.cc:708
VECTOR & GetSpacialVector()
Definition: statevector.cc:383
double operator*(const StateVector< VECTOR > &dq) const
Definition: statevector.cc:997
Definition: parameterreader.h:36
void ReInit()
Definition: statevector.cc:127
void add(double s, const StateVector< VECTOR > &dq)
Definition: statevector.cc:1073
Definition: spacetimehandler_base.h:48
Definition: timeiterator.h:63
void SetTime(double t, const TimeIterator &interval) const
Definition: statevector.cc:368
StateVector(const StateVector< VECTOR > &ref)
Definition: statevector.cc:48
~StateVector()
Definition: statevector.cc:210
void equ(double s, const StateVector< VECTOR > &dq)
Definition: statevector.cc:1143
void operator*=(double a)
Definition: statevector.cc:947
Definition: statevector.h:50
DOpEtypes::VectorStorageType GetBehavior() const
Definition: statevector.h:190
VectorStorageType
Definition: dopetypes.h:120
const SpaceTimeHandlerBase< VECTOR > * GetSpaceTimeHandler() const
Definition: statevector.h:197
void PrintInfos(std::stringstream &out)
Definition: statevector.cc:1211
void SetTimeDoFNumber(unsigned int dof_number, const TimeIterator &interval) const
Definition: statevector.cc:263
void UnLockCopy() const
Definition: statevector.h:174