24 #ifndef STATE_VECTOR_H_
25 #define STATE_VECTOR_H_
31 #include <deal.II/base/utilities.h>
32 #include <deal.II/lac/vector.h>
33 #include <deal.II/lac/block_vector_base.h>
34 #include <deal.II/lac/block_vector.h>
49 template<
typename VECTOR>
224 struct SpatialVectorInfos
229 SpatialVectorInfos(
int size = -1,
bool on_disc =
false)
240 void ReSizeSpace(
unsigned int ndofs,
const std::vector<unsigned int>& dofs_per_block)
const;
247 void MakeName(
unsigned int time_point)
const;
253 void StoreOnDisc()
const;
263 void FetchFromDisc(
unsigned int time_point, VECTOR & vector)
const;
271 bool FileExists(
unsigned int time_point)
const;
277 void SwapPtr(VECTOR* & a,VECTOR* & b )
const;
283 void ComputeLocalVectors(
const TimeIterator& interval)
const;
288 void ResizeLocalVectors(
unsigned int size)
const;
290 mutable std::vector<VECTOR*> state_;
291 mutable std::vector<SpatialVectorInfos> state_information_;
293 mutable VECTOR local_state_;
294 mutable dealii::Vector<double> copy_state_;
295 mutable int accessor_;
300 mutable std::string filename_;
301 mutable std::fstream filestream_;
304 mutable unsigned int current_dof_number_;
307 mutable std::vector<VECTOR*> local_vectors_;
311 mutable std::map<unsigned int, unsigned int> global_to_local_;
313 mutable int accessor_index_;
316 std::string tmp_dir_;
317 unsigned int sfh_ticket_;
319 const SpaceTimeHandlerBase<VECTOR>* STH_;
320 const unsigned int unique_id_;
322 static unsigned int id_counter_;
323 static unsigned int num_active_;
const dealii::Vector< double > & GetSpacialVectorCopy() const
Definition: statevector.cc:587
void operator+=(const StateVector< VECTOR > &dq)
Definition: statevector.cc:1018
void operator=(double value)
Definition: statevector.cc:847
VECTOR & GetSpacialVector()
Definition: statevector.cc:383
double operator*(const StateVector< VECTOR > &dq) const
Definition: statevector.cc:1136
Definition: parameterreader.h:36
void ReInit()
Definition: statevector.cc:127
void add(double s, const StateVector< VECTOR > &dq)
Definition: statevector.cc:1212
Definition: spacetimehandler_base.h:48
Definition: timeiterator.h:62
VECTOR & GetPreviousSpacialVector()
Definition: statevector.cc:518
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:1282
VECTOR & GetNextSpacialVector()
Definition: statevector.cc:448
void operator*=(double a)
Definition: statevector.cc:1086
Definition: statevector.h:50
DOpEtypes::VectorStorageType GetBehavior() const
Definition: statevector.h:206
VectorStorageType
Definition: dopetypes.h:120
const SpaceTimeHandlerBase< VECTOR > * GetSpaceTimeHandler() const
Definition: statevector.h:213
void PrintInfos(std::stringstream &out)
Definition: statevector.cc:1350
void SetTimeDoFNumber(unsigned int dof_number, const TimeIterator &interval) const
Definition: statevector.cc:263
void UnLockCopy() const
Definition: statevector.h:190