Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::TSBase Class Reference

base class for time sets More...

+ Inheritance diagram for Feel::TSBase:
+ Collaboration diagram for Feel::TSBase:

Public Types

typedef std::vector< double >::const_iterator time_const_iterator
 
typedef std::vector< double >::iterator time_iterator
 
typedef std::vector< double > time_values_map_type
 

Public Member Functions

bool doRestartAtLastSave () const
 return value of do restart at last save
 
std::string fileFormat () const
 return file format saved and loaded : binary or hdf5
 
bool isFinished () const
 return true if Bdf is finished, false otherwise
 
bool isRestart () const
 return the value of the bool restart
 
bool isReverse () const
 return the reverse time loop state.
 
bool isReverseLoad () const
 return the reverse time loop state.
 
bool isRunning () const
 
bool isSteady () const
 
bool isStopped () const
 
int iteration () const
 return the current iteration
 
const int iterationNumber () const
 return the number of iteration
 
virtual double next () const
 advance in time More...
 
int nRestart () const
 return the number of restarts
 
TSBase & operator= (TSBase const &b)
 
fs::path path ()
 return the relative path where the bdf data is stored
 
std::string const & prefix () const
 
virtual void print () const
 
virtual std::map< int, double > priorTimes () const
 
bool rankProcInNameOfFiles () const
 
double realTimePerIteration () const
 return the real time in seconds spent in the iteration
 
void reloadMetaData ()
 reload metadata to get all time step already done
 
double restart ()
 restart the bdf
 
fs::path restartPath ()
 
int restartStepBeforeLastSave () const
 return the step index before the last used to restart
 
int saveFreq () const
 
bool saveInFile () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 save/load Bdf metadata
 
void setfileFormat (std::string s)
 
void setPathSave (std::string s)
 
void setRankProcInNameOfFiles (bool b)
 
void setRestart (bool doRestart)
 
void setRestartAtLastSave (bool b)
 
void setRestartPath (std::string const &s)
 
void setReverse (bool reverse=false)
 Reverse time (iteration always start at 0!)
 
void setReverseLoad (bool reverseLoad=false)
 Load saved unknown beginning from last iteration. In bdf, solutions are saved from Ti (iter 0) ->Tf (iter N) in hdf5 files indexed by the iteration. If we reverse bdf, it runs from Tf (iter 0) -> Ti (iter N). To read hdf5 solution from files, we have to load the file N at Ti. Therefore reversing iteration index to load the correct file. Note: it is not required if the solution has to be saved.
 
void setSaveFreq (int v)
 
void setSaveInFile (bool b)
 
void setSteady (bool steady=true)
 
void setTimeFinal (double T)
 
void setTimeInitial (double ti)
 
void setTimeStep (double dt)
 
virtual void shiftRight ()
 
double start ()
 start the bdf
 
TSState state () const
 return the state of the BDF
 
TSStragegy strategy () const
 
double time () const
 return the current time
 
double timeFinal () const
 return the final time
 
double timeInitial () const
 return the initial time
 
double timeStep () const
 return the final step
 
time_values_map_type timeValues () const
 return vector of time
 
 TSBase (std::string name, std::string const &prefix, WorldComm const &worldComm, po::variables_map const &vm, double ti, double tf, double dt, bool steady, bool reverse, bool restart, std::string const &restart_path, bool restart_at_last_save, bool save, int freq, bool rank_proc_in_files_name, std::string const &format)
 
 TSBase (std::string name, std::string const &prefix, WorldComm const &worldComm, po::variables_map const &vm=Environment::vm())
 
 TSBase (std::string name, WorldComm const &worldComm)
 
 TSBase (TSBase const &b)
 
virtual void update ()
 
WorldComm const & worldComm () const
 

Protected Member Functions

void init ()
 

Protected Attributes

bool M_displayStats
 indicates if display stat is enabled
 
double M_dt
 timestep
 
std::string M_fileFormat
 file format saved and loaded : binary or hdf5
 
int M_iteration
 iteration
 
int M_n_restart
 restart
 
std::string M_name
 name of the file holding the bdf data
 
fs::path M_path_save
 path to the directory to store the functions
 
std::string M_prefix
 
bool M_rankProcInNameOfFiles
 put the rank of the processor in generated files
 
double M_real_time_per_iteration
 real time spent per iteration (in seconds)
 
bool M_restart
 do a restart
 
bool M_restartAtLastSave
 do restart with ti the last save
 
fs::path M_restartPath
 restart path
 
int M_restartStepBeforeLastSave
 do restart with the ieme step before the last save
 
bool M_reverse
 is reversed
 
bool M_reverseLoad
 is file load from reverse
 
int M_saveFreq
 frequence of save solutions
 
bool M_saveInFile
 Save solutions in file after each step.
 
TSState M_state
 state of the time stepping algorithm
 
bool M_steady
 is steady
 
double M_Tf
 final time
 
double M_Ti
 initial time to start
 
double M_time
 time
 
time_values_map_type M_time_values_map
 vector that holds the time order at each bdf step More...
 
Feel::Timer M_timer
 timer for real time per iteration
 
WorldComm M_worldComm
 mpi communicator tool
 

Friends

class boost::serialization::access
 

Detailed Description

base class for time sets

Member Function Documentation

◆ next()

virtual double Feel::TSBase::next ( ) const
virtual

advance in time

Todo:
implements the strategies here, at the moment constant time step

Reimplemented in Feel::Bdf< SpaceType >.

Referenced by Feel::Bdf< SpaceType >::next().

◆ prefix()

std::string const & Feel::TSBase::prefix ( ) const
Returns
prefix for the TimeStepping method options

References M_saveFreq.

◆ priorTimes()

virtual std::map< int, double > Feel::TSBase::priorTimes ( ) const
virtual

Reimplemented in Feel::Bdf< SpaceType >.

Member Data Documentation

◆ M_time_values_map

time_values_map_type Feel::TSBase::M_time_values_map
protected

vector that holds the time order at each bdf step

vector that holds the time value at each bdf step