|
MoorDyn
|
A generic abstract integration scheme. More...
#include <Time.hpp>


Public Member Functions | |
| virtual | ~LocalSchemeBase () |
| Destructor. | |
| void | Init () |
| Create an initial state for all the entities. More... | |
| virtual void | SetState (const state::State &state, unsigned int i=0) |
| Resume the simulation from the stationary solution. More... | |
Public Member Functions inherited from moordyn::time::SchemeBase< NSTATE, NDERIV > | |
| virtual | ~SchemeBase () |
| Destructor. | |
| virtual void | AddLine (Line *obj) |
| Add a line. More... | |
| virtual unsigned int | RemoveLine (Line *obj) |
| Remove a line. More... | |
| virtual void | AddPoint (Point *obj) |
| Add a point. More... | |
| virtual unsigned int | RemovePoint (Point *obj) |
| Remove a point. More... | |
| virtual void | AddRod (Rod *obj) |
| Add a rod. More... | |
| virtual unsigned int | RemoveRod (Rod *obj) |
| Remove a rod. More... | |
| virtual void | AddBody (Body *obj) |
| Add a body. More... | |
| virtual unsigned int | RemoveBody (Body *obj) |
| Remove a body. More... | |
| virtual void | Step (real &dt) |
| Run a time step. More... | |
| virtual void | SaveState (const std::string filepath, unsigned int i=0) |
| Save the system state on a file. More... | |
| virtual void | LoadState (const std::string filepath, unsigned int i=0) |
| Load the system state from a file. More... | |
| state::State * | rd (unsigned int i=0) |
| Get the state derivative. More... | |
| virtual std::vector< uint64_t > | Serialize (void) |
| Produce the packed data to be saved. More... | |
| virtual uint64_t * | Deserialize (const uint64_t *data) |
| Unpack the data to restore the Serialized information. More... | |
| state::State * | r (unsigned int i=0) |
| Get the state. More... | |
| state::State | GetState (unsigned int i=0) |
| Get the state variable. More... | |
Public Member Functions inherited from moordyn::time::Scheme | |
| virtual | ~Scheme () |
| Destructor. | |
| void | SetGround (Body *obj) |
| Set the ground body. More... | |
| std::string | GetName () const |
| Get the name of the scheme. More... | |
| real | GetTime () const |
| Get the simulation time. More... | |
| void | SetTime (const real &time) |
| Set the simulation time. More... | |
| real | GetCFL () const |
| Get the CFL factor. More... | |
| void | SetCFL (const real &cfl) |
| Set the CFL factor. More... | |
| void | Next () |
| Prepare everything for the next outer time step. More... | |
Public Member Functions inherited from moordyn::io::IO | |
| IO (moordyn::Log *log) | |
| Costructor. More... | |
| virtual | ~IO ()=default |
| Destructor. | |
| void | Save (const std::string filepath) |
| Save the entity into a file. More... | |
| void | Load (const std::string filepath) |
| Loads the entity from a file. More... | |
Public Member Functions inherited from moordyn::LogUser | |
| LogUser (Log *log=NULL) | |
| Constructor. More... | |
| ~LogUser () | |
| Destructor. | |
| void | SetLogger (Log *log) |
| Set the log handler. More... | |
| Log * | GetLogger () const |
| Get the log handler. More... | |
Protected Member Functions | |
| LocalSchemeBase (moordyn::Log *log, moordyn::WavesRef waves) | |
| Costructor. More... | |
| void | SetCalcMask (real &dt) |
| Set the calculation mask. More... | |
Protected Member Functions inherited from moordyn::time::SchemeBase< NSTATE, NDERIV > | |
| SchemeBase (moordyn::Log *log, moordyn::WavesRef waves) | |
| Constructor. More... | |
| void | Update (real t_local, unsigned int substep=0) |
| Update all the entities to set the state. More... | |
| void | CalcStateDeriv (unsigned int substep=0) |
| Compute the time derivatives and store them. More... | |
Protected Member Functions inherited from moordyn::time::Scheme | |
| Scheme (moordyn::Log *log) | |
| Constructor. More... | |
Protected Member Functions inherited from moordyn::io::IO | |
| ofstream | MakeFile (const std::string filepath) const |
| Create an output file and write the MoorDyn magic header. More... | |
| std::tuple< uint64_t, uint64_t * > | LoadFile (const std::string filepath) const |
| Open an input file and load the data. More... | |
| uint64_t | Serialize (const uint64_t &i) |
| Pack an unsigned integer to make it writable. More... | |
| uint64_t | Serialize (const int64_t &i) |
| Pack an integer to make it writable. More... | |
| uint64_t | Serialize (const real &f) |
| Pack a float to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const vec &m) |
| Pack a 3D vector to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const vec6 &m) |
| Pack a 6D vector to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const mat &m) |
| Pack a 3x3 matrix to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const mat6 &m) |
| Pack a 6x6 matrix to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const quaternion &m) |
| Pack a quaternion to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const XYZQuat &m) |
| Pack an XYZQuat to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const std::vector< real > &l) |
| Pack a list of floating point numbers to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const std::vector< vec > &l) |
| Pack a list of 3D vectors to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const std::vector< vec6 > &l) |
| Pack a list of 6D vectors to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const std::vector< mat > &l) |
| Pack a list of 3x3 matrices to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const std::vector< mat6 > &l) |
| Pack a list of 6x6 matrices to make it writable. More... | |
| std::vector< uint64_t > | Serialize (const Eigen::Matrix< real, Eigen::Dynamic, Eigen::Dynamic > &l) |
| Pack an arbitrarily large matrix. More... | |
| template<typename T > | |
| std::vector< uint64_t > | Serialize (const std::vector< std::vector< T >> &l) |
| Pack a list of lists to make it writable This function might act recursively. More... | |
| uint64_t * | Deserialize (const uint64_t *in, uint64_t &out) |
| Unpack a loaded unsigned integer. More... | |
| uint64_t * | Deserialize (const uint64_t *in, int64_t &out) |
| Unpack a loaded integer. More... | |
| uint64_t * | Deserialize (const uint64_t *in, real &out) |
| Unpack a loaded floating point number. More... | |
| uint64_t * | Deserialize (const uint64_t *in, vec &out) |
| Unpack a loaded 3D vector. More... | |
| uint64_t * | Deserialize (const uint64_t *in, vec6 &out) |
| Unpack a loaded 6D vector. More... | |
| uint64_t * | Deserialize (const uint64_t *in, mat &out) |
| Unpack a loaded 3x3 matrix. More... | |
| uint64_t * | Deserialize (const uint64_t *in, mat6 &out) |
| Unpack a loaded 6x6 matrix. More... | |
| uint64_t * | Deserialize (const uint64_t *in, quaternion &out) |
| Unpack a loaded quaternion. More... | |
| uint64_t * | Deserialize (const uint64_t *in, XYZQuat &out) |
| Unpack a loaded XYZQuat. More... | |
| uint64_t * | Deserialize (const uint64_t *in, std::vector< real > &out) |
| Unpack a loaded list of floating point numbers. More... | |
| uint64_t * | Deserialize (const uint64_t *in, std::vector< vec > &out) |
| Unpack a loaded list of 3D vectors. More... | |
| uint64_t * | Deserialize (const uint64_t *in, std::vector< vec6 > &out) |
| Unpack a loaded list of 6D vectors. More... | |
| uint64_t * | Deserialize (const uint64_t *in, std::vector< mat > &out) |
| Unpack a loaded list of 3x3 matrices. More... | |
| uint64_t * | Deserialize (const uint64_t *in, std::vector< mat6 > &out) |
| Unpack a loaded list of 6x6 matrices. More... | |
| uint64_t * | Deserialize (const uint64_t *in, Eigen::Matrix< real, Eigen::Dynamic, Eigen::Dynamic > &out) |
| Unpack an arbitrarily large matrix. More... | |
| template<typename T > | |
| uint64_t * | Deserialize (const uint64_t *in, std::vector< std::vector< T >> &out) |
| Unpack a loaded list of lists. More... | |
Additional Inherited Members | |
Protected Types inherited from moordyn::time::SchemeBase< NSTATE, NDERIV > | |
| typedef struct moordyn::time::SchemeBase::_mask | mask |
| A mask to determine which entities shall be computed. More... | |
Protected Attributes inherited from moordyn::time::SchemeBase< NSTATE, NDERIV > | |
| std::array< moordyn::state::State *, NSTATE > | _r |
| The list of states. | |
| std::array< moordyn::state::State *, NDERIV > | _rd |
| The list of state derivatives. | |
| std::shared_ptr< Waves > | waves |
| The waves instance. | |
| mask | _calc_mask |
| The SchemeBase::CalcStateDeriv() mask. | |
Protected Attributes inherited from moordyn::time::Scheme | |
| Body * | ground |
| The ground body. | |
| std::vector< Line * > | lines |
| The lines. | |
| std::vector< Point * > | points |
| The points. | |
| std::vector< Rod * > | rods |
| The rods. | |
| std::vector< Body * > | bodies |
| The bodies. | |
| std::string | name |
| The scheme name. | |
| real | t |
| The simulation time. | |
| real | t_local |
| The local time, within the outer time step. | |
| real | cfl |
| Maximum CFL factor. | |
Protected Attributes inherited from moordyn::LogUser | |
| Log * | _log |
| The log handler. | |
A generic abstract integration scheme.
This class can be later overloaded to implement a plethora of time schemes
|
inlineprotected |
Costructor.
| log | Logging handler |
| waves | The simulation waves object, needed so that we can tell it about substeps |
|
inlinevirtual |
Create an initial state for all the entities.
Reimplemented from moordyn::time::SchemeBase< NSTATE, NDERIV >.

|
protected |
Set the calculation mask.
| dt | Time step |
|
inlinevirtual |
Resume the simulation from the stationary solution.
| state | The stationary solution |
| i | The index of the state variable to take |
Reimplemented from moordyn::time::SchemeBase< NSTATE, NDERIV >.
