24 #ifndef _SPACE_TIME_HANDLER_BASE_H_
25 #define _SPACE_TIME_HANDLER_BASE_H_
27 #include <lac/vector.h>
28 #include <lac/block_vector_base.h>
29 #include <lac/block_vector.h>
46 template<
typename VECTOR>
58 _tdfh(times), _interval(_tdfh.first_interval()), _control_type(type)
65 const dealii::FiniteElement<1>& fe,
67 _tdfh(times, fe), _interval(_tdfh.first_interval()), _control_type(type)
142 return _tdfh.
GetTime(time_point);
177 return _tdfh.
GetTimes(interval, local_times);
193 bool ret = (ticket == _state_ticket);
194 ticket = _state_ticket;
210 bool ret = (ticket == _control_ticket);
211 ticket = _control_ticket;
222 return _control_type;
279 virtual unsigned int GetStateNDoFs(
int time_point = -1)
const = 0;
317 return _interval.
get_k();
325 double k = (++_interval).get_k();
335 double k = (--_interval).get_k();
375 assert( _state_ticket < std::numeric_limits<unsigned int>::max());
384 assert( _control_ticket < std::numeric_limits<unsigned int>::max());
392 unsigned int _control_ticket;
393 unsigned int _state_ticket;
void ReInitTime()
Definition: spacetimehandler_base.h:82
virtual unsigned int NewTimePointToOldTimePoint(unsigned int t) const =0
double GetTime(unsigned int time_point) const
Definition: spacetimehandler_base.h:139
Definition: timedofhandler.h:64
bool IsValidControlTicket(unsigned int &ticket) const
Definition: spacetimehandler_base.h:208
virtual unsigned int GetNLocalConstraints() const
Definition: spacetimehandler_base.h:310
double GetStepSize() const
Definition: spacetimehandler_base.h:315
virtual const std::vector< unsigned int > & GetConstraintDoFsPerBlock(std::string) const
Definition: spacetimehandler_base.h:302
virtual void SpatialMeshTransferState(const VECTOR &, VECTOR &) const
Definition: spacetimehandler_base.h:367
virtual void InterpolateConstraint(VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const
Definition: spacetimehandler_base.h:265
virtual unsigned int GetControlNDoFs() const
Definition: spacetimehandler_base.h:271
ControlType
Definition: dopetypes.h:102
bool IsValidStateTicket(unsigned int &ticket) const
Definition: spacetimehandler_base.h:191
virtual unsigned int GetNGlobalConstraints() const
Definition: spacetimehandler_base.h:306
const std::vector< double > & GetTimes() const
Definition: timedofhandler.h:164
TimeIterator first_interval() const
Definition: timedofhandler.h:203
Definition: spacetimehandler_base.h:47
SpaceTimeHandlerBase(const dealii::Triangulation< 1 > ×, const dealii::FiniteElement< 1 > &fe, DOpEtypes::ControlType type=DOpEtypes::undefined)
Definition: spacetimehandler_base.h:64
double GetNextStepSize() const
Definition: spacetimehandler_base.h:322
SpaceTimeHandlerBase(DOpEtypes::ControlType control_type=DOpEtypes::undefined)
Definition: spacetimehandler_base.h:51
Definition: timeiterator.h:63
double get_k() const
Definition: timeiterator.h:195
unsigned int GetNbrOfDoFs() const
Definition: timedofhandler.h:152
TimeIterator last_interval() const
Definition: timedofhandler.h:224
SpaceTimeHandlerBase(const dealii::Triangulation< 1 > ×, DOpEtypes::ControlType type=DOpEtypes::undefined)
Definition: spacetimehandler_base.h:57
unsigned int GetNbrOfIntervals() const
Definition: timedofhandler.h:140
virtual void InterpolateControl(VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const
Definition: spacetimehandler_base.h:238
virtual void SpatialMeshTransferControl(const VECTOR &, VECTOR &) const
Definition: spacetimehandler_base.h:365
DOpEtypes::ControlType GetControlType() const
Definition: spacetimehandler_base.h:220
const TimeDoFHandler & GetTimeDoFHandler() const
Definition: spacetimehandler_base.h:149
virtual ~SpaceTimeHandlerBase()
Definition: spacetimehandler_base.h:74
const TimeIterator & GetInterval() const
Definition: spacetimehandler_base.h:127
void SetInterval(const TimeIterator &it)
Definition: spacetimehandler_base.h:116
void distribute_dofs()
Definition: timedofhandler.h:115
virtual const std::vector< unsigned int > & GetStateDoFsPerBlock(int time_point=-1) const =0
double GetTime(unsigned int timestep)
Definition: timedofhandler.h:193
void GetTimes(const TimeIterator &interval, std::vector< double > &local_times) const
Definition: spacetimehandler_base.h:175
unsigned int GetMaxTimePoint() const
Definition: spacetimehandler_base.h:97
const std::vector< double > & GetTimes() const
Definition: spacetimehandler_base.h:158
virtual const std::vector< unsigned int > & GetControlDoFsPerBlock() const
Definition: spacetimehandler_base.h:289
void IncrementControlTicket()
Definition: spacetimehandler_base.h:382
virtual unsigned int GetStateNDoFs(int time_point=-1) const =0
double GetPreviousStepSize() const
Definition: spacetimehandler_base.h:332
virtual void InterpolateState(VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const =0
unsigned int GetNbrOfIntervals() const
Definition: spacetimehandler_base.h:105
Definition: dopetypes.h:104
virtual unsigned int GetConstraintNDoFs(std::string) const
Definition: spacetimehandler_base.h:284
void IncrementStateTicket()
Definition: spacetimehandler_base.h:373