Class of the computation of the DMD, it exploits the SVD methods. More...
#include <ITHACADMD.H>
Public Member Functions | |
ITHACADMD (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, double dt) | |
Constructs the object. | |
void | getModes (label SVD_rank=-1, bool exact=true, bool exportDMDmodes=false) |
Get the DMD modes. | |
void | convert2Foam () |
Convert the EigenModes in Matrix form into OpenFOAM GeometricFields. | |
void | exportEigs (word exportFolder) |
Export the eigenvalues in numpy format. | |
void | getDynamics (double tStart, double tFinal, double dt) |
Export the dynamics of DMD given an initial time step, a final one and a time step. | |
void | reconstruct (word exportFolder, word fieldName) |
Reconstruct and export the solution using the computed dynamics. | |
Public Attributes | |
PtrList< GeometricField< Type, PatchField, GeoMesh > > | snapshotsDMD |
PtrList of OpenFOAM GeoometricFields where the snapshots are stored. | |
Modes< Type, PatchField, GeoMesh > | DMDmodesReal |
Modes object used to store the Real part of the DMD modes. | |
Modes< Type, PatchField, GeoMesh > | DMDmodesImag |
Modes object used to store the Imaginary part of the DMD modes. | |
Eigen::VectorXcd | eigenValues |
Eigenvalues of the dynamics mode decomposition. | |
Eigen::MatrixXcd | DMDEigenModes |
DMD modes stored in a complex Eigen::Matrix, it is the object used for computations. | |
List< Eigen::MatrixXcd > | DMDEigenModesBC |
DMD modes on the boundary stored in a List of complex Eigen::Matrix, it is the object used for computations. | |
Eigen::MatrixXcd | PODm |
Complex matrix used to store the POD modes, used only for compution in the projected approach. | |
List< Eigen::MatrixXcd > | PODmBC |
List of complex matrices used to store the POD modes on the boundaries, used only for compution in the projected approach. | |
Eigen::VectorXd | Amplitudes |
Amplitudes of DMD. | |
Eigen::MatrixXcd | dynamics |
Complex Eigen::Matrix used to store the Dynamics of the DMD modes. | |
label | NSnaps |
Number of snapshots. | |
label | SVD_rank_public |
Rank of the DMD. | |
double | originalDT |
Original time step used to acquire the snapshots. | |
bool | redSVD |
If true, it uses the Randomized SVD. | |
Class of the computation of the DMD, it exploits the SVD methods.
Field_type | It can be scalar or vector |
Definition at line 69 of file ITHACADMD.H.
ITHACADMD< Type, PatchField, GeoMesh >::ITHACADMD | ( | PtrList< GeometricField< Type, PatchField, GeoMesh > > & | snapshots, |
double | dt ) |
Constructs the object.
[in] | snapshots | The snapshots on which you want to perform DMD |
[in] | dt | The Time Step used to acquire the snapshots |
Definition at line 37 of file ITHACADMD.C.
void ITHACADMD< Type, PatchField, GeoMesh >::convert2Foam | ( | ) |
Convert the EigenModes in Matrix form into OpenFOAM GeometricFields.
Definition at line 219 of file ITHACADMD.C.
void ITHACADMD< Type, PatchField, GeoMesh >::exportEigs | ( | word | exportFolder | ) |
Export the eigenvalues in numpy format.
[in] | exportFolder | Export folder path |
Definition at line 183 of file ITHACADMD.C.
void ITHACADMD< Type, PatchField, GeoMesh >::getDynamics | ( | double | tStart, |
double | tFinal, | ||
double | dt ) |
Export the dynamics of DMD given an initial time step, a final one and a time step.
[in] | tStart | Intial time |
[in] | tFinal | Final time |
[in] | dt | Time step |
Definition at line 165 of file ITHACADMD.C.
void ITHACADMD< Type, PatchField, GeoMesh >::getModes | ( | label | SVD_rank = -1, |
bool | exact = true, | ||
bool | exportDMDmodes = false ) |
Get the DMD modes.
[in] | SVD_rank | The svd rank |
[in] | exact | True (default) if you want the exact DMD modes computations. False if you want the projected modes |
[in] | exportDMDmodes | A flag to export the DMD modes, both real and imaginary parts are exported |
Definition at line 50 of file ITHACADMD.C.
void ITHACADMD< Type, PatchField, GeoMesh >::reconstruct | ( | word | exportFolder, |
word | fieldName ) |
Reconstruct and export the solution using the computed dynamics.
Definition at line 194 of file ITHACADMD.C.
Eigen::VectorXd ITHACADMD< Type, PatchField, GeoMesh >::Amplitudes |
Amplitudes of DMD.
Definition at line 107 of file ITHACADMD.H.
Eigen::MatrixXcd ITHACADMD< Type, PatchField, GeoMesh >::DMDEigenModes |
DMD modes stored in a complex Eigen::Matrix, it is the object used for computations.
Definition at line 95 of file ITHACADMD.H.
List<Eigen::MatrixXcd> ITHACADMD< Type, PatchField, GeoMesh >::DMDEigenModesBC |
DMD modes on the boundary stored in a List of complex Eigen::Matrix, it is the object used for computations.
Definition at line 98 of file ITHACADMD.H.
Modes<Type, PatchField, GeoMesh> ITHACADMD< Type, PatchField, GeoMesh >::DMDmodesImag |
Modes object used to store the Imaginary part of the DMD modes.
Definition at line 89 of file ITHACADMD.H.
Modes<Type, PatchField, GeoMesh> ITHACADMD< Type, PatchField, GeoMesh >::DMDmodesReal |
Modes object used to store the Real part of the DMD modes.
Definition at line 86 of file ITHACADMD.H.
Eigen::MatrixXcd ITHACADMD< Type, PatchField, GeoMesh >::dynamics |
Complex Eigen::Matrix used to store the Dynamics of the DMD modes.
Definition at line 110 of file ITHACADMD.H.
Eigen::VectorXcd ITHACADMD< Type, PatchField, GeoMesh >::eigenValues |
Eigenvalues of the dynamics mode decomposition.
Definition at line 92 of file ITHACADMD.H.
label ITHACADMD< Type, PatchField, GeoMesh >::NSnaps |
Number of snapshots.
Definition at line 113 of file ITHACADMD.H.
double ITHACADMD< Type, PatchField, GeoMesh >::originalDT |
Original time step used to acquire the snapshots.
Definition at line 119 of file ITHACADMD.H.
Eigen::MatrixXcd ITHACADMD< Type, PatchField, GeoMesh >::PODm |
Complex matrix used to store the POD modes, used only for compution in the projected approach.
Definition at line 101 of file ITHACADMD.H.
List<Eigen::MatrixXcd> ITHACADMD< Type, PatchField, GeoMesh >::PODmBC |
List of complex matrices used to store the POD modes on the boundaries, used only for compution in the projected approach.
Definition at line 104 of file ITHACADMD.H.
bool ITHACADMD< Type, PatchField, GeoMesh >::redSVD |
If true, it uses the Randomized SVD.
Definition at line 122 of file ITHACADMD.H.
PtrList<GeometricField<Type, PatchField, GeoMesh> > ITHACADMD< Type, PatchField, GeoMesh >::snapshotsDMD |
PtrList of OpenFOAM GeoometricFields where the snapshots are stored.
Definition at line 83 of file ITHACADMD.H.
label ITHACADMD< Type, PatchField, GeoMesh >::SVD_rank_public |
Rank of the DMD.
Definition at line 116 of file ITHACADMD.H.