libMesh
|
A SolutionHistory class that enables the storage and retrieval of timesteps and (in the future) adaptive steps. More...
#include <solution_history.h>
Public Member Functions | |
SolutionHistory () | |
Constructor. More... | |
virtual | ~SolutionHistory () |
Destructor. More... | |
virtual void | store (bool is_adjoint_solve, Real time)=0 |
Function to store a solution, pure virtual. More... | |
virtual void | retrieve (bool is_adjoint_solve, Real time)=0 |
Function to retrieve a solution, pure virtual. More... | |
void | erase (Real time) |
Erase stored_data entry at time. More... | |
virtual std::unique_ptr< SolutionHistory > | clone () const =0 |
Cloning function for a std::unique_ptr, pure virtual, used in the setter function in time_solver.C. More... | |
void | set_overwrite_previously_stored (bool val) |
Turn on overwrite_previously_stored to overwrite any already-saved data encountered during subsequent store() calls. More... | |
Protected Types | |
typedef std::map< Real, std::unique_ptr< HistoryData > > | map_type |
typedef map_type::iterator | stored_data_iterator |
Protected Member Functions | |
void | find_stored_entry (Real time, bool storing=false) |
Protected Attributes | |
bool | overwrite_previously_stored |
map_type | stored_data |
stored_data_iterator | stored_datum |
A SolutionHistory class that enables the storage and retrieval of timesteps and (in the future) adaptive steps.
SolutionHistory interfaces between the time solver and HistoryData. SolutionHistory organizes and manages the overall history record as a map, while HistoryData manages individual I/O, memory or preprocessing operations for the history data at a particular time.
Definition at line 40 of file solution_history.h.
|
protected |
Definition at line 93 of file solution_history.h.
|
protected |
Definition at line 95 of file solution_history.h.
|
inline |
Constructor.
Definition at line 47 of file solution_history.h.
|
inlinevirtual |
|
pure virtual |
Cloning function for a std::unique_ptr, pure virtual, used in the setter function in time_solver.C.
Implemented in libMesh::FileSolutionHistory, libMesh::MemorySolutionHistory, and libMesh::NoSolutionHistory.
Referenced by libMesh::TimeSolver::set_solution_history().
void libMesh::SolutionHistory::erase | ( | Real | time | ) |
Erase stored_data entry at time.
Definition at line 95 of file solution_history.C.
References find_stored_entry(), libMesh::libmesh_assert(), stored_data, and stored_datum.
|
protected |
Definition at line 27 of file solution_history.C.
References std::abs(), libMesh::MeshTools::Subdivision::prev, stored_data, stored_datum, and libMesh::TOLERANCE.
Referenced by erase(), libMesh::MemorySolutionHistory::retrieve(), libMesh::FileSolutionHistory::retrieve(), libMesh::MemorySolutionHistory::store(), and libMesh::FileSolutionHistory::store().
|
pure virtual |
Function to retrieve a solution, pure virtual.
Implemented in libMesh::FileSolutionHistory, libMesh::MemorySolutionHistory, and libMesh::NoSolutionHistory.
|
inline |
Turn on overwrite_previously_stored to overwrite any already-saved data encountered during subsequent store() calls.
Definition at line 80 of file solution_history.h.
References overwrite_previously_stored.
|
pure virtual |
Function to store a solution, pure virtual.
Implemented in libMesh::FileSolutionHistory, libMesh::MemorySolutionHistory, and libMesh::NoSolutionHistory.
|
protected |
Definition at line 87 of file solution_history.h.
Referenced by set_overwrite_previously_stored().
|
protected |
Definition at line 94 of file solution_history.h.
Referenced by erase(), find_stored_entry(), libMesh::MemorySolutionHistory::retrieve(), libMesh::FileSolutionHistory::retrieve(), libMesh::MemorySolutionHistory::store(), and libMesh::FileSolutionHistory::store().
|
protected |
Definition at line 96 of file solution_history.h.
Referenced by erase(), find_stored_entry(), libMesh::MemorySolutionHistory::retrieve(), libMesh::FileSolutionHistory::retrieve(), libMesh::MemorySolutionHistory::store(), and libMesh::FileSolutionHistory::store().