Loading...
Searching...
No Matches
ITHACADMD< Type, PatchField, GeoMesh > Class Template Reference

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.
 

Detailed Description

template<class Type, template< class > class PatchField, class GeoMesh>
class ITHACADMD< Type, PatchField, GeoMesh >

Class of the computation of the DMD, it exploits the SVD methods.

Template Parameters
Field_typeIt can be scalar or vector

Definition at line 69 of file ITHACADMD.H.

Constructor & Destructor Documentation

◆ ITHACADMD()

template<class Type , template< class > class PatchField, class GeoMesh >
ITHACADMD< Type, PatchField, GeoMesh >::ITHACADMD ( PtrList< GeometricField< Type, PatchField, GeoMesh > > & snapshots,
double dt )

Constructs the object.

Parameters
[in]snapshotsThe snapshots on which you want to perform DMD
[in]dtThe Time Step used to acquire the snapshots

Definition at line 37 of file ITHACADMD.C.

Member Function Documentation

◆ convert2Foam()

template<class Type , template< class > class PatchField, class GeoMesh >
void ITHACADMD< Type, PatchField, GeoMesh >::convert2Foam ( )

Convert the EigenModes in Matrix form into OpenFOAM GeometricFields.

Definition at line 219 of file ITHACADMD.C.

◆ exportEigs()

template<class Type , template< class > class PatchField, class GeoMesh >
void ITHACADMD< Type, PatchField, GeoMesh >::exportEigs ( word exportFolder)

Export the eigenvalues in numpy format.

Parameters
[in]exportFolderExport folder path

Definition at line 183 of file ITHACADMD.C.

◆ getDynamics()

template<class Type , template< class > class PatchField, class GeoMesh >
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.

Parameters
[in]tStartIntial time
[in]tFinalFinal time
[in]dtTime step

Definition at line 165 of file ITHACADMD.C.

◆ getModes()

template<class Type , template< class > class PatchField, class GeoMesh >
void ITHACADMD< Type, PatchField, GeoMesh >::getModes ( label SVD_rank = -1,
bool exact = true,
bool exportDMDmodes = false )

Get the DMD modes.

Parameters
[in]SVD_rankThe svd rank
[in]exactTrue (default) if you want the exact DMD modes computations. False if you want the projected modes
[in]exportDMDmodesA flag to export the DMD modes, both real and imaginary parts are exported

Definition at line 50 of file ITHACADMD.C.

◆ reconstruct()

template<class Type , template< class > class PatchField, class GeoMesh >
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.

Member Data Documentation

◆ Amplitudes

template<class Type , template< class > class PatchField, class GeoMesh >
Eigen::VectorXd ITHACADMD< Type, PatchField, GeoMesh >::Amplitudes

Amplitudes of DMD.

Definition at line 107 of file ITHACADMD.H.

◆ DMDEigenModes

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ DMDEigenModesBC

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ DMDmodesImag

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ DMDmodesReal

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ dynamics

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ eigenValues

template<class Type , template< class > class PatchField, class GeoMesh >
Eigen::VectorXcd ITHACADMD< Type, PatchField, GeoMesh >::eigenValues

Eigenvalues of the dynamics mode decomposition.

Definition at line 92 of file ITHACADMD.H.

◆ NSnaps

template<class Type , template< class > class PatchField, class GeoMesh >
label ITHACADMD< Type, PatchField, GeoMesh >::NSnaps

Number of snapshots.

Definition at line 113 of file ITHACADMD.H.

◆ originalDT

template<class Type , template< class > class PatchField, class GeoMesh >
double ITHACADMD< Type, PatchField, GeoMesh >::originalDT

Original time step used to acquire the snapshots.

Definition at line 119 of file ITHACADMD.H.

◆ PODm

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ PODmBC

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ redSVD

template<class Type , template< class > class PatchField, class GeoMesh >
bool ITHACADMD< Type, PatchField, GeoMesh >::redSVD

If true, it uses the Randomized SVD.

Definition at line 122 of file ITHACADMD.H.

◆ snapshotsDMD

template<class Type , template< class > class PatchField, class GeoMesh >
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.

◆ SVD_rank_public

template<class Type , template< class > class PatchField, class GeoMesh >
label ITHACADMD< Type, PatchField, GeoMesh >::SVD_rank_public

Rank of the DMD.

Definition at line 116 of file ITHACADMD.H.


The documentation for this class was generated from the following files: