24 #ifndef _STATE_VECTOR_H_
25 #define _STATE_VECTOR_H_
30 #include <base/utilities.h>
31 #include <lac/vector.h>
32 #include <lac/block_vector_base.h>
33 #include <lac/block_vector.h>
48 template<
typename VECTOR>
206 struct SpatialVectorInfos
211 SpatialVectorInfos(
int size = -1,
bool on_disc =
false)
222 void ReSizeSpace(
unsigned int ndofs,
const std::vector<unsigned int>& dofs_per_block);
229 void MakeName(
unsigned int time_point)
const;
235 void StoreOnDisc()
const;
245 void FetchFromDisc(
unsigned int time_point, VECTOR & vector)
const;
253 bool FileExists(
unsigned int time_point)
const;
259 void SwapPtr(VECTOR* & a,VECTOR* & b )
const;
265 void ComputeLocalVectors(
const TimeIterator& interval)
const;
270 void ResizeLocalVectors(
unsigned int size)
const;
272 mutable std::vector<VECTOR*> _state;
273 mutable std::vector<SpatialVectorInfos> _state_information;
275 mutable VECTOR _local_state;
276 mutable dealii::Vector<double> _copy_state;
277 mutable int _accessor;
282 mutable std::string _filename;
283 mutable std::fstream _filestream;
286 mutable std::vector<VECTOR*> _local_vectors;
290 mutable std::map<unsigned int, unsigned int> _global_to_local;
292 mutable int _accessor_index;
294 std::string _behavior;
295 std::string _tmp_dir;
296 unsigned int _sfh_ticket;
298 const SpaceTimeHandlerBase<VECTOR>* _STH;
299 const unsigned int _unique_id;
301 static unsigned int _id_counter;
302 static unsigned int _num_active;
const dealii::Vector< double > & GetSpacialVectorCopy() const
Definition: statevector.cc:392
void operator+=(const StateVector< VECTOR > &dq)
Definition: statevector.cc:799
std::string GetBehavior() const
Definition: statevector.h:188
void operator=(double value)
Definition: statevector.cc:649
VECTOR & GetSpacialVector()
Definition: statevector.cc:329
double operator*(const StateVector< VECTOR > &dq) const
Definition: statevector.cc:904
Definition: parameterreader.h:36
void ReInit()
Definition: statevector.cc:125
void add(double s, const StateVector< VECTOR > &dq)
Definition: statevector.cc:973
Definition: spacetimehandler_base.h:47
Definition: timeiterator.h:63
void SetTime(double t, const TimeIterator &interval) const
Definition: statevector.cc:314
StateVector(const StateVector< VECTOR > &ref)
Definition: statevector.cc:48
~StateVector()
Definition: statevector.cc:179
void equ(double s, const StateVector< VECTOR > &dq)
Definition: statevector.cc:1036
void operator*=(double a)
Definition: statevector.cc:860
Definition: statevector.h:49
const SpaceTimeHandlerBase< VECTOR > * GetSpaceTimeHandler() const
Definition: statevector.h:195
void PrintInfos(std::stringstream &out)
Definition: statevector.cc:1097
void SetTimeDoFNumber(unsigned int dof_number, const TimeIterator &interval) const
Definition: statevector.cc:231
void UnLockCopy() const
Definition: statevector.h:172