14#ifndef _SIM_SOLUTION_H_
15#define _SIM_SOLUTION_H_
59 static std::string
serialize(
const double* v,
size_t n);
64 static void deSerialize(
const std::string& data,
double* v,
size_t n);
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition ImmersedBoundaries.h:32
Global algebraic operations on index 1-based matrices and vectors.
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition MatVec.h:37
Solution vector container with serialization support.
Definition SIMsolution.h:27
static void deSerialize(const std::string &data, double *v, size_t n)
Helper method for deserializing a double array from a text string.
Definition SIMsolution.C:92
virtual Vectors & theSolutions()
Returns a reference to the solution vectors (for assignment).
Definition SIMsolution.h:70
void initSolution(size_t ndof, size_t nsol=1)
Initializes the solution vectors.
Definition SIMsolution.C:22
void pushSolution(unsigned short int nVecState=1)
Pushes the solution vector stack.
Definition SIMsolution.C:31
Vectors solution
Stack of solution vectors.
Definition SIMsolution.h:78
static std::string serialize(const double *v, size_t n)
Helper method for serializing a double array into a text string.
Definition SIMsolution.C:79
virtual ~SIMsolution()=default
Empty default destructor.
std::map< std::string, std::string > SerializeMap
Convenience type.
Definition SIMsolution.h:43
virtual const Vectors & getSolutions() const
Returns a const reference to the solution vectors.
Definition SIMsolution.h:68
virtual const Vector & getSolution(int ix=0) const
Returns a const reference to current solution vector.
Definition SIMsolution.h:73
bool saveSolution(SerializeMap &data, const std::string &name) const
Writes current solution to a serialization container.
Definition SIMsolution.C:43
bool restoreSolution(const SerializeMap &data, const std::string &name)
Restores the solution from a serialization container.
Definition SIMsolution.C:61
SIMsolution()=default
The default constructor is protected to allow sub-classes only.
virtual void setSolution(const RealArray &s, int ix=0)
Modifies the current solution vector (used by sub-iterations only).
Definition SIMsolution.h:75
A vector class with some added algebraic operations.
Definition matrix.h:64